coord_adapt module reference

Regrid columns for the adaptive coordinate.

More…

Data Types

adapt_cs

Control structure for adaptive coordinates (coord_adapt()).

Functions/Subroutines

init_coord_adapt()

Initialise an adapt_CS with parameters.

end_coord_adapt()

Clean up the coordinate control structure.

set_adapt_params()

This subtroutine can be used to set the parameters for coord_adapt() module.

build_adapt_column()

Detailed Description

Regrid columns for the adaptive coordinate.

Type Documentation

type coord_adapt/adapt_cs

Control structure for adaptive coordinates (coord_adapt()). ).

Type fields
  • % nk [integer] :: Number of layers/levels.

  • % coordinateresolution [real(:),allocatable] :: Nominal near-surface resolution [H ~> m or kg m-2].

  • % adapttimeratio [real] :: Ratio of optimisation and diffusion timescales.

  • % adaptalpha [real] :: Nondimensional coefficient determining how much optimisation to apply.

  • % adaptzoom [real] :: Near-surface zooming depth [H ~> m or kg m-2].

  • % adaptzoomcoeff [real] :: Near-surface zooming coefficient.

  • % adaptbuoycoeff [real] :: Stratification-dependent diffusion coefficient.

  • % adaptdrho0 [real] :: Reference density difference for stratification-dependent diffusion [R ~> kg m-3].

  • % adaptdomin [logical] :: If true, form a HYCOM1-like mixed layet by preventing interfaces from becoming shallower than the depths set by coordinateResolution.

Function/Subroutine Documentation

subroutine coord_adapt/init_coord_adapt(CS, nk, coordinateResolution, m_to_H, kg_m3_to_R)

Initialise an adapt_CS with parameters.

Parameters
  • cs :: Unassociated pointer to hold the control structure

  • nk :: [in] Number of layers in the grid

  • coordinateresolution :: [in] Nominal near-surface resolution [m] or other units specified with m_to_H

  • m_to_h :: [in] A conversion factor from m to the units of thicknesses

  • kg_m3_to_r :: [in] A conversion factor from kg m-3 to the units of density

Call to

mom_error_handler::mom_error

Called from

mom_regridding::initcoord

subroutine coord_adapt/end_coord_adapt(CS)

Clean up the coordinate control structure.

Parameters

cs :: The control structure for this module

Called from

mom_regridding::end_regridding

subroutine coord_adapt/set_adapt_params(CS, adaptTimeRatio, adaptAlpha, adaptZoom, adaptZoomCoeff, adaptBuoyCoeff, adaptDrho0, adaptDoMin)

This subtroutine can be used to set the parameters for coord_adapt() module. module.

Parameters
  • cs :: The control structure for this module

  • adapttimeratio :: [in] Ratio of optimisation and diffusion timescales

  • adaptalpha :: [in] Nondimensional coefficient determining how much optimisation to apply

  • adaptzoom :: [in] Near-surface zooming depth [H ~> m or kg m-2]

  • adaptzoomcoeff :: [in] Near-surface zooming coefficient

  • adaptbuoycoeff :: [in] Stratification-dependent diffusion coefficient

  • adaptdrho0 :: [in] Reference density difference for stratification-dependent diffusion [R ~> kg m-3]

  • adaptdomin :: [in] If true, form a HYCOM1-like mixed layer by preventing interfaces from becoming shallower than the depths set by coordinateResolution

Call to

mom_error_handler::mom_error

Called from

mom_regridding::set_regrid_params

subroutine coord_adapt/build_adapt_column(CS, G, GV, US, tv, i, j, zInt, tInt, sInt, h, zNext)
Parameters
  • cs :: [in] The control structure for this module

  • g :: [in] The ocean’s grid structure

  • gv :: [in] The ocean’s vertical grid structure

  • us :: [in] A dimensional unit scaling type

  • tv :: [in] A structure pointing to various thermodynamic variables

  • i :: [in] The i-index of the column to work on

  • j :: [in] The j-index of the column to work on

  • zint :: [in] Interface heights [H ~> m or kg m-2].

  • tint :: [in] Interface temperatures [degC]

  • sint :: [in] Interface salinities [ppt]

  • h :: [in] Layer thicknesses [H ~> m or kg m-2]

  • znext :: [inout] updated interface positions

Called from

mom_regridding::build_grid_adaptive