dense_water_initialization module reference

Initialization routines for the dense water formation and overflow experiment.

More…

Functions/Subroutines

dense_water_initialize_topography()

Initialize the topography field for the dense water experiment.

dense_water_initialize_ts()

Initialize the temperature and salinity for the dense water experiment.

dense_water_initialize_sponges()

Initialize the restoring sponges for the dense water experiment.

Detailed Description

This experiment consists of a shelf accumulating dense water, which spills over an upward slope and a sill, before flowing down a slope into an open ocean region. It’s intended as a test of one of the motivating situations for the adaptive coordinate.

The nondimensional widths of the 5 regions are controlled by the DENSE_WATER_DOMAIN_PARAMS, and the heights of the sill and shelf as a fraction of the total domain depth are controlled by DENSE_WATER_SILL_DEPTH and DENSE_WATER_SHELF_DEPTH.

The density in the domain is governed by a linear equation of state, and is set up with a mixed layer of non-dimensional depth DENSE_WATER_MLD below which there is a linear stratification from S_REF, increasing by S_RANGE to the bottom.

To force the experiment, there are sponges on the inflow and outflow of the domain. The inflow sponge has a salinity anomaly of DENSE_WATER_EAST_SPONGE_SALT through the entire depth. The outflow sponge simply restores to the initial condition. Both sponges have controllable widths and restoring timescales.

Function/Subroutine Documentation

subroutine dense_water_initialization/dense_water_initialize_topography(D, G, param_file, max_depth)

Initialize the topography field for the dense water experiment.

Parameters:
  • g :: [in] The dynamic horizontal grid type

  • d :: [out] Ocean bottom depth [Z ~> m]

  • param_file :: [in] Parameter file structure

  • max_depth :: [in] Maximum ocean depth [Z ~> m]

Call to:

default_shelf default_sill mdl

Called from:

mom_fixed_initialization::mom_initialize_topography

subroutine dense_water_initialization/dense_water_initialize_ts(G, GV, US, param_file, T, S, h, just_read)

Initialize the temperature and salinity for the dense water experiment.

Parameters:
  • g :: [in] Horizontal grid control structure

  • gv :: [in] Vertical grid control structure

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

  • param_file :: [in] Parameter file structure

  • t :: [out] Output temperature [C ~> degC]

  • s :: [out] Output salinity [S ~> ppt]

  • h :: [in] Layer thicknesses [Z ~> m]

  • just_read :: [in] If true, this call will only read parameters without changing T & S.

Call to:

default_mld mdl

subroutine dense_water_initialization/dense_water_initialize_sponges(G, GV, US, tv, depth_tot, param_file, use_ALE, CSp, ACSp)

Initialize the restoring sponges for the dense water experiment.

Parameters:
  • g :: [in] Horizontal grid control structure

  • gv :: [in] Vertical grid control structure

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

  • tv :: [in] Thermodynamic variables

  • depth_tot :: [in] The nominal total depth of the ocean [Z ~> m]

  • param_file :: [in] Parameter file structure

  • use_ale :: [in] ALE flag

  • csp :: Layered sponge control structure pointer

  • acsp :: ALE sponge control structure pointer

Call to:

default_mld default_sill mdl mom_error_handler::mom_error

Called from:

mom_state_initialization::mom_initialize_state