mom_bkgnd_mixing module reference
Interface to background mixing schemes, including the Bryan and Lewis (1979) which is applied via CVMix.
Data Types
Control structure including parameters for this module. |
Functions/Subroutines
Initialize the background mixing routine. |
|
Calculates the vertical background diffusivities/viscosities. |
|
Reads the parameter "USE_CVMix_BACKGROUND" and returns state. |
|
Sets CSbkgnd_scheme_str to check whether multiple background diffusivity schemes are activated. |
|
Clear pointers and deallocate memory. |
Detailed Description
Interface to background mixing schemes, including the Bryan and Lewis (1979) which is applied via CVMix.
Type Documentation
- type mom_bkgnd_mixing/bkgnd_mixing_cs
Control structure including parameters for this module.
- Type fields:
% bryan_lewis_c1 ::
realThe vertical diffusivity values for Bryan-Lewis profile at |z|=D [Z2 T-1 ~> m2 s-1].% bryan_lewis_c2 ::
realThe amplitude of variation in diffusivity for the Bryan-Lewis diffusivity profile [Z2 T-1 ~> m2 s-1].% bryan_lewis_c3 ::
realThe inverse length scale for transition region in the Bryan-Lewis diffusivity profile [Z-1 ~> m-1].% bryan_lewis_c4 ::
realThe depth where diffusivity is Bryan_Lewis_bl1 in the Bryan-Lewis profile [Z ~> m].% bckgrnd_vdc1 ::
realBackground diffusivity (Ledwell) when horiz_varying_background=.true. [H Z T-1 ~> m2 s-1 or kg m-1 s-1].% bckgrnd_vdc_eq ::
realEquatorial diffusivity (Gregg) when horiz_varying_background=.true. [H Z T-1 ~> m2 s-1 or kg m-1 s-1].% bckgrnd_vdc_psim ::
realMax. PSI induced diffusivity (MacKinnon) when horiz_varying_background=.true. [H Z T-1 ~> m2 s-1 or kg m-1 s-1].% bckgrnd_vdc_banda ::
realBanda Sea diffusivity (Gordon) when horiz_varying_background=.true. [H Z T-1 ~> m2 s-1 or kg m-1 s-1].% kd_min ::
realminimum diapycnal diffusivity [H Z T-1 ~> m2 s-1 or kg m-1 s-1]% kd ::
realinterior diapycnal diffusivity [H Z T-1 ~> m2 s-1 or kg m-1 s-1]% omega ::
realThe Earth’s rotation rate [T-1 ~> s-1].% n0_2omega ::
realratio of the typical Buoyancy frequency to twice the Earth’s rotation period, used with the Henyey scaling from the mixing [nondim]% henyey_max_lat ::
realA latitude poleward of which the Henyey profile is returned to the minimum diffusivity [degrees_N].% prandtl_bkgnd ::
realTurbulent Prandtl number used to convert vertical background diffusivity into viscosity [nondim].% kd_tanh_lat_scale ::
realA nondimensional scaling for the range of diffusivities with Kd_tanh_lat_fn [nondim]. Valid values are in the range of -2 to 2; 0.4 reproduces CM2M.% kd_tot_ml ::
realThe mixed layer diapycnal diffusivity [H Z T-1 ~> m2 s-1 or kg m-1 s-1] when no other physically based mixed layer turbulence parameterization is being used.% hmix ::
realmixed layer thickness [H ~> m or kg m-2] when no physically based ocean surface boundary layer parameterization is used.% kd_tanh_lat_fn ::
logicalIf true, use the tanh dependence of Kd_sfc on latitude, like GFDL CM2.1/CM2M. There is no physical justification for this form, and it can not be used with Henyey_IGW_background.% bryan_lewis_diffusivity ::
logicalIf true, background vertical diffusivity uses Bryan-Lewis (1979) like tanh profile.% horiz_varying_background ::
logicalIf true, apply vertically uniform, latitude-dependent background diffusivity, as described in Danabasoglu et al., 2012.% henyey_igw_background ::
logicalIf true, use a simplified variant of the Henyey et al, JGR (1986) latitudinal scaling for the background diapycnal diffusivity, which gives a marked decrease in the diffusivity near the equator. The simplification here is to assume that the in-situ stratification is the same as the reference stratificaiton.% physical_obl_scheme ::
logicalIf true, a physically-based scheme is used to determine mixing in the ocean’s surface boundary layer, such as ePBL, KPP, or a refined bulk mixed layer scheme.% debug ::
logicalIf true, turn on debugging in this module.% diag ::
type(diag_ctrl), pointerA structure that regulates diagnostic output.% bkgnd_scheme_str ::
character(len=40)Background scheme identifier.
Function/Subroutine Documentation
- subroutine mom_bkgnd_mixing/bkgnd_mixing_init(Time, G, GV, US, param_file, diag, CS, physical_OBL_scheme)
Initialize the background mixing routine.
- Parameters:
time :: [in] The current time.
g :: [in] Grid structure.
gv :: [in] Vertical grid structure.
us :: [in] A dimensional unit scaling type
param_file ::
param_file[in] Run-time parameter file handlediag ::
diag[inout] Diagnostics control structure.cs :: This module’s control structure.
physical_obl_scheme :: [in] If true, a physically based parameterization (like KPP or ePBL or a bulk mixed layer) is used outside of set_diffusivity to specify the mixing that occurs in the ocean’s surface boundary layer.
- Call to:
- subroutine mom_bkgnd_mixing/calculate_bkgnd_mixing(h, tv, N2_lay, Kd_lay, Kd_int, Kv_bkgnd, j, G, GV, US, CS)
Calculates the vertical background diffusivities/viscosities.
- Parameters:
g :: [in] Grid structure.
gv :: [in] Vertical grid structure.
h ::
h[in] Layer thickness [H ~> m or kg m-2].tv ::
tv[in] Thermodynamics structure.n2_lay :: [in] squared buoyancy frequency associated with layers [T-2 ~> s-2]
kd_lay :: [out] The background diapycnal diffusivity of each layer [H Z T-1 ~> m2 s-1 or kg m-1 s-1]
kd_int :: [out] The background diapycnal diffusivity of each interface [H Z T-1 ~> m2 s-1 or kg m-1 s-1]
kv_bkgnd :: [out] The background vertical viscosity at each interface [H Z T-1 ~> m2 s-1 or Pa s]
j ::
j[in] Meridional grid indexus :: [in] A dimensional unit scaling type
cs :: The control structure returned by a previous call to bkgnd_mixing_init.
- Call to:
- function mom_bkgnd_mixing/cvmix_bkgnd_is_used(param_file)
Reads the parameter “USE_CVMix_BACKGROUND” and returns state. This function allows other modules to know whether this parameterization will be used without needing to duplicate the log entry.
- Parameters:
param_file ::
param_file[in] A structure to parse for run-time parameters- Call to:
mdl
- subroutine mom_bkgnd_mixing/check_bkgnd_scheme(CS, str)
Sets CSbkgnd_scheme_str to check whether multiple background diffusivity schemes are activated. The string is also for error/log messages.
- Parameters:
cs :: Control structure
str ::
str[in] Background scheme identifier deducted from MOM_input parameters
- Call to:
- Called from:
- subroutine mom_bkgnd_mixing/bkgnd_mixing_end(CS)
Clear pointers and deallocate memory.
- Parameters:
cs :: Control structure for this module that will be deallocated in this subroutine
- Called from: