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().