MOM6
|
This control structure contains parameters for MOM_set_diffusivity.
Definition at line 55 of file MOM_set_diffusivity.F90.
Public variables and constants | |
logical | debug |
If true, write verbose checksums for debugging. | |
logical | bulkmixedlayer |
If true, a refined bulk mixed layer is used with GVnk_rho_varies variable density mixed & buffer layers. | |
real | fluxri_max |
The flux Richardson number where the stratification is large enough that N2 > omega2. The full expression for the Flux Richardson number is usually FLUX_RI_MAX*N2/(N2+OMEGA2). The default is 0.2. | |
logical | bottomdraglaw |
If true, the bottom stress is calculated with a drag law c_drag*|u|*u. | |
logical | bbl_mixing_as_max |
If true, take the maximum of the diffusivity from the BBL mixing and the other diffusivities. Otherwise, diffusivities from the BBL_mixing is added. | |
logical | use_lotw_bbl_diffusivity |
If true, use simpler/less precise, BBL diffusivity. | |
logical | lotw_bbl_use_omega |
If true, use simpler/less precise, BBL diffusivity. | |
real | bbl_effic |
efficiency with which the energy extracted by bottom drag drives BBL diffusion [nondim] | |
real | cdrag |
quadratic drag coefficient [nondim] | |
real | imax_decay |
inverse of a maximum decay scale for bottom-drag driven turbulence [Z-1 ~> m-1]. | |
real | kv |
The interior vertical viscosity [Z2 T-1 ~> m2 s-1]. | |
real | kd |
interior diapycnal diffusivity [Z2 T-1 ~> m2 s-1]. | |
real | kd_min |
minimum diapycnal diffusivity [Z2 T-1 ~> m2 s-1]. | |
real | kd_max |
maximum increment for diapycnal diffusivity [Z2 T-1 ~> m2 s-1]. Set to a negative value to have no limit. | |
real | kd_add |
uniform diffusivity added everywhere without filtering or scaling [Z2 T-1 ~> m2 s-1]. | |
real | kd_smooth |
Vertical diffusivity used to interpolate more sensible values of T & S into thin layers [Z2 T-1 ~> m2 s-1]. | |
type(diag_ctrl), pointer | diag => NULL() |
structure to regulate diagnostic output timing | |
logical | limit_dissipation |
If enabled, dissipation is limited to be larger than the following: | |
real | dissip_min |
Minimum dissipation [kg Z2 m-3 T-3 ~> W m-3]. | |
real | dissip_n0 |
Coefficient a in minimum dissipation = a+b*N [kg Z2 m-3 T-3 ~> W m-3]. | |
real | dissip_n1 |
Coefficient b in minimum dissipation = a+b*N [kg Z2 m-3 T-2 ~> J m-3]. | |
real | dissip_n2 |
Coefficient c in minimum dissipation = c*N2 [kg Z2 m-3 T-1 ~> J s m-3]. | |
real | dissip_kd_min |
Minimum Kd [Z2 T-1 ~> m2 s-1], with dissipation Rho0*Kd_min*N^2. | |
real | tke_itide_max |
maximum internal tide conversion [W m-2] available to mix above the BBL | |
real | omega |
Earth's rotation frequency [T-1 ~> s-1]. | |
logical | ml_radiation |
allow a fraction of TKE available from wind work to penetrate below mixed layer base with a vertical decay scale determined by the minimum of (1) The depth of the mixed layer, or (2) An Ekman length scale. Energy available to drive mixing below the mixed layer is given by E = ML_RAD_COEFF*MSTAR*USTAR**3. Optionally, if ML_rad_TKE_decay is true, this is further reduced by a factor of exp(-h_ML*Idecay_len_TkE), where Idecay_len_TKE is calculated the same way as in the mixed layer code. The diapycnal diffusivity is KD(k) = E/(N2(k)+OMEGA2), where N2 is the squared buoyancy frequency [s-2] and OMEGA2 is the rotation rate of the earth squared. | |
real | ml_rad_kd_max |
Maximum diapycnal diffusivity due to turbulence radiated from the base of the mixed layer [Z2 T-1 ~> m2 s-1]. | |
real | ml_rad_efold_coeff |
non-dim coefficient to scale penetration depth | |
real | ml_rad_coeff |
coefficient, which scales MSTAR*USTAR^3 to obtain energy available for mixing below mixed layer base [nondim] | |
logical | ml_rad_bug |
If true use code with a bug that reduces the energy available in the transition layer by a factor of the inverse of the energy deposition lenthscale (in m). | |
logical | ml_rad_tke_decay |
If true, apply same exponential decay to ML_rad as applied to the other surface sources of TKE in the mixed layer code. | |
real | ustar_min |
A minimum value of ustar to avoid numerical problems [Z T-1 ~> m s-1]. If the value is small enough, this parameter should not affect the solution. | |
real | tke_decay |
ratio of natural Ekman depth to TKE decay scale [nondim] | |
real | mstar |
ratio of friction velocity cubed to TKE input to the mixed layer [nondim] | |
logical | ml_use_omega |
If true, use absolute rotation rate instead of the vertical component of rotation when setting the decay scale for mixed layer turbulence. | |
real | ml_omega_frac |
When setting the decay scale for turbulence, use this fraction of the absolute rotation rate blended with the local value of f, as f^2 ~= (1-of)*f^2 + of*4*omega^2. | |
logical | user_change_diff |
If true, call user-defined code to change diffusivity. | |
logical | usekappashear |
If true, use the kappa_shear module to find the shear-driven diapycnal diffusivity. | |
logical | vertex_shear |
If true, do the calculations of the shear-driven mixing at the cell vertices (i.e., the vorticity points). | |
logical | use_cvmix_shear |
If true, use one of the CVMix modules to find shear-driven diapycnal diffusivity. | |
logical | double_diffusion |
If true, enable double-diffusive mixing using an old method. | |
logical | use_cvmix_ddiff |
If true, enable double-diffusive mixing via CVMix. | |
logical | simple_tke_to_kd |
If true, uses a simple estimate of Kd/TKE that does not rely on a layer-formulation. | |
real | max_rrho_salt_fingers |
max density ratio for salt fingering | |
real | max_salt_diff_salt_fingers |
max salt diffusivity for salt fingers [Z2 T-1 ~> m2 s-1] | |
real | kv_molecular |
molecular visc for double diff convect [Z2 T-1 ~> m2 s-1] | |
logical | answers_2018 |
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. | |
character(len=200) | inputdir |
The directory in which input files are found. | |
type(user_change_diff_cs), pointer | user_change_diff_csp => NULL() |
Control structure for a child module. | |
type(kappa_shear_cs), pointer | kappashear_csp => NULL() |
Control structure for a child module. | |
type(cvmix_shear_cs), pointer | cvmix_shear_csp => NULL() |
Control structure for a child module. | |
type(cvmix_ddiff_cs), pointer | cvmix_ddiff_csp => NULL() |
Control structure for a child module. | |
type(bkgnd_mixing_cs), pointer | bkgnd_mixing_csp => NULL() |
Control structure for a child module. | |
type(int_tide_cs), pointer | int_tide_csp => NULL() |
Control structure for a child module. | |
type(tidal_mixing_cs), pointer | tm_csp => NULL() |
Control structure for a child module. | |
integer | id_maxtke = -1 |
Diagnostic IDs. | |
integer | id_tke_to_kd = -1 |
Diagnostic IDs. | |
integer | id_kd_user = -1 |
Diagnostic IDs. | |
integer | id_kd_layer = -1 |
Diagnostic IDs. | |
integer | id_kd_bbl = -1 |
Diagnostic IDs. | |
integer | id_n2 = -1 |
Diagnostic IDs. | |
integer | id_kd_work = -1 |
Diagnostic IDs. | |
integer | id_kt_extra = -1 |
Diagnostic IDs. | |
integer | id_ks_extra = -1 |
Diagnostic IDs. | |