MOM6
|
This control structure contains parameters for MOM_set_diffusivity.
Definition at line 56 of file MOM_set_diffusivity.F90.
Public variables and constants | |
logical | debug |
If true, write verbose checksums for debugging. More... | |
logical | bulkmixedlayer |
If true, a refined bulk mixed layer is used with GVnk_rho_varies variable density mixed & buffer layers. More... | |
real | fluxri_max |
The flux Richardson number where the stratification is large enough that N2 > omega2 [nondim]. The full expression for the Flux Richardson number is usually FLUX_RI_MAX*N2/(N2+OMEGA2). The default is 0.2. More... | |
logical | bottomdraglaw |
If true, the bottom stress is calculated with a drag law c_drag*|u|*u. More... | |
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. More... | |
logical | use_lotw_bbl_diffusivity |
If true, use simpler/less precise, BBL diffusivity. More... | |
logical | lotw_bbl_use_omega |
If true, use simpler/less precise, BBL diffusivity. More... | |
real | bbl_effic |
efficiency with which the energy extracted by bottom drag drives BBL diffusion [nondim] More... | |
real | cdrag |
quadratic drag coefficient [nondim] More... | |
real | imax_decay |
inverse of a maximum decay scale for bottom-drag driven turbulence [Z-1 ~> m-1]. More... | |
real | kv |
The interior vertical viscosity [Z2 T-1 ~> m2 s-1]. More... | |
real | kd |
interior diapycnal diffusivity [Z2 T-1 ~> m2 s-1]. More... | |
real | kd_min |
minimum diapycnal diffusivity [Z2 T-1 ~> m2 s-1]. More... | |
real | kd_max |
maximum increment for diapycnal diffusivity [Z2 T-1 ~> m2 s-1]. Set to a negative value to have no limit. More... | |
real | kd_add |
uniform diffusivity added everywhere without filtering or scaling [Z2 T-1 ~> m2 s-1]. More... | |
real | kd_smooth |
Vertical diffusivity used to interpolate more sensible values of T & S into thin layers [Z2 T-1 ~> m2 s-1]. More... | |
type(diag_ctrl), pointer | diag => NULL() |
structure to regulate diagnostic output timing More... | |
logical | limit_dissipation |
If enabled, dissipation is limited to be larger than the following: More... | |
real | dissip_min |
Minimum dissipation [R Z2 T-3 ~> W m-3]. More... | |
real | dissip_n0 |
Coefficient a in minimum dissipation = a+b*N [R Z2 T-3 ~> W m-3]. More... | |
real | dissip_n1 |
Coefficient b in minimum dissipation = a+b*N [R Z2 T-2 ~> J m-3]. More... | |
real | dissip_n2 |
Coefficient c in minimum dissipation = c*N2 [R Z2 T-1 ~> J s m-3]. More... | |
real | dissip_kd_min |
Minimum Kd [Z2 T-1 ~> m2 s-1], with dissipation Rho0*Kd_min*N^2. More... | |
real | omega |
Earth's rotation frequency [T-1 ~> s-1]. More... | |
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 [T-2 ~> s-2] and OMEGA2 is the rotation rate of the earth squared. More... | |
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]. More... | |
real | ml_rad_efold_coeff |
non-dim coefficient to scale penetration depth More... | |
real | ml_rad_coeff |
coefficient, which scales MSTAR*USTAR^3 to obtain energy available for mixing below mixed layer base [nondim] More... | |
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). More... | |
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. More... | |
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. More... | |
real | tke_decay |
ratio of natural Ekman depth to TKE decay scale [nondim] More... | |
real | mstar |
ratio of friction velocity cubed to TKE input to the mixed layer [nondim] More... | |
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. More... | |
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. More... | |
logical | user_change_diff |
If true, call user-defined code to change diffusivity. More... | |
logical | usekappashear |
If true, use the kappa_shear module to find the shear-driven diapycnal diffusivity. More... | |
logical | vertex_shear |
If true, do the calculations of the shear-driven mixing at the cell vertices (i.e., the vorticity points). More... | |
logical | use_cvmix_shear |
If true, use one of the CVMix modules to find shear-driven diapycnal diffusivity. More... | |
logical | double_diffusion |
If true, enable double-diffusive mixing using an old method. More... | |
logical | use_cvmix_ddiff |
If true, enable double-diffusive mixing via CVMix. More... | |
logical | simple_tke_to_kd |
If true, uses a simple estimate of Kd/TKE that does not rely on a layer-formulation. More... | |
real | max_rrho_salt_fingers |
max density ratio for salt fingering More... | |
real | max_salt_diff_salt_fingers |
max salt diffusivity for salt fingers [Z2 T-1 ~> m2 s-1] More... | |
real | kv_molecular |
molecular visc for double diff convect [Z2 T-1 ~> m2 s-1] More... | |
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. More... | |
character(len=200) | inputdir |
The directory in which input files are found. More... | |
type(user_change_diff_cs), pointer | user_change_diff_csp => NULL() |
Control structure for a child module. More... | |
type(kappa_shear_cs), pointer | kappashear_csp => NULL() |
Control structure for a child module. More... | |
type(cvmix_shear_cs), pointer | cvmix_shear_csp => NULL() |
Control structure for a child module. More... | |
type(cvmix_ddiff_cs), pointer | cvmix_ddiff_csp => NULL() |
Control structure for a child module. More... | |
type(bkgnd_mixing_cs), pointer | bkgnd_mixing_csp => NULL() |
Control structure for a child module. More... | |
type(int_tide_cs), pointer | int_tide_csp => NULL() |
Control structure for a child module. More... | |
type(tidal_mixing_cs), pointer | tm_csp => NULL() |
Control structure for a child module. More... | |
integer | id_maxtke = -1 |
Diagnostic IDs. More... | |
integer | id_tke_to_kd = -1 |
Diagnostic IDs. More... | |
integer | id_kd_user = -1 |
Diagnostic IDs. More... | |
integer | id_kd_layer = -1 |
Diagnostic IDs. More... | |
integer | id_kd_bbl = -1 |
Diagnostic IDs. More... | |
integer | id_n2 = -1 |
Diagnostic IDs. More... | |
integer | id_kd_work = -1 |
Diagnostic IDs. More... | |
integer | id_kt_extra = -1 |
Diagnostic IDs. More... | |
integer | id_ks_extra = -1 |
Diagnostic IDs. More... | |
logical mom_set_diffusivity::set_diffusivity_cs::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.
Definition at line 150 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::bbl_effic |
efficiency with which the energy extracted by bottom drag drives BBL diffusion [nondim]
Definition at line 73 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::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.
Definition at line 67 of file MOM_set_diffusivity.F90.
type(bkgnd_mixing_cs), pointer mom_set_diffusivity::set_diffusivity_cs::bkgnd_mixing_csp => NULL() |
Control structure for a child module.
Definition at line 159 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::bottomdraglaw |
If true, the bottom stress is calculated with a drag law c_drag*|u|*u.
Definition at line 65 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::bulkmixedlayer |
If true, a refined bulk mixed layer is used with GVnk_rho_varies variable density mixed & buffer layers.
Definition at line 59 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::cdrag |
quadratic drag coefficient [nondim]
Definition at line 75 of file MOM_set_diffusivity.F90.
type(cvmix_ddiff_cs), pointer mom_set_diffusivity::set_diffusivity_cs::cvmix_ddiff_csp => NULL() |
Control structure for a child module.
Definition at line 158 of file MOM_set_diffusivity.F90.
type(cvmix_shear_cs), pointer mom_set_diffusivity::set_diffusivity_cs::cvmix_shear_csp => NULL() |
Control structure for a child module.
Definition at line 157 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::debug |
If true, write verbose checksums for debugging.
Definition at line 57 of file MOM_set_diffusivity.F90.
type(diag_ctrl), pointer mom_set_diffusivity::set_diffusivity_cs::diag => NULL() |
structure to regulate diagnostic output timing
Definition at line 87 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::dissip_kd_min |
Minimum Kd [Z2 T-1 ~> m2 s-1], with dissipation Rho0*Kd_min*N^2.
Definition at line 95 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::dissip_min |
Minimum dissipation [R Z2 T-3 ~> W m-3].
Definition at line 91 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::dissip_n0 |
Coefficient a in minimum dissipation = a+b*N [R Z2 T-3 ~> W m-3].
Definition at line 92 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::dissip_n1 |
Coefficient b in minimum dissipation = a+b*N [R Z2 T-2 ~> J m-3].
Definition at line 93 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::dissip_n2 |
Coefficient c in minimum dissipation = c*N2 [R Z2 T-1 ~> J s m-3].
Definition at line 94 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::double_diffusion |
If true, enable double-diffusive mixing using an old method.
Definition at line 142 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::fluxri_max |
The flux Richardson number where the stratification is large enough that N2 > omega2 [nondim]. The full expression for the Flux Richardson number is usually FLUX_RI_MAX*N2/(N2+OMEGA2). The default is 0.2.
Definition at line 61 of file MOM_set_diffusivity.F90.
integer mom_set_diffusivity::set_diffusivity_cs::id_kd_bbl = -1 |
Diagnostic IDs.
Definition at line 165 of file MOM_set_diffusivity.F90.
integer mom_set_diffusivity::set_diffusivity_cs::id_kd_layer = -1 |
Diagnostic IDs.
Definition at line 165 of file MOM_set_diffusivity.F90.
integer mom_set_diffusivity::set_diffusivity_cs::id_kd_user = -1 |
Diagnostic IDs.
Definition at line 164 of file MOM_set_diffusivity.F90.
integer mom_set_diffusivity::set_diffusivity_cs::id_kd_work = -1 |
Diagnostic IDs.
Definition at line 166 of file MOM_set_diffusivity.F90.
integer mom_set_diffusivity::set_diffusivity_cs::id_ks_extra = -1 |
Diagnostic IDs.
Definition at line 166 of file MOM_set_diffusivity.F90.
integer mom_set_diffusivity::set_diffusivity_cs::id_kt_extra = -1 |
Diagnostic IDs.
Definition at line 166 of file MOM_set_diffusivity.F90.
integer mom_set_diffusivity::set_diffusivity_cs::id_maxtke = -1 |
Diagnostic IDs.
Definition at line 164 of file MOM_set_diffusivity.F90.
integer mom_set_diffusivity::set_diffusivity_cs::id_n2 = -1 |
Diagnostic IDs.
Definition at line 165 of file MOM_set_diffusivity.F90.
integer mom_set_diffusivity::set_diffusivity_cs::id_tke_to_kd = -1 |
Diagnostic IDs.
Definition at line 164 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::imax_decay |
inverse of a maximum decay scale for bottom-drag driven turbulence [Z-1 ~> m-1].
Definition at line 76 of file MOM_set_diffusivity.F90.
character(len=200) mom_set_diffusivity::set_diffusivity_cs::inputdir |
The directory in which input files are found.
Definition at line 154 of file MOM_set_diffusivity.F90.
type(int_tide_cs), pointer mom_set_diffusivity::set_diffusivity_cs::int_tide_csp => NULL() |
Control structure for a child module.
Definition at line 160 of file MOM_set_diffusivity.F90.
type(kappa_shear_cs), pointer mom_set_diffusivity::set_diffusivity_cs::kappashear_csp => NULL() |
Control structure for a child module.
Definition at line 156 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::kd |
interior diapycnal diffusivity [Z2 T-1 ~> m2 s-1].
Definition at line 79 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::kd_add |
uniform diffusivity added everywhere without filtering or scaling [Z2 T-1 ~> m2 s-1].
Definition at line 83 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::kd_max |
maximum increment for diapycnal diffusivity [Z2 T-1 ~> m2 s-1]. Set to a negative value to have no limit.
Definition at line 81 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::kd_min |
minimum diapycnal diffusivity [Z2 T-1 ~> m2 s-1].
Definition at line 80 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::kd_smooth |
Vertical diffusivity used to interpolate more sensible values of T & S into thin layers [Z2 T-1 ~> m2 s-1].
Definition at line 85 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::kv |
The interior vertical viscosity [Z2 T-1 ~> m2 s-1].
Definition at line 78 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::kv_molecular |
molecular visc for double diff convect [Z2 T-1 ~> m2 s-1]
Definition at line 148 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::limit_dissipation |
If enabled, dissipation is limited to be larger than the following:
Definition at line 89 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::lotw_bbl_use_omega |
If true, use simpler/less precise, BBL diffusivity.
Definition at line 72 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::max_rrho_salt_fingers |
max density ratio for salt fingering
Definition at line 146 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::max_salt_diff_salt_fingers |
max salt diffusivity for salt fingers [Z2 T-1 ~> m2 s-1]
Definition at line 147 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::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.
Definition at line 132 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::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).
Definition at line 117 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::ml_rad_coeff |
coefficient, which scales MSTAR*USTAR^3 to obtain energy available for mixing below mixed layer base [nondim]
Definition at line 114 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::ml_rad_efold_coeff |
non-dim coefficient to scale penetration depth
Definition at line 113 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::ml_rad_kd_max |
Maximum diapycnal diffusivity due to turbulence radiated from the base of the mixed layer [Z2 T-1 ~> m2 s-1].
Definition at line 111 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::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.
Definition at line 120 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::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 [T-2 ~> s-2] and OMEGA2 is the rotation rate of the earth squared.
Definition at line 98 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::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.
Definition at line 129 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::mstar |
ratio of friction velocity cubed to TKE input to the mixed layer [nondim]
Definition at line 127 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::omega |
Earth's rotation frequency [T-1 ~> s-1].
Definition at line 97 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::simple_tke_to_kd |
If true, uses a simple estimate of Kd/TKE that does not rely on a layer-formulation.
Definition at line 144 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::tke_decay |
ratio of natural Ekman depth to TKE decay scale [nondim]
Definition at line 126 of file MOM_set_diffusivity.F90.
type(tidal_mixing_cs), pointer mom_set_diffusivity::set_diffusivity_cs::tm_csp => NULL() |
Control structure for a child module.
Definition at line 161 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::use_cvmix_ddiff |
If true, enable double-diffusive mixing via CVMix.
Definition at line 143 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::use_cvmix_shear |
If true, use one of the CVMix modules to find shear-driven diapycnal diffusivity.
Definition at line 140 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::use_lotw_bbl_diffusivity |
If true, use simpler/less precise, BBL diffusivity.
Definition at line 71 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::usekappashear |
If true, use the kappa_shear module to find the shear-driven diapycnal diffusivity.
Definition at line 136 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::user_change_diff |
If true, call user-defined code to change diffusivity.
Definition at line 135 of file MOM_set_diffusivity.F90.
type(user_change_diff_cs), pointer mom_set_diffusivity::set_diffusivity_cs::user_change_diff_csp => NULL() |
Control structure for a child module.
Definition at line 155 of file MOM_set_diffusivity.F90.
real mom_set_diffusivity::set_diffusivity_cs::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.
Definition at line 123 of file MOM_set_diffusivity.F90.
logical mom_set_diffusivity::set_diffusivity_cs::vertex_shear |
If true, do the calculations of the shear-driven mixing at the cell vertices (i.e., the vorticity points).
Definition at line 138 of file MOM_set_diffusivity.F90.