mom_stochastics module reference
Top-level module for the MOM6 ocean model in coupled mode.
Data Types
This control structure holds parameters for the MOM_stochastics module. |
Functions/Subroutines
update_ocean_model uses the forcing in Ice_ocean_boundary to advance the ocean model's state from the input value of Ocean_state (which must be for time time_start_update) for a time interval of Ocean_coupling_time_step, returning the publicly visible ocean surface properties in Ocean_sfc and storing the new ocean properties in Ocean_state. |
|
Apply a 9-point smoothing filter twice to a pair of velocity components to reduce horizontal two-grid-point noise. |
Detailed Description
Top-level module for the MOM6 ocean model in coupled mode.
Type Documentation
- type mom_stochastics/stochastic_cs
This control structure holds parameters for the MOM_stochastics module.
- Type fields:
% do_sppt ::
logicalIf true, stochastically perturb the diabatic.% do_skeb ::
logicalIf true, stochastically perturb the horizontal velocity.% skeb_use_gm ::
logicalIf true, adds GM work to the amplitude of SKEBS.% skeb_use_frict ::
logicalIf true, adds viscous dissipation rate to the amplitude of SKEBS.% pert_epbl ::
logicalIf true, then randomly perturb the KE dissipation and genration terms.% id_sppt_wts ::
integerDiagnostic id for SPPT.% id_skeb_wts ::
integerDiagnostic id for SKEB.% id_skebu ::
integerDiagnostic id for SKEB.% id_skebv ::
integerDiagnostic id for SKEB.% id_diss ::
integerDiagnostic id for SKEB.% skeb_npass ::
integernumber of passes of the 9-point smoother for the dissipation estimate% id_psi ::
integerDiagnostic id for SPPT.% id_epbl1_wts ::
integerDiagnostic id for epbl generation perturbation.% id_epbl2_wts ::
integerDiagnostic id for epbl dissipation perturbation.% id_skeb_taperu ::
integerDiagnostic id for u taper of SKEB velocity increment.% id_skeb_taperv ::
integerDiagnostic id for v taper of SKEB velocity increment.% skeb_gm_coef ::
realIf skeb_use_gm is true, then skeb_gm_coef * GM_work is added to the dissipation rate used to set the amplitude of SKEBS [nondim].% skeb_frict_coef ::
realIf skeb_use_frict is true, then skeb_gm_coef * GM_work is added to the dissipation rate used to set the amplitude of SKEBS [nondim].% skeb_diss ::
real, dimension(:,:,:), allocatableDissipation rate used to set amplitude of SKEBS [L2 T-3 ~> m2 s-3] Index into this at h points.% sppt_wts ::
real, dimension(:,:), allocatableRandom pattern for ocean SPPT tendencies with a number between 0 and 2 [nondim].% skeb_wts ::
real, dimension(:,:), allocatableRandom pattern for ocean SKEB [nondim].% epbl1_wts ::
real, dimension(:,:), allocatableRandom pattern for K.E. generation [nondim].% epbl2_wts ::
real, dimension(:,:), allocatableRandom pattern for K.E. dissipation [nondim].% time ::
type(time_type), pointerPointer to model time (needed for sponges)% diag ::
type(diag_ctrl), pointerA structure that is used to regulate the.% tapercu ::
real, dimension(:,:), allocatableTaper applied to u component of stochastic velocity increment range [0,1], [nondim].% tapercv ::
real, dimension(:,:), allocatableTaper applied to v component of stochastic velocity increment range [0,1], [nondim].
Function/Subroutine Documentation
- subroutine mom_stochastics/stochastics_init(dt, grid, GV, CS, param_file, diag, Time)
- Parameters:
dt ::
dt[in] time step [T ~> s]grid ::
grid[in] horizontal grid informationgv :: [in] vertical grid structure
cs :: [inout] stochastic control structure
param_file ::
param_file[in] A structure to parse for run-time parametersdiag ::
diag[inout] structure to regulate diagnostic outputtime :: model time
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leavestochastic_physics::init_stochastic_physics_ocnmom_diag_mediator::register_static_fieldsmooth_x9_uv- Called from:
- subroutine mom_stochastics/update_stochastics(CS)
update_ocean_model uses the forcing in Ice_ocean_boundary to advance the ocean model’s state from the input value of Ocean_state (which must be for time time_start_update) for a time interval of Ocean_coupling_time_step, returning the publicly visible ocean surface properties in Ocean_sfc and storing the new ocean properties in Ocean_state.
- Parameters:
cs :: [inout] diabatic control structure
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leavestochastic_physics::run_stochastic_physics_ocn- Called from:
- subroutine mom_stochastics/apply_skeb(grid, GV, CS, uc, vc, thickness, tv, dt, Time_end)
- Parameters:
grid ::
grid[in] ocean grid structuregv :: [in] ocean vertical grid
cs :: [inout] stochastic control structure
uc ::
uc[inout] zonal velocity [L T-1 ~> m s-1]vc ::
vc[inout] meridional velocity [L T-1 ~> m s-1]thickness ::
thickness[in] thickness [H ~> m or kg m-2]tv ::
tv[in] points to thermodynamic fieldsdt ::
dt[in] time increment [T ~> s]time_end :: [in] Time at the end of the interval
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leavemom_diag_mediator::disable_averagingmom_diag_mediator::enable_averages- Called from:
- subroutine mom_stochastics/smooth_x9_uv(G, field_u, field_v, zero_land)
Apply a 9-point smoothing filter twice to a pair of velocity components to reduce horizontal two-grid-point noise. Note that this subroutine does not conserve angular momentum, so don’t use it in situations where you need conservation. Also note that it assumes that the input fields have valid values in the first two halo points upon entry.
- Parameters:
g :: [in] Ocean grid
field_u ::
field_u[inout] u-point field to be smoothed[arbitrary]field_v ::
field_v[inout] v-point field to be smoothed [arbitrary]zero_land ::
zero_land[in] If present and false, return the average of the surrounding ocean points when smoothing, otherwise use a value of 0 for land points and include them in the averages.
- Called from: