mom_regularize_layers module reference¶
Provides regularization of layers in isopycnal mode.
Data Types¶
This control structure holds parameters used by the MOM_regularize_layers module. |
Functions/Subroutines¶
This subroutine partially steps the bulk mixed layer model. |
|
This subroutine ensures that there is a degree of horizontal smoothness in the depths of the near-surface interfaces. |
|
This subroutine determines the amount by which the harmonic mean thickness at velocity points differ from the arithmetic means, relative to the the arithmetic means, after eliminating thickness variations that are solely due to topography and aggregating all interior layers into one. |
|
Initializes the regularize_layers control structure. |
Detailed Description¶
Provides regularization of layers in isopycnal mode.
Type Documentation¶
-
type
mom_regularize_layers/
regularize_layers_cs
¶ This control structure holds parameters used by the MOM_regularize_layers module.
- Type fields
%
regularize_surface_layers
[logical] :: If true, vertically restructure the near-surface layers when they have too much lateral variations to allow for sensible lateral barotropic transports.%
reg_sfc_detrain
[logical] :: If true, allow the buffer layers to detrain into the interior as a part of the restructuring when regularize_surface_layers is true.%
density_match_tol
[real] :: A relative tolerance for how well the densities must match with the target densities during detrainment when regularizing the near-surface layers [nondim].%
h_def_tol1
[real] :: The value of the relative thickness deficit at which to start modifying the structure, 0.5 by default (or a thickness ratio of 5.83) [nondim].%
h_def_tol2
[real] :: The value of the relative thickness deficit at which to the structure modification is in full force, now 20% of the way from h_def_tol1 to 1 [nondim].%
h_def_tol3
[real] :: The value of the relative thickness deficit at which to start detrainment from the buffer layers to the interior, now 30% of the way from h_def_tol1 to 1 [nondim].%
h_def_tol4
[real] :: The value of the relative thickness deficit at which to do detrainment from the buffer layers to the interior at full force, now 50% of the way from h_def_tol1 to 1 [nondim].%
hmix_min
[real] :: The minimum mixed layer thickness [H ~> m or kg m-2].%
time
[type(time_type),pointer] :: A pointer to the ocean model’s clock.%
diag
[type(diag_ctrl),pointer] :: A structure that is used to regulate the timing of diagnostic output.%
answers_2018
[logical] :: If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use updated and more robust forms of the same expressions.%
debug
[logical] :: If true, do more thorough checks for debugging purposes.%
id_def_rat
[integer] :: A diagnostic ID.%
allow_clocks_in_omp_loops
[logical] :: If true, clocks can be called from inside loops that can be threaded. To run with multiple threads, set to False.
Function/Subroutine Documentation¶
-
subroutine
mom_regularize_layers/
regularize_layers
(h, tv, dt, ea, eb, G, GV, US, CS)¶ This subroutine partially steps the bulk mixed layer model. The following processes are executed, in the order listed.
- Parameters
g :: [inout] The ocean’s grid structure.
gv :: [in] The ocean’s vertical grid structure.
h :: [inout] Layer thicknesses [H ~> m or kg m-2].
tv :: [inout] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs.
dt :: [in] Time increment [T ~> s].
ea :: [inout] The amount of fluid moved downward into a
eb :: [inout] The amount of fluid moved upward into a layer
us :: [in] A dimensional unit scaling type
cs :: The control structure returned by a previous call to regularize_layers_init.
- Call to
id_clock_pass
mom_error_handler::mom_error
regularize_surface
- Called from
-
subroutine
mom_regularize_layers/
regularize_surface
(h, tv, dt, ea, eb, G, GV, US, CS)¶ This subroutine ensures that there is a degree of horizontal smoothness in the depths of the near-surface interfaces.
- Parameters
g :: [inout] The ocean’s grid structure.
gv :: [in] The ocean’s vertical grid structure.
h :: [inout] Layer thicknesses [H ~> m or kg m-2].
tv :: [inout] A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs.
dt :: [in] Time increment [T ~> s].
ea :: [inout] The amount of fluid moved downward into a
eb :: [inout] The amount of fluid moved upward into a layer
us :: [in] A dimensional unit scaling type
cs :: The control structure returned by a previous call to regularize_layers_init.
- Call to
mom_eos::eos_domain
find_deficit_ratios
id_clock_eos
mom_error_handler::mom_error
- Called from
-
subroutine
mom_regularize_layers/
find_deficit_ratios
(e, def_rat_u, def_rat_v, G, GV, CS, def_rat_u_2lay, def_rat_v_2lay, halo, h)¶ This subroutine determines the amount by which the harmonic mean thickness at velocity points differ from the arithmetic means, relative to the the arithmetic means, after eliminating thickness variations that are solely due to topography and aggregating all interior layers into one.
- Parameters
g :: [in] The ocean’s grid structure.
gv :: [in] The ocean’s vertical grid structure.
e :: [in] Interface depths [H ~> m or kg m-2]
def_rat_u :: [out] The thickness deficit ratio at u points,
def_rat_v :: [out] The thickness deficit ratio at v points,
cs :: The control structure returned by a previous call to regularize_layers_init.
def_rat_u_2lay :: [out] The thickness deficit ratio at u
def_rat_v_2lay :: [out] The thickness deficit ratio at v
halo :: [in] An extra-wide halo size, 0 by default.
h :: [in] Layer thicknesses [H ~> m or kg m-2].
- Called from
-
subroutine
mom_regularize_layers/
regularize_layers_init
(Time, G, GV, param_file, diag, CS)¶ Initializes the regularize_layers control structure.
- Parameters
time :: [in] The current model time.
g :: [in] The ocean’s grid structure.
gv :: [in] The ocean’s vertical grid structure.
param_file :: [in] A structure to parse for run-time parameters.
diag :: [inout] A structure that is used to regulate diagnostic output.
cs :: A pointer that is set to point to the control structure for this module.
- Call to
mom_cpu_clock::cpu_clock_id
id_clock_eos
id_clock_pass
mom_error_handler::mom_error
- Called from