|
MOM6
|
Initialization routines for the dense water formation and overflow experiment.
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_HEIGHT and DENSE_WATER_SHELF_HEIGHT.
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.
Functions/Subroutines | |
| subroutine, public | dense_water_initialize_topography (D, G, param_file, max_depth) |
| Initialize the topography field for the dense water experiment. More... | |
| subroutine, public | dense_water_initialize_ts (G, GV, param_file, eqn_of_state, T, S, h, just_read_params) |
| Initialize the temperature and salinity for the dense water experiment. More... | |
| subroutine, public | dense_water_initialize_sponges (G, GV, tv, param_file, use_ALE, CSp, ACSp) |
| Initialize the restoring sponges for the dense water experiment. More... | |
Variables | |
| character(len=40) | mdl = "dense_water_initialization" |
| Module name. More... | |
| real, parameter | default_sill = 0.2 |
| Default depth of the sill [nondim]. More... | |
| real, parameter | default_shelf = 0.4 |
| Default depth of the shelf [nondim]. More... | |
| real, parameter | default_mld = 0.25 |
| Default depth of the mixed layer [nondim]. More... | |
| subroutine, public dense_water_initialization::dense_water_initialize_sponges | ( | type(ocean_grid_type), intent(in) | G, |
| type(verticalgrid_type), intent(in) | GV, | ||
| type(thermo_var_ptrs), intent(in) | tv, | ||
| type(param_file_type), intent(in) | param_file, | ||
| logical, intent(in) | use_ALE, | ||
| type(sponge_cs), pointer | CSp, | ||
| type(ale_sponge_cs), pointer | ACSp | ||
| ) |
Initialize the restoring sponges for the dense water experiment.
| [in] | g | Horizontal grid control structure |
| [in] | gv | Vertical grid control structure |
| [in] | tv | Thermodynamic variables |
| [in] | param_file | Parameter file structure |
| [in] | use_ale | ALE flag |
| csp | Layered sponge control structure pointer | |
| acsp | ALE sponge control structure pointer |
Definition at line 154 of file dense_water_initialization.F90.
References default_mld, default_sill, mdl, and mom_error_handler::mom_error().
Referenced by mom_state_initialization::mom_initialize_state().
| subroutine, public dense_water_initialization::dense_water_initialize_topography | ( | real, dimension(g%isd:g%ied,g%jsd:g%jed), intent(out) | D, |
| type(dyn_horgrid_type), intent(in) | G, | ||
| type(param_file_type), intent(in) | param_file, | ||
| real, intent(in) | max_depth | ||
| ) |
Initialize the topography field for the dense water experiment.
| [in] | g | The dynamic horizontal grid type |
| [out] | d | Ocean bottom depth in the units of depth_max |
| [in] | param_file | Parameter file structure |
| [in] | max_depth | Maximum ocean depth in arbitrary units |
Definition at line 36 of file dense_water_initialization.F90.
References default_shelf, default_sill, and mdl.
Referenced by mom_fixed_initialization::mom_initialize_topography().
| subroutine, public dense_water_initialization::dense_water_initialize_ts | ( | type(ocean_grid_type), intent(in) | G, |
| type(verticalgrid_type), intent(in) | GV, | ||
| type(param_file_type), intent(in) | param_file, | ||
| type(eos_type), pointer | eqn_of_state, | ||
| real, dimension( g %isd: g %ied, g %jsd: g %jed, gv %ke), intent(out) | T, | ||
| real, dimension( g %isd: g %ied, g %jsd: g %jed, gv %ke), intent(out) | S, | ||
| real, dimension( g %isd: g %ied, g %jsd: g %jed, gv %ke), intent(in) | h, | ||
| logical, intent(in), optional | just_read_params | ||
| ) |
Initialize the temperature and salinity for the dense water experiment.
| [in] | g | Horizontal grid control structure |
| [in] | gv | Vertical grid control structure |
| [in] | param_file | Parameter file structure |
| eqn_of_state | EOS structure | |
| [out] | t | Output temperature [degC] |
| [out] | s | Output salinity [ppt] |
| [in] | h | Layer thicknesses [H ~> m or kg m-2] |
| [in] | just_read_params | If present and true, this call will only read parameters without changing h. |
Definition at line 99 of file dense_water_initialization.F90.
References default_mld, and mdl.
|
private |
Default depth of the mixed layer [nondim].
Definition at line 30 of file dense_water_initialization.F90.
Referenced by dense_water_initialize_sponges(), and dense_water_initialize_ts().
|
private |
Default depth of the shelf [nondim].
Definition at line 29 of file dense_water_initialization.F90.
Referenced by dense_water_initialize_topography().
|
private |
Default depth of the sill [nondim].
Definition at line 28 of file dense_water_initialization.F90.
Referenced by dense_water_initialize_sponges(), and dense_water_initialize_topography().
|
private |
Module name.
Definition at line 26 of file dense_water_initialization.F90.
Referenced by dense_water_initialize_sponges(), dense_water_initialize_topography(), and dense_water_initialize_ts().