diff --git a/MOM_input b/MOM_input index 7bc9897d..2479535d 100644 --- a/MOM_input +++ b/MOM_input @@ -33,11 +33,11 @@ THICKNESSDIFFUSE = True ! [Boolean] default = False THICKNESSDIFFUSE_FIRST = True ! [Boolean] default = False ! If true, do thickness diffusion or interface height smoothing before dynamics. ! This is only used if THICKNESSDIFFUSE or APPLY_INTERFACE_FILTER is true. -DT = 1080.0 ! [s] +DT = 900.0 ! [s] ! The (baroclinic) dynamics time step. The time-step that is actually used will ! be an integer fraction of the forcing time-step (DT_FORCING in ocean-only mode ! or the coupling timestep in coupled mode.) -DT_THERM = 1.08E+04 ! [s] default = 1080.0 +DT_THERM = 7200.0 ! [s] default = 900.0 ! The thermodynamic and tracer advection time step. Ideally DT_THERM should be ! an integer multiple of DT and less than the forcing or coupling time-step, ! unless THERMO_SPANS_COUPLING is true, in which case DT_THERM can be an integer @@ -52,7 +52,7 @@ HFREEZE = 10.0 ! [m] default = -1.0 ! melt potential is computed will be min(HFREEZE, OBLD), where OBLD is the ! boundary layer depth. If HFREEZE <= 0 (default), melt potential will not be ! computed. -DTBT_RESET_PERIOD = 0.0 ! [s] default = 1.08E+04 +DTBT_RESET_PERIOD = 0.0 ! [s] default = 7200.0 ! The period between recalculations of DTBT (if DTBT <= 0). If DTBT_RESET_PERIOD ! is negative, DTBT is set based only on information available at ! initialization. If 0, DTBT will be set every dynamics time step. The default @@ -68,6 +68,9 @@ C_P = 3992.0 ! [J kg-1 K-1] default = 3991.86795711963 ! The heat capacity of sea water, approximated as a constant. This is only used ! if ENABLE_THERMODYNAMICS is true. The default value is from the TEOS-10 ! definition of conservative temperature. +USE_PSURF_IN_EOS = False ! [Boolean] default = True + ! If true, always include the surface pressure contributions in equation of + ! state calculations. CHECK_BAD_SURFACE_VALS = True ! [Boolean] default = False ! If true, check the surface state for ridiculous values. BAD_VAL_SSH_MAX = 50.0 ! [m] default = 20.0 @@ -262,55 +265,20 @@ DIAG_COORD_DEF_Z = "FILE:ocean_vgrid.nc,interfaces=zeta" ! default = "WOA09" USE_MEKE = True ! [Boolean] default = False ! If true, turns on the MEKE scheme which calculates a sub-grid mesoscale eddy ! kinetic energy budget. -MEKE_GMCOEFF = 0.0 ! [nondim] default = -1.0 +MEKE_GMCOEFF = 1.0 ! [nondim] default = -1.0 ! The efficiency of the conversion of potential energy into MEKE by the ! thickness mixing parameterization. If MEKE_GMCOEFF is negative, this ! conversion is not used or calculated. -MEKE_GEOMETRIC = True ! [Boolean] default = False - ! If MEKE_GEOMETRIC is true, uses the GM coefficient formulation from the - ! GEOMETRIC framework (Marshall et al., 2012). -MEKE_EQUILIBRIUM_ALT = True ! [Boolean] default = False - ! If true, use an alternative formula for computing the (equilibrium)initial - ! value of MEKE. -MEKE_EQUILIBRIUM_RESTORING = True ! [Boolean] default = False - ! If true, restore MEKE back to its equilibrium value, which is calculated at - ! each time step. -MEKE_RESTORING_TIMESCALE = 1.0E+07 ! [s] default = 1.0E+06 - ! The timescale used to nudge MEKE toward its equilibrium value. -MEKE_VISC_DRAG = False ! [Boolean] default = True - ! If true, use the vertvisc_type to calculate the bottom drag acting on MEKE. -MEKE_KHTH_FAC = 1.0 ! [nondim] default = 0.0 - ! A factor that maps MEKE%Kh to KhTh. -MEKE_KHTR_FAC = 1.0 ! [nondim] default = 0.0 - ! A factor that maps MEKE%Kh to KhTr. -MEKE_KHMEKE_FAC = 0.5 ! [nondim] default = 0.0 +MEKE_BGSRC = 1.0E-13 ! [W kg-1] default = 0.0 + ! A background energy source for MEKE. +MEKE_KHMEKE_FAC = 1.0 ! [nondim] default = 0.0 ! A factor that maps MEKE%Kh to Kh for MEKE itself. -MEKE_MIN_LSCALE = True ! [Boolean] default = False - ! If true, use a strict minimum of provided length scales rather than harmonic - ! mean. -MEKE_VISCOSITY_COEFF_KU = 0.2 ! [nondim] default = 0.0 - ! If non-zero, is the scaling coefficient in the expression forviscosity used to - ! parameterize harmonic lateral momentum mixing byunresolved eddies represented - ! by MEKE. Can be negative torepresent backscatter from the unresolved eddies. -MEKE_ALPHA_DEFORM = 1.0 ! [nondim] default = 0.0 - ! If positive, is a coefficient weighting the deformation scale in the - ! expression for mixing length used in MEKE-derived diffusivity. -MEKE_ALPHA_RHINES = 1.0 ! [nondim] default = 0.0 +MEKE_ALPHA_RHINES = 0.15 ! [nondim] default = 0.05 ! If positive, is a coefficient weighting the Rhines scale in the expression for ! mixing length used in MEKE-derived diffusivity. -MEKE_ALPHA_EADY = 1.0 ! [nondim] default = 0.0 +MEKE_ALPHA_EADY = 0.15 ! [nondim] default = 0.05 ! If positive, is a coefficient weighting the Eady length scale in the ! expression for mixing length used in MEKE-derived diffusivity. -MEKE_ALPHA_FRICT = 1.0 ! [nondim] default = 0.0 - ! If positive, is a coefficient weighting the frictional arrest scale in the - ! expression for mixing length used in MEKE-derived diffusivity. -MEKE_ALPHA_GRID = 1.0 ! [nondim] default = 0.0 - ! If positive, is a coefficient weighting the grid-spacing as a scale in the - ! expression for mixing length used in MEKE-derived diffusivity. -MEKE_ADVECTION_FACTOR = 1.0 ! [nondim] default = 0.0 - ! A scale factor in front of advection of eddy energy. Zero turns advection off. - ! Using unity would be normal but other values could accommodate a mismatch - ! between the advecting barotropic flow and the vertical structure of MEKE. ! === module MOM_lateral_mixing_coeffs === USE_VARIABLE_MIXING = True ! [Boolean] default = False @@ -324,19 +292,22 @@ RESOLN_SCALED_KH = True ! [Boolean] default = False RESOLN_SCALED_KHTH = True ! [Boolean] default = False ! If true, the interface depth diffusivity is scaled away when the first ! baroclinic deformation radius is well resolved. -KHTH_USE_EBT_STRUCT = True ! [Boolean] default = False - ! If true, uses the equivalent barotropic structure as the vertical structure of - ! thickness diffusivity. -KHTH_SLOPE_CFF = 0.01 ! [nondim] default = 0.0 - ! The nondimensional coefficient in the Visbeck formula for the interface depth +KHTR_SLOPE_CFF = 0.25 ! [nondim] default = 0.0 + ! The nondimensional coefficient in the Visbeck formula for the epipycnal tracer ! diffusivity USE_STORED_SLOPES = True ! [Boolean] default = False ! If true, the isopycnal slopes are calculated once and stored for re-use. This ! uses more memory but avoids calling the equation of state more times than ! should be necessary. -KH_RES_SCALE_COEF = 0.4 ! [nondim] default = 1.0 - ! A coefficient that determines how KhTh is scaled away if RESOLN_SCALED_... is - ! true, as F = 1 / (1 + (KH_RES_SCALE_COEF*Rd/dx)^KH_RES_FN_POWER). +INTERPOLATE_RES_FN = False ! [Boolean] default = True + ! If true, interpolate the resolution function to the velocity points from the + ! thickness points; otherwise interpolate the wave speed and calculate the + ! resolution function independently at each point. +GILL_EQUATORIAL_LD = True ! [Boolean] default = False + ! If true, uses Gill's definition of the baroclinic equatorial deformation + ! radius, otherwise, if false, use Pedlosky's definition. These definitions + ! differ by a factor of 2 in front of the beta term in the denominator. Gill's + ! is the more appropriate definition. EBT_REMAPPING_USE_OM4_SUBCELLS = False ! [Boolean] default = True ! If true, use the OM4 remapping-via-subcells algorithm for calculating EBT ! structure. See REMAPPING_USE_OM4_SUBCELLS for details. We recommend setting @@ -360,19 +331,15 @@ BBL_THICK_MIN = 0.1 ! [m] default = 0.0 ! The minimum bottom boundary layer thickness that can be used with ! BOTTOMDRAGLAW. This might be Kv/(cdrag*drag_bg_vel) to give Kv as the minimum ! near-bottom viscosity. -KV = 1.0E-04 ! [m2 s-1] +KV = 0.0 ! [m2 s-1] ! The background kinematic viscosity in the interior. The molecular value, ~1e-6 ! m2 s-1, may be used. - ! === module MOM_thickness_diffuse === -KHTH_USE_FGNV_STREAMFUNCTION = True ! [Boolean] default = False - ! If true, use the streamfunction formulation of Ferrari et al., 2010, which - ! effectively emphasizes graver vertical modes by smoothing in the vertical. -FGNV_C_MIN = 0.01 ! [m s-1] default = 0.0 - ! A minium wave speed used in the Ferrari et al., 2010, streamfunction - ! formulation. -USE_KH_IN_MEKE = True ! [Boolean] default = False - ! If true, uses the thickness diffusivity calculated here to diffuse MEKE. +KHTH_MAX_CFL = 0.1 ! [nondimensional] default = 0.8 + ! The maximum value of the local diffusive CFL ratio that is permitted for the + ! thickness diffusivity. 1.0 is the marginally unstable value in a pure layered + ! model, but much smaller numbers (e.g. 0.1) seem to work better for ALE-based + ! models. ! === module MOM_dynamics_split_RK2 === VISC_REM_BUG = False ! [Boolean] default = True @@ -388,9 +355,6 @@ ETA_TOLERANCE = 1.0E-06 ! [m] default = 3.75E-09 ! total tolerance for SSH is 4 times this value. The default is ! 0.5*NK*ANGSTROM, and this should not be set less than about ! 10^-15*MAXIMUM_DEPTH. -VELOCITY_TOLERANCE = 1.0E-04 ! [m s-1] default = 3.0E+08 - ! The tolerance for barotropic velocity discrepancies between the barotropic - ! solution and the sum of the layer thicknesses. ! === module MOM_CoriolisAdv === BOUND_CORIOLIS = True ! [Boolean] default = False @@ -411,10 +375,14 @@ MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False ! === module MOM_hor_visc === LAPLACIAN = True ! [Boolean] default = False ! If true, use a Laplacian horizontal viscosity. -AH = 1.0E+12 ! [m4 s-1] default = 0.0 - ! The background biharmonic horizontal viscosity. -LEITH_AH = True ! [Boolean] default = False - ! If true, use a biharmonic Leith nonlinear eddy viscosity. +AH_VEL_SCALE = 0.01 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the cube of the grid spacing to + ! calculate the biharmonic viscosity. The final viscosity is the largest of this + ! scaled viscosity, the Smagorinsky and Leith viscosities, and AH. +SMAGORINSKY_AH = True ! [Boolean] default = False + ! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity. +SMAG_BI_CONST = 0.06 ! [nondim] default = 0.0 + ! The nondimensional biharmonic Smagorinsky constant, typically 0.015 - 0.06. BACKSCATTER_UNDERBOUND = False ! [Boolean] default = True ! If true, the bounds on the biharmonic viscosity are allowed to increase where ! the Laplacian viscosity is negative (due to backscatter parameterizations) @@ -422,9 +390,6 @@ BACKSCATTER_UNDERBOUND = False ! [Boolean] default = True ! when no Laplacian viscosity is applied. The default is true for historical ! reasons, but this option probably should not be used because it can contribute ! to numerical instabilities. -LEITH_BI_CONST = 128.0 ! [nondim] default = 0.0 - ! The nondimensional biharmonic Leith constant, typical values are thus far - ! undetermined. FRICTWORK_BUG = False ! [Boolean] default = True ! If true, retain an answer-changing bug in calculating the FrictWork, which ! cancels the h in thickness flux and the h at velocity point. This isnot @@ -450,13 +415,15 @@ BT_PROJECT_VELOCITY = True ! [Boolean] default = False ! use a predictor continuity step to find the pressure field, and then to do a ! corrector continuity step using a weighted average of the old and new ! velocities, with weights of (1-BEBT) and BEBT. +DYNAMIC_SURFACE_PRESSURE = True ! [Boolean] default = False + ! If true, add a dynamic pressure due to a viscous ice shelf, for instance. BEBT = 0.2 ! [nondim] default = 0.1 ! BEBT determines whether the barotropic time stepping uses the forward-backward ! time-stepping scheme or a backward Euler scheme. BEBT is valid in the range ! from 0 (for a forward-backward treatment of nonrotating gravity waves) to 1 ! (for a backward Euler treatment). In practice, BEBT must be greater than about ! 0.05. -DTBT = -0.95 ! [s or nondim] default = -0.98 +DTBT = -0.9 ! [s or nondim] default = -0.98 ! The barotropic time step, in s. DTBT is only used with the split explicit time ! stepping. To set the time step automatically based the maximum stable value ! use 0, or a negative value gives the fraction of the stable value. Setting @@ -468,25 +435,29 @@ MIXEDLAYER_RESTRAT = True ! [Boolean] default = False ! If true, a density-gradient dependent re-stratifying flow is imposed in the ! mixed layer. Can be used in ALE mode without restriction but in layer mode can ! only be used if BULKMIXEDLAYER is true. -MLE% -%MLE -FOX_KEMPER_ML_RESTRAT_COEF = 1.0 ! [nondim] default = 0.0 - ! A nondimensional coefficient that is proportional to the ratio of the - ! deformation radius to the dominant lengthscale of the submesoscale mixed layer - ! instabilities, times the minimum of the ratio of the mesoscale eddy kinetic - ! energy to the large-scale geostrophic kinetic energy or 1 plus the square of - ! the grid spacing over the deformation radius, as detailed by Fox-Kemper et al. - ! (2011) -MLE_FRONT_LENGTH = 1000.0 ! [m] default = 0.0 - ! If non-zero, is the frontal-length scale used to calculate the upscaling of - ! buoyancy gradients that is otherwise represented by the parameter - ! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended - ! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. -MLE_MLD_DECAY_TIME = 3.456E+05 ! [s] default = 0.0 - ! The time-scale for a running-mean filter applied to the mixed-layer depth used - ! in the MLE restratification parameterization. When the MLD deepens below the - ! current running-mean the running-mean is instantaneously set to the current - ! MLD. +MLE%USE_BODNER23 = True ! [Boolean] default = False + ! If true, use the Bodner et al., 2023, formulation of the re-stratifying + ! mixed-layer restratification parameterization. This only works in ALE mode. +MLE%CR = 0.0175 ! [nondim] default = 0.0 + ! The efficiency coefficient in eq 27 of Bodner et al., 2023. +MLE%BLD_DECAYING_TFILTER = 8.64E+04 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the boundary layer depth + ! (BLD) when the BLD is shallower than the running mean. A value of 0 + ! instantaneously sets the running mean to the current value of BLD. +MLE%MLD_DECAYING_TFILTER = 2.592E+06 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the time-filtered BLD, + ! when the latter is shallower than the running mean. A value of 0 + ! instantaneously sets the running mean to the current value filtered BLD. +MLE%MIN_WSTAR2 = 1.0E-09 ! [m2 s-2] default = 1.0E-24 + ! The minimum lower bound to apply to the vertical momentum flux, w'u', in the + ! Bodner et al., restratification parameterization. This avoids a + ! division-by-zero in the limit when u* and the buoyancy flux are zero. The + ! default is less than the molecular viscosity of water times the Coriolis + ! parameter a micron away from the equator. +MLE_USE_PBL_MLD = True ! [Boolean] default = False + ! If true, the MLE parameterization will use the mixed-layer depth provided by + ! the active PBL parameterization. If false, MLE will estimate a MLD based on a + ! density difference with the surface using the parameter MLE_DENSITY_DIFF. ! === module MOM_diagnostics === INTWAVE_REMAPPING_USE_OM4_SUBCELLS = False ! [Boolean] default = True @@ -499,39 +470,24 @@ INTWAVE_REMAPPING_USE_OM4_SUBCELLS = False ! [Boolean] default = True USE_LEGACY_DIABATIC_DRIVER = False ! [Boolean] default = True ! If true, use a legacy version of the diabatic subroutine. This is temporary ! and is needed to avoid change in answers. +ENERGETICS_SFC_PBL = True ! [Boolean] default = False + ! If true, use an implied energetics planetary boundary layer scheme to + ! determine the diffusivity and viscosity in the surface boundary layer. +EPBL_IS_ADDITIVE = False ! [Boolean] default = True + ! If true, the diffusivity from ePBL is added to all other diffusivities. + ! Otherwise, the larger of kappa-shear and ePBL diffusivities are used. ! === module MOM_CVMix_KPP === ! This is the MOM wrapper to CVMix:KPP ! See http://cvmix.github.io/ -USE_KPP = True ! [Boolean] default = False - ! If true, turns on the [CVMix] KPP scheme of Large et al., 1994, to calculate - ! diffusivities and non-local transport in the OBL. -KPP% -N_SMOOTH = 3 ! default = 0 - ! The number of times the 1-1-4-1-1 Laplacian filter is applied on OBL depth. -MATCH_TECHNIQUE = "MatchGradient" ! default = "SimpleShapes" - ! CVMix method to set profile function for diffusivity and NLT, as well as - ! matching across OBL base. Allowed values are: - ! SimpleShapes = sigma*(1-sigma)^2 for both diffusivity and NLT - ! MatchGradient = sigma*(1-sigma)^2 for NLT; diffusivity profile from - ! matching - ! MatchBoth = match gradient for both diffusivity and NLT - ! ParabolicNonLocal = sigma*(1-sigma)^2 for diffusivity; (1-sigma)^2 for NLT -KPP_IS_ADDITIVE = False ! [Boolean] default = True - ! If true, adds KPP diffusivity to diffusivity from other schemes. - ! If false, KPP is the only diffusivity wherever KPP is non-zero. -%KPP ! === module MOM_CVMix_conv === ! Parameterization of enhanced mixing due to convection via CVMix -USE_CVMix_CONVECTION = True ! [Boolean] default = False - ! If true, turns on the enhanced mixing due to convection via CVMix. This scheme - ! increases diapycnal diffs./viscs. at statically unstable interfaces. Relevant - ! parameters are contained in the CVMix_CONVECTION% parameter block. -CVMix_CONVECTION% -%CVMix_CONVECTION ! === module MOM_set_diffusivity === +BBL_EFFIC = 0.01 ! [nondim] default = 0.2 + ! The efficiency with which the energy extracted by bottom drag drives BBL + ! diffusion. This is only used if BOTTOMDRAGLAW is true. BBL_MIXING_AS_MAX = False ! [Boolean] default = True ! If true, take the maximum of the diffusivity from the BBL mixing and the other ! diffusivities. Otherwise, diffusivity from the BBL_mixing is simply added. @@ -539,33 +495,54 @@ USE_LOTW_BBL_DIFFUSIVITY = True ! [Boolean] default = False ! If true, uses a simple, imprecise but non-coordinate dependent, model of BBL ! mixing diffusivity based on Law of the Wall. Otherwise, uses the original BBL ! scheme. +SIMPLE_TKE_TO_KD = True ! [Boolean] default = False + ! If true, uses a simple estimate of Kd/TKE that will work for arbitrary + ! vertical coordinates. If false, calculates Kd/TKE and bounds based on exact + ! energetics for an isopycnal layer-formulation. ! === module MOM_bkgnd_mixing === ! Adding static vertical background mixing coefficients -PRANDTL_BKGND = 5.0 ! [nondim] default = 1.0 - ! Turbulent Prandtl number used to convert vertical background diffusivities - ! into viscosities. +KD = 1.5E-05 ! [m2 s-1] + ! The background diapycnal diffusivity of density in the interior. Zero or the + ! molecular value, ~1e-7 m2 s-1, may be used. +KD_MIN = 2.0E-06 ! [m2 s-1] default = 1.5E-07 + ! The minimum diapycnal diffusivity. +HENYEY_IGW_BACKGROUND = True ! [Boolean] default = False + ! If true, use a latitude-dependent scaling for the near surface background + ! diffusivity, as described in Harrison & Hallberg, JPO 2008. +HENYEY_MAX_LAT = 73.0 ! [degN] default = 95.0 + ! A latitude poleward of which the Henyey profile is returned to the minimum + ! diffusivity KD_MAX = 0.1 ! [m2 s-1] default = -1.0 ! The maximum permitted increment for the diapycnal diffusivity from TKE-based ! parameterizations, or a negative value for no limit. +DOUBLE_DIFFUSION = True ! [Boolean] default = False + ! If true, increase diffusivites for temperature or salinity based on the + ! double-diffusive parameterization described in Large et al. (1994). +MAX_RRHO_SALT_FINGERS = 2.55 ! [nondim] default = 1.9 + ! Maximum density ratio for salt fingering regime. + +! === module MOM_kappa_shear === +! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 +USE_JACKSON_PARAM = True ! [Boolean] default = False + ! If true, use the Jackson-Hallberg-Legg (JPO 2008) shear mixing + ! parameterization. +VERTEX_SHEAR = True ! [Boolean] default = False + ! If true, do the calculations of the shear-driven mixing at the cell vertices + ! (i.e., the vorticity points) +MAX_RINO_IT = 25 ! [nondim] default = 50 + ! The maximum number of iterations that may be used to estimate the Richardson + ! number driven mixing. +USE_RESTRICTIVE_TOLERANCE_CHECK = True ! [Boolean] default = False + ! If true, uses the more restrictive tolerance check to determine if a timestep + ! is acceptable for the KS_it outer iteration loop. False uses the original + ! less restrictive check. ! === module MOM_CVMix_shear === ! Parameterization of shear-driven turbulence via CVMix (various options) -USE_LMD94 = True ! [Boolean] default = False - ! If true, use the Large-McWilliams-Doney (JGR 1994) shear mixing - ! parameterization. -N_SMOOTH_RI = 1 ! default = 0 - ! If > 0, vertically smooth the Richardson number by applying a 1-2-1 filter - ! N_SMOOTH_RI times. ! === module MOM_CVMix_ddiff === ! Parameterization of mixing due to double diffusion processes via CVMix -USE_CVMIX_DDIFF = True ! [Boolean] default = False - ! If true, turns on double diffusive processes via CVMix. Note that double - ! diffusive processes on viscosity are ignored in CVMix, see - ! http://cvmix.github.io/ for justification. -CVMIX_DDIFF% -%CVMIX_DDIFF ! === module MOM_diabatic_aux === ! The following parameters are used for auxiliary diabatic processes. @@ -574,6 +551,70 @@ PRESSURE_DEPENDENT_FRAZIL = True ! [Boolean] default = False ! default is false, which will be faster but is inappropriate with ice-shelf ! cavities. +! === module MOM_energetic_PBL === +ML_OMEGA_FRAC = 0.001 ! [nondim] default = 0.0 + ! When setting the decay scale for turbulence, use this fraction of the absolute + ! rotation rate blended with the local value of f, as sqrt((1-of)*f^2 + + ! of*4*omega^2). +TKE_DECAY = 0.01 ! [nondim] default = 2.5 + ! TKE_DECAY relates the vertical rate of decay of the TKE available for + ! mechanical entrainment to the natural Ekman depth. +EPBL_MSTAR_SCHEME = "OM4" ! default = "CONSTANT" + ! EPBL_MSTAR_SCHEME selects the method for setting mstar. Valid values are: + ! CONSTANT - Use a fixed mstar given by MSTAR + ! OM4 - Use L_Ekman/L_Obukhov in the sabilizing limit, as in OM4 + ! REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018. +MSTAR_CAP = 1.25 ! [nondim] default = -1.0 + ! If this value is positive, it sets the maximum value of mstar allowed in ePBL. + ! (This is not used if EPBL_MSTAR_SCHEME = CONSTANT). +MSTAR2_COEF1 = 0.29 ! [nondim] default = 0.3 + ! Coefficient in computing mstar when rotation and stabilizing effects are both + ! important (used if EPBL_MSTAR_SCHEME = OM4). +MSTAR2_COEF2 = 0.152 ! [nondim] default = 0.085 + ! Coefficient in computing mstar when only rotation limits the total mixing + ! (used if EPBL_MSTAR_SCHEME = OM4) +NSTAR = 0.06 ! [nondim] default = 0.2 + ! The portion of the buoyant potential energy imparted by surface fluxes that is + ! available to drive entrainment at the base of mixed layer when that energy is + ! positive. +MSTAR_CONV_ADJ = 0.667 ! [nondim] default = 0.0 + ! Coefficient used for reducing mstar during convection due to reduction of + ! stable density gradient. +USE_MLD_ITERATION = True ! [Boolean] default = False + ! A logical that specifies whether or not to use the distance to the bottom of + ! the actively turbulent boundary layer to help set the EPBL length scale. +EPBL_TRANSITION_SCALE = 0.01 ! [nondim] default = 0.1 + ! A scale for the mixing length in the transition layer at the edge of the + ! boundary layer as a fraction of the boundary layer thickness. +MIX_LEN_EXPONENT = 1.0 ! [nondim] default = 2.0 + ! The exponent applied to the ratio of the distance to the MLD and the MLD depth + ! which determines the shape of the mixing length. This is only used if + ! USE_MLD_ITERATION is True. +USE_LA_LI2016 = True ! [nondim] default = False + ! A logical to use the Li et al. 2016 (submitted) formula to determine the + ! Langmuir number. +EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" + ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence. + ! Valid values are: + ! NONE - Do not do any extra mixing due to Langmuir turbulence + ! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir + ! turbulence + ! ADDITIVE - Add a Langmuir turblence contribution to mstar to other + ! contributions +LT_ENHANCE_COEF = 0.044 ! [nondim] default = 0.447 + ! Coefficient for Langmuir enhancement of mstar +LT_ENHANCE_EXP = -1.5 ! [nondim] default = -1.33 + ! Exponent for Langmuir enhancementt of mstar +LT_MOD_LAC1 = 0.0 ! [nondim] default = -0.87 + ! Coefficient for modification of Langmuir number due to MLD approaching Ekman + ! depth. +LT_MOD_LAC4 = 0.0 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! stable Obukhov depth. +LT_MOD_LAC5 = 0.22 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! unstable Obukhov depth. + ! === module MOM_opacity === PEN_SW_SCALE = 15.0 ! [m] default = 0.0 ! The vertical absorption e-folding depth of the penetrating shortwave @@ -589,36 +630,16 @@ TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM" ! PPM - Piecewise Parabolic Method (Colella-Woodward) ! === module MOM_tracer_hor_diff === -KHTR_MIN = 50.0 ! [m2 s-1] default = 0.0 - ! The minimum along-isopycnal tracer diffusivity. CHECK_DIFFUSIVE_CFL = True ! [Boolean] default = False ! If true, use enough iterations the diffusion to ensure that the diffusive ! equivalent of the CFL limit is not violated. If false, always use the greater ! of 1 or MAX_TR_DIFFUSION_CFL iteration. -MAX_TR_DIFFUSION_CFL = 2.0 ! [nondim] default = -1.0 - ! If positive, locally limit the along-isopycnal tracer diffusivity to keep the - ! diffusive CFL locally at or below this value. The number of diffusive - ! iterations is often this value or the next greater integer. ! === module MOM_neutral_diffusion === ! This module implements neutral diffusion of tracers -USE_NEUTRAL_DIFFUSION = True ! [Boolean] default = False - ! If true, enables the neutral diffusion module. -NDIFF_INTERIOR_ONLY = True ! [Boolean] default = False - ! If true, only applies neutral diffusion in the ocean interior.That is, the - ! algorithm will exclude the surface and bottomboundary layers. ! === module MOM_hor_bnd_diffusion === ! This module implements horizontal diffusion of tracers near boundaries -USE_HORIZONTAL_BOUNDARY_DIFFUSION = True ! [Boolean] default = False - ! If true, enables the horizonal boundary tracer's diffusion module. -HBD_LINEAR_TRANSITION = True ! [Boolean] default = False - ! If True, apply a linear transition at the base/top of the boundary. - ! The flux will be fully applied at k=k_min and zero at k=k_max. -HBD_REMAPPING_USE_OM4_SUBCELLS = False ! [Boolean] default = True - ! If true, use the OM4 remapping-via-subcells algorithm for horizontal boundary - ! diffusion. See REMAPPING_USE_OM4_SUBCELLS for details. We recommend setting - ! this option to false. ! === module MOM_sum_output === MAXTRUNC = 10000 ! [truncations save_interval-1] default = 0 @@ -641,6 +662,19 @@ RESTORE_SALINITY = True ! [Boolean] default = False ! drives sea-surface salinity toward specified values. ! === module MOM_surface_forcing_nuopc === +MAX_P_SURF = 0.0 ! [Pa] default = -1.0 + ! The maximum surface pressure that can be exerted by the atmosphere and + ! floating sea-ice or ice shelves. This is needed because the FMS coupling + ! structure does not limit the water that can be frozen out of the ocean and the + ! ice-ocean heat fluxes are treated explicitly. No limit is applied if a + ! negative value is used. +USE_RIGID_SEA_ICE = True ! [Boolean] default = False + ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that + ! resist vertical motion. +SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0 + ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit + ! rigidity + LATENT_HEAT_FUSION = 3.337E+05 ! [J/kg] default = 3.34E+05 ! The latent heat of fusion. LATENT_HEAT_VAPORIZATION = 2.501E+06 ! [J/kg] default = 2.5E+06 @@ -662,5 +696,3 @@ SALT_RESTORE_FILE = "salt_sfc_restore.nc" ! default = "salt_restore.nc" SRESTORE_AS_SFLUX = True ! [Boolean] default = False ! If true, the restoring of salinity is applied as a salt flux instead of as a ! freshwater flux. -GUST_CONST = 0.02 ! [Pa] default = 0.0 - ! The background gustiness in the winds. diff --git a/docs/MOM_parameter_doc.all b/docs/MOM_parameter_doc.all index 316e6aa2..28da79d6 100644 --- a/docs/MOM_parameter_doc.all +++ b/docs/MOM_parameter_doc.all @@ -68,11 +68,11 @@ BATHYMETRY_AT_VEL = False ! [Boolean] default = False ! If true, there are separate values for the basin depths at velocity points. ! Otherwise the effects of topography are entirely determined from thickness ! points. -DT = 1080.0 ! [s] +DT = 900.0 ! [s] ! The (baroclinic) dynamics time step. The time-step that is actually used will ! be an integer fraction of the forcing time-step (DT_FORCING in ocean-only mode ! or the coupling timestep in coupled mode.) -DT_THERM = 1.08E+04 ! [s] default = 1080.0 +DT_THERM = 7200.0 ! [s] default = 900.0 ! The thermodynamic and tracer advection time step. Ideally DT_THERM should be ! an integer multiple of DT and less than the forcing or coupling time-step, ! unless THERMO_SPANS_COUPLING is true, in which case DT_THERM can be an integer @@ -98,7 +98,7 @@ HFREEZE = 10.0 ! [m] default = -1.0 INTERPOLATE_P_SURF = False ! [Boolean] default = False ! If true, linearly interpolate the surface pressure over the coupling time ! step, using the specified value at the end of the step. -DTBT_RESET_PERIOD = 0.0 ! [s] default = 1.08E+04 +DTBT_RESET_PERIOD = 0.0 ! [s] default = 7200.0 ! The period between recalculations of DTBT (if DTBT <= 0). If DTBT_RESET_PERIOD ! is negative, DTBT is set based only on information available at ! initialization. If 0, DTBT will be set every dynamics time step. The default @@ -123,7 +123,7 @@ C_P = 3992.0 ! [J kg-1 K-1] default = 3991.86795711963 ! The heat capacity of sea water, approximated as a constant. This is only used ! if ENABLE_THERMODYNAMICS is true. The default value is from the TEOS-10 ! definition of conservative temperature. -USE_PSURF_IN_EOS = True ! [Boolean] default = True +USE_PSURF_IN_EOS = False ! [Boolean] default = True ! If true, always include the surface pressure contributions in equation of ! state calculations. P_REF = 2.0E+07 ! [Pa] default = 2.0E+07 @@ -722,24 +722,22 @@ MEKE_MIN_GAMMA2 = 1.0E-04 ! [nondim] default = 1.0E-04 MEKE_CT = 50.0 ! [nondim] default = 50.0 ! A coefficient in the expression for the ratio of barotropic eddy energy and ! mean column energy (see Jansen et al. 2015). -MEKE_GMCOEFF = 0.0 ! [nondim] default = -1.0 +MEKE_GMCOEFF = 1.0 ! [nondim] default = -1.0 ! The efficiency of the conversion of potential energy into MEKE by the ! thickness mixing parameterization. If MEKE_GMCOEFF is negative, this ! conversion is not used or calculated. -MEKE_GEOMETRIC = True ! [Boolean] default = False +MEKE_GEOMETRIC = False ! [Boolean] default = False ! If MEKE_GEOMETRIC is true, uses the GM coefficient formulation from the ! GEOMETRIC framework (Marshall et al., 2012). MEKE_GEOMETRIC_ALPHA = 0.05 ! [nondim] default = 0.05 ! The nondimensional coefficient governing the efficiency of the GEOMETRIC ! thickness diffusion. -MEKE_EQUILIBRIUM_ALT = True ! [Boolean] default = False +MEKE_EQUILIBRIUM_ALT = False ! [Boolean] default = False ! If true, use an alternative formula for computing the (equilibrium)initial ! value of MEKE. -MEKE_EQUILIBRIUM_RESTORING = True ! [Boolean] default = False +MEKE_EQUILIBRIUM_RESTORING = False ! [Boolean] default = False ! If true, restore MEKE back to its equilibrium value, which is calculated at ! each time step. -MEKE_RESTORING_TIMESCALE = 1.0E+07 ! [s] default = 1.0E+06 - ! The timescale used to nudge MEKE toward its equilibrium value. MEKE_FRCOEFF = -1.0 ! [nondim] default = -1.0 ! The efficiency of the conversion of mean energy into MEKE. If MEKE_FRCOEFF is ! negative, this conversion is not used or calculated. @@ -750,7 +748,7 @@ MEKE_BHFRCOEFF = -1.0 ! [nondim] default = -1.0 MEKE_GMECOEFF = -1.0 ! [nondim] default = -1.0 ! The efficiency of the conversion of MEKE into mean energy by GME. If ! MEKE_GMECOEFF is negative, this conversion is not used or calculated. -MEKE_BGSRC = 0.0 ! [W kg-1] default = 0.0 +MEKE_BGSRC = 1.0E-13 ! [W kg-1] default = 0.0 ! A background energy source for MEKE. MEKE_KH = -1.0 ! [m2 s-1] default = -1.0 ! A background lateral diffusivity of MEKE. Use a negative value to not apply @@ -771,29 +769,24 @@ MEKE_USCALE = 0.0 ! [m s-1] default = 0.0 MEKE_GM_SRC_ALT = False ! [Boolean] default = False ! If true, use the GM energy conversion form S^2*N^2*kappa rather than the ! streamfunction for the MEKE GM source term. -MEKE_VISC_DRAG = False ! [Boolean] default = True +MEKE_VISC_DRAG = True ! [Boolean] default = True ! If true, use the vertvisc_type to calculate the bottom drag acting on MEKE. -MEKE_KHTH_FAC = 1.0 ! [nondim] default = 0.0 +MEKE_KHTH_FAC = 0.0 ! [nondim] default = 0.0 ! A factor that maps MEKE%Kh to KhTh. -MEKE_KHTR_FAC = 1.0 ! [nondim] default = 0.0 +MEKE_KHTR_FAC = 0.0 ! [nondim] default = 0.0 ! A factor that maps MEKE%Kh to KhTr. -MEKE_KHMEKE_FAC = 0.5 ! [nondim] default = 0.0 +MEKE_KHMEKE_FAC = 1.0 ! [nondim] default = 0.0 ! A factor that maps MEKE%Kh to Kh for MEKE itself. MEKE_OLD_LSCALE = False ! [Boolean] default = False ! If true, use the old formula for length scale which is a function of grid ! spacing and deformation radius. -MEKE_MIN_LSCALE = True ! [Boolean] default = False +MEKE_MIN_LSCALE = False ! [Boolean] default = False ! If true, use a strict minimum of provided length scales rather than harmonic ! mean. -MEKE_LSCALE_MAX_VAL = 1.0E+07 ! [m] default = 1.0E+07 - ! The ceiling on the value of the MEKE length scale when MEKE_MIN_LSCALE=True. - ! The default is the distance from the equator to the pole on Earth, as - ! estimated by enlightenment era scientists, but should probably scale with - ! RAD_EARTH. MEKE_RD_MAX_SCALE = False ! [Boolean] default = False ! If true, the length scale used by MEKE is the minimum of the deformation ! radius or grid-spacing. Only used if MEKE_OLD_LSCALE=True -MEKE_VISCOSITY_COEFF_KU = 0.2 ! [nondim] default = 0.0 +MEKE_VISCOSITY_COEFF_KU = 0.0 ! [nondim] default = 0.0 ! If non-zero, is the scaling coefficient in the expression forviscosity used to ! parameterize harmonic lateral momentum mixing byunresolved eddies represented ! by MEKE. Can be negative torepresent backscatter from the unresolved eddies. @@ -808,19 +801,19 @@ MEKE_FIXED_MIXING_LENGTH = 0.0 ! [m] default = 0.0 MEKE_FIXED_TOTAL_DEPTH = True ! [Boolean] default = True ! If true, use the nominal bathymetric depth as the estimate of the time-varying ! ocean depth. Otherwise base the depth on the total ocean massper unit area. -MEKE_ALPHA_DEFORM = 1.0 ! [nondim] default = 0.0 +MEKE_ALPHA_DEFORM = 0.0 ! [nondim] default = 0.0 ! If positive, is a coefficient weighting the deformation scale in the ! expression for mixing length used in MEKE-derived diffusivity. -MEKE_ALPHA_RHINES = 1.0 ! [nondim] default = 0.0 +MEKE_ALPHA_RHINES = 0.15 ! [nondim] default = 0.0 ! If positive, is a coefficient weighting the Rhines scale in the expression for ! mixing length used in MEKE-derived diffusivity. -MEKE_ALPHA_EADY = 1.0 ! [nondim] default = 0.0 +MEKE_ALPHA_EADY = 0.15 ! [nondim] default = 0.0 ! If positive, is a coefficient weighting the Eady length scale in the ! expression for mixing length used in MEKE-derived diffusivity. -MEKE_ALPHA_FRICT = 1.0 ! [nondim] default = 0.0 +MEKE_ALPHA_FRICT = 0.0 ! [nondim] default = 0.0 ! If positive, is a coefficient weighting the frictional arrest scale in the ! expression for mixing length used in MEKE-derived diffusivity. -MEKE_ALPHA_GRID = 1.0 ! [nondim] default = 0.0 +MEKE_ALPHA_GRID = 0.0 ! [nondim] default = 0.0 ! If positive, is a coefficient weighting the grid-spacing as a scale in the ! expression for mixing length used in MEKE-derived diffusivity. MEKE_COLD_START = False ! [Boolean] default = False @@ -833,14 +826,10 @@ MEKE_BACKSCAT_RO_C = 0.0 ! [nondim] default = 0.0 MEKE_BACKSCAT_RO_POW = 0.0 ! [nondim] default = 0.0 ! The power in the Rossby number function for scaling the biharmonic frictional ! energy source. -MEKE_ADVECTION_FACTOR = 1.0 ! [nondim] default = 0.0 +MEKE_ADVECTION_FACTOR = 0.0 ! [nondim] default = 0.0 ! A scale factor in front of advection of eddy energy. Zero turns advection off. ! Using unity would be normal but other values could accommodate a mismatch ! between the advecting barotropic flow and the vertical structure of MEKE. -MEKE_ADVECTION_BUG = False ! [Boolean] default = False - ! If true, recover a bug in the calculation of the barotropic transport for the - ! advection of MEKE. With the bug, only the transports in the deepest layer are - ! used. MEKE_TOPOGRAPHIC_BETA = 0.0 ! [nondim] default = 0.0 ! A scale factor to determine how much topographic beta is weighed in computing ! beta in the expression of Rhines scale. Use 1 if full topographic beta effect @@ -889,7 +878,7 @@ BS_USE_SQG_STRUCT = False ! [Boolean] default = False SQG_EXPO = 1.0 ! [nondim] default = 1.0 ! Nondimensional exponent coeffecient of the SQG mode that is used for the ! vertical struture of diffusivities. -KHTH_USE_EBT_STRUCT = True ! [Boolean] default = False +KHTH_USE_EBT_STRUCT = False ! [Boolean] default = False ! If true, uses the equivalent barotropic structure as the vertical structure of ! thickness diffusivity. KHTH_USE_SQG_STRUCT = False ! [Boolean] default = False @@ -907,10 +896,10 @@ KD_GL90_USE_EBT_STRUCT = False ! [Boolean] default = False KD_GL90_USE_SQG_STRUCT = False ! [Boolean] default = False ! If true, uses the equivalent barotropic structure as the vertical structure of ! diffusivity in the GL90 scheme. -KHTH_SLOPE_CFF = 0.01 ! [nondim] default = 0.0 +KHTH_SLOPE_CFF = 0.0 ! [nondim] default = 0.0 ! The nondimensional coefficient in the Visbeck formula for the interface depth ! diffusivity -KHTR_SLOPE_CFF = 0.0 ! [nondim] default = 0.0 +KHTR_SLOPE_CFF = 0.25 ! [nondim] default = 0.0 ! The nondimensional coefficient in the Visbeck formula for the epipycnal tracer ! diffusivity USE_STORED_SLOPES = True ! [Boolean] default = False @@ -923,10 +912,6 @@ VERY_SMALL_FREQUENCY = 1.0E-17 ! [s-1] default = 1.0E-17 USE_STANLEY_ISO = False ! [Boolean] default = False ! If true, turn on Stanley SGS T variance parameterization in isopycnal slope ! code. -RESOLN_N2_FILTER_DEPTH = -1.0 ! [m] default = -1.0 - ! The depth below which N2 is monotonized to avoid stratification artifacts from - ! altering the equivalent barotropic mode structure. This monotonzization is - ! disabled if this parameter is negative. VISBECK_MAX_SLOPE = 0.0 ! [nondim] default = 0.0 ! If non-zero, is an upper bound on slopes used in the Visbeck formula for ! diffusivity. This does not affect the isopycnal slope calculation used within @@ -943,14 +928,14 @@ VARMIX_KTOP = 2 ! [nondim] default = 2 VISBECK_L_SCALE = 0.0 ! [m or nondim] default = 0.0 ! The fixed length scale in the Visbeck formula, or if negative a nondimensional ! scaling factor relating this length scale squared to the cell areas. -KH_RES_SCALE_COEF = 0.4 ! [nondim] default = 1.0 +KH_RES_SCALE_COEF = 1.0 ! [nondim] default = 1.0 ! A coefficient that determines how KhTh is scaled away if RESOLN_SCALED_... is ! true, as F = 1 / (1 + (KH_RES_SCALE_COEF*Rd/dx)^KH_RES_FN_POWER). KH_RES_FN_POWER = 2 ! default = 2 ! The power of dx/Ld in the Kh resolution function. Any positive integer may be ! used, although even integers are more efficient to calculate. Setting this ! greater than 100 results in a step-function being used. -VISC_RES_SCALE_COEF = 0.4 ! [nondim] default = 0.4 +VISC_RES_SCALE_COEF = 1.0 ! [nondim] default = 1.0 ! A coefficient that determines how Kh is scaled away if RESOLN_SCALED_... is ! true, as F = 1 / (1 + (KH_RES_SCALE_COEF*Rd/dx)^KH_RES_FN_POWER). This ! function affects lateral viscosity, Kh, and not KhTh. @@ -1036,12 +1021,12 @@ HTBL_SHELF_MIN = 0.1 ! [m] default = 0.1 HTBL_SHELF = 10.0 ! [m] default = 10.0 ! The thickness over which near-surface velocities are averaged for the drag law ! under an ice shelf. By default this is the same as HBBL -KV = 1.0E-04 ! [m2 s-1] +KV = 0.0 ! [m2 s-1] ! The background kinematic viscosity in the interior. The molecular value, ~1e-6 ! m2 s-1, may be used. -KV_BBL_MIN = 1.0E-04 ! [m2 s-1] default = 1.0E-04 +KV_BBL_MIN = 0.0 ! [m2 s-1] default = 0.0 ! The minimum viscosities in the bottom boundary layer. -KV_TBL_MIN = 1.0E-04 ! [m2 s-1] default = 1.0E-04 +KV_TBL_MIN = 0.0 ! [m2 s-1] default = 0.0 ! The minimum viscosities in the top boundary layer. CORRECT_BBL_BOUNDS = False ! [Boolean] default = False ! If true, uses the correct bounds on the BBL thickness and viscosity so that @@ -1054,7 +1039,7 @@ SMAG_CONST_CHANNEL = 0.15 ! [nondim] default = 0.15 TRIG_CHANNEL_DRAG_WIDTHS = True ! [Boolean] default = True ! If true, use trigonometric expressions to determine the fractional open ! interface lengths for concave topography. -CHANNEL_DRAG_MAX_BBL_THICK = -1.0 ! [m] default = -1.0 +CHANNEL_DRAG_MAX_BBL_THICK = 5.0 ! [m] default = 5.0 ! The maximum bottom boundary layer thickness over which the channel drag is ! exerted, or a negative value for no fixed limit, instead basing the BBL ! thickness on the bottom stress, rotation and stratification. The default is @@ -1070,7 +1055,7 @@ KHTH_MIN = 0.0 ! [m2 s-1] default = 0.0 ! The minimum horizontal thickness diffusivity. KHTH_MAX = 0.0 ! [m2 s-1] default = 0.0 ! The maximum horizontal thickness diffusivity. -KHTH_MAX_CFL = 0.8 ! [nondimensional] default = 0.8 +KHTH_MAX_CFL = 0.1 ! [nondimensional] default = 0.8 ! The maximum value of the local diffusive CFL ratio that is permitted for the ! thickness diffusivity. 1.0 is the marginally unstable value in a pure layered ! model, but much smaller numbers (e.g. 0.1) seem to work better for ALE-based @@ -1090,33 +1075,13 @@ DETANGLE_INTERFACES = False ! [Boolean] default = False KHTH_SLOPE_MAX = 0.01 ! [nondim] default = 0.01 ! A slope beyond which the calculated isopycnal slope is not reliable and is ! scaled away. -KHTH_USE_FGNV_STREAMFUNCTION = True ! [Boolean] default = False +KHTH_USE_FGNV_STREAMFUNCTION = False ! [Boolean] default = False ! If true, use the streamfunction formulation of Ferrari et al., 2010, which ! effectively emphasizes graver vertical modes by smoothing in the vertical. -FGNV_FILTER_SCALE = 1.0 ! [nondim] default = 1.0 - ! A coefficient scaling the vertical smoothing term in the Ferrari et al., 2010, - ! streamfunction formulation. -FGNV_C_MIN = 0.01 ! [m s-1] default = 0.0 - ! A minium wave speed used in the Ferrari et al., 2010, streamfunction - ! formulation. -FGNV_STRAT_FLOOR = 1.0E-15 ! [nondim] default = 1.0E-15 - ! A floor for Brunt-Vasaila frequency in the Ferrari et al., 2010, - ! streamfunction formulation, expressed as a fraction of planetary rotation, - ! OMEGA. This should be tiny but non-zero to avoid degeneracy. USE_STANLEY_GM = False ! [Boolean] default = False ! If true, turn on Stanley SGS T variance parameterization in GM code. -MEKE_GEOMETRIC_EPSILON = 1.0E-07 ! [s-1] default = 1.0E-07 - ! Minimum Eady growth rate used in the calculation of GEOMETRIC thickness - ! diffusivity. -MEKE_GEOMETRIC_ANSWER_DATE = 99991231 ! default = 99991231 - ! The vintage of the expressions in the MEKE_GEOMETRIC calculation. Values - ! below 20190101 recover the answers from the original implementation, while - ! higher values use expressions that satisfy rotational symmetry. -USE_KH_IN_MEKE = True ! [Boolean] default = False +USE_KH_IN_MEKE = False ! [Boolean] default = False ! If true, uses the thickness diffusivity calculated here to diffuse MEKE. -MEKE_MIN_DEPTH_DIFF = 1.0 ! [m] default = 1.0 - ! The minimum total depth over which to average the diffusivity used for MEKE. - ! When the total depth is less than this, the diffusivity is scaled away. USE_GME = False ! [Boolean] default = False ! If true, use the GM+E backscatter scheme in association with the Gent and ! McWilliams parameterization. @@ -1185,7 +1150,7 @@ ETA_TOLERANCE = 1.0E-06 ! [m] default = 3.75E-09 ! total tolerance for SSH is 4 times this value. The default is ! 0.5*NK*ANGSTROM, and this should not be set less than about ! 10^-15*MAXIMUM_DEPTH. -VELOCITY_TOLERANCE = 1.0E-04 ! [m s-1] default = 3.0E+08 +VELOCITY_TOLERANCE = 3.0E+08 ! [m s-1] default = 3.0E+08 ! The tolerance for barotropic velocity discrepancies between the barotropic ! solution and the sum of the layer thicknesses. CONT_PPM_AGGRESS_ADJUST = False ! [Boolean] default = False @@ -1333,9 +1298,9 @@ ADD_LES_VISCOSITY = False ! [Boolean] default = False BIHARMONIC = True ! [Boolean] default = True ! If true, use a biharmonic horizontal viscosity. BIHARMONIC may be used with ! LAPLACIAN. -AH = 1.0E+12 ! [m4 s-1] default = 0.0 +AH = 0.0 ! [m4 s-1] default = 0.0 ! The background biharmonic horizontal viscosity. -AH_VEL_SCALE = 0.0 ! [m s-1] default = 0.0 +AH_VEL_SCALE = 0.01 ! [m s-1] default = 0.0 ! The velocity scale which is multiplied by the cube of the grid spacing to ! calculate the biharmonic viscosity. The final viscosity is the largest of this ! scaled viscosity, the Smagorinsky and Leith viscosities, and AH. @@ -1343,9 +1308,9 @@ AH_TIME_SCALE = 0.0 ! [s] default = 0.0 ! A time scale whose inverse is multiplied by the fourth power of the grid ! spacing to calculate biharmonic viscosity. The final viscosity is the largest ! of all viscosity formulations in use. 0.0 means that it's not used. -SMAGORINSKY_AH = False ! [Boolean] default = False +SMAGORINSKY_AH = True ! [Boolean] default = False ! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity. -LEITH_AH = True ! [Boolean] default = False +LEITH_AH = False ! [Boolean] default = False ! If true, use a biharmonic Leith nonlinear eddy viscosity. USE_LEITHY = False ! [Boolean] default = False ! If true, use a biharmonic Leith nonlinear eddy viscosity together with a @@ -1365,16 +1330,18 @@ BACKSCATTER_UNDERBOUND = False ! [Boolean] default = True ! when no Laplacian viscosity is applied. The default is true for historical ! reasons, but this option probably should not be used because it can contribute ! to numerical instabilities. -USE_BETA_IN_LEITH = False ! [Boolean] default = False - ! If true, include the beta term in the Leith nonlinear eddy viscosity. -MODIFIED_LEITH = False ! [Boolean] default = False - ! If true, add a term to Leith viscosity which is proportional to the gradient - ! of divergence. -USE_QG_LEITH_VISC = False ! [Boolean] default = False - ! If true, use QG Leith nonlinear eddy viscosity. -LEITH_BI_CONST = 128.0 ! [nondim] default = 0.0 - ! The nondimensional biharmonic Leith constant, typical values are thus far - ! undetermined. +SMAG_BI_CONST = 0.06 ! [nondim] default = 0.0 + ! The nondimensional biharmonic Smagorinsky constant, typically 0.015 - 0.06. +BOUND_CORIOLIS_BIHARM = True ! [Boolean] default = True + ! If true use a viscosity that increases with the square of the velocity shears, + ! so that the resulting viscous drag is of comparable magnitude to the Coriolis + ! terms when the velocity differences between adjacent grid points is + ! 0.5*BOUND_CORIOLIS_VEL. The default is the value of BOUND_CORIOLIS (or + ! false). +BOUND_CORIOLIS_VEL = 6.0 ! [m s-1] default = 6.0 + ! The velocity scale at which BOUND_CORIOLIS_BIHARM causes the biharmonic drag + ! to have comparable magnitude to the Coriolis acceleration. The default is set + ! by MAXVEL. USE_LAND_MASK_FOR_HVISC = True ! [Boolean] default = True ! If true, use the land mask for the computation of thicknesses at velocity ! locations. This eliminates the dependence on arbitrary values over land or @@ -1497,8 +1464,18 @@ BT_NONLIN_STRESS = False ! [Boolean] default = False ! If true, use the full depth of the ocean at the start of the barotropic step ! when calculating the surface stress contribution to the barotropic ! acclerations. Otherwise use the depth based on bathyT. -DYNAMIC_SURFACE_PRESSURE = False ! [Boolean] default = False +DYNAMIC_SURFACE_PRESSURE = True ! [Boolean] default = False ! If true, add a dynamic pressure due to a viscous ice shelf, for instance. +ICE_LENGTH_DYN_PSURF = 1.0E+04 ! [m] default = 1.0E+04 + ! The length scale at which the Rayleigh damping rate due to the ice strength + ! should be the same as if a Laplacian were applied, if DYNAMIC_SURFACE_PRESSURE + ! is true. +DEPTH_MIN_DYN_PSURF = 1.0E-06 ! [m] default = 1.0E-06 + ! The minimum depth to use in limiting the size of the dynamic surface pressure + ! for stability, if DYNAMIC_SURFACE_PRESSURE is true.. +CONST_DYN_PSURF = 0.9 ! [nondim] default = 0.9 + ! The constant that scales the dynamic surface pressure, if + ! DYNAMIC_SURFACE_PRESSURE is true. Stable values are < ~1.0. BT_CORIOLIS_SCALE = 1.0 ! [nondim] default = 1.0 ! A factor by which the barotropic Coriolis anomaly terms are scaled. BAROTROPIC_ANSWER_DATE = 99991231 ! default = 99991231 @@ -1565,7 +1542,7 @@ BEBT = 0.2 ! [nondim] default = 0.1 ! from 0 (for a forward-backward treatment of nonrotating gravity waves) to 1 ! (for a backward Euler treatment). In practice, BEBT must be greater than about ! 0.05. -DTBT = -0.95 ! [s or nondim] default = -0.98 +DTBT = -0.9 ! [s or nondim] default = -0.98 ! The barotropic time step, in s. DTBT is only used with the split explicit time ! stepping. To set the time step automatically based the maximum stable value ! use 0, or a negative value gives the fraction of the stable value. Setting @@ -1581,58 +1558,60 @@ MIXEDLAYER_RESTRAT = True ! [Boolean] default = False ! mixed layer. Can be used in ALE mode without restriction but in layer mode can ! only be used if BULKMIXEDLAYER is true. MLE% -USE_BODNER23 = False ! [Boolean] default = False +USE_BODNER23 = True ! [Boolean] default = False ! If true, use the Bodner et al., 2023, formulation of the re-stratifying ! mixed-layer restratification parameterization. This only works in ALE mode. -%MLE -FOX_KEMPER_ML_RESTRAT_COEF = 1.0 ! [nondim] default = 0.0 - ! A nondimensional coefficient that is proportional to the ratio of the - ! deformation radius to the dominant lengthscale of the submesoscale mixed layer - ! instabilities, times the minimum of the ratio of the mesoscale eddy kinetic - ! energy to the large-scale geostrophic kinetic energy or 1 plus the square of - ! the grid spacing over the deformation radius, as detailed by Fox-Kemper et al. - ! (2011) -USE_STANLEY_ML = False ! [Boolean] default = False +CR = 0.0175 ! [nondim] default = 0.0 + ! The efficiency coefficient in eq 27 of Bodner et al., 2023. +BODNER_NSTAR = 0.066 ! [nondim] default = 0.066 + ! The n* value used to estimate the turbulent vertical momentum flux in Bodner + ! et al., 2023, eq. 18. This is independent of the value used in the PBL scheme + ! but should be set to be the same for consistency. +BODNER_MSTAR = 0.5 ! [nondim] default = 0.5 + ! The m* value used to estimate the turbulent vertical momentum flux in Bodner + ! et al., 2023, eq. 18. This is independent of the value used in the PBL scheme + ! but should be set to be the same for consistency. +BLD_GROWING_TFILTER = 0.0 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the boundary layer depth + ! (BLD) when the BLD is deeper than the running mean. A value of 0 + ! instantaneously sets the running mean to the current value of BLD. +BLD_DECAYING_TFILTER = 8.64E+04 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the boundary layer depth + ! (BLD) when the BLD is shallower than the running mean. A value of 0 + ! instantaneously sets the running mean to the current value of BLD. +MLD_GROWING_TFILTER = 0.0 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the time-filtered BLD, + ! when the latter is deeper than the running mean. A value of 0 instantaneously + ! sets the running mean to the current value filtered BLD. +MLD_DECAYING_TFILTER = 2.592E+06 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the time-filtered BLD, + ! when the latter is shallower than the running mean. A value of 0 + ! instantaneously sets the running mean to the current value filtered BLD. +ML_RESTRAT_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the mixed layer + ! restrat calculations. Values below 20240201 recover the answers from the end + ! of 2023, while higher values use the new cuberoot function in the Bodner code + ! to avoid needing to undo dimensional rescaling. +MIN_WSTAR2 = 1.0E-09 ! [m2 s-2] default = 1.0E-24 + ! The minimum lower bound to apply to the vertical momentum flux, w'u', in the + ! Bodner et al., restratification parameterization. This avoids a + ! division-by-zero in the limit when u* and the buoyancy flux are zero. The + ! default is less than the molecular viscosity of water times the Coriolis + ! parameter a micron away from the equator. +TAIL_DH = 0.0 ! [nondim] default = 0.0 + ! Fraction by which to extend the mixed-layer restratification depth used for a + ! smoother stream function at the base of the mixed-layer. +USE_STANLEY_TVAR = False ! [Boolean] default = False ! If true, turn on Stanley SGS T variance parameterization in ML restrat code. -FOX_KEMPER_ML_RESTRAT_COEF2 = 0.0 ! [nondim] default = 0.0 - ! As for FOX_KEMPER_ML_RESTRAT_COEF but used in a second application of the MLE - ! restratification parameterization. -MLE_FRONT_LENGTH = 1000.0 ! [m] default = 0.0 - ! If non-zero, is the frontal-length scale used to calculate the upscaling of - ! buoyancy gradients that is otherwise represented by the parameter - ! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended - ! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. -MLE_USE_PBL_MLD = False ! [Boolean] default = False +USE_CR_GRID = False ! [Boolean] default = False + ! If true, read in a spatially varying Cr field. +USE_MLD_GRID = False ! [Boolean] default = False + ! If true, read in a spatially varying MLD_decaying_Tfilt field. +%MLE +MLE_USE_PBL_MLD = True ! [Boolean] default = False ! If true, the MLE parameterization will use the mixed-layer depth provided by ! the active PBL parameterization. If false, MLE will estimate a MLD based on a ! density difference with the surface using the parameter MLE_DENSITY_DIFF. -MLE_MLD_DECAY_TIME = 3.456E+05 ! [s] default = 0.0 - ! The time-scale for a running-mean filter applied to the mixed-layer depth used - ! in the MLE restratification parameterization. When the MLD deepens below the - ! current running-mean the running-mean is instantaneously set to the current - ! MLD. -MLE_MLD_DECAY_TIME2 = 0.0 ! [s] default = 0.0 - ! The time-scale for a running-mean filter applied to the filtered mixed-layer - ! depth used in a second MLE restratification parameterization. When the MLD - ! deepens below the current running-mean the running-mean is instantaneously set - ! to the current MLD. -MLE_DENSITY_DIFF = 0.03 ! [kg/m3] default = 0.03 - ! Density difference used to detect the mixed-layer depth used for the - ! mixed-layer eddy parameterization by Fox-Kemper et al. (2011) -MLE_TAIL_DH = 0.0 ! [nondim] default = 0.0 - ! Fraction by which to extend the mixed-layer restratification depth used for a - ! smoother stream function at the base of the mixed-layer. -MLE_MLD_STRETCH = 1.0 ! [nondim] default = 1.0 - ! A scaling coefficient for stretching/shrinking the MLD used in the MLE scheme. - ! This simply multiplies MLD wherever used. -KV_RESTRAT = 0.0 ! [m2 s-1] default = 0.0 - ! A small viscosity that sets a floor on the momentum mixing rate during - ! restratification. If this is positive, it will prevent some possible - ! divisions by zero even if ustar, RESTRAT_USTAR_MIN, and f are all 0. -RESTRAT_USTAR_MIN = 1.45842E-18 ! [m s-1] default = 1.45842E-18 - ! The minimum value of ustar that will be used by the mixed layer - ! restratification module. This can be tiny, but if this is greater than 0, it - ! will prevent divisions by zero when f and KV_RESTRAT are zero. ! === module MOM_diagnostics === DIAG_EBT_MONO_N2_COLUMN_FRACTION = 0.0 ! [nondim] default = 0.0 @@ -1651,12 +1630,15 @@ INTWAVE_REMAPPING_USE_OM4_SUBCELLS = False ! [Boolean] default = True USE_LEGACY_DIABATIC_DRIVER = False ! [Boolean] default = True ! If true, use a legacy version of the diabatic subroutine. This is temporary ! and is needed to avoid change in answers. -ENERGETICS_SFC_PBL = False ! [Boolean] default = False +ENERGETICS_SFC_PBL = True ! [Boolean] default = False ! If true, use an implied energetics planetary boundary layer scheme to ! determine the diffusivity and viscosity in the surface boundary layer. -EPBL_IS_ADDITIVE = True ! [Boolean] default = True +EPBL_IS_ADDITIVE = False ! [Boolean] default = True ! If true, the diffusivity from ePBL is added to all other diffusivities. ! Otherwise, the larger of kappa-shear and ePBL diffusivities are used. +PRANDTL_EPBL = 1.0 ! [nondim] default = 1.0 + ! The Prandtl number used by ePBL to convert vertical diffusivities into + ! viscosities. INTERNAL_TIDES = False ! [Boolean] default = False ! If true, use the code that advances a separate set of equations for the ! internal tide energy density. @@ -1676,7 +1658,7 @@ MIX_BOUNDARY_TRACERS = True ! [Boolean] default = True MIX_BOUNDARY_TRACER_ALE = False ! [Boolean] default = False ! If true and in ALE mode, mix the passive tracers in massless layers at the ! bottom into the interior as though a diffusivity of KD_MIN_TR were operating. -KD_MIN_TR = 0.0 ! [m2 s-1] default = 0.0 +KD_MIN_TR = 1.5E-06 ! [m2 s-1] default = 1.5E-06 ! A minimal diffusivity that should always be applied to tracers, especially in ! massless layers near the bottom. The default is 0.1*KD. KD_BBL_TR = 0.0 ! [m2 s-1] default = 0.0 @@ -1711,118 +1693,16 @@ DIAG_DEPTH_SUBML_N2 = 50.0 ! [m] default = 50.0 ! === module MOM_CVMix_KPP === ! This is the MOM wrapper to CVMix:KPP ! See http://cvmix.github.io/ -USE_KPP = True ! [Boolean] default = False +USE_KPP = False ! [Boolean] default = False ! If true, turns on the [CVMix] KPP scheme of Large et al., 1994, to calculate ! diffusivities and non-local transport in the OBL. -KPP% -PASSIVE = False ! [Boolean] default = False - ! If True, puts KPP into a passive-diagnostic mode. -APPLY_NONLOCAL_TRANSPORT = True ! [Boolean] default = True - ! If True, applies the non-local transport to all tracers. If False, calculates - ! the non-local transport and tendencies but purely for diagnostic purposes. -N_SMOOTH = 3 ! default = 0 - ! The number of times the 1-1-4-1-1 Laplacian filter is applied on OBL depth. -DEEPEN_ONLY_VIA_SMOOTHING = False ! [Boolean] default = False - ! If true, apply OBLdepth smoothing at a cell only if the OBLdepth gets deeper - ! via smoothing. -RI_CRIT = 0.3 ! [nondim] default = 0.3 - ! Critical bulk Richardson number used to define depth of the surface Ocean - ! Boundary Layer (OBL). -VON_KARMAN = 0.4 ! [nondim] default = 0.4 - ! von Karman constant. -ENHANCE_DIFFUSION = True ! [Boolean] default = True - ! If True, adds enhanced diffusion at the based of the boundary layer. -INTERP_TYPE = "quadratic" ! default = "quadratic" - ! Type of interpolation to determine the OBL depth. - ! Allowed types are: linear, quadratic, cubic. -INTERP_TYPE2 = "LMD94" ! default = "LMD94" - ! Type of interpolation to compute diff and visc at OBL_depth. - ! Allowed types are: linear, quadratic, cubic or LMD94. -COMPUTE_EKMAN = False ! [Boolean] default = False - ! If True, limit OBL depth to be no deeper than Ekman depth. -COMPUTE_MONIN_OBUKHOV = False ! [Boolean] default = False - ! If True, limit the OBL depth to be no deeper than Monin-Obukhov depth. -CS = 98.96 ! [nondim] default = 98.96 - ! Parameter for computing velocity scale function. -CS2 = 6.32739901508 ! [nondim] default = 6.32739901508 - ! Parameter for computing non-local term. -DEEP_OBL_OFFSET = 0.0 ! [m] default = 0.0 - ! If non-zero, the distance above the bottom to which the OBL is clipped if it - ! would otherwise reach the bottom. The smaller of this and 0.1D is used. -FIXED_OBLDEPTH = False ! [Boolean] default = False - ! If True, fix the OBL depth to FIXED_OBLDEPTH_VALUE rather than using the OBL - ! depth from CVMix. This option is just for testing purposes. -FIXED_OBLDEPTH_VALUE = 30.0 ! [m] default = 30.0 - ! Value for the fixed OBL depth when fixedOBLdepth==True. This parameter is for - ! just for testing purposes. It will over-ride the OBLdepth computed from CVMix. -SURF_LAYER_EXTENT = 0.1 ! [nondim] default = 0.1 - ! Fraction of OBL depth considered in the surface layer. -MINIMUM_OBL_DEPTH = 0.0 ! [m] default = 0.0 - ! If non-zero, a minimum depth to use for KPP OBL depth. Independent of this - ! parameter, the OBL depth is always at least as deep as the first layer. -MINIMUM_VT2 = 1.0E-10 ! [m2/s2] default = 1.0E-10 - ! Min of the unresolved velocity Vt2 used in Rib CVMix calculation. - ! Scaling: MINIMUM_VT2 = const1*d*N*ws, with d=1m, N=1e-5/s, ws=1e-6 m/s. -NLT_SHAPE = "CVMix" ! default = "CVMix" - ! MOM6 method to set nonlocal transport profile. Over-rides the result from - ! CVMix. Allowed values are: - ! CVMix - Uses the profiles from CVMix specified by MATCH_TECHNIQUE - ! LINEAR - A linear profile, 1-sigma - ! PARABOLIC - A parablic profile, (1-sigma)^2 - ! CUBIC - A cubic profile, (1-sigma)^2(1+2*sigma) - ! CUBIC_LMD - The original KPP profile -MATCH_TECHNIQUE = "MatchGradient" ! default = "SimpleShapes" - ! CVMix method to set profile function for diffusivity and NLT, as well as - ! matching across OBL base. Allowed values are: - ! SimpleShapes = sigma*(1-sigma)^2 for both diffusivity and NLT - ! MatchGradient = sigma*(1-sigma)^2 for NLT; diffusivity profile from - ! matching - ! MatchBoth = match gradient for both diffusivity and NLT - ! ParabolicNonLocal = sigma*(1-sigma)^2 for diffusivity; (1-sigma)^2 for NLT -KPP_ZERO_DIFFUSIVITY = False ! [Boolean] default = False - ! If True, zeroes the KPP diffusivity and viscosity; for testing purpose. -KPP_IS_ADDITIVE = False ! [Boolean] default = True - ! If true, adds KPP diffusivity to diffusivity from other schemes. - ! If false, KPP is the only diffusivity wherever KPP is non-zero. -KPP_SHORTWAVE_METHOD = "MXL_SW" ! default = "MXL_SW" - ! Determines contribution of shortwave radiation to KPP surface buoyancy flux. - ! Options include: - ! ALL_SW: use total shortwave radiation - ! MXL_SW: use shortwave radiation absorbed by mixing layer - ! LV1_SW: use shortwave radiation absorbed by top model layer -CVMix_ZERO_H_WORK_AROUND = 0.0 ! [m] default = 0.0 - ! A minimum thickness used to avoid division by small numbers in the vicinity of - ! vanished layers. This is independent of MIN_THICKNESS used in other parts of - ! MOM. -USE_KPP_LT_K = False ! [Boolean] default = False - ! Flag for Langmuir turbulence enhancement of turbulentmixing coefficient. -STOKES_MIXING = False ! [Boolean] default = False - ! Flag for Langmuir turbulence enhancement of turbulentmixing coefficient. -USE_KPP_LT_VT2 = False ! [Boolean] default = False - ! Flag for Langmuir turbulence enhancement of Vt2in Bulk Richardson Number. -ANSWER_DATE = 20240101 ! default = 20240101 - ! The vintage of the order of arithmetic in the CVMix KPP calculations. Values - ! below 20240501 recover the answers from early in 2024, while higher values use - ! expressions that have been refactored for rotational symmetry. -%KPP ! === module MOM_CVMix_conv === ! Parameterization of enhanced mixing due to convection via CVMix -USE_CVMix_CONVECTION = True ! [Boolean] default = False +USE_CVMix_CONVECTION = False ! [Boolean] default = False ! If true, turns on the enhanced mixing due to convection via CVMix. This scheme ! increases diapycnal diffs./viscs. at statically unstable interfaces. Relevant ! parameters are contained in the CVMix_CONVECTION% parameter block. -CVMix_CONVECTION% -PRANDTL_CONV = 1.0 ! [nondim] default = 1.0 - ! The turbulent Prandtl number applied to convective instabilities (i.e., used - ! to convert KD_CONV into KV_CONV) -KD_CONV = 1.0 ! [m2/s] default = 1.0 - ! Diffusivity used in convective regime. Corresponding viscosity (KV_CONV) will - ! be set to KD_CONV * PRANDTL_CONV. -BV_SQR_CONV = 0.0 ! [1/s^2] default = 0.0 - ! Threshold for squared buoyancy frequency needed to trigger Brunt-Vaisala - ! parameterization. -%CVMix_CONVECTION ! === module MOM_set_diffusivity === FLUX_RI_MAX = 0.2 ! [nondim] default = 0.2 @@ -1845,7 +1725,7 @@ ML_RADIATION = False ! [Boolean] default = False ! If true, allow a fraction of TKE available from wind work to penetrate below ! the base of the mixed layer with a vertical decay scale determined by the ! minimum of: (1) The depth of the mixed layer, (2) an Ekman length scale. -BBL_EFFIC = 0.2 ! [nondim] default = 0.2 +BBL_EFFIC = 0.01 ! [nondim] default = 0.2 ! The efficiency with which the energy extracted by bottom drag drives BBL ! diffusion. This is only used if BOTTOMDRAGLAW is true. BBL_MIXING_MAX_DECAY = 200.0 ! [m] default = 200.0 @@ -1875,10 +1755,10 @@ DZ_BBL_AVG_MIN = 0.0 ! [m] default = 0.0 ! === module MOM_bkgnd_mixing === ! Adding static vertical background mixing coefficients -KD = 0.0 ! [m2 s-1] default = 0.0 +KD = 1.5E-05 ! [m2 s-1] default = 0.0 ! The background diapycnal diffusivity of density in the interior. Zero or the ! molecular value, ~1e-7 m2 s-1, may be used. -KD_MIN = 0.0 ! [m2 s-1] default = 0.0 +KD_MIN = 2.0E-06 ! [m2 s-1] default = 1.5E-07 ! The minimum diapycnal diffusivity. BRYAN_LEWIS_DIFFUSIVITY = False ! [Boolean] default = False ! If true, use a Bryan & Lewis (JGR 1979) like tanh profile of background @@ -1886,12 +1766,18 @@ BRYAN_LEWIS_DIFFUSIVITY = False ! [Boolean] default = False HORIZ_VARYING_BACKGROUND = False ! [Boolean] default = False ! If true, apply vertically uniform, latitude-dependent background diffusivity, ! as described in Danabasoglu et al., 2012 -PRANDTL_BKGND = 5.0 ! [nondim] default = 1.0 +PRANDTL_BKGND = 1.0 ! [nondim] default = 1.0 ! Turbulent Prandtl number used to convert vertical background diffusivities ! into viscosities. -HENYEY_IGW_BACKGROUND = False ! [Boolean] default = False +HENYEY_IGW_BACKGROUND = True ! [Boolean] default = False ! If true, use a latitude-dependent scaling for the near surface background ! diffusivity, as described in Harrison & Hallberg, JPO 2008. +HENYEY_N0_2OMEGA = 20.0 ! [nondim] default = 20.0 + ! The ratio of the typical Buoyancy frequency to twice the Earth's rotation + ! period, used with the Henyey scaling from the mixing. +HENYEY_MAX_LAT = 73.0 ! [degN] default = 95.0 + ! A latitude poleward of which the Henyey profile is returned to the minimum + ! diffusivity KD_TANH_LAT_FN = False ! [Boolean] default = False ! If true, use a tanh dependence of Kd_sfc on latitude, like CM2.1/CM2M. There ! is no physical justification for this form, and it can not be used with @@ -1916,75 +1802,116 @@ DISSIPATION_N1 = 0.0 ! [J m-3] default = 0.0 ! = A + B*N DISSIPATION_KD_MIN = 0.0 ! [m2 s-1] default = 0.0 ! The minimum vertical diffusivity applied as a floor. -DOUBLE_DIFFUSION = False ! [Boolean] default = False +DOUBLE_DIFFUSION = True ! [Boolean] default = False ! If true, increase diffusivites for temperature or salinity based on the ! double-diffusive parameterization described in Large et al. (1994). +MAX_RRHO_SALT_FINGERS = 2.55 ! [nondim] default = 1.9 + ! Maximum density ratio for salt fingering regime. +MAX_SALT_DIFF_SALT_FINGERS = 1.0E-04 ! [m2 s-1] default = 1.0E-04 + ! Maximum salt diffusivity for salt fingering regime. +KV_MOLECULAR = 1.5E-06 ! [m2 s-1] default = 1.5E-06 + ! Molecular viscosity for calculation of fluxes under double-diffusive + ! convection. ! === module MOM_kappa_shear === ! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 -USE_JACKSON_PARAM = False ! [Boolean] default = False +USE_JACKSON_PARAM = True ! [Boolean] default = False ! If true, use the Jackson-Hallberg-Legg (JPO 2008) shear mixing ! parameterization. +VERTEX_SHEAR = True ! [Boolean] default = False + ! If true, do the calculations of the shear-driven mixing at the cell vertices + ! (i.e., the vorticity points). +RINO_CRIT = 0.25 ! [nondim] default = 0.25 + ! The critical Richardson number for shear mixing. +SHEARMIX_RATE = 0.089 ! [nondim] default = 0.089 + ! A nondimensional rate scale for shear-driven entrainment. Jackson et al find + ! values in the range of 0.085-0.089. +MAX_RINO_IT = 25 ! [nondim] default = 50 + ! The maximum number of iterations that may be used to estimate the Richardson + ! number driven mixing. +KD_KAPPA_SHEAR_0 = 1.5E-05 ! [m2 s-1] default = 1.5E-05 + ! The background diffusivity that is used to smooth the density and shear + ! profiles before solving for the diffusivities. The default is the greater of + ! KD and 1e-7 m2 s-1. KD_SEED_KAPPA_SHEAR = 1.0 ! [m2 s-1] default = 1.0 ! A moderately large seed value of diapycnal diffusivity that is used as a ! starting turbulent diffusivity in the iterations to find an energetically ! constrained solution for the shear-driven diffusivity. +KD_TRUNC_KAPPA_SHEAR = 1.5E-07 ! [m2 s-1] default = 1.5E-07 + ! The value of shear-driven diffusivity that is considered negligible and is + ! rounded down to 0. The default is 1% of KD_KAPPA_SHEAR_0. +FRI_CURVATURE = -0.97 ! [nondim] default = -0.97 + ! The nondimensional curvature of the function of the Richardson number in the + ! kappa source term in the Jackson et al. scheme. +TKE_N_DECAY_CONST = 0.24 ! [nondim] default = 0.24 + ! The coefficient for the decay of TKE due to stratification (i.e. proportional + ! to N*tke). The values found by Jackson et al. are 0.24-0.28. +TKE_SHEAR_DECAY_CONST = 0.14 ! [nondim] default = 0.14 + ! The coefficient for the decay of TKE due to shear (i.e. proportional to + ! |S|*tke). The values found by Jackson et al. are 0.14-0.12. +KAPPA_BUOY_SCALE_COEF = 0.82 ! [nondim] default = 0.82 + ! The coefficient for the buoyancy length scale in the kappa equation. The + ! values found by Jackson et al. are in the range of 0.81-0.86. +KAPPA_N_OVER_S_SCALE_COEF2 = 0.0 ! [nondim] default = 0.0 + ! The square of the ratio of the coefficients of the buoyancy and shear scales + ! in the diffusivity equation, Set this to 0 (the default) to eliminate the + ! shear scale. This is only used if USE_JACKSON_PARAM is true. LZ_RESCALE = 1.0 ! [nondim] default = 1.0 ! A coefficient to rescale the distance to the nearest solid boundary. This ! adjustment is to account for regions where 3 dimensional turbulence prevents ! the growth of shear instabilies [nondim]. +KAPPA_SHEAR_TOL_ERR = 0.1 ! [nondim] default = 0.1 + ! The fractional error in kappa that is tolerated. Iteration stops when changes + ! between subsequent iterations are smaller than this everywhere in a column. + ! The peak diffusivities usually converge most rapidly, and have much smaller + ! errors than this. TKE_BACKGROUND = 0.0 ! [m2 s-2] default = 0.0 ! A background level of TKE used in the first iteration of the kappa equation. ! TKE_BACKGROUND could be 0. +KAPPA_SHEAR_ELIM_MASSLESS = True ! [Boolean] default = True + ! If true, massless layers are merged with neighboring massive layers in this + ! calculation. The default is true and I can think of no good reason why it + ! should be false. This is only used if USE_JACKSON_PARAM is true. +MAX_KAPPA_SHEAR_IT = 13 ! default = 13 + ! The maximum number of iterations that may be used to estimate the + ! time-averaged diffusivity. +KAPPA_SHEAR_MAX_KAP_SRC_CHG = 10.0 ! [nondim] default = 10.0 + ! The maximum permitted increase in the kappa source within an iteration + ! relative to the local source; this must be greater than 1. The lower limit + ! for the permitted fractional decrease is (1 - 0.5/kappa_src_max_chg). These + ! limits could perhaps be made dynamic with an improved iterative solver. +KAPPA_SHEAR_VERTEX_PSURF_BUG = False ! [Boolean] default = False + ! If true, do a simple average of the cell surface pressures to get a pressure + ! at the corner if VERTEX_SHEAR=True. Otherwise mask out any land points in the + ! average. +KAPPA_SHEAR_ITER_BUG = False ! [Boolean] default = False + ! If true, use an older, dimensionally inconsistent estimate of the derivative + ! of diffusivity with energy in the Newton's method iteration. The bug causes + ! undercorrections when dz > 1 m. +KAPPA_SHEAR_ALL_LAYER_TKE_BUG = False ! [Boolean] default = False + ! If true, report back the latest estimate of TKE instead of the time average + ! TKE when there is mass in all layers. Otherwise always report the time + ! averaged TKE, as is currently done when there are some massless layers. +USE_RESTRICTIVE_TOLERANCE_CHECK = True ! [Boolean] default = False + ! If true, uses the more restrictive tolerance check to determine if a timestep + ! is acceptable for the KS_it outer iteration loop. False uses the original + ! less restrictive check. ! === module MOM_CVMix_shear === ! Parameterization of shear-driven turbulence via CVMix (various options) -USE_LMD94 = True ! [Boolean] default = False +USE_LMD94 = False ! [Boolean] default = False ! If true, use the Large-McWilliams-Doney (JGR 1994) shear mixing ! parameterization. USE_PP81 = False ! [Boolean] default = False ! If true, use the Pacanowski and Philander (JPO 1981) shear mixing ! parameterization. -NU_ZERO = 0.005 ! [m2 s-1] default = 0.005 - ! Leading coefficient in KPP shear mixing. -RI_ZERO = 0.8 ! [nondim] default = 0.8 - ! Critical Richardson for KPP shear mixing, NOTE this the internal mixing and - ! this is not for setting the boundary layer depth. -KPP_EXP = 3.0 ! [nondim] default = 3.0 - ! Exponent of unitless factor of diffusivities, for KPP internal shear mixing - ! scheme. -N_SMOOTH_RI = 1 ! default = 0 - ! If > 0, vertically smooth the Richardson number by applying a 1-2-1 filter - ! N_SMOOTH_RI times. ! === module MOM_CVMix_ddiff === ! Parameterization of mixing due to double diffusion processes via CVMix -USE_CVMIX_DDIFF = True ! [Boolean] default = False +USE_CVMIX_DDIFF = False ! [Boolean] default = False ! If true, turns on double diffusive processes via CVMix. Note that double ! diffusive processes on viscosity are ignored in CVMix, see ! http://cvmix.github.io/ for justification. -CVMIX_DDIFF% -STRAT_PARAM_MAX = 2.55 ! [nondim] default = 2.55 - ! The maximum value for the double dissusion stratification parameter -KAPPA_DDIFF_S = 1.0E-04 ! [m2 s-1] default = 1.0E-04 - ! Leading coefficient in formula for salt-fingering regime for salinity - ! diffusion. -DDIFF_EXP1 = 1.0 ! [nondim] default = 1.0 - ! Interior exponent in salt-fingering regime formula. -DDIFF_EXP2 = 3.0 ! [nondim] default = 3.0 - ! Exterior exponent in salt-fingering regime formula. -KAPPA_DDIFF_PARAM1 = 0.909 ! [nondim] default = 0.909 - ! Exterior coefficient in diffusive convection regime. -KAPPA_DDIFF_PARAM2 = 4.6 ! [nondim] default = 4.6 - ! Middle coefficient in diffusive convection regime. -KAPPA_DDIFF_PARAM3 = -0.54 ! [nondim] default = -0.54 - ! Interior coefficient in diffusive convection regime. -MOL_DIFF = 1.5E-06 ! [m2 s-1] default = 1.5E-06 - ! Molecular diffusivity used in CVMix double diffusion. -DIFF_CONV_TYPE = "MC76" ! default = "MC76" - ! type of diffusive convection to use. Options are Marmorino - ! and Caldwell 1976 (MC76) and Kelley 1988, 1990 (K90). -%CVMIX_DDIFF ! === module MOM_diabatic_aux === ! The following parameters are used for auxiliary diabatic processes. @@ -1999,6 +1926,14 @@ PRESSURE_DEPENDENT_FRAZIL = True ! [Boolean] default = False ! If true, use a pressure dependent freezing temperature when making frazil. The ! default is false, which will be faster but is inappropriate with ice-shelf ! cavities. +IGNORE_FLUXES_OVER_LAND = False ! [Boolean] default = False + ! If true, the model does not check if fluxes are being applied over land + ! points. This is needed when the ocean is coupled with ice shelves and sea ice, + ! since the sea ice mask needs to be different than the ocean mask to avoid sea + ! ice formation under ice shelves. This flag only works when use_ePBL = True. +DO_RIVERMIX = False ! [Boolean] default = False + ! If true, apply additional mixing wherever there is runoff, so that it is mixed + ! down to RIVERMIX_DEPTH if the ocean is that deep. USE_RIVER_HEAT_CONTENT = False ! [Boolean] default = False ! If true, use the fluxes%runoff_Hflx field to set the heat carried by runoff, ! instead of using SST*CP*liq_runoff. @@ -2011,6 +1946,130 @@ VAR_PEN_SW = False ! [Boolean] default = False ! If true, use one of the CHL_A schemes specified by OPACITY_SCHEME to determine ! the e-folding depth of incoming short wave radiation. +! === module MOM_energetic_PBL === +ML_OMEGA_FRAC = 0.001 ! [nondim] default = 0.0 + ! When setting the decay scale for turbulence, use this fraction of the absolute + ! rotation rate blended with the local value of f, as sqrt((1-of)*f^2 + + ! of*4*omega^2). +EKMAN_SCALE_COEF = 1.0 ! [nondim] default = 1.0 + ! A nondimensional scaling factor controlling the inhibition of the diffusive + ! length scale by rotation. Making this larger decreases the PBL diffusivity. +EPBL_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the energetic PBL + ! calculations. Values below 20190101 recover the answers from the end of 2018, + ! while higher values use updated and more robust forms of the same expressions. + ! Values below 20240101 use A**(1./3.) to estimate the cube root of A in several + ! expressions, while higher values use the integer root function cuberoot(A) and + ! therefore can work with scaled variables. +EPBL_ORIGINAL_PE_CALC = True ! [Boolean] default = True + ! If true, the ePBL code uses the original form of the potential energy change + ! code. Otherwise, the newer version that can work with successive increments + ! to the diffusivity in upward or downward passes is used. +MKE_TO_TKE_EFFIC = 0.0 ! [nondim] default = 0.0 + ! The efficiency with which mean kinetic energy released by mechanically forced + ! entrainment of the mixed layer is converted to turbulent kinetic energy. +TKE_DECAY = 0.01 ! [nondim] default = 2.5 + ! TKE_DECAY relates the vertical rate of decay of the TKE available for + ! mechanical entrainment to the natural Ekman depth. +EPBL_MSTAR_SCHEME = "OM4" ! default = "CONSTANT" + ! EPBL_MSTAR_SCHEME selects the method for setting mstar. Valid values are: + ! CONSTANT - Use a fixed mstar given by MSTAR + ! OM4 - Use L_Ekman/L_Obukhov in the stabilizing limit, as in OM4 + ! REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018. +MSTAR_CAP = 1.25 ! [nondim] default = -1.0 + ! If this value is positive, it sets the maximum value of mstar allowed in ePBL. + ! (This is not used if EPBL_MSTAR_SCHEME = CONSTANT). +MSTAR2_COEF1 = 0.29 ! [nondim] default = 0.3 + ! Coefficient in computing mstar when rotation and stabilizing effects are both + ! important (used if EPBL_MSTAR_SCHEME = OM4). +MSTAR2_COEF2 = 0.152 ! [nondim] default = 0.085 + ! Coefficient in computing mstar when only rotation limits the total mixing + ! (used if EPBL_MSTAR_SCHEME = OM4) +NSTAR = 0.06 ! [nondim] default = 0.2 + ! The portion of the buoyant potential energy imparted by surface fluxes that is + ! available to drive entrainment at the base of mixed layer when that energy is + ! positive. +MSTAR_CONV_ADJ = 0.667 ! [nondim] default = 0.0 + ! Coefficient used for reducing mstar during convection due to reduction of + ! stable density gradient. +USE_MLD_ITERATION = True ! [Boolean] default = True + ! A logical that specifies whether or not to use the distance to the bottom of + ! the actively turbulent boundary layer to help set the EPBL length scale. +EPBL_TRANSITION_SCALE = 0.01 ! [nondim] default = 0.1 + ! A scale for the mixing length in the transition layer at the edge of the + ! boundary layer as a fraction of the boundary layer thickness. +MLD_ITERATION_GUESS = False ! [Boolean] default = False + ! If true, use the previous timestep MLD as a first guess in the MLD iteration, + ! otherwise use half the ocean depth as the first guess of the boundary layer + ! depth. The default is false to facilitate reproducibility. +EPBL_MLD_TOLERANCE = 1.0 ! [meter] default = 1.0 + ! The tolerance for the iteratively determined mixed layer depth. This is only + ! used with USE_MLD_ITERATION. +EPBL_MLD_BISECTION = False ! [Boolean] default = False + ! If true, use bisection with the iterative determination of the self-consistent + ! mixed layer depth. Otherwise use the false position after a maximum and + ! minimum bound have been evaluated and the returned value or bisection before + ! this. +EPBL_MLD_MAX_ITS = 20 ! default = 20 + ! The maximum number of iterations that can be used to find a self-consistent + ! mixed layer depth. If EPBL_MLD_BISECTION is true, the maximum number + ! iteractions needed is set by Depth/2^MAX_ITS < EPBL_MLD_TOLERANCE. +EPBL_MIN_MIX_LEN = 0.0 ! [meter] default = 0.0 + ! The minimum mixing length scale that will be used by ePBL. The default (0) + ! does not set a minimum. +MIX_LEN_EXPONENT = 1.0 ! [nondim] default = 2.0 + ! The exponent applied to the ratio of the distance to the MLD and the MLD depth + ! which determines the shape of the mixing length. This is only used if + ! USE_MLD_ITERATION is True. +EPBL_VEL_SCALE_SCHEME = "CUBE_ROOT_TKE" ! default = "CUBE_ROOT_TKE" + ! Selects the method for translating TKE into turbulent velocities. Valid values + ! are: + ! CUBE_ROOT_TKE - A constant times the cube root of remaining TKE. + ! REICHL_H18 - Use the scheme based on a combination of w* and v* as + ! documented in Reichl & Hallberg, 2018. +WSTAR_USTAR_COEF = 1.0 ! [nondim] default = 1.0 + ! A ratio relating the efficiency with which convectively released energy is + ! converted to a turbulent velocity, relative to mechanically forced TKE. Making + ! this larger increases the BL diffusivity +EPBL_VEL_SCALE_FACTOR = 1.0 ! [nondim] default = 1.0 + ! An overall nondimensional scaling factor for wT. Making this larger increases + ! the PBL diffusivity. +VSTAR_SURF_FAC = 1.2 ! [nondim] default = 1.2 + ! The proportionality times ustar to set vstar at the surface. +USE_LA_LI2016 = True ! [Boolean] default = False + ! A logical to use the Li et al. 2016 (submitted) formula to determine the + ! Langmuir number. +EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" + ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence. + ! Valid values are: + ! NONE - Do not do any extra mixing due to Langmuir turbulence + ! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir + ! turbulence + ! ADDITIVE - Add a Langmuir turblence contribution to mstar to other + ! contributions +LT_ENHANCE_COEF = 0.044 ! [nondim] default = 0.447 + ! Coefficient for Langmuir enhancement of mstar +LT_ENHANCE_EXP = -1.5 ! [nondim] default = -1.33 + ! Exponent for Langmuir enhancementt of mstar +LT_MOD_LAC1 = 0.0 ! [nondim] default = -0.87 + ! Coefficient for modification of Langmuir number due to MLD approaching Ekman + ! depth. +LT_MOD_LAC2 = 0.0 ! [nondim] default = 0.0 + ! Coefficient for modification of Langmuir number due to MLD approaching stable + ! Obukhov depth. +LT_MOD_LAC3 = 0.0 ! [nondim] default = 0.0 + ! Coefficient for modification of Langmuir number due to MLD approaching + ! unstable Obukhov depth. +LT_MOD_LAC4 = 0.0 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! stable Obukhov depth. +LT_MOD_LAC5 = 0.22 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! unstable Obukhov depth. +!EPBL_USTAR_MIN = 1.45842E-18 ! [m s-1] + ! The (tiny) minimum friction velocity used within the ePBL code, derived from + ! OMEGA and ANGSTROM. + ! === module MOM_regularize_layers === REGULARIZE_SURFACE_LAYERS = False ! [Boolean] default = False ! If defined, vertically restructure the near-surface layers when they have too @@ -2059,7 +2118,7 @@ USE_HUYNH_STENCIL_BUG = False ! [Boolean] default = False ! === module MOM_tracer_hor_diff === KHTR = 0.0 ! [m2 s-1] default = 0.0 ! The background along-isopycnal tracer diffusivity. -KHTR_MIN = 50.0 ! [m2 s-1] default = 0.0 +KHTR_MIN = 0.0 ! [m2 s-1] default = 0.0 ! The minimum along-isopycnal tracer diffusivity. KHTR_MAX = 0.0 ! [m2 s-1] default = 0.0 ! The maximum along-isopycnal tracer diffusivity. @@ -2077,7 +2136,7 @@ CHECK_DIFFUSIVE_CFL = True ! [Boolean] default = False ! If true, use enough iterations the diffusion to ensure that the diffusive ! equivalent of the CFL limit is not violated. If false, always use the greater ! of 1 or MAX_TR_DIFFUSION_CFL iteration. -MAX_TR_DIFFUSION_CFL = 2.0 ! [nondim] default = -1.0 +MAX_TR_DIFFUSION_CFL = -1.0 ! [nondim] default = -1.0 ! If positive, locally limit the along-isopycnal tracer diffusivity to keep the ! diffusive CFL locally at or below this value. The number of diffusive ! iterations is often this value or the next greater integer. @@ -2088,64 +2147,13 @@ RECALC_NEUTRAL_SURF = False ! [Boolean] default = False ! === module MOM_neutral_diffusion === ! This module implements neutral diffusion of tracers -USE_NEUTRAL_DIFFUSION = True ! [Boolean] default = False +USE_NEUTRAL_DIFFUSION = False ! [Boolean] default = False ! If true, enables the neutral diffusion module. -NDIFF_CONTINUOUS = True ! [Boolean] default = True - ! If true, uses a continuous reconstruction of T and S when finding neutral - ! surfaces along which diffusion will happen. If false, a PPM discontinuous - ! reconstruction of T and S is done which results in a higher order routine but - ! exacts a higher computational cost. -NDIFF_REF_PRES = -1.0 ! [Pa] default = -1.0 - ! The reference pressure (Pa) used for the derivatives of the equation of state. - ! If negative (default), local pressure is used. -NDIFF_INTERIOR_ONLY = True ! [Boolean] default = False - ! If true, only applies neutral diffusion in the ocean interior.That is, the - ! algorithm will exclude the surface and bottomboundary layers. -NDIFF_TAPERING = False ! [Boolean] default = False - ! If true, neutral diffusion linearly decays to zero within a transition zone - ! defined using boundary layer depths. Only applicable when - ! NDIFF_INTERIOR_ONLY=True -NDIFF_USE_UNMASKED_TRANSPORT_BUG = False ! [Boolean] default = False - ! If true, use an older form for the accumulation of neutral-diffusion - ! transports that were unmasked, as used prior to Jan 2018. This is not - ! recommended. -NDIFF_ANSWER_DATE = 20240101 ! default = 20240101 - ! The vintage of the order of arithmetic to use for the neutral diffusion. - ! Values of 20240330 or below recover the answers from the original form of the - ! neutral diffusion code, while higher values use mathematically equivalent - ! expressions that recover rotational symmetry. ! === module MOM_hor_bnd_diffusion === ! This module implements horizontal diffusion of tracers near boundaries -USE_HORIZONTAL_BOUNDARY_DIFFUSION = True ! [Boolean] default = False +USE_HORIZONTAL_BOUNDARY_DIFFUSION = False ! [Boolean] default = False ! If true, enables the horizonal boundary tracer's diffusion module. -HBD_LINEAR_TRANSITION = True ! [Boolean] default = False - ! If True, apply a linear transition at the base/top of the boundary. - ! The flux will be fully applied at k=k_min and zero at k=k_max. -APPLY_LIMITER = True ! [Boolean] default = True - ! If True, apply a flux limiter in the native grid. -APPLY_LIMITER_REMAP = False ! [Boolean] default = False - ! If True, apply a flux limiter in the remapped grid. -HBD_BOUNDARY_EXTRAP = False ! [Boolean] default = False - ! Use boundary extrapolation in HBD code -HBD_REMAPPING_SCHEME = "PLM" ! default = "PLM" - ! This sets the reconstruction scheme used for vertical remapping for all - ! variables. It can be one of the following schemes: PCM (1st-order - ! accurate) - ! PLM (2nd-order accurate) - ! PLM_HYBGEN (2nd-order accurate) - ! PPM_H4 (3rd-order accurate) - ! PPM_IH4 (3rd-order accurate) - ! PPM_HYBGEN (3rd-order accurate) - ! WENO_HYBGEN (3rd-order accurate) - ! PQM_IH4IH3 (4th-order accurate) - ! PQM_IH6IH5 (5th-order accurate) -HBD_REMAPPING_USE_OM4_SUBCELLS = False ! [Boolean] default = True - ! If true, use the OM4 remapping-via-subcells algorithm for horizontal boundary - ! diffusion. See REMAPPING_USE_OM4_SUBCELLS for details. We recommend setting - ! this option to false. -HBD_DEBUG = False ! [Boolean] default = False - ! If true, write out verbose debugging data in the HBD module. OBSOLETE_DIAGNOSTIC_IS_FATAL = True ! [Boolean] default = True ! If an obsolete diagnostic variable appears in the diag_table, cause a FATAL ! error rather than issue a WARNING. @@ -2230,7 +2238,7 @@ LATENT_HEAT_FUSION = 3.337E+05 ! [J/kg] default = 3.34E+05 ! The latent heat of fusion. LATENT_HEAT_VAPORIZATION = 2.501E+06 ! [J/kg] default = 2.5E+06 ! The latent heat of fusion. -MAX_P_SURF = -1.0 ! [Pa] default = -1.0 +MAX_P_SURF = 0.0 ! [Pa] default = -1.0 ! The maximum surface pressure that can be exerted by the atmosphere and ! floating sea-ice or ice shelves. This is needed because the FMS coupling ! structure does not limit the water that can be frozen out of the ocean and the @@ -2298,14 +2306,23 @@ UTIDE = 0.0 ! [m s-1] default = 0.0 ! The constant tidal amplitude used with INT_TIDE_DISSIPATION. READ_GUST_2D = False ! [Boolean] default = False ! If true, use a 2-dimensional gustiness supplied from an input file -GUST_CONST = 0.02 ! [Pa] default = 0.0 +GUST_CONST = 0.0 ! [Pa] default = 0.0 ! The background gustiness in the winds. USTAR_GUSTLESS_BUG = False ! [Boolean] default = False ! If true include a bug in the time-averaging of the gustless wind friction ! velocity -USE_RIGID_SEA_ICE = False ! [Boolean] default = False +USE_RIGID_SEA_ICE = True ! [Boolean] default = False ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that ! resist vertical motion. +SEA_ICE_MEAN_DENSITY = 900.0 ! [kg m-3] default = 900.0 + ! A typical density of sea ice, used with the kinematic viscosity, when + ! USE_RIGID_SEA_ICE is true. +SEA_ICE_VISCOSITY = 1.0E+09 ! [m2 s-1] default = 1.0E+09 + ! The kinematic viscosity of sufficiently thick sea ice for use in calculating + ! the rigidity of sea ice. +SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0 + ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit + ! rigidity ALLOW_ICEBERG_FLUX_DIAGNOSTICS = False ! [Boolean] default = False ! If true, makes available diagnostics of fluxes from icebergs as seen by MOM6. ALLOW_FLUX_ADJUSTMENTS = False ! [Boolean] default = False @@ -2316,6 +2333,45 @@ LIQUID_RUNOFF_FROM_DATA = False ! [Boolean] default = False ! the component name 'OCN'. ! === module MOM_restart === +WAVE_INTERFACE_ANSWER_DATE = 20221231 ! default = 20221231 + ! The vintage of the order of arithmetic and expressions in the surface wave + ! calculations. Values below 20230101 recover the answers from the end of 2022, + ! while higher values use updated and more robust forms of the same expressions: + ! < 20230101 - Original answers for wave interface routines + ! >= 20230101 - More robust expressions for Update_Stokes_Drift + ! >= 20230102 - More robust expressions for get_StokesSL_LiFoxKemper + ! >= 20230103 - More robust expressions for ust_2_u10_coare3p5 +LA_DEPTH_RATIO = 0.04 ! [nondim] default = 0.04 + ! The depth (normalized by BLD) to average Stokes drift over in Langmuir number + ! calculation, where La = sqrt(ust/Stokes). +LA_DEPTH_MIN = 0.1 ! [m] default = 0.1 + ! The minimum depth over which to average the Stokes drift in the Langmuir + ! number calculation. +VISCOSITY_AIR = 1.0E-06 ! [m2 s-1] default = 1.0E-06 + ! A typical viscosity of air at sea level, as used in wave calculations +VON_KARMAN_WAVES = 0.4 ! [nondim] default = 0.4 + ! The value the von Karman constant as used for surface wave calculations. +RHO_AIR = 1.225 ! [kg m-3] default = 1.225 + ! A typical density of air at sea level, as used in wave calculations +RHO_SFC_WAVES = 1035.0 ! [kg m-3] default = 1035.0 + ! A typical surface density of seawater, as used in wave calculations in + ! comparison with the density of air. The default is RHO_0. +WAVE_HEIGHT_SCALE_FACTOR = 0.0246 ! [s2 m-1] default = 0.0246 + ! A factor relating the square of the 10 m wind speed to the significant wave + ! height, with a default value based on the Pierson-Moskowitz spectrum. +CHARNOCK_MIN = 0.028 ! [nondim] default = 0.028 + ! The minimum value of the Charnock coefficient, which relates the square of the + ! air friction velocity divided by the gravitational acceleration to the wave + ! roughness length. +CHARNOCK_SLOPE_U10 = 0.0017 ! [s m-1] default = 0.0017 + ! The partial derivative of the Charnock coefficient with the 10 m wind speed. + ! Note that in eq. 13 of the Edson et al. 2013 describing the COARE 3.5 bulk + ! flux algorithm, this slope is given as 0.017. However, 0.0017 reproduces the + ! curve in their figure 6, so that is the default value used in MOM6. +CHARNOCK_0_WIND_INTERCEPT = -0.005 ! [nondim] default = -0.005 + ! The intercept of the fit for the Charnock coefficient in the limit of no wind. + ! Note that this can be negative because CHARNOCK_MIN will keep the final value + ! for the Charnock coefficient from being from being negative. ! === module MOM_file_parser === SEND_LOG_TO_STDOUT = False ! [Boolean] default = False diff --git a/docs/MOM_parameter_doc.debugging b/docs/MOM_parameter_doc.debugging index 6c393b28..75ee5e53 100644 --- a/docs/MOM_parameter_doc.debugging +++ b/docs/MOM_parameter_doc.debugging @@ -77,6 +77,9 @@ DEBUG_BT = False ! [Boolean] default = False ! The following parameters are used for diabatic processes. DEBUG_CONSERVATION = False ! [Boolean] default = False ! If true, monitor conservation and extrema. + +! === module MOM_kappa_shear === +! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 WRITE_TRACER_MIN_MAX = False ! [Boolean] default = False ! If true, write the maximum and minimum values of temperature, salinity and ! some tracer concentrations to stdout when the energy files are written. diff --git a/docs/MOM_parameter_doc.short b/docs/MOM_parameter_doc.short index a3799ded..be85018a 100644 --- a/docs/MOM_parameter_doc.short +++ b/docs/MOM_parameter_doc.short @@ -9,11 +9,11 @@ THICKNESSDIFFUSE = True ! [Boolean] default = False THICKNESSDIFFUSE_FIRST = True ! [Boolean] default = False ! If true, do thickness diffusion or interface height smoothing before dynamics. ! This is only used if THICKNESSDIFFUSE or APPLY_INTERFACE_FILTER is true. -DT = 1080.0 ! [s] +DT = 900.0 ! [s] ! The (baroclinic) dynamics time step. The time-step that is actually used will ! be an integer fraction of the forcing time-step (DT_FORCING in ocean-only mode ! or the coupling timestep in coupled mode.) -DT_THERM = 1.08E+04 ! [s] default = 1080.0 +DT_THERM = 7200.0 ! [s] default = 900.0 ! The thermodynamic and tracer advection time step. Ideally DT_THERM should be ! an integer multiple of DT and less than the forcing or coupling time-step, ! unless THERMO_SPANS_COUPLING is true, in which case DT_THERM can be an integer @@ -28,7 +28,7 @@ HFREEZE = 10.0 ! [m] default = -1.0 ! melt potential is computed will be min(HFREEZE, OBLD), where OBLD is the ! boundary layer depth. If HFREEZE <= 0 (default), melt potential will not be ! computed. -DTBT_RESET_PERIOD = 0.0 ! [s] default = 1.08E+04 +DTBT_RESET_PERIOD = 0.0 ! [s] default = 7200.0 ! The period between recalculations of DTBT (if DTBT <= 0). If DTBT_RESET_PERIOD ! is negative, DTBT is set based only on information available at ! initialization. If 0, DTBT will be set every dynamics time step. The default @@ -44,6 +44,9 @@ C_P = 3992.0 ! [J kg-1 K-1] default = 3991.86795711963 ! The heat capacity of sea water, approximated as a constant. This is only used ! if ENABLE_THERMODYNAMICS is true. The default value is from the TEOS-10 ! definition of conservative temperature. +USE_PSURF_IN_EOS = False ! [Boolean] default = True + ! If true, always include the surface pressure contributions in equation of + ! state calculations. CHECK_BAD_SURFACE_VALS = True ! [Boolean] default = False ! If true, check the surface state for ridiculous values. BAD_VAL_SSH_MAX = 50.0 ! [m] default = 20.0 @@ -238,55 +241,20 @@ DIAG_COORD_DEF_Z = "FILE:ocean_vgrid.nc,interfaces=zeta" ! default = "WOA09" USE_MEKE = True ! [Boolean] default = False ! If true, turns on the MEKE scheme which calculates a sub-grid mesoscale eddy ! kinetic energy budget. -MEKE_GMCOEFF = 0.0 ! [nondim] default = -1.0 +MEKE_GMCOEFF = 1.0 ! [nondim] default = -1.0 ! The efficiency of the conversion of potential energy into MEKE by the ! thickness mixing parameterization. If MEKE_GMCOEFF is negative, this ! conversion is not used or calculated. -MEKE_GEOMETRIC = True ! [Boolean] default = False - ! If MEKE_GEOMETRIC is true, uses the GM coefficient formulation from the - ! GEOMETRIC framework (Marshall et al., 2012). -MEKE_EQUILIBRIUM_ALT = True ! [Boolean] default = False - ! If true, use an alternative formula for computing the (equilibrium)initial - ! value of MEKE. -MEKE_EQUILIBRIUM_RESTORING = True ! [Boolean] default = False - ! If true, restore MEKE back to its equilibrium value, which is calculated at - ! each time step. -MEKE_RESTORING_TIMESCALE = 1.0E+07 ! [s] default = 1.0E+06 - ! The timescale used to nudge MEKE toward its equilibrium value. -MEKE_VISC_DRAG = False ! [Boolean] default = True - ! If true, use the vertvisc_type to calculate the bottom drag acting on MEKE. -MEKE_KHTH_FAC = 1.0 ! [nondim] default = 0.0 - ! A factor that maps MEKE%Kh to KhTh. -MEKE_KHTR_FAC = 1.0 ! [nondim] default = 0.0 - ! A factor that maps MEKE%Kh to KhTr. -MEKE_KHMEKE_FAC = 0.5 ! [nondim] default = 0.0 +MEKE_BGSRC = 1.0E-13 ! [W kg-1] default = 0.0 + ! A background energy source for MEKE. +MEKE_KHMEKE_FAC = 1.0 ! [nondim] default = 0.0 ! A factor that maps MEKE%Kh to Kh for MEKE itself. -MEKE_MIN_LSCALE = True ! [Boolean] default = False - ! If true, use a strict minimum of provided length scales rather than harmonic - ! mean. -MEKE_VISCOSITY_COEFF_KU = 0.2 ! [nondim] default = 0.0 - ! If non-zero, is the scaling coefficient in the expression forviscosity used to - ! parameterize harmonic lateral momentum mixing byunresolved eddies represented - ! by MEKE. Can be negative torepresent backscatter from the unresolved eddies. -MEKE_ALPHA_DEFORM = 1.0 ! [nondim] default = 0.0 - ! If positive, is a coefficient weighting the deformation scale in the - ! expression for mixing length used in MEKE-derived diffusivity. -MEKE_ALPHA_RHINES = 1.0 ! [nondim] default = 0.0 +MEKE_ALPHA_RHINES = 0.15 ! [nondim] default = 0.0 ! If positive, is a coefficient weighting the Rhines scale in the expression for ! mixing length used in MEKE-derived diffusivity. -MEKE_ALPHA_EADY = 1.0 ! [nondim] default = 0.0 +MEKE_ALPHA_EADY = 0.15 ! [nondim] default = 0.0 ! If positive, is a coefficient weighting the Eady length scale in the ! expression for mixing length used in MEKE-derived diffusivity. -MEKE_ALPHA_FRICT = 1.0 ! [nondim] default = 0.0 - ! If positive, is a coefficient weighting the frictional arrest scale in the - ! expression for mixing length used in MEKE-derived diffusivity. -MEKE_ALPHA_GRID = 1.0 ! [nondim] default = 0.0 - ! If positive, is a coefficient weighting the grid-spacing as a scale in the - ! expression for mixing length used in MEKE-derived diffusivity. -MEKE_ADVECTION_FACTOR = 1.0 ! [nondim] default = 0.0 - ! A scale factor in front of advection of eddy energy. Zero turns advection off. - ! Using unity would be normal but other values could accommodate a mismatch - ! between the advecting barotropic flow and the vertical structure of MEKE. ! === module MOM_lateral_mixing_coeffs === USE_VARIABLE_MIXING = True ! [Boolean] default = False @@ -300,19 +268,13 @@ RESOLN_SCALED_KH = True ! [Boolean] default = False RESOLN_SCALED_KHTH = True ! [Boolean] default = False ! If true, the interface depth diffusivity is scaled away when the first ! baroclinic deformation radius is well resolved. -KHTH_USE_EBT_STRUCT = True ! [Boolean] default = False - ! If true, uses the equivalent barotropic structure as the vertical structure of - ! thickness diffusivity. -KHTH_SLOPE_CFF = 0.01 ! [nondim] default = 0.0 - ! The nondimensional coefficient in the Visbeck formula for the interface depth +KHTR_SLOPE_CFF = 0.25 ! [nondim] default = 0.0 + ! The nondimensional coefficient in the Visbeck formula for the epipycnal tracer ! diffusivity USE_STORED_SLOPES = True ! [Boolean] default = False ! If true, the isopycnal slopes are calculated once and stored for re-use. This ! uses more memory but avoids calling the equation of state more times than ! should be necessary. -KH_RES_SCALE_COEF = 0.4 ! [nondim] default = 1.0 - ! A coefficient that determines how KhTh is scaled away if RESOLN_SCALED_... is - ! true, as F = 1 / (1 + (KH_RES_SCALE_COEF*Rd/dx)^KH_RES_FN_POWER). EBT_REMAPPING_USE_OM4_SUBCELLS = False ! [Boolean] default = True ! If true, use the OM4 remapping-via-subcells algorithm for calculating EBT ! structure. See REMAPPING_USE_OM4_SUBCELLS for details. We recommend setting @@ -336,19 +298,16 @@ BBL_THICK_MIN = 0.1 ! [m] default = 0.0 ! The minimum bottom boundary layer thickness that can be used with ! BOTTOMDRAGLAW. This might be Kv/(cdrag*drag_bg_vel) to give Kv as the minimum ! near-bottom viscosity. -KV = 1.0E-04 ! [m2 s-1] +KV = 0.0 ! [m2 s-1] ! The background kinematic viscosity in the interior. The molecular value, ~1e-6 ! m2 s-1, may be used. ! === module MOM_thickness_diffuse === -KHTH_USE_FGNV_STREAMFUNCTION = True ! [Boolean] default = False - ! If true, use the streamfunction formulation of Ferrari et al., 2010, which - ! effectively emphasizes graver vertical modes by smoothing in the vertical. -FGNV_C_MIN = 0.01 ! [m s-1] default = 0.0 - ! A minium wave speed used in the Ferrari et al., 2010, streamfunction - ! formulation. -USE_KH_IN_MEKE = True ! [Boolean] default = False - ! If true, uses the thickness diffusivity calculated here to diffuse MEKE. +KHTH_MAX_CFL = 0.1 ! [nondimensional] default = 0.8 + ! The maximum value of the local diffusive CFL ratio that is permitted for the + ! thickness diffusivity. 1.0 is the marginally unstable value in a pure layered + ! model, but much smaller numbers (e.g. 0.1) seem to work better for ALE-based + ! models. ! === module MOM_dynamics_split_RK2 === VISC_REM_BUG = False ! [Boolean] default = True @@ -364,9 +323,6 @@ ETA_TOLERANCE = 1.0E-06 ! [m] default = 3.75E-09 ! total tolerance for SSH is 4 times this value. The default is ! 0.5*NK*ANGSTROM, and this should not be set less than about ! 10^-15*MAXIMUM_DEPTH. -VELOCITY_TOLERANCE = 1.0E-04 ! [m s-1] default = 3.0E+08 - ! The tolerance for barotropic velocity discrepancies between the barotropic - ! solution and the sum of the layer thicknesses. ! === module MOM_CoriolisAdv === BOUND_CORIOLIS = True ! [Boolean] default = False @@ -387,10 +343,12 @@ MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False ! === module MOM_hor_visc === LAPLACIAN = True ! [Boolean] default = False ! If true, use a Laplacian horizontal viscosity. -AH = 1.0E+12 ! [m4 s-1] default = 0.0 - ! The background biharmonic horizontal viscosity. -LEITH_AH = True ! [Boolean] default = False - ! If true, use a biharmonic Leith nonlinear eddy viscosity. +AH_VEL_SCALE = 0.01 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the cube of the grid spacing to + ! calculate the biharmonic viscosity. The final viscosity is the largest of this + ! scaled viscosity, the Smagorinsky and Leith viscosities, and AH. +SMAGORINSKY_AH = True ! [Boolean] default = False + ! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity. BACKSCATTER_UNDERBOUND = False ! [Boolean] default = True ! If true, the bounds on the biharmonic viscosity are allowed to increase where ! the Laplacian viscosity is negative (due to backscatter parameterizations) @@ -398,9 +356,8 @@ BACKSCATTER_UNDERBOUND = False ! [Boolean] default = True ! when no Laplacian viscosity is applied. The default is true for historical ! reasons, but this option probably should not be used because it can contribute ! to numerical instabilities. -LEITH_BI_CONST = 128.0 ! [nondim] default = 0.0 - ! The nondimensional biharmonic Leith constant, typical values are thus far - ! undetermined. +SMAG_BI_CONST = 0.06 ! [nondim] default = 0.0 + ! The nondimensional biharmonic Smagorinsky constant, typically 0.015 - 0.06. FRICTWORK_BUG = False ! [Boolean] default = True ! If true, retain an answer-changing bug in calculating the FrictWork, which ! cancels the h in thickness flux and the h at velocity point. This isnot @@ -432,7 +389,7 @@ BEBT = 0.2 ! [nondim] default = 0.1 ! from 0 (for a forward-backward treatment of nonrotating gravity waves) to 1 ! (for a backward Euler treatment). In practice, BEBT must be greater than about ! 0.05. -DTBT = -0.95 ! [s or nondim] default = -0.98 +DTBT = -0.9 ! [s or nondim] default = -0.98 ! The barotropic time step, in s. DTBT is only used with the split explicit time ! stepping. To set the time step automatically based the maximum stable value ! use 0, or a negative value gives the fraction of the stable value. Setting @@ -445,24 +402,30 @@ MIXEDLAYER_RESTRAT = True ! [Boolean] default = False ! mixed layer. Can be used in ALE mode without restriction but in layer mode can ! only be used if BULKMIXEDLAYER is true. MLE% +USE_BODNER23 = True ! [Boolean] default = False + ! If true, use the Bodner et al., 2023, formulation of the re-stratifying + ! mixed-layer restratification parameterization. This only works in ALE mode. +CR = 0.0175 ! [nondim] default = 0.0 + ! The efficiency coefficient in eq 27 of Bodner et al., 2023. +BLD_DECAYING_TFILTER = 8.64E+04 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the boundary layer depth + ! (BLD) when the BLD is shallower than the running mean. A value of 0 + ! instantaneously sets the running mean to the current value of BLD. +MLD_DECAYING_TFILTER = 2.592E+06 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the time-filtered BLD, + ! when the latter is shallower than the running mean. A value of 0 + ! instantaneously sets the running mean to the current value filtered BLD. +MIN_WSTAR2 = 1.0E-09 ! [m2 s-2] default = 1.0E-24 + ! The minimum lower bound to apply to the vertical momentum flux, w'u', in the + ! Bodner et al., restratification parameterization. This avoids a + ! division-by-zero in the limit when u* and the buoyancy flux are zero. The + ! default is less than the molecular viscosity of water times the Coriolis + ! parameter a micron away from the equator. %MLE -FOX_KEMPER_ML_RESTRAT_COEF = 1.0 ! [nondim] default = 0.0 - ! A nondimensional coefficient that is proportional to the ratio of the - ! deformation radius to the dominant lengthscale of the submesoscale mixed layer - ! instabilities, times the minimum of the ratio of the mesoscale eddy kinetic - ! energy to the large-scale geostrophic kinetic energy or 1 plus the square of - ! the grid spacing over the deformation radius, as detailed by Fox-Kemper et al. - ! (2011) -MLE_FRONT_LENGTH = 1000.0 ! [m] default = 0.0 - ! If non-zero, is the frontal-length scale used to calculate the upscaling of - ! buoyancy gradients that is otherwise represented by the parameter - ! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended - ! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. -MLE_MLD_DECAY_TIME = 3.456E+05 ! [s] default = 0.0 - ! The time-scale for a running-mean filter applied to the mixed-layer depth used - ! in the MLE restratification parameterization. When the MLD deepens below the - ! current running-mean the running-mean is instantaneously set to the current - ! MLD. +MLE_USE_PBL_MLD = True ! [Boolean] default = False + ! If true, the MLE parameterization will use the mixed-layer depth provided by + ! the active PBL parameterization. If false, MLE will estimate a MLD based on a + ! density difference with the surface using the parameter MLE_DENSITY_DIFF. ! === module MOM_diagnostics === INTWAVE_REMAPPING_USE_OM4_SUBCELLS = False ! [Boolean] default = True @@ -475,39 +438,17 @@ INTWAVE_REMAPPING_USE_OM4_SUBCELLS = False ! [Boolean] default = True USE_LEGACY_DIABATIC_DRIVER = False ! [Boolean] default = True ! If true, use a legacy version of the diabatic subroutine. This is temporary ! and is needed to avoid change in answers. - -! === module MOM_CVMix_KPP === -! This is the MOM wrapper to CVMix:KPP -! See http://cvmix.github.io/ -USE_KPP = True ! [Boolean] default = False - ! If true, turns on the [CVMix] KPP scheme of Large et al., 1994, to calculate - ! diffusivities and non-local transport in the OBL. -KPP% -N_SMOOTH = 3 ! default = 0 - ! The number of times the 1-1-4-1-1 Laplacian filter is applied on OBL depth. -MATCH_TECHNIQUE = "MatchGradient" ! default = "SimpleShapes" - ! CVMix method to set profile function for diffusivity and NLT, as well as - ! matching across OBL base. Allowed values are: - ! SimpleShapes = sigma*(1-sigma)^2 for both diffusivity and NLT - ! MatchGradient = sigma*(1-sigma)^2 for NLT; diffusivity profile from - ! matching - ! MatchBoth = match gradient for both diffusivity and NLT - ! ParabolicNonLocal = sigma*(1-sigma)^2 for diffusivity; (1-sigma)^2 for NLT -KPP_IS_ADDITIVE = False ! [Boolean] default = True - ! If true, adds KPP diffusivity to diffusivity from other schemes. - ! If false, KPP is the only diffusivity wherever KPP is non-zero. -%KPP - -! === module MOM_CVMix_conv === -! Parameterization of enhanced mixing due to convection via CVMix -USE_CVMix_CONVECTION = True ! [Boolean] default = False - ! If true, turns on the enhanced mixing due to convection via CVMix. This scheme - ! increases diapycnal diffs./viscs. at statically unstable interfaces. Relevant - ! parameters are contained in the CVMix_CONVECTION% parameter block. -CVMix_CONVECTION% -%CVMix_CONVECTION +ENERGETICS_SFC_PBL = True ! [Boolean] default = False + ! If true, use an implied energetics planetary boundary layer scheme to + ! determine the diffusivity and viscosity in the surface boundary layer. +EPBL_IS_ADDITIVE = False ! [Boolean] default = True + ! If true, the diffusivity from ePBL is added to all other diffusivities. + ! Otherwise, the larger of kappa-shear and ePBL diffusivities are used. ! === module MOM_set_diffusivity === +BBL_EFFIC = 0.01 ! [nondim] default = 0.2 + ! The efficiency with which the energy extracted by bottom drag drives BBL + ! diffusion. This is only used if BOTTOMDRAGLAW is true. BBL_MIXING_AS_MAX = False ! [Boolean] default = True ! If true, take the maximum of the diffusivity from the BBL mixing and the other ! diffusivities. Otherwise, diffusivity from the BBL_mixing is simply added. @@ -518,30 +459,41 @@ USE_LOTW_BBL_DIFFUSIVITY = True ! [Boolean] default = False ! === module MOM_bkgnd_mixing === ! Adding static vertical background mixing coefficients -PRANDTL_BKGND = 5.0 ! [nondim] default = 1.0 - ! Turbulent Prandtl number used to convert vertical background diffusivities - ! into viscosities. +KD = 1.5E-05 ! [m2 s-1] default = 0.0 + ! The background diapycnal diffusivity of density in the interior. Zero or the + ! molecular value, ~1e-7 m2 s-1, may be used. +KD_MIN = 2.0E-06 ! [m2 s-1] default = 1.5E-07 + ! The minimum diapycnal diffusivity. +HENYEY_IGW_BACKGROUND = True ! [Boolean] default = False + ! If true, use a latitude-dependent scaling for the near surface background + ! diffusivity, as described in Harrison & Hallberg, JPO 2008. +HENYEY_MAX_LAT = 73.0 ! [degN] default = 95.0 + ! A latitude poleward of which the Henyey profile is returned to the minimum + ! diffusivity KD_MAX = 0.1 ! [m2 s-1] default = -1.0 ! The maximum permitted increment for the diapycnal diffusivity from TKE-based ! parameterizations, or a negative value for no limit. - -! === module MOM_CVMix_shear === -! Parameterization of shear-driven turbulence via CVMix (various options) -USE_LMD94 = True ! [Boolean] default = False - ! If true, use the Large-McWilliams-Doney (JGR 1994) shear mixing +DOUBLE_DIFFUSION = True ! [Boolean] default = False + ! If true, increase diffusivites for temperature or salinity based on the + ! double-diffusive parameterization described in Large et al. (1994). +MAX_RRHO_SALT_FINGERS = 2.55 ! [nondim] default = 1.9 + ! Maximum density ratio for salt fingering regime. + +! === module MOM_kappa_shear === +! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 +USE_JACKSON_PARAM = True ! [Boolean] default = False + ! If true, use the Jackson-Hallberg-Legg (JPO 2008) shear mixing ! parameterization. -N_SMOOTH_RI = 1 ! default = 0 - ! If > 0, vertically smooth the Richardson number by applying a 1-2-1 filter - ! N_SMOOTH_RI times. - -! === module MOM_CVMix_ddiff === -! Parameterization of mixing due to double diffusion processes via CVMix -USE_CVMIX_DDIFF = True ! [Boolean] default = False - ! If true, turns on double diffusive processes via CVMix. Note that double - ! diffusive processes on viscosity are ignored in CVMix, see - ! http://cvmix.github.io/ for justification. -CVMIX_DDIFF% -%CVMIX_DDIFF +VERTEX_SHEAR = True ! [Boolean] default = False + ! If true, do the calculations of the shear-driven mixing at the cell vertices + ! (i.e., the vorticity points). +MAX_RINO_IT = 25 ! [nondim] default = 50 + ! The maximum number of iterations that may be used to estimate the Richardson + ! number driven mixing. +USE_RESTRICTIVE_TOLERANCE_CHECK = True ! [Boolean] default = False + ! If true, uses the more restrictive tolerance check to determine if a timestep + ! is acceptable for the KS_it outer iteration loop. False uses the original + ! less restrictive check. ! === module MOM_diabatic_aux === ! The following parameters are used for auxiliary diabatic processes. @@ -550,6 +502,67 @@ PRESSURE_DEPENDENT_FRAZIL = True ! [Boolean] default = False ! default is false, which will be faster but is inappropriate with ice-shelf ! cavities. +! === module MOM_energetic_PBL === +ML_OMEGA_FRAC = 0.001 ! [nondim] default = 0.0 + ! When setting the decay scale for turbulence, use this fraction of the absolute + ! rotation rate blended with the local value of f, as sqrt((1-of)*f^2 + + ! of*4*omega^2). +TKE_DECAY = 0.01 ! [nondim] default = 2.5 + ! TKE_DECAY relates the vertical rate of decay of the TKE available for + ! mechanical entrainment to the natural Ekman depth. +EPBL_MSTAR_SCHEME = "OM4" ! default = "CONSTANT" + ! EPBL_MSTAR_SCHEME selects the method for setting mstar. Valid values are: + ! CONSTANT - Use a fixed mstar given by MSTAR + ! OM4 - Use L_Ekman/L_Obukhov in the stabilizing limit, as in OM4 + ! REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018. +MSTAR_CAP = 1.25 ! [nondim] default = -1.0 + ! If this value is positive, it sets the maximum value of mstar allowed in ePBL. + ! (This is not used if EPBL_MSTAR_SCHEME = CONSTANT). +MSTAR2_COEF1 = 0.29 ! [nondim] default = 0.3 + ! Coefficient in computing mstar when rotation and stabilizing effects are both + ! important (used if EPBL_MSTAR_SCHEME = OM4). +MSTAR2_COEF2 = 0.152 ! [nondim] default = 0.085 + ! Coefficient in computing mstar when only rotation limits the total mixing + ! (used if EPBL_MSTAR_SCHEME = OM4) +NSTAR = 0.06 ! [nondim] default = 0.2 + ! The portion of the buoyant potential energy imparted by surface fluxes that is + ! available to drive entrainment at the base of mixed layer when that energy is + ! positive. +MSTAR_CONV_ADJ = 0.667 ! [nondim] default = 0.0 + ! Coefficient used for reducing mstar during convection due to reduction of + ! stable density gradient. +EPBL_TRANSITION_SCALE = 0.01 ! [nondim] default = 0.1 + ! A scale for the mixing length in the transition layer at the edge of the + ! boundary layer as a fraction of the boundary layer thickness. +MIX_LEN_EXPONENT = 1.0 ! [nondim] default = 2.0 + ! The exponent applied to the ratio of the distance to the MLD and the MLD depth + ! which determines the shape of the mixing length. This is only used if + ! USE_MLD_ITERATION is True. +USE_LA_LI2016 = True ! [Boolean] default = False + ! A logical to use the Li et al. 2016 (submitted) formula to determine the + ! Langmuir number. +EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" + ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence. + ! Valid values are: + ! NONE - Do not do any extra mixing due to Langmuir turbulence + ! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir + ! turbulence + ! ADDITIVE - Add a Langmuir turblence contribution to mstar to other + ! contributions +LT_ENHANCE_COEF = 0.044 ! [nondim] default = 0.447 + ! Coefficient for Langmuir enhancement of mstar +LT_ENHANCE_EXP = -1.5 ! [nondim] default = -1.33 + ! Exponent for Langmuir enhancementt of mstar +LT_MOD_LAC1 = 0.0 ! [nondim] default = -0.87 + ! Coefficient for modification of Langmuir number due to MLD approaching Ekman + ! depth. +LT_MOD_LAC4 = 0.0 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! stable Obukhov depth. +LT_MOD_LAC5 = 0.22 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! unstable Obukhov depth. + ! === module MOM_opacity === PEN_SW_SCALE = 15.0 ! [m] default = 0.0 ! The vertical absorption e-folding depth of the penetrating shortwave @@ -565,36 +578,10 @@ TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM" ! PPM - Piecewise Parabolic Method (Colella-Woodward) ! === module MOM_tracer_hor_diff === -KHTR_MIN = 50.0 ! [m2 s-1] default = 0.0 - ! The minimum along-isopycnal tracer diffusivity. CHECK_DIFFUSIVE_CFL = True ! [Boolean] default = False ! If true, use enough iterations the diffusion to ensure that the diffusive ! equivalent of the CFL limit is not violated. If false, always use the greater ! of 1 or MAX_TR_DIFFUSION_CFL iteration. -MAX_TR_DIFFUSION_CFL = 2.0 ! [nondim] default = -1.0 - ! If positive, locally limit the along-isopycnal tracer diffusivity to keep the - ! diffusive CFL locally at or below this value. The number of diffusive - ! iterations is often this value or the next greater integer. - -! === module MOM_neutral_diffusion === -! This module implements neutral diffusion of tracers -USE_NEUTRAL_DIFFUSION = True ! [Boolean] default = False - ! If true, enables the neutral diffusion module. -NDIFF_INTERIOR_ONLY = True ! [Boolean] default = False - ! If true, only applies neutral diffusion in the ocean interior.That is, the - ! algorithm will exclude the surface and bottomboundary layers. - -! === module MOM_hor_bnd_diffusion === -! This module implements horizontal diffusion of tracers near boundaries -USE_HORIZONTAL_BOUNDARY_DIFFUSION = True ! [Boolean] default = False - ! If true, enables the horizonal boundary tracer's diffusion module. -HBD_LINEAR_TRANSITION = True ! [Boolean] default = False - ! If True, apply a linear transition at the base/top of the boundary. - ! The flux will be fully applied at k=k_min and zero at k=k_max. -HBD_REMAPPING_USE_OM4_SUBCELLS = False ! [Boolean] default = True - ! If true, use the OM4 remapping-via-subcells algorithm for horizontal boundary - ! diffusion. See REMAPPING_USE_OM4_SUBCELLS for details. We recommend setting - ! this option to false. ! === module MOM_sum_output === MAXTRUNC = 10000 ! [truncations save_interval-1] default = 0 @@ -621,6 +608,12 @@ LATENT_HEAT_FUSION = 3.337E+05 ! [J/kg] default = 3.34E+05 ! The latent heat of fusion. LATENT_HEAT_VAPORIZATION = 2.501E+06 ! [J/kg] default = 2.5E+06 ! The latent heat of fusion. +MAX_P_SURF = 0.0 ! [Pa] default = -1.0 + ! The maximum surface pressure that can be exerted by the atmosphere and + ! floating sea-ice or ice shelves. This is needed because the FMS coupling + ! structure does not limit the water that can be frozen out of the ocean and the + ! ice-ocean heat fluxes are treated explicitly. No limit is applied if a + ! negative value is used. ADJUST_NET_FRESH_WATER_TO_ZERO = True ! [Boolean] default = False ! If true, adjusts the net fresh-water forcing seen by the ocean (including ! restoring) to zero. @@ -638,5 +631,9 @@ SALT_RESTORE_FILE = "salt_sfc_restore.nc" ! default = "salt_restore.nc" SRESTORE_AS_SFLUX = True ! [Boolean] default = False ! If true, the restoring of salinity is applied as a salt flux instead of as a ! freshwater flux. -GUST_CONST = 0.02 ! [Pa] default = 0.0 - ! The background gustiness in the winds. +USE_RIGID_SEA_ICE = True ! [Boolean] default = False + ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that + ! resist vertical motion. +SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0 + ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit + ! rigidity diff --git a/docs/available_diags.000000 b/docs/available_diags.000000 index 21fc659a..b3a7c50c 100644 --- a/docs/available_diags.000000 +++ b/docs/available_diags.000000 @@ -253,11 +253,6 @@ ! long_name: Meridional diffusivity of MEKE ! units: m2 s-1 ! cell_methods: xh:mean yq:point -"MEKE_equilibrium" [Unused] - ! modules: {ocean_model,ocean_model_d2} - ! long_name: Equilibrated Mesoscale Eddy Kinetic Energy - ! units: m2 s-2 - ! cell_methods: xh:mean yh:mean area:mean "SN_u" [Unused] ! modules: {ocean_model,ocean_model_d2} ! long_name: Inverse eddy time-scale, S*N, at u-points @@ -284,12 +279,6 @@ ! units: nondim ! cell_methods: xh:mean yh:mean zl:mean area:mean ! variants: {sqg_struct,sqg_struct_xyave} -"khth_struct" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Vertical structure of thickness diffusivity - ! units: nondim - ! cell_methods: xh:mean yh:mean zl:mean area:mean - ! variants: {khth_struct,khth_struct_xyave} "N2_u" [Unused] ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} ! long_name: Square of Brunt-Vaisala frequency, N^2, at u-points, as used in Visbeck et al. @@ -1461,6 +1450,26 @@ ! long_name: Surface meridional velocity component of mixed layer restratification ! units: m s-1 ! cell_methods: xh:mean yq:point +"MLE_wpup" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Vertical turbulent momentum flux in Bodner mixed layer restratification parameterization + ! units: m2 s-2 + ! cell_methods: xh:mean yh:mean area:mean +"MLE_ustar" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Surface turbulent friction velocity, u*, in Bodner mixed layer restratification parameterization + ! units: m s-1 + ! cell_methods: xh:mean yh:mean area:mean +"MLE_bflux" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Surface buoyancy flux, B0, in Bodner mixed layer restratification parameterization + ! units: m2 s-3 + ! cell_methods: xh:mean yh:mean area:mean +"lf_bodner" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Front length in Bodner mixed layer restratificiation parameterization + ! units: m + ! cell_methods: xh:mean yh:mean area:mean "masscello" [Unused] ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} ! long_name: Mass per unit area of liquid ocean grid cell @@ -1986,6 +1995,12 @@ ! units: m2 s-1 ! cell_methods: xh:mean yh:mean zi:point area:mean ! variants: {Kd_interface,Kd_interface_xyave} +"Kd_ePBL" [Unused] + ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} + ! long_name: ePBL diapycnal diffusivity at interfaces + ! units: m2 s-1 + ! cell_methods: xh:mean yh:mean zi:point area:mean + ! variants: {Kd_ePBL,Kd_ePBL_xyave} "Kd_heat" [Unused] (CMOR equivalent is "difvho") ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} ! long_name: Total diapycnal diffusivity for heat at interfaces @@ -1998,150 +2013,6 @@ ! units: m2 s-1 ! cell_methods: xh:mean yh:mean zi:point area:mean ! variants: {Kd_salt,Kd_salt_xyave,difvso,difvso_xyave} -"KPP_OBLdepth" [Unused] (CMOR equivalent is "oml") - ! modules: {ocean_model,ocean_model_d2} - ! long_name: Thickness of the surface Ocean Boundary Layer calculated by [CVMix] KPP - ! units: meter - ! cell_methods: xh:mean yh:mean area:mean - ! variants: {KPP_OBLdepth,oml} -"KPP_OBLdepth_original" [Unused] (CMOR equivalent is "oml") - ! modules: {ocean_model,ocean_model_d2} - ! long_name: Thickness of the surface Ocean Boundary Layer without smoothing calculated by [CVMix] KPP - ! units: meter - ! cell_methods: xh:mean yh:mean area:mean - ! variants: {KPP_OBLdepth_original,oml} -"KPP_BulkDrho" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Bulk difference in density used in Bulk Richardson number, as used by [CVMix] KPP - ! units: kg/m3 - ! cell_methods: xh:mean yh:mean zl:mean area:mean - ! variants: {KPP_BulkDrho,KPP_BulkDrho_xyave} -"KPP_BulkUz2" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Square of bulk difference in resolved velocity used in Bulk Richardson number via [CVMix] KPP - ! units: m2/s2 - ! cell_methods: xh:mean yh:mean zl:mean area:mean - ! variants: {KPP_BulkUz2,KPP_BulkUz2_xyave} -"KPP_BulkRi" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Bulk Richardson number used to find the OBL depth used by [CVMix] KPP - ! units: nondim - ! cell_methods: xh:mean yh:mean zl:mean area:mean - ! variants: {KPP_BulkRi,KPP_BulkRi_xyave} -"KPP_sigma" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Sigma coordinate used by [CVMix] KPP - ! units: nondim - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {KPP_sigma,KPP_sigma_xyave} -"KPP_Ws" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Turbulent vertical velocity scale for scalars used by [CVMix] KPP - ! units: m/s - ! cell_methods: xh:mean yh:mean zl:mean area:mean - ! variants: {KPP_Ws,KPP_Ws_xyave} -"KPP_N" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: (Adjusted) Brunt-Vaisala frequency used by [CVMix] KPP - ! units: 1/s - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {KPP_N,KPP_N_xyave} -"KPP_N2" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Square of Brunt-Vaisala frequency used by [CVMix] KPP - ! units: 1/s2 - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {KPP_N2,KPP_N2_xyave} -"KPP_Vt2" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Unresolved shear turbulence used by [CVMix] KPP - ! units: m2/s2 - ! cell_methods: xh:mean yh:mean zl:mean area:mean - ! variants: {KPP_Vt2,KPP_Vt2_xyave} -"KPP_uStar" [Unused] - ! modules: {ocean_model,ocean_model_d2} - ! long_name: Friction velocity, u*, as used by [CVMix] KPP - ! units: m/s - ! cell_methods: xh:mean yh:mean area:mean -"KPP_buoyFlux" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Surface (and penetrating) buoyancy flux, as used by [CVMix] KPP - ! units: m2/s3 - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {KPP_buoyFlux,KPP_buoyFlux_xyave} -"KPP_Kheat" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Heat diffusivity due to KPP, as calculated by [CVMix] KPP - ! units: m2/s - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {KPP_Kheat,KPP_Kheat_xyave} -"KPP_Kd_in" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Diffusivity passed to KPP - ! units: m2/s - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {KPP_Kd_in,KPP_Kd_in_xyave} -"KPP_Ksalt" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Salt diffusivity due to KPP, as calculated by [CVMix] KPP - ! units: m2/s - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {KPP_Ksalt,KPP_Ksalt_xyave} -"KPP_Kv" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Vertical viscosity due to KPP, as calculated by [CVMix] KPP - ! units: m2/s - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {KPP_Kv,KPP_Kv_xyave} -"KPP_NLtransport_heat" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Non-local transport (Cs*G(sigma)) for heat, as calculated by [CVMix] KPP - ! units: nondim - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {KPP_NLtransport_heat,KPP_NLtransport_heat_xyave} -"KPP_NLtransport_salt" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Non-local tranpsort (Cs*G(sigma)) for scalars, as calculated by [CVMix] KPP - ! units: nondim - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {KPP_NLtransport_salt,KPP_NLtransport_salt_xyave} -"KPP_Tsurf" [Unused] - ! modules: {ocean_model,ocean_model_d2} - ! long_name: Temperature of surface layer (10% of OBL depth) as passed to [CVMix] KPP - ! units: C - ! cell_methods: xh:mean yh:mean area:mean -"KPP_Ssurf" [Unused] - ! modules: {ocean_model,ocean_model_d2} - ! long_name: Salinity of surface layer (10% of OBL depth) as passed to [CVMix] KPP - ! units: ppt - ! cell_methods: xh:mean yh:mean area:mean -"KPP_Usurf" [Unused] - ! modules: {ocean_model,ocean_model_d2} - ! long_name: i-component flow of surface layer (10% of OBL depth) as passed to [CVMix] KPP - ! units: m/s - ! cell_methods: xq:point yh:mean -"KPP_Vsurf" [Unused] - ! modules: {ocean_model,ocean_model_d2} - ! long_name: j-component flow of surface layer (10% of OBL depth) as passed to [CVMix] KPP - ! units: m/s - ! cell_methods: xh:mean yq:point -"EnhK" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Langmuir number enhancement to K as used by [CVMix] KPP - ! units: nondim - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {EnhK,EnhK_xyave} -"EnhVt2" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Langmuir number enhancement to Vt2 as used by [CVMix] KPP - ! units: nondim - ! cell_methods: xh:mean yh:mean zl:mean area:mean - ! variants: {EnhVt2,EnhVt2_xyave} -"KPP_La_SL" [Unused] - ! modules: {ocean_model,ocean_model_d2} - ! long_name: Surface-layer Langmuir number computed in [CVMix] KPP - ! units: nondim - ! cell_methods: xh:mean yh:mean area:mean "diabatic_diff_h" [Unused] ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} ! long_name: Cell thickness used during diabatic diffusion @@ -2254,24 +2125,6 @@ ! long_name: Depth integrated heat tendency due to frazil formation ! units: W m-2 ! cell_methods: xh:mean yh:mean area:mean -"N2_conv" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Square of Brunt-Vaisala frequency used by MOM_CVMix_conv module - ! units: 1/s2 - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {N2_conv,N2_conv_xyave} -"kd_conv" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Additional diffusivity added by MOM_CVMix_conv module - ! units: m2/s - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {kd_conv,kd_conv_xyave} -"kv_conv" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Additional viscosity added by MOM_CVMix_conv module - ! units: m2/s - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {kv_conv,kv_conv_xyave} "Kd_BBL" [Unused] ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} ! long_name: Bottom Boundary Layer Diffusivity @@ -2296,42 +2149,18 @@ ! units: m2 s-1 ! cell_methods: xh:mean yh:mean zl:mean area:mean ! variants: {Kd_layer,Kd_layer_xyave} -"N2_shear" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Square of Brunt-Vaisala frequency used by MOM_CVMix_shear module - ! units: 1/s2 - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {N2_shear,N2_shear_xyave} -"S2_shear" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Square of vertical shear used by MOM_CVMix_shear module - ! units: 1/s2 - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {S2_shear,S2_shear_xyave} -"ri_grad_shear" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Gradient Richarson number used by MOM_CVMix_shear module - ! units: nondim - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {ri_grad_shear,ri_grad_shear_xyave} -"ri_grad_shear_orig" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Original gradient Richarson number, before smoothing was applied. This is part of the MOM_CVMix_shear module and only available when N_SMOOTH_RI > 0 - ! units: nondim - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {ri_grad_shear_orig,ri_grad_shear_orig_xyave} -"kd_shear_CVMix" [Unused] +"Kd_shear" [Unused] ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Vertical diffusivity added by MOM_CVMix_shear module - ! units: m2/s + ! long_name: Shear-driven Diapycnal Diffusivity + ! units: m2 s-1 ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {kd_shear_CVMix,kd_shear_CVMix_xyave} -"kv_shear_CVMix" [Unused] + ! variants: {Kd_shear,Kd_shear_xyave} +"TKE_shear" [Unused] ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Vertical viscosity added by MOM_CVMix_shear module - ! units: m2/s + ! long_name: Shear-driven Turbulent Kinetic Energy + ! units: m2 s-2 ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {kv_shear_CVMix,kv_shear_CVMix_xyave} + ! variants: {TKE_shear,TKE_shear_xyave} "KT_extra" [Unused] ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} ! long_name: Double-diffusive diffusivity for temperature @@ -2344,12 +2173,6 @@ ! units: m2 s-1 ! cell_methods: xh:mean yh:mean zi:point area:mean ! variants: {KS_extra,KS_extra_xyave} -"R_rho" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Double-diffusion density ratio - ! units: nondim - ! cell_methods: xh:mean yh:mean zi:point area:mean - ! variants: {R_rho,R_rho_xyave} "created_H" [Unused] ! modules: {ocean_model,ocean_model_d2} ! long_name: The volume flux added to stop the ocean from drying out and becoming negative in depth @@ -2375,6 +2198,83 @@ ! units: W m-2 ! standard_name: nondownwelling_shortwave_flux_in_sea_water ! cell_methods: xh:mean yh:mean area:mean +"ePBL_h_ML" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Surface boundary layer depth + ! units: m + ! cell_methods: xh:mean yh:mean area:mean +"h_ML" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Surface mixed layer depth based on active turbulence + ! units: m + ! cell_methods: xh:mean yh:mean area:mean +"ePBL_TKE_wind" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Wind-stirring source of mixed layer TKE + ! units: W m-2 + ! cell_methods: xh:mean yh:mean area:mean +"ePBL_TKE_MKE" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Mean kinetic energy source of mixed layer TKE + ! units: W m-2 + ! cell_methods: xh:mean yh:mean area:mean +"ePBL_TKE_conv" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Convective source of mixed layer TKE + ! units: W m-2 + ! cell_methods: xh:mean yh:mean area:mean +"ePBL_TKE_forcing" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: TKE consumed by mixing surface forcing or penetrative shortwave radation through model layers + ! units: W m-2 + ! cell_methods: xh:mean yh:mean area:mean +"ePBL_TKE_mixing" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: TKE consumed by mixing that deepens the mixed layer + ! units: W m-2 + ! cell_methods: xh:mean yh:mean area:mean +"ePBL_TKE_mech_decay" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Mechanical energy decay sink of mixed layer TKE + ! units: W m-2 + ! cell_methods: xh:mean yh:mean area:mean +"ePBL_TKE_conv_decay" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Convective energy decay sink of mixed layer TKE + ! units: W m-2 + ! cell_methods: xh:mean yh:mean area:mean +"Mixing_Length" [Unused] + ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} + ! long_name: Mixing Length that is used + ! units: m + ! cell_methods: xh:mean yh:mean zi:point area:mean + ! variants: {Mixing_Length,Mixing_Length_xyave} +"Velocity_Scale" [Unused] + ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} + ! long_name: Velocity Scale that is used. + ! units: m s-1 + ! cell_methods: xh:mean yh:mean zi:point area:mean + ! variants: {Velocity_Scale,Velocity_Scale_xyave} +"MSTAR" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Total mstar that is used. + ! units: nondim + ! cell_methods: xh:mean yh:mean area:mean +"LA" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Langmuir number. + ! units: nondim + ! cell_methods: xh:mean yh:mean area:mean +"LA_MOD" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Modified Langmuir number. + ! units: nondim + ! cell_methods: xh:mean yh:mean area:mean +"MSTAR_LT" [Unused] + ! modules: {ocean_model,ocean_model_d2} + ! long_name: Increase in mstar due to Langmuir Turbulence. + ! units: nondim + ! cell_methods: xh:mean yh:mean area:mean "SW_pen" [Unused] ! modules: {ocean_model,ocean_model_d2} ! long_name: Penetrating shortwave radiation flux into ocean @@ -2759,23 +2659,6 @@ ! units: degC2 s-1 ! cell_methods: xh:mean yh:mean zl:mean area:mean ! variants: {T_vardec,T_vardec_xyave} -"KPP_QminusSW" [Unused] - ! modules: {ocean_model,ocean_model_d2} - ! long_name: Net temperature flux ignoring short-wave, as used by [CVMix] KPP - ! units: degC m s-1 - ! cell_methods: xh:mean yh:mean area:mean -"KPP_NLT_dTdt" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Potential Temperature tendency due to non-local transport of heat, as calculated by [CVMix] KPP - ! units: degC s-1 - ! cell_methods: xh:mean yh:mean zl:mean area:mean - ! variants: {KPP_NLT_dTdt,KPP_NLT_dTdt_xyave} -"KPP_NLT_temp_budget" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Heat content change due to non-local transport, as calculated by [CVMix] KPP - ! units: W m-2 - ! cell_methods: xh:mean yh:mean zl:sum area:mean - ! variants: {KPP_NLT_temp_budget,KPP_NLT_temp_budget_xyave} "salt" [Used] (CMOR equivalent is "so") ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} ! long_name: Salinity @@ -2941,23 +2824,6 @@ ! units: psu2 s-1 ! cell_methods: xh:mean yh:mean zl:mean area:mean ! variants: {S_vardec,S_vardec_xyave} -"KPP_netSalt" [Unused] - ! modules: {ocean_model,ocean_model_d2} - ! long_name: Effective net surface salt flux, as used by [CVMix] KPP - ! units: psu m s-1 - ! cell_methods: xh:mean yh:mean area:mean -"KPP_NLT_dSdt" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Salinity tendency due to non-local transport of salt, as calculated by [CVMix] KPP - ! units: psu s-1 - ! cell_methods: xh:mean yh:mean zl:mean area:mean - ! variants: {KPP_NLT_dSdt,KPP_NLT_dSdt_xyave} -"KPP_NLT_saln_budget" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Salt content change due to non-local transport, as calculated by [CVMix] KPP - ! units: kg m-2 s-1 - ! cell_methods: xh:mean yh:mean zl:sum area:mean - ! variants: {KPP_NLT_saln_budget,KPP_NLT_saln_budget_xyave} "age" [Used] (CMOR equivalent is "agessc") ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} ! long_name: Ideal Age Tracer @@ -3121,23 +2987,6 @@ ! units: yr2 s-1 ! cell_methods: xh:mean yh:mean zl:mean area:mean ! variants: {age_vardec,age_vardec_xyave} -"KPP_netage" [Unused] - ! modules: {ocean_model,ocean_model_d2} - ! long_name: Effective net surface ideal age tracer flux, as used by [CVMix] KPP - ! units: yr m s-1 - ! cell_methods: xh:mean yh:mean area:mean -"KPP_NLT_dagedt" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Ideal Age Tracer tendency due to non-local transport of ideal age tracer, as calculated by [CVMix] KPP - ! units: yr s-1 - ! cell_methods: xh:mean yh:mean zl:mean area:mean - ! variants: {KPP_NLT_dagedt,KPP_NLT_dagedt_xyave} -"KPP_NLT_age_budget" [Unused] - ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} - ! long_name: Ideal Age Tracer content change due to non-local transport, as calculated by [CVMix] KPP - ! units: yr m s-1 - ! cell_methods: xh:mean yh:mean zl:sum area:mean - ! variants: {KPP_NLT_age_budget,KPP_NLT_age_budget_xyave} "u_preale" [Unused] ! modules: {ocean_model,ocean_model_z,ocean_model_d2,ocean_model_z_d2} ! long_name: Zonal velocity before remapping diff --git a/nuopc.runconfig b/nuopc.runconfig index 11357875..ca031a3c 100644 --- a/nuopc.runconfig +++ b/nuopc.runconfig @@ -267,7 +267,7 @@ CLOCK_attributes:: history_ymd = -999 ice_cpl_dt = 99999 #not used lnd_cpl_dt = 99999 #not used - ocn_cpl_dt = 1080 #ignored (coupling timestep set by nuopc.runseq) unless stop_option is nsteps + ocn_cpl_dt = 900 #ignored (coupling timestep set by nuopc.runseq) unless stop_option is nsteps restart_n = 1 restart_option = nyears restart_ymd = -999 diff --git a/nuopc.runseq b/nuopc.runseq index 8f1448dd..eb3c7a0f 100644 --- a/nuopc.runseq +++ b/nuopc.runseq @@ -1,5 +1,5 @@ runSeq:: -@1080 +@900 MED med_phases_aofluxes_run MED med_phases_prep_ocn_accum MED med_phases_ocnalb_run diff --git a/testing/checksum/historical-3hr-checksum.json b/testing/checksum/historical-3hr-checksum.json index 314294b3..825c096b 100644 --- a/testing/checksum/historical-3hr-checksum.json +++ b/testing/checksum/historical-3hr-checksum.json @@ -2,88 +2,94 @@ "schema_version": "1-0-0", "output": { "Salt": [ - "A1B8D773993C6E5E" + "932DCCB92636FB86" ], "Temp": [ - "905F1105FB57A31E" + "1388E0E551DF2408" ], "h": [ - "61B41624CCA95954" + "FA0129060174B8F9" ], "u": [ - "662434960AD718C8" + "1F2C8214FB2AD131" ], "CAu": [ - "353BCDE1BD9E0520" + "A9B572FAEF02F815" ], "First_direction": [ "0" ], "ave_ssh": [ - "E6AFC184F0DC66F5" + "6EE95788A11BE228" ], "frazil": [ - "DF5243FC1CD31AD5" - ], - "p_surf_EOS": [ - "FD15FF92AFF2FCE8" + "2F3F43109AB413DE" ], "sfc": [ - "2D0159DAF7AAD338" + "F20BF1F9EB12A4F0" ], "u2": [ - "969C12B5B52CE49" + "BB275AC2103D11D2" ], "v": [ - "6B828B3AE54D65BD" + "70CA78A9D4DE7C8F" ], "v2": [ - "6D5166B96ECA2998" + "88D41CF9AFAE847D" ], "CAv": [ - "D46B79A51BEDDF07" + "B5878D095C716CF6" ], "DTBT": [ - "4033E47AA9F58623" + "4032D873F782A27F" ], "MEKE": [ - "56298D10EF44E7A" + "995535A4D947FB9E" ], "MEKE_Kh": [ - "0" - ], - "MEKE_Kh_diff": [ - "0" - ], - "MEKE_Ku": [ - "7AF867151F91AF71" + "EB88D14F3ECC68CB" ], "age": [ - "85660D04BD80AC93" + "725F93782D466F06" ], "diffu": [ - "84E4F25E3CC5E0B6" + "F9BD4A28E4232A69" ], "diffv": [ - "B5D85213A41D1CF" + "5D8DDF42C1D10FCC" ], "ubtav": [ - "5628A479F90521E0" + "45BFC8720E7B03C8" ], "vbtav": [ - "7DB8E290693F1F98" + "9CB1452C34416D79" ], "Kd_shear": [ - "AE5EFEF6B76F9B74" + "9E5F37545A0AF50E" ], "Kv_shear": [ - "B6A78CE87A224DCC" + "5DF996FF60BD8B1F" + ], + "Kv_shear_Bu": [ + "1158A0A3634AC4A6" + ], + "MLD": [ + "173BA6343B9D9C89" ], "MLD_MLE_filtered": [ - "4B324CA80ABC2D6E" + "8E888254CD67CFBA" + ], + "MLD_MLE_filtered_slow": [ + "F79EFF40E0CB73C1" + ], + "MLE_Bflux": [ + "29FDB9E838891EEA" + ], + "SFC_BFLX": [ + "1A2014AABC60EA90" ], "h_ML": [ - "24AE4C80662BD05D" + "173BA6343B9D9C89" ] } } \ No newline at end of file