MOM6
|
Initial conditions for the 2D Rossby front test.
Consistent with a linear equation of state, the system has a constant stratification below the mixed layer, stratified in temperature only. Isotherms are flat below the mixed layer and vertical within. Salinity is constant. The mixed layer has a half sine form so that there are no mixed layer or temperature gradients at the side walls.
Below the mixed layer the potential temperature, \(\theta(z)\), is given by
\[ \theta(z) = \theta_0 - \Delta \theta \left( z + h_{ML} \right) \]
where \( \theta_0 \) and \( \Delta \theta \) are external model parameters.
The depth of the mixed layer, \(H_{ML}\) is
\[ h_{ML}(y) = h_{min} + \left( h_{max} - h_{min} \right) \cos{\pi y/L} \]
. The temperature in mixed layer is given by the reference temperature at \(z=h_{ML}\) so that
\[ \theta(y,z) = \theta_0 - \Delta \theta \left( z + h_{ML} \right) & \forall & z < h_{ML}(y) T.B.D. \]
Functions/Subroutines | |
subroutine, public | rossby_front_initialize_thickness (h, G, GV, US, param_file, just_read_params) |
Initialization of thicknesses in 2D Rossby front test. More... | |
subroutine, public | rossby_front_initialize_temperature_salinity (T, S, h, G, GV, param_file, eqn_of_state, just_read_params) |
Initialization of temperature and salinity in the Rossby front test. More... | |
subroutine, public | rossby_front_initialize_velocity (u, v, h, G, GV, US, param_file, just_read_params) |
Initialization of u and v in the Rossby front test. More... | |
real function | ypseudo (G, lat) |
Pseudo coordinate across domain used by Hml() and dTdy() returns a coordinate from -PI/2 .. PI/2 squashed towards the center of the domain. More... | |
real function | hml (G, lat) |
Analytic prescription of mixed layer depth in 2d Rossby front test, in the same units as Gmax_depth. More... | |
real function | dtdy (G, dT, lat) |
Analytic prescription of mixed layer temperature gradient in 2d Rossby front test. More... | |
Variables | |
character(len=40) | mdl = "Rossby_front_2d_initialization" |
This module's name. More... | |
real, parameter | frontfractionalwidth = 0.5 |
Width of front as fraction of domain [nondim]. More... | |
real, parameter | hmlmin = 0.25 |
Shallowest ML as fractional depth of ocean [nondim]. More... | |
real, parameter | hmlmax = 0.75 |
Deepest ML as fractional depth of ocean [nondim]. More... | |
|
private |
Analytic prescription of mixed layer temperature gradient in 2d Rossby front test.
[in] | g | Grid structure |
[in] | dt | Top to bottom temperature difference |
[in] | lat | Latitude |
Definition at line 256 of file Rossby_front_2d_initialization.F90.
References frontfractionalwidth, hmlmax, hmlmin, and ypseudo().
Referenced by rossby_front_initialize_velocity().
|
private |
Analytic prescription of mixed layer depth in 2d Rossby front test, in the same units as Gmax_depth.
[in] | g | Grid structure |
[in] | lat | Latitude |
Definition at line 243 of file Rossby_front_2d_initialization.F90.
References hmlmax, hmlmin, and ypseudo().
Referenced by rossby_front_initialize_temperature_salinity(), rossby_front_initialize_thickness(), and rossby_front_initialize_velocity().
subroutine, public rossby_front_2d_initialization::rossby_front_initialize_temperature_salinity | ( | real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke), intent(out) | T, |
real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke), intent(out) | S, | ||
real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke), intent(in) | h, | ||
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, | ||
logical, intent(in), optional | just_read_params | ||
) |
Initialization of temperature and salinity in the Rossby front test.
[in] | g | Grid structure |
[in] | gv | The ocean's vertical grid structure. |
[out] | t | Potential temperature [degC] |
[out] | s | Salinity [ppt] |
[in] | h | Thickness [H ~> m or kg m-2] |
[in] | param_file | Parameter file handle |
eqn_of_state | Equation of state structure | |
[in] | just_read_params | If present and true, this call will only read parameters without changing T & S. |
Definition at line 114 of file Rossby_front_2d_initialization.F90.
subroutine, public rossby_front_2d_initialization::rossby_front_initialize_thickness | ( | real, dimension(szi_(g),szj_(g),szk_(gv)), intent(out) | h, |
type(ocean_grid_type), intent(in) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
type(unit_scale_type), intent(in) | US, | ||
type(param_file_type), intent(in) | param_file, | ||
logical, intent(in), optional | just_read_params | ||
) |
Initialization of thicknesses in 2D Rossby front test.
[in] | g | Grid structure |
[in] | gv | Vertical grid structure |
[in] | us | A dimensional unit scaling type |
[out] | h | The thickness that is being initialized [H ~> m or kg m-2] |
[in] | param_file | A structure indicating the open file to parse for model parameter values. |
[in] | just_read_params | If present and true, this call will only read parameters without changing h. |
Definition at line 40 of file Rossby_front_2d_initialization.F90.
References hml(), mdl, mom_error_handler::mom_error(), mom_error_handler::mom_mesg(), regrid_consts::regridding_rho, and regrid_consts::regridding_sigma.
subroutine, public rossby_front_2d_initialization::rossby_front_initialize_velocity | ( | real, dimension( g %isdb: g %iedb, g %jsd: g %jed, g %ke), intent(out) | u, |
real, dimension( g %isd: g %ied, g %jsdb: g %jedb, g %ke), intent(out) | v, | ||
real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke), intent(in) | h, | ||
type(ocean_grid_type), intent(in) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
type(unit_scale_type), intent(in) | US, | ||
type(param_file_type), intent(in) | param_file, | ||
logical, intent(in), optional | just_read_params | ||
) |
Initialization of u and v in the Rossby front test.
[in] | g | Grid structure |
[in] | gv | Vertical grid structure |
[out] | u | i-component of velocity [L T-1 ~> m s-1] |
[out] | v | j-component of velocity [L T-1 ~> m s-1] |
[in] | h | Thickness [H ~> m or kg m-2] |
[in] | us | A dimensional unit scaling type |
[in] | param_file | A structure indicating the open file to parse for model parameter values. |
[in] | just_read_params | If present and true, this call will only read parameters without setting u & v. |
Definition at line 166 of file Rossby_front_2d_initialization.F90.
References dtdy(), hml(), and mdl.
Referenced by mom_state_initialization::mom_initialize_state().
|
private |
Pseudo coordinate across domain used by Hml() and dTdy() returns a coordinate from -PI/2 .. PI/2 squashed towards the center of the domain.
[in] | g | Grid structure |
[in] | lat | Latitude |
Definition at line 229 of file Rossby_front_2d_initialization.F90.
References frontfractionalwidth.
Referenced by dtdy(), and hml().
|
private |
Width of front as fraction of domain [nondim].
Definition at line 32 of file Rossby_front_2d_initialization.F90.
|
private |
Deepest ML as fractional depth of ocean [nondim].
Definition at line 34 of file Rossby_front_2d_initialization.F90.
|
private |
Shallowest ML as fractional depth of ocean [nondim].
Definition at line 33 of file Rossby_front_2d_initialization.F90.
|
private |
This module's name.
Definition at line 23 of file Rossby_front_2d_initialization.F90.
Referenced by rossby_front_initialize_temperature_salinity(), rossby_front_initialize_thickness(), and rossby_front_initialize_velocity().