! This file was written by the model and records all non-layout or debugging parameters used at run-time. ! === module MOM === SPLIT = True ! [Boolean] default = True ! Use the split time stepping if true. SPLIT_RK2B = False ! [Boolean] default = False ! If true, use a version of the split explicit time stepping scheme that ! exchanges velocities with step_MOM that have the average barotropic phase over ! a baroclinic timestep rather than the instantaneous barotropic phase. CALC_RHO_FOR_SEA_LEVEL = False ! [Boolean] default = False ! If true, the in-situ density is used to calculate the effective sea level that ! is returned to the coupler. If false, the Boussinesq parameter RHO_0 is used. ENABLE_THERMODYNAMICS = True ! [Boolean] default = True ! If true, Temperature and salinity are used as state variables. USE_EOS = True ! [Boolean] default = True ! If true, density is calculated from temperature and salinity with an equation ! of state. If USE_EOS is true, ENABLE_THERMODYNAMICS must be true as well. DIABATIC_FIRST = False ! [Boolean] default = False ! If true, apply diabatic and thermodynamic processes, including buoyancy ! forcing and mass gain or loss, before stepping the dynamics forward. USE_CONTEMP_ABSSAL = False ! [Boolean] default = False ! If true, the prognostics T&S are the conservative temperature and absolute ! salinity. Care should be taken to convert them to potential temperature and ! practical salinity before exchanging them with the coupler and/or reporting ! T&S diagnostics. ADIABATIC = False ! [Boolean] default = False ! There are no diapycnal mass fluxes if ADIABATIC is true. This assumes that KD ! = 0.0 and that there is no buoyancy forcing, but makes the model faster by ! eliminating subroutine calls. DO_DYNAMICS = True ! [Boolean] default = True ! If False, skips the dynamics calls that update u & v, as well as the gravity ! wave adjustment to h. This may be a fragile feature, but can be useful during ! development OFFLINE_TRACER_MODE = False ! [Boolean] default = False ! If true, barotropic and baroclinic dynamics, thermodynamics are all bypassed ! with all the fields necessary to integrate the tracer advection and diffusion ! equation are read in from files stored from a previous integration of the ! prognostic model. NOTE: This option only used in the ocean_solo_driver. USE_REGRIDDING = True ! [Boolean] default = False ! If True, use the ALE algorithm (regridding/remapping). If False, use the ! layered isopycnal algorithm. REMAP_UV_USING_OLD_ALG = False ! [Boolean] default = False ! If true, uses the old remapping-via-a-delta-z method for remapping u and v. If ! false, uses the new method that remaps between grids described by an old and ! new thickness. REMAP_AUXILIARY_VARS = False ! [Boolean] default = False ! If true, apply ALE remapping to all of the auxiliary 3-dimensional variables ! that are needed to reproduce across restarts, similarly to what is already ! being done with the primary state variables. The default should be changed to ! true. BULKMIXEDLAYER = False ! [Boolean] default = False ! If true, use a Kraus-Turner-like bulk mixed layer with transitional buffer ! layers. Layers 1 through NKML+NKBL have variable densities. There must be at ! least NKML+NKBL+1 layers if BULKMIXEDLAYER is true. BULKMIXEDLAYER can not be ! used with USE_REGRIDDING. The default is influenced by ENABLE_THERMODYNAMICS. THICKNESSDIFFUSE = True ! [Boolean] default = False ! If true, isopycnal surfaces are diffused with a Laplacian coefficient of KHTH. APPLY_INTERFACE_FILTER = False ! [Boolean] default = False ! If true, model interface heights are subjected to a grid-scale dependent ! spatial smoothing, often with biharmonic filter. 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. USE_POROUS_BARRIER = False ! [Boolean] default = False ! If true, use porous barrier to constrain the widths and face areas at the ! edges of the grid cells. 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 = 1800.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 = 3600.0 ! [s] default = 1800.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 ! multiple of the coupling timestep. By default DT_THERM is set to DT. THERMO_SPANS_COUPLING = False ! [Boolean] default = False ! If true, the MOM will take thermodynamic and tracer timesteps that can be ! longer than the coupling timestep. The actual thermodynamic timestep that is ! used in this case is the largest integer multiple of the coupling timestep ! that is less than or equal to DT_THERM. HMIX_SFC_PROP = 1.0 ! [m] default = 1.0 ! If BULKMIXEDLAYER is false, HMIX_SFC_PROP is the depth over which to average ! to find surface properties like SST and SSS or density (but not surface ! velocities). HMIX_UV_SFC_PROP = 0.0 ! [m] default = 0.0 ! If BULKMIXEDLAYER is false, HMIX_UV_SFC_PROP is the depth over which to ! average to find surface flow properties, SSU, SSV. A non-positive value ! indicates no averaging. HFREEZE = 10.0 ! [m] default = -1.0 ! If HFREEZE > 0, melt potential will be computed. The actual depth over which ! 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. 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 = 7200.0 ! [s] default = 3600.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 ! is set by DT_THERM. This is only used if SPLIT is true. FRAZIL = True ! [Boolean] default = False ! If true, water freezes if it gets too cold, and the accumulated heat deficit ! is returned in the surface state. FRAZIL is only used if ! ENABLE_THERMODYNAMICS is true. DO_GEOTHERMAL = True ! [Boolean] default = False ! If true, apply geothermal heating. BOUND_SALINITY = True ! [Boolean] default = False ! If true, limit salinity to being positive. (The sea-ice model may ask for more ! salt than is available and drive the salinity negative otherwise.) MIN_SALINITY = 0.0 ! [PPT] default = 0.0 ! The minimum value of salinity when BOUND_SALINITY=True. SALINITY_UNDERFLOW = 0.0 ! [PPT] default = 0.0 ! A tiny value of salinity below which the it is set to 0. For reference, one ! molecule of salt per square meter of ocean is of order 1e-29 ppt. TEMPERATURE_UNDERFLOW = 0.0 ! [degC] default = 0.0 ! A tiny magnitude of temperatures below which they are set to 0. 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 ! If true, always include the surface pressure contributions in equation of ! state calculations. P_REF = 2.0E+07 ! [Pa] default = 2.0E+07 ! The pressure that is used for calculating the coordinate density. (1 Pa = 1e4 ! dbar, so 2e7 is commonly used.) This is only used if USE_EOS and ! ENABLE_THERMODYNAMICS are true. FIRST_DIRECTION = 0 ! default = 0 ! An integer that indicates which direction goes first in parts of the code that ! use directionally split updates, with even numbers (or 0) used for x- first ! and odd numbers used for y-first. ALTERNATE_FIRST_DIRECTION = False ! [Boolean] default = False ! If true, after every dynamic timestep alternate whether the x- or y- direction ! updates occur first in directionally split parts of the calculation. If this ! is true, FIRST_DIRECTION applies at the start of a new run or if the next ! first direction can not be found in the restart file. CHECK_BAD_SURFACE_VALS = True ! [Boolean] default = False ! If true, check the surface state for ridiculous values. BAD_VAL_SSH_MAX = 20.0 ! [m] default = 20.0 ! The value of SSH above which a bad value message is triggered, if ! CHECK_BAD_SURFACE_VALS is true. BAD_VAL_SSS_MAX = 75.0 ! [PPT] default = 45.0 ! The value of SSS above which a bad value message is triggered, if ! CHECK_BAD_SURFACE_VALS is true. BAD_VAL_SST_MAX = 45.0 ! [deg C] default = 45.0 ! The value of SST above which a bad value message is triggered, if ! CHECK_BAD_SURFACE_VALS is true. BAD_VAL_SST_MIN = -3.0 ! [deg C] default = -2.1 ! The value of SST below which a bad value message is triggered, if ! CHECK_BAD_SURFACE_VALS is true. BAD_VAL_COLUMN_THICKNESS = 0.0 ! [m] default = 0.0 ! The value of column thickness below which a bad value message is triggered, if ! CHECK_BAD_SURFACE_VALS is true. DEFAULT_ANSWER_DATE = 99991231 ! default = 99991231 ! This sets the default value for the various _ANSWER_DATE parameters. SURFACE_ANSWER_DATE = 99991231 ! default = 99991231 ! The vintage of the expressions for the surface properties. Values below ! 20190101 recover the answers from the end of 2018, while higher values use ! updated and more robust forms of the same expressions. USE_DIABATIC_TIME_BUG = False ! [Boolean] default = False ! If true, uses the wrong calendar time for diabatic processes, as was done in ! MOM6 versions prior to February 2018. This is not recommended. SAVE_INITIAL_CONDS = False ! [Boolean] default = False ! If true, write the initial conditions to a file given by IC_OUTPUT_FILE. IC_OUTPUT_FILE = "g.e30_a06a.GJRAv4.TL319_t232_wgx3_hycom1_N75.2025.063.mom6.ic.0001-01-01.nc" ! default = "MOM_IC" ! The file into which to write the initial conditions. WRITE_GEOM = 1 ! default = 1 ! If =0, never write the geometry and vertical grid files. If =1, write the ! geometry and vertical grid files only for a new simulation. If =2, always ! write the geometry and vertical grid files. Other values are invalid. GEOM_FILE = "g.e30_a06a.GJRAv4.TL319_t232_wgx3_hycom1_N75.2025.063.mom6.h.ocean_geometry.nc" ! default = "ocean_geometry" ! The file into which to write the ocean geometry. USE_DBCLIENT = False ! [Boolean] default = False ! If true, initialize a client to a remote database that can be used for online ! analysis and machine-learning inference. USE_PARTICLES = False ! [Boolean] default = False ! If true, use the particles package. USE_UH_PARTICLES = False ! [Boolean] default = False ! If true, use the uh velocity in the particles package. ENSEMBLE_OCEAN = False ! [Boolean] default = False ! If False, The model is being run in serial mode as a single realization. If ! True, The current model realization is part of a larger ensemble and at the ! end of step MOM, we will perform a gather of the ensemble members for ! statistical evaluation and/or data assimilation. HOMOGENIZE_FORCINGS = False ! [Boolean] default = False ! If True, homogenize the forces and fluxes. ! === module MOM_domains === REENTRANT_X = True ! [Boolean] default = True ! If true, the domain is zonally reentrant. REENTRANT_Y = False ! [Boolean] default = False ! If true, the domain is meridionally reentrant. TRIPOLAR_N = True ! [Boolean] default = False ! Use tripolar connectivity at the northern edge of the domain. With ! TRIPOLAR_N, NIGLOBAL must be even. NIGLOBAL = 540 ! ! The total number of thickness grid points in the x-direction in the physical ! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time. NJGLOBAL = 480 ! ! The total number of thickness grid points in the y-direction in the physical ! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time. NIHALO = 4 ! default = 4 ! The number of halo points on each side in the x-direction. How this is set ! varies with the calling component and static or dynamic memory configuration. NJHALO = 4 ! default = 4 ! The number of halo points on each side in the y-direction. How this is set ! varies with the calling component and static or dynamic memory configuration. ! === module MOM_hor_index === ! Sets the horizontal array index types. ! === module MOM_grid === ! Parameters providing information about the lateral grid. REFERENCE_HEIGHT = 0.0 ! [m] default = 0.0 ! A reference value for geometric height fields, such as bathyT. ! === module MOM_fixed_initialization === INPUTDIR = "INPUT" ! default = "." ! The directory in which input files are found. ! === module MOM_grid_init === GRID_CONFIG = "mosaic" ! ! A character string that determines the method for defining the horizontal ! grid. Current options are: ! mosaic - read the grid from a mosaic (supergrid) ! file set by GRID_FILE. ! cartesian - use a (flat) Cartesian grid. ! spherical - use a simple spherical grid. ! mercator - use a Mercator spherical grid. GRID_FILE = "ocean_hgrid_221123.nc" ! ! Name of the file from which to read horizontal grid data. USE_TRIPOLAR_GEOLONB_BUG = False ! [Boolean] default = False ! If true, use older code that incorrectly sets the longitude in some points ! along the tripolar fold to be off by 360 degrees. RAD_EARTH = 6.378E+06 ! [m] default = 6.378E+06 ! The radius of the Earth. TOPO_CONFIG = "file" ! ! This specifies how bathymetry is specified: ! file - read bathymetric information from the file ! specified by (TOPO_FILE). ! flat - flat bottom set to MAXIMUM_DEPTH. ! bowl - an analytically specified bowl-shaped basin ! ranging between MAXIMUM_DEPTH and MINIMUM_DEPTH. ! spoon - a similar shape to 'bowl', but with an vertical ! wall at the southern face. ! halfpipe - a zonally uniform channel with a half-sine ! profile in the meridional direction. ! bbuilder - build topography from list of functions. ! benchmark - use the benchmark test case topography. ! Neverworld - use the Neverworld test case topography. ! DOME - use a slope and channel configuration for the ! DOME sill-overflow test case. ! ISOMIP - use a slope and channel configuration for the ! ISOMIP test case. ! DOME2D - use a shelf and slope configuration for the ! DOME2D gravity current/overflow test case. ! Kelvin - flat but with rotated land mask. ! seamount - Gaussian bump for spontaneous motion test case. ! dumbbell - Sloshing channel with reservoirs on both ends. ! shelfwave - exponential slope for shelfwave test case. ! Phillips - ACC-like idealized topography used in the Phillips config. ! dense - Denmark Strait-like dense water formation and overflow. ! USER - call a user modified routine. TOPO_FILE = "ocean_topo_tx2_3v2_240501.nc" ! default = "topog.nc" ! The file from which the bathymetry is read. TOPO_VARNAME = "depth" ! default = "depth" ! The name of the bathymetry variable in TOPO_FILE. TOPO_EDITS_FILE = "topo_edits_tx2_3v2_250107.nc" ! default = "" ! The file from which to read a list of i,j,z topography overrides. ALLOW_LANDMASK_CHANGES = False ! [Boolean] default = False ! If true, allow topography overrides to change land mask. MINIMUM_DEPTH = 9.5 ! [m] default = 0.0 ! If MASKING_DEPTH is unspecified, then anything shallower than MINIMUM_DEPTH is ! assumed to be land and all fluxes are masked out. If MASKING_DEPTH is ! specified, then all depths shallower than MINIMUM_DEPTH but deeper than ! MASKING_DEPTH are rounded to MINIMUM_DEPTH. MASKING_DEPTH = 0.0 ! [m] default = -9999.0 ! The depth below which to mask points as land points, for which all fluxes are ! zeroed out. MASKING_DEPTH is ignored if it has the special default value. MAXIMUM_DEPTH = 6000.0 ! [m] ! The maximum depth of the ocean. ! === module MOM_open_boundary === ! Controls where open boundaries are located, what kind of boundary condition to impose, and what data to apply, ! if any. OBC_NUMBER_OF_SEGMENTS = 0 ! default = 0 ! The number of open boundary segments. CHANNEL_CONFIG = "list" ! default = "none" ! A parameter that determines which set of channels are ! restricted to specific widths. Options are: ! none - All channels have the grid width. ! global_1deg - Sets 16 specific channels appropriate ! for a 1-degree model, as used in CM2G. ! list - Read the channel locations and widths from a ! text file, like MOM_channel_list in the MOM_SIS ! test case. ! file - Read open face widths everywhere from a ! NetCDF file on the model grid. CHANNEL_LIST_FILE = "channels_tx2_3v2_250107.txt" ! default = "MOM_channel_list" ! The file from which the list of narrowed channels is read. CHANNEL_LIST_360_LON_CHECK = True ! [Boolean] default = True ! If true, the channel configuration list works for any longitudes in the range ! of -360 to 360. FATAL_UNUSED_CHANNEL_WIDTHS = False ! [Boolean] default = False ! If true, trigger a fatal error if there are any channel widths in ! CHANNEL_LIST_FILE that do not cause any open face widths to change. SUBGRID_TOPO_AT_VEL = False ! [Boolean] default = False ! If true, use variables from TOPO_AT_VEL_FILE as parameters for porous barrier. ROTATION = "2omegasinlat" ! default = "2omegasinlat" ! This specifies how the Coriolis parameter is specified: ! 2omegasinlat - Use twice the planetary rotation rate ! times the sine of latitude. ! betaplane - Use a beta-plane or f-plane. ! USER - call a user modified routine. OMEGA = 7.2921E-05 ! [s-1] default = 7.2921E-05 ! The rotation rate of the earth. GRID_ROTATION_ANGLE_BUGS = False ! [Boolean] default = False ! If true, use an older algorithm to calculate the sine and cosines needed ! rotate between grid-oriented directions and true north and east. Differences ! arise at the tripolar fold. ! === module MOM_verticalGrid === ! Parameters providing information about the vertical grid. G_EARTH = 9.8 ! [m s-2] default = 9.8 ! The gravitational acceleration of the Earth. RHO_0 = 1035.0 ! [kg m-3] default = 1035.0 ! The mean ocean density used with BOUSSINESQ true to calculate accelerations ! and the mass for conservation properties, or with BOUSSINSEQ false to convert ! some parameters from vertical units of m to kg m-2. BOUSSINESQ = True ! [Boolean] default = True ! If true, make the Boussinesq approximation. ANGSTROM = 1.0E-10 ! [m] default = 1.0E-10 ! The minimum layer thickness, usually one-Angstrom. H_TO_M = 1.0 ! [m H-1] default = 1.0 ! A constant that translates the model's internal units of thickness into m. NK = 75 ! [nondim] ! The number of model layers. ! === module MOM_tracer_registry === ! === module MOM_EOS === EQN_OF_STATE = "WRIGHT" ! default = "WRIGHT" ! EQN_OF_STATE determines which ocean equation of state should be used. ! Currently, the valid choices are "LINEAR", "UNESCO", "JACKETT_MCD", "WRIGHT", ! "WRIGHT_REDUCED", "WRIGHT_FULL", "NEMO", "ROQUET_RHO", "ROQUET_SPV" and ! "TEOS10". This is only used if USE_EOS is true. USE_WRIGHT_2ND_DERIV_BUG = False ! [Boolean] default = False ! If true, use a bug in the calculation of the second derivatives of density ! with temperature and with temperature and pressure that causes some terms to ! be only 2/3 of what they should be. EOS_QUADRATURE = False ! [Boolean] default = False ! If true, always use the generic (quadrature) code code for the integrals of ! density. TFREEZE_FORM = "LINEAR" ! default = "LINEAR" ! TFREEZE_FORM determines which expression should be used for the freezing ! point. Currently, the valid choices are "LINEAR", "MILLERO_78", "TEOS_POLY", ! "TEOS10" TFREEZE_S0_P0 = 0.0 ! [degC] default = 0.0 ! When TFREEZE_FORM=LINEAR, this is the freezing potential temperature at S=0, ! P=0. DTFREEZE_DS = -0.054 ! [degC ppt-1] default = -0.054 ! When TFREEZE_FORM=LINEAR, this is the derivative of the freezing potential ! temperature with salinity. DTFREEZE_DP = -7.75E-08 ! [degC Pa-1] default = 0.0 ! When TFREEZE_FORM=LINEAR, this is the derivative of the freezing potential ! temperature with pressure. ! === module MOM_restart === PARALLEL_RESTARTFILES = False ! [Boolean] default = False ! If true, the IO layout is used to group processors that write to the same ! restart file or each processor writes its own (numbered) restart file. If ! false, a single restart file is generated combining output from all PEs. RESTARTFILE = "MOM.res" ! default = "MOM.res" ! The name-root of the restart file. MAX_FIELDS = 100 ! default = 100 ! The maximum number of restart fields that can be used. RESTART_CHECKSUMS_REQUIRED = True ! [Boolean] default = True ! If true, require the restart checksums to match and error out otherwise. Users ! may want to avoid this comparison if for example the restarts are made from a ! run with a different mask_table than the current run, in which case the ! checksums will not match and cause crash. STREAMING_FILTER_M2 = False ! [Boolean] default = False ! If true, turn on streaming band-pass filter for detecting instantaneous tidal ! signals. STREAMING_FILTER_K1 = False ! [Boolean] default = False ! If true, turn on streaming band-pass filter for detecting instantaneous tidal ! signals. ! === module MOM_tracer_flow_control === USE_USER_TRACER_EXAMPLE = False ! [Boolean] default = False ! If true, use the USER_tracer_example tracer package. USE_DOME_TRACER = False ! [Boolean] default = False ! If true, use the DOME_tracer tracer package. USE_ISOMIP_TRACER = False ! [Boolean] default = False ! If true, use the ISOMIP_tracer tracer package. USE_RGC_TRACER = False ! [Boolean] default = False ! If true, use the RGC_tracer tracer package. USE_IDEAL_AGE_TRACER = True ! [Boolean] default = False ! If true, use the ideal_age_example tracer package. USE_MARBL_TRACERS = False ! [Boolean] default = False ! If true, use the MARBL tracer package. USE_REGIONAL_DYES = False ! [Boolean] default = False ! If true, use the regional_dyes tracer package. USE_OIL_TRACER = False ! [Boolean] default = False ! If true, use the oil_tracer tracer package. USE_ADVECTION_TEST_TRACER = False ! [Boolean] default = False ! If true, use the advection_test_tracer tracer package. USE_OCMIP2_CFC = False ! [Boolean] default = False ! If true, use the MOM_OCMIP2_CFC tracer package. USE_CFC_CAP = False ! [Boolean] default = False ! If true, use the MOM_CFC_cap tracer package. USE_generic_tracer = False ! [Boolean] default = False ! If true and _USE_GENERIC_TRACER is defined as a preprocessor macro, use the ! MOM_generic_tracer packages. USE_PSEUDO_SALT_TRACER = False ! [Boolean] default = False ! If true, use the pseudo salt tracer, typically run as a diagnostic. USE_BOUNDARY_IMPULSE_TRACER = False ! [Boolean] default = False ! If true, use the boundary impulse tracer. USE_DYED_OBC_TRACER = False ! [Boolean] default = False ! If true, use the dyed_obc_tracer tracer package. USE_NW2_TRACERS = False ! [Boolean] default = False ! If true, use the NeverWorld2 tracers. ! === module ideal_age_example === DO_IDEAL_AGE = True ! [Boolean] default = True ! If true, use an ideal age tracer that is set to 0 age in the boundary layer ! and ages at unit rate in the interior. DO_IDEAL_VINTAGE = False ! [Boolean] default = False ! If true, use an ideal vintage tracer that is set to an exponentially ! increasing value in the boundary layer and is conserved thereafter. DO_IDEAL_AGE_DATED = False ! [Boolean] default = False ! If true, use an ideal age tracer that is everywhere 0 before ! IDEAL_AGE_DATED_START_YEAR, but the behaves like the standard ideal age tracer ! - i.e. is set to 0 age in the boundary layer and ages at unit rate in the ! interior. DO_BL_RESIDENCE = False ! [Boolean] default = False ! If true, use a residence tracer that is set to 0 age in the interior and ages ! at unit rate in the boundary layer. USE_REAL_BL_DEPTH = False ! [Boolean] default = False ! If true, the ideal age tracers will use the boundary layer depth diagnosed ! from the BL or bulkmixedlayer scheme. AGE_IC_FILE = "" ! default = "" ! The file in which the age-tracer initial values can be found, or an empty ! string for internal initialization. AGE_IC_FILE_IS_Z = False ! [Boolean] default = False ! If true, AGE_IC_FILE is in depth space, not layer space TRACERS_MAY_REINIT = False ! [Boolean] default = False ! If true, tracers may go through the initialization code if they are not found ! in the restart files. Otherwise it is a fatal error if the tracers are not ! found in the restart files of a restarted run. ! === module MOM_coord_initialization === COORD_CONFIG = "none" ! default = "none" ! This specifies how layers are to be defined: ! ALE or none - used to avoid defining layers in ALE mode ! file - read coordinate information from the file ! specified by (COORD_FILE). ! BFB - Custom coords for buoyancy-forced basin case ! based on SST_S, T_BOT and DRHO_DT. ! linear - linear based on interfaces not layers ! layer_ref - linear based on layer densities ! ts_ref - use reference temperature and salinity ! ts_range - use range of temperature and salinity ! (T_REF and S_REF) to determine surface density ! and GINT calculate internal densities. ! gprime - use reference density (RHO_0) for surface ! density and GINT calculate internal densities. ! ts_profile - use temperature and salinity profiles ! (read from COORD_FILE) to set layer densities. ! USER - call a user modified routine. GFS = 9.8 ! [m s-2] default = 9.8 ! The reduced gravity at the free surface. LIGHTEST_DENSITY = 1035.0 ! [kg m-3] default = 1035.0 ! The reference potential density used for layer 1. REGRIDDING_COORDINATE_MODE = "HYCOM1" ! default = "LAYER" ! Coordinate mode for vertical regridding. Choose among the following ! possibilities: LAYER - Isopycnal or stacked shallow water layers ! ZSTAR, Z* - stretched geopotential z* ! SIGMA_SHELF_ZSTAR - stretched geopotential z* ignoring shelf ! SIGMA - terrain following coordinates ! RHO - continuous isopycnal ! HYCOM1 - HyCOM-like hybrid coordinate ! HYBGEN - Hybrid coordinate from the Hycom hybgen code ! ADAPTIVE - optimize for smooth neutral density surfaces REGRIDDING_COORDINATE_UNITS = "m" ! default = "m" ! Units of the regridding coordinate. INTERPOLATION_SCHEME = "PPM_CW" ! default = "P1M_H2" ! This sets the interpolation scheme to use to determine the new grid. These ! parameters are only relevant when REGRIDDING_COORDINATE_MODE is set to a ! function of state. Otherwise, it is not used. It can be one of the following ! schemes: ! P1M_H2 (2nd-order accurate) ! P1M_H4 (2nd-order accurate) ! P1M_IH4 (2nd-order accurate) ! PLM (2nd-order accurate) ! PPM_CW (3rd-order accurate) ! PPM_H4 (3rd-order accurate) ! PPM_IH4 (3rd-order accurate) ! P3M_IH4IH3 (4th-order accurate) ! P3M_IH6IH5 (4th-order accurate) ! PQM_IH4IH3 (4th-order accurate) ! PQM_IH6IH5 (5th-order accurate) REMAPPING_ANSWER_DATE = 99991231 ! default = 99991231 ! The vintage of the expressions and order of arithmetic to use for remapping. ! Values below 20190101 result in the use of older, less accurate expressions ! that were in use at the end of 2018. Higher values result in the use of more ! robust and accurate forms of mathematically equivalent expressions. REGRIDDING_ANSWER_DATE = 20181231 ! default = 20181231 ! The vintage of the expressions and order of arithmetic to use for regridding. ! Values below 20190101 result in the use of older, less accurate expressions ! that were in use at the end of 2018. Higher values result in the use of more ! robust and accurate forms of mathematically equivalent expressions. BOUNDARY_EXTRAPOLATION = True ! [Boolean] default = False ! When defined, a proper high-order reconstruction scheme is used within ! boundary cells rather than PCM. E.g., if PPM is used for remapping, a PPM ! reconstruction will also be used within boundary cells. ALE_COORDINATE_CONFIG = "HYBRID:hybrid_75layer_zstar2.50m-2025-04-04.nc,sigma2,dz" ! default = "UNIFORM" ! Determines how to specify the coordinate resolution. Valid options are: ! PARAM - use the vector-parameter ALE_RESOLUTION ! UNIFORM[:N] - uniformly distributed ! FILE:string - read from a file. The string specifies ! the filename and variable name, separated ! by a comma or space, e.g. FILE:lev.nc,dz ! or FILE:lev.nc,interfaces=zw ! WOA09[:N] - the WOA09 vertical grid (approximately) ! WOA09INT[:N] - layers spanned by the WOA09 depths ! WOA23INT[:N] - layers spanned by the WOA23 depths ! FNC1:string - FNC1:dz_min,H_total,power,precision ! HYBRID:string - read from a file. The string specifies ! the filename and two variable names, separated ! by a comma or space, for sigma-2 and dz. e.g. ! HYBRID:vgrid.nc,sigma2,dz !ALE_RESOLUTION = 4*2.5, 2*3.0, 4.0, 5.000000000000181, 5.000000000092708, 5.000000003478114, 5.000000043988663, 5.00000030678747, 5.000001474006261, 5.000005492829388, 5.000017029367079, 5.00004593749685, 5.0001111376876395, 5.000246366657038, 5.000508324548036, 5.000987812146704, 5.001824516499028, 5.003226169120211, 5.005492866825406, 5.009047411047348, 5.014472587341444, 5.022556372614744, 5.034346123451371, 5.051212864742482, 5.074926863664345, 5.107745739884564, 5.152516428711635, 5.212792379738971, 5.292967439370528, 5.398427931450527, 5.535724516056177, 5.712765472346916, 5.939033117201063, 6.225825137205277, 6.58652267739788, 7.036887096004733, 7.595387360239215, 8.283560124076331, 9.126404594745196, 10.152814360519983, 11.39604841822657, 12.894243704715137, 14.690971502388777, 16.835840154708706, 19.385146593439117, 22.402579245221716, 25.959974950917058, 30.138132596972184, 35.027686223924434, 40.73004044297102, 47.35837105738898, 55.038693851403025, 63.91100457495543, 74.13049321866072, 85.86883573904765, 99.3155664600655, 114.6795344426132, 132.19044717975032, 152.10050504101014, 174.68612995515514, 200.24979188645693, 229.12193672552667, 261.6630192814257, 298.2656451277858, 339.35682512130734, 385.40034647 ! The distribution of vertical resolution for the target ! grid used for Eulerian-like coordinates. For example, ! in z-coordinate mode, the parameter is a list of level ! thicknesses (in m). In sigma-coordinate mode, the list ! is of non-dimensional fractions of the water column. !TARGET_DENSITIES = 1006.0, 1008.8935546875, 1011.787109375, 1014.681640625, 1017.5751953125, 1020.46875, 1023.3623046875, 1026.255859375, 1029.150390625, 1029.22265625, 1029.328125, 1029.4736328125, 1029.634765625, 1029.787109375, 1029.951171875, 1030.1259765625, 1030.3134765625, 1030.5166015625, 1030.724609375, 1030.9462890625, 1031.1943359375, 1031.4716796875, 1031.7578125, 1032.046875, 1032.3564453125, 1032.6748046875, 1032.9873046875, 1033.2841796875, 1033.560546875, 1033.814453125, 1034.056640625, 1034.30859375, 1034.5498046875, 1034.7646484375, 1034.9482421875, 1035.115234375, 1035.265625, 1035.3994140625, 1035.521484375, 1035.6328125, 1035.7314453125, 1035.828125, 1035.9189453125, 1036.0068359375, 1036.0947265625, 1036.1865234375, 1036.2802734375, 1036.373046875, 1036.462890625, 1036.546875, 1036.6220703125, 1036.6884765625, 1036.7587890625, 1036.8212890625, 1036.869140625, 1036.908203125, 1036.9501953125, 1036.9892578125, 1037.0244140625, 1037.052734375, 1037.0771484375, 1037.0986328125, 1037.1171875, 1037.1337890625, 1037.1474609375, 1037.1611328125, 1037.1728515625, 1037.1826171875, 1037.1923828125, 1037.2001953125, 1037.208984375, 1037.2177734375, 1037.2294921875, 1037.287109375, 1037.466796875, 1040.0 ! [m ! HYBRID target densities for interfaces REGRID_COMPRESSIBILITY_FRACTION = 0.0 ! [nondim] default = 0.0 ! When interpolating potential density profiles we can add some artificial ! compressibility solely to make homogeneous regions appear stratified. MIN_THICKNESS = 0.001 ! [m] default = 0.001 ! When regridding, this is the minimum layer thickness allowed. HYCOM1_ONLY_IMPROVES = True ! [Boolean] default = False ! When regridding, an interface is only moved if this improves the fit to the ! target density. MAXIMUM_INT_DEPTH_CONFIG = "FILE:lev.nc,Z" ! default = "NONE" ! Determines how to specify the maximum interface depths. ! Valid options are: ! NONE - there are no maximum interface depths ! PARAM - use the vector-parameter MAXIMUM_INTERFACE_DEPTHS ! FILE:string - read from a file. The string specifies ! the filename and variable name, separated ! by a comma or space, e.g. FILE:lev.nc,Z ! FNC1:string - FNC1:dz_min,H_total,power,precision !MAXIMUM_INT_DEPTHS = 0.0, 80.0, 160.0, 240.0, 320.0, 400.0, 480.0, 560.0, 640.0, 720.0, 800.0, 880.0, 960.0, 1040.0, 1120.0, 1200.0, 1280.0, 1360.0, 1440.0, 1520.0, 1600.0, 1680.0, 1760.0, 1840.0, 1920.0, 2000.0, 2080.0, 2160.0, 2240.0, 2320.0, 2400.0, 2480.0, 2560.0, 2640.0, 2720.0, 2800.0, 2880.0, 2960.0, 3040.0, 3120.0, 3200.0, 3280.0, 3360.0, 3440.0, 3520.0, 3600.0, 3680.0, 3760.0, 3840.0, 3920.0, 4000.0, 4080.0, 4160.0, 4240.0, 4320.0, 4400.0, 4480.0, 4560.0, 4640.0, 4720.0, 4800.0, 4880.0, 4960.0, 5040.0, 5120.0, 5200.0, 5280.0, 5360.0, 5440.0, 5520.0, 5600.0, 5680.0, 5760.0, 5840.0, 5920.0, 6000.0 ! [m] ! The list of maximum depths for each interface. MAX_LAYER_THICKNESS_CONFIG = "FILE:dz_max.nc,dz" ! default = "NONE" ! Determines how to specify the maximum layer thicknesses. ! Valid options are: ! NONE - there are no maximum layer thicknesses ! PARAM - use the vector-parameter MAX_LAYER_THICKNESS ! FILE:string - read from a file. The string specifies ! the filename and variable name, separated ! by a comma or space, e.g. FILE:lev.nc,Z ! FNC1:string - FNC1:dz_min,H_total,power,precision !MAX_LAYER_THICKNESS = 4*2.5, 2*3.0, 4.0, 16*10.0, 16.0, 19.0, 22.0, 25.0, 29.0, 33.0, 37.0, 41.0, 46.0, 51.0, 56.0, 61.0, 67.0, 73.0, 79.0, 86.0, 93.0, 101.0, 109.0, 118.0, 128.0, 139.0, 151.0, 164.0, 180.0, 197.0, 217.0, 240.0, 267.0, 298.0, 334.0, 377.0, 427.0, 485.0, 554.0, 15*600.0, 629.8038103284471, 709.034518114031 ! [m] ! The list of maximum thickness for each layer. REMAPPING_SCHEME = "PPM_CW" ! 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) VELOCITY_REMAPPING_SCHEME = "PPM_CW" ! default = "PPM_CW" ! This sets the reconstruction scheme used for vertical remapping of velocities. ! By default it is the same as REMAPPING_SCHEME. 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) FATAL_CHECK_RECONSTRUCTIONS = False ! [Boolean] default = False ! If true, cell-by-cell reconstructions are checked for consistency and if ! non-monotonicity or an inconsistency is detected then a FATAL error is issued. FATAL_CHECK_REMAPPING = False ! [Boolean] default = False ! If true, the results of remapping are checked for conservation and new extrema ! and if an inconsistency is detected then a FATAL error is issued. REMAP_BOUND_INTERMEDIATE_VALUES = False ! [Boolean] default = False ! If true, the values on the intermediate grid used for remapping are forced to ! be bounded, which might not be the case due to round off. REMAP_BOUNDARY_EXTRAP = False ! [Boolean] default = False ! If true, values at the interfaces of boundary cells are extrapolated instead ! of piecewise constant INIT_BOUNDARY_EXTRAP = False ! [Boolean] default = False ! If true, values at the interfaces of boundary cells are extrapolated instead ! of piecewise constant during initialization.Defaults to REMAP_BOUNDARY_EXTRAP. REMAPPING_USE_OM4_SUBCELLS = False ! [Boolean] default = True ! This selects the remapping algorithm used in OM4 that does not use the full ! reconstruction for the top- and lower-most sub-layers, but instead assumes ! they are always vanished (untrue) and so just uses their edge values. We ! recommend setting this option to false. PARTIAL_CELL_VELOCITY_REMAP = False ! [Boolean] default = False ! If true, use partial cell thicknesses at velocity points that are masked out ! where they extend below the shallower of the neighboring bathymetry for ! remapping velocity. REMAP_AFTER_INITIALIZATION = True ! [Boolean] default = True ! If true, applies regridding and remapping immediately after initialization so ! that the state is ALE consistent. This is a legacy step and should not be ! needed if the initialization is consistent with the coordinate mode. REGRID_TIME_SCALE = 0.0 ! [s] default = 0.0 ! The time-scale used in blending between the current (old) grid and the target ! (new) grid. A short time-scale favors the target grid (0. or anything less ! than DT_THERM) has no memory of the old grid. A very long time-scale makes the ! model more Lagrangian. REGRID_FILTER_SHALLOW_DEPTH = 0.0 ! [m] default = 0.0 ! The depth above which no time-filtering is applied. Above this depth final ! grid exactly matches the target (new) grid. REGRID_FILTER_DEEP_DEPTH = 0.0 ! [m] default = 0.0 ! The depth below which full time-filtering is applied with time-scale ! REGRID_TIME_SCALE. Between depths REGRID_FILTER_SHALLOW_DEPTH and ! REGRID_FILTER_SHALLOW_DEPTH the filter weights adopt a cubic profile. REMAP_VEL_MASK_BBL_THICK = -0.001 ! [m] default = -0.001 ! A thickness of a bottom boundary layer below which velocities in thin layers ! are zeroed out after remapping, following practice with Hybgen remapping, or a ! negative value to avoid such filtering altogether. REMAP_VEL_CONSERVE_KE = True ! [Boolean] default = False ! If true, a correction is applied to the baroclinic component of velocity after ! remapping so that total KE is conserved. KE may not be conserved when ! (CS%BBL_h_vel_mask > 0.0) .and. (CS%h_vel_mask > 0.0) ! === module MOM_state_initialization === FATAL_INCONSISTENT_RESTART_TIME = False ! [Boolean] default = False ! If true and a time_in value is provided to MOM_initialize_state, verify that ! the time read from a restart file is the same as time_in, and issue a fatal ! error if it is not. Otherwise, simply set the time to time_in if present. Z_INIT_REMAPPING_USE_OM4_SUBCELLS = True ! [Boolean] default = True ! If true, use the OM4 remapping-via-subcells algorithm for initialization. See ! REMAPPING_USE_OM4_SUBCELLS for more details. We recommend setting this option ! to false. ODA_INCUPD = False ! [Boolean] default = False ! If true, oda incremental updates will be applied everywhere in the domain. SPONGE = False ! [Boolean] default = False ! If true, sponges may be applied anywhere in the domain. The exact location and ! properties of those sponges are specified via SPONGE_CONFIG. ! === module MOM_diag_mediator === NUM_DIAG_COORDS = 2 ! default = 1 ! The number of diagnostic vertical coordinates to use. For each coordinate, an ! entry in DIAG_COORDS must be provided. DIAG_REMAPPING_USE_OM4_SUBCELLS = True ! [Boolean] default = True ! If true, use the OM4 remapping-via-subcells algorithm for diagnostics. See ! REMAPPING_USE_OM4_SUBCELLS for details. We recommend setting this option to ! false. USE_INDEX_DIAGNOSTIC_AXES = False ! [Boolean] default = False ! If true, use a grid index coordinate convention for diagnostic axes. DIAG_COORDS = "z Z ZSTAR", "rho2 RHO2 RHO" ! ! A list of string tuples associating diag_table modules to a coordinate ! definition used for diagnostics. Each string is of the form ! "MODULE_SUFFIX,PARAMETER_SUFFIX,COORDINATE_NAME". DIAG_MISVAL = 1.0E+20 ! [various] default = 1.0E+20 ! Set the default missing value to use for diagnostics. DIAG_AS_CHKSUM = False ! [Boolean] default = False ! Instead of writing diagnostics to the diag manager, write a text file ! containing the checksum (bitcount) of the array. AVAILABLE_DIAGS_FILE = "available_diags.000000" ! default = "available_diags.000000" ! A file into which to write a list of all available ocean diagnostics that can ! be included in a diag_table. DIAG_COORD_DEF_Z = "WOA09" ! default = "WOA09" ! Determines how to specify the coordinate resolution. Valid options are: ! PARAM - use the vector-parameter DIAG_COORD_RES_Z ! UNIFORM[:N] - uniformly distributed ! FILE:string - read from a file. The string specifies ! the filename and variable name, separated ! by a comma or space, e.g. FILE:lev.nc,dz ! or FILE:lev.nc,interfaces=zw ! WOA09[:N] - the WOA09 vertical grid (approximately) ! WOA09INT[:N] - layers spanned by the WOA09 depths ! WOA23INT[:N] - layers spanned by the WOA23 depths ! FNC1:string - FNC1:dz_min,H_total,power,precision ! HYBRID:string - read from a file. The string specifies ! the filename and two variable names, separated ! by a comma or space, for sigma-2 and dz. e.g. ! HYBRID:vgrid.nc,sigma2,dz DIAG_COORD_INTERP_SCHEME_RHO2 = "PPM_H4" ! default = "PPM_H4" ! This sets the interpolation scheme to use to determine the new grid. These ! parameters are only relevant when REGRIDDING_COORDINATE_MODE is set to a ! function of state. Otherwise, it is not used. It can be one of the following ! schemes: ! P1M_H2 (2nd-order accurate) ! P1M_H4 (2nd-order accurate) ! P1M_IH4 (2nd-order accurate) ! PLM (2nd-order accurate) ! PPM_CW (3rd-order accurate) ! PPM_H4 (3rd-order accurate) ! PPM_IH4 (3rd-order accurate) ! P3M_IH4IH3 (4th-order accurate) ! P3M_IH6IH5 (4th-order accurate) ! PQM_IH4IH3 (4th-order accurate) ! PQM_IH6IH5 (5th-order accurate) DIAG_COORD_DEF_RHO2 = "FILE:ocean_rho2_190917.nc,interfaces=rho2" ! default = "WOA09" ! Determines how to specify the coordinate resolution. Valid options are: ! PARAM - use the vector-parameter DIAG_COORD_RES_RHO2 ! UNIFORM[:N] - uniformly distributed ! FILE:string - read from a file. The string specifies ! the filename and variable name, separated ! by a comma or space, e.g. FILE:lev.nc,dz ! or FILE:lev.nc,interfaces=zw ! WOA09[:N] - the WOA09 vertical grid (approximately) ! WOA09INT[:N] - layers spanned by the WOA09 depths ! WOA23INT[:N] - layers spanned by the WOA23 depths ! FNC1:string - FNC1:dz_min,H_total,power,precision ! HYBRID:string - read from a file. The string specifies ! the filename and two variable names, separated ! by a comma or space, for sigma-2 and dz. e.g. ! HYBRID:vgrid.nc,sigma2,dz DIAG_COORD_P_REF_RHO2 = 2.0E+07 ! [Pa] default = 2.0E+07 ! The pressure that is used for calculating the diagnostic coordinate density. ! (1 Pa = 1e4 dbar, so 2e7 is commonly used.) This is only used for the RHO ! coordinate. DIAG_COORD_REGRID_COMPRESSIBILITY_FRACTION_RHO2 = 0.0 ! [nondim] default = 0.0 ! When interpolating potential density profiles we can add some artificial ! compressibility solely to make homogeneous regions appear stratified. ! === module MOM_MEKE === USE_MEKE = True ! [Boolean] default = False ! If true, turns on the MEKE scheme which calculates a sub-grid mesoscale eddy ! kinetic energy budget. MEKE_IN_DYNAMICS = True ! [Boolean] default = True ! If true, step MEKE forward with the dynamicsotherwise with the tracer ! timestep. EKE_SOURCE = "prog" ! default = "prog" ! Determine the where EKE comes from: ! 'prog': Calculated solving EKE equation ! 'file': Read in from a file ! 'dbclient': Retrieved from ML-database MEKE_DAMPING = 0.0 ! [s-1] default = 0.0 ! The local depth-independent MEKE dissipation rate. MEKE_CD_SCALE = 0.0 ! [nondim] default = 0.0 ! The ratio of the bottom eddy velocity to the column mean eddy velocity, i.e. ! sqrt(2*MEKE). This should be less than 1 to account for the surface ! intensification of MEKE. MEKE_CB = 100.0 ! [nondim] default = 25.0 ! A coefficient in the expression for the ratio of bottom projected eddy energy ! and mean column energy (see Jansen et al. 2015). MEKE_MIN_GAMMA2 = 1.0E-05 ! [nondim] default = 1.0E-04 ! The minimum allowed value of gamma_b^2. MEKE_CT = 0.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 = 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_GEOMETRIC_ALPHA = 0.09 ! [nondim] default = 0.05 ! The nondimensional coefficient governing the efficiency of the GEOMETRIC ! thickness diffusion. MEKE_EQUILIBRIUM_ALT = True ! [Boolean] default = False ! If true, use an alternative formula for computing the (equilibrium)initial ! value of MEKE. MEKE_EQUILIBRIUM_RESTORING = False ! [Boolean] default = False ! If true, restore MEKE back to its equilibrium value, which is calculated at ! each time step. MEKE_FRCOEFF = 0.3 ! [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. MEKE_BHFRCOEFF = -1.0 ! [nondim] default = -1.0 ! The efficiency of the conversion of mean energy into MEKE by the biharmonic ! dissipation. If MEKE_bhFRCOEFF is negative, this conversion is not used or ! calculated. 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 ! 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 ! lateral diffusion to MEKE. MEKE_K4 = -1.0 ! [m4 s-1] default = -1.0 ! A lateral bi-harmonic diffusivity of MEKE. Use a negative value to not apply ! bi-harmonic diffusion to MEKE. MEKE_DTSCALE = 1.0 ! [nondim] default = 1.0 ! A scaling factor to accelerate the time evolution of MEKE. MEKE_POSITIVE = True ! [Boolean] default = False ! If true, it guarantees that MEKE will always be >= 0. MEKE_KHCOEFF = 1.0 ! [nondim] default = 1.0 ! A scaling factor in the expression for eddy diffusivity which is otherwise ! proportional to the MEKE velocity- scale times an eddy mixing-length. This ! factor must be >0 for MEKE to contribute to the thickness/ and tracer ! diffusivity in the rest of the model. MEKE_USCALE = 0.0 ! [m s-1] default = 0.0 ! The background velocity that is combined with MEKE to calculate the bottom ! drag. 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 ! 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.75 ! [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 ! 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.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. MEKE_VISCOSITY_COEFF_AU = 0.0 ! [nondim] default = 0.0 ! If non-zero, is the scaling coefficient in the expression forviscosity used to ! parameterize biharmonic lateral momentum mixing byunresolved eddies ! represented by MEKE. Can be negative torepresent backscatter from the ! unresolved eddies. MEKE_FIXED_MIXING_LENGTH = 0.0 ! [m] default = 0.0 ! If positive, is a fixed length contribution to the expression for mixing ! length used in MEKE-derived diffusivity. 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 = 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 = 0.0 ! [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 ! If positive, is a coefficient weighting the Eady length scale in the ! expression for mixing length used in MEKE-derived diffusivity. 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 = 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 ! If true, initialize EKE to zero. Otherwise a local equilibrium solution is ! used as an initial condition for EKE. MEKE_BACKSCAT_RO_C = 0.0 ! [nondim] default = 0.0 ! The coefficient in the Rossby number function for scaling the biharmonic ! frictional energy source. Setting to non-zero enables the Rossby number ! function. 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 ! 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 ! is considered; use 0 if it's completely ignored. SQG_USE_MEKE = False ! [Boolean] default = False ! If true, the eddy scale of MEKE is used for the SQG vertical structure CDRAG = 0.003 ! [nondim] default = 0.003 ! CDRAG is the drag coefficient relating the magnitude of the velocity field to ! the bottom stress. MEKE_CDRAG = 0.0025 ! [nondim] default = 0.003 ! Drag coefficient relating the magnitude of the velocity field to the bottom ! stress in MEKE. ! === module MOM_lateral_mixing_coeffs === USE_VARIABLE_MIXING = True ! [Boolean] default = False ! If true, the variable mixing code will be called. This allows diagnostics to ! be created even if the scheme is not used. If KHTR_SLOPE_CFF>0 or ! KhTh_Slope_Cff>0, this is set to true regardless of what is in the parameter ! file. USE_VISBECK = False ! [Boolean] default = False ! If true, use the Visbeck et al. (1997) formulation for ! thickness diffusivity. RESOLN_SCALED_KH = True ! [Boolean] default = False ! If true, the Laplacian lateral viscosity is scaled away when the first ! baroclinic deformation radius is well resolved. DEPTH_SCALED_KHTH = True ! [Boolean] default = False ! If true, KHTH is scaled away when the depth is shallowerthan a reference ! depth: KHTH = MIN(1,H/H0)**N * KHTH, where H0 is a reference depth, controlled ! via DEPTH_SCALED_KHTH_H0, and the exponent (N) is controlled via ! DEPTH_SCALED_KHTH_EXP. 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. RESOLN_SCALED_KHTR = True ! [Boolean] default = False ! If true, the epipycnal tracer diffusivity is scaled away when the first ! baroclinic deformation radius is well resolved. RESOLN_USE_EBT = False ! [Boolean] default = False ! If true, uses the equivalent barotropic wave speed instead of first baroclinic ! wave for calculating the resolution fn. BACKSCAT_EBT_POWER = 0.0 ! [nondim] default = 0.0 ! Power to raise EBT vertical structure to when backscatter has vertical ! structure. BS_USE_SQG_STRUCT = False ! [Boolean] default = False ! If true, the SQG vertical structure is used for backscatter on the condition ! that BS_EBT_power=0 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 ! If true, uses the equivalent barotropic structure as the vertical structure of ! thickness diffusivity. KHTH_USE_SQG_STRUCT = False ! [Boolean] default = False ! If true, uses the surface quasigeostrophic structure as the vertical structure ! of thickness diffusivity. KHTR_USE_EBT_STRUCT = True ! [Boolean] default = False ! If true, uses the equivalent barotropic structure as the vertical structure of ! tracer diffusivity. KHTR_USE_SQG_STRUCT = False ! [Boolean] default = False ! If true, uses the surface quasigeostrophic structure as the vertical structure ! of tracer diffusivity. KD_GL90_USE_EBT_STRUCT = False ! [Boolean] default = False ! If true, uses the equivalent barotropic structure as the vertical structure of ! diffusivity in the GL90 scheme. 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 ! The nondimensional coefficient in the Visbeck formula for the interface depth ! diffusivity KHTR_SLOPE_CFF = 0.0 ! [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. VERY_SMALL_FREQUENCY = 1.0E-17 ! [s-1] default = 1.0E-17 ! A miniscule frequency that is used to avoid division by 0. The default value ! is roughly (pi / (the age of the universe)). USE_STANLEY_ISO = True ! [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 ! thickness diffusion. KD_SMOOTH = 1.0E-06 ! [m2 s-1] default = 1.0E-06 ! A diapycnal diffusivity that is used to interpolate more sensible values of T ! & S into thin layers. USE_SIMPLER_EADY_GROWTH_RATE = True ! [Boolean] default = False ! If true, use a simpler method to calculate the Eady growth rate that avoids ! division by layer thickness. Recommended. EADY_GROWTH_RATE_D_SCALE = 0.0 ! [m] default = 0.0 ! The depth from surface over which to average SN when calculating a 2D Eady ! growth rate. Zero mean use full depth. EADY_GROWTH_RATE_CROPPING_DISTANCE = 0.0 ! [m] default = 0.0 ! Distance from surface or bottom to filter out outcropped or incropped ! interfaces for the Eady growth rate calc. Negative values disables cropping. 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.9 ! [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 = 6 ! 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.9 ! 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. VISC_RES_FN_POWER = 6 ! default = 6 ! 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. This function affects ! lateral viscosity, Kh, and not KhTh. INTERPOLATE_RES_FN = False ! [Boolean] default = False ! 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 = True ! 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. DEPTH_SCALED_KHTH_H0 = 250.0 ! [m] default = 1000.0 ! The depth above which KHTH is scaled away. DEPTH_SCALED_KHTH_EXP = 3.0 ! [nondim] default = 3.0 ! The exponent used in the depth dependent scaling function for KHTH. INTERNAL_WAVE_SPEED_TOL = 0.001 ! [nondim] default = 0.001 ! The fractional tolerance for finding the wave speeds. INTERNAL_WAVE_SPEED_MIN = 0.0 ! [m s-1] default = 0.0 ! A floor in the first mode speed below which 0 used instead. INTERNAL_WAVE_SPEED_BETTER_EST = True ! [Boolean] default = True ! If true, use a more robust estimate of the first mode wave speed as the ! starting point for iterations. EBT_REMAPPING_USE_OM4_SUBCELLS = True ! [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 ! this option to false. USE_QG_LEITH_GM = False ! [Boolean] default = False ! If true, use the QG Leith viscosity as the GM coefficient. ! === module MOM_set_visc === SET_VISC_ANSWER_DATE = 99991231 ! default = 99991231 ! The vintage of the order of arithmetic and expressions in the set viscosity ! 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. BOTTOMDRAGLAW = True ! [Boolean] default = True ! If true, the bottom stress is calculated with a drag law of the form ! c_drag*|u|*u. The velocity magnitude may be an assumed value or it may be ! based on the actual velocity in the bottommost HBBL, depending on LINEAR_DRAG. DRAG_AS_BODY_FORCE = False ! [Boolean] default = False ! If true, the bottom stress is imposed as an explicit body force applied over a ! fixed distance from the bottom, rather than as an implicit calculation based ! on an enhanced near-bottom viscosity. The thickness of the bottom boundary ! layer is HBBL. CHANNEL_DRAG = True ! [Boolean] default = False ! If true, the bottom drag is exerted directly on each layer proportional to the ! fraction of the bottom it overlies. LINEAR_DRAG = False ! [Boolean] default = False ! If LINEAR_DRAG and BOTTOMDRAGLAW are defined the drag law is ! cdrag*DRAG_BG_VEL*u. PRANDTL_TURB = 1.0 ! [nondim] default = 1.0 ! The turbulent Prandtl number applied to shear instability. DYNAMIC_VISCOUS_ML = False ! [Boolean] default = False ! If true, use a bulk Richardson number criterion to determine the mixed layer ! thickness for viscosity. HBBL = 10.0 ! [m] ! The thickness of a bottom boundary layer with a viscosity increased by ! KV_EXTRA_BBL if BOTTOMDRAGLAW is not defined, or the thickness over which ! near-bottom velocities are averaged for the drag law if BOTTOMDRAGLAW is ! defined but LINEAR_DRAG is not. BBL_USE_TIDAL_BG = False ! [Boolean] default = False ! Flag to use the tidal RMS amplitude in place of constant background velocity ! for computing u* in the BBL. This flag is only used when BOTTOMDRAGLAW is true ! and LINEAR_DRAG is false. DRAG_BG_VEL = 0.1 ! [m s-1] default = 0.0 ! DRAG_BG_VEL is either the assumed bottom velocity (with LINEAR_DRAG) or an ! unresolved velocity that is combined with the resolved velocity to estimate ! the velocity magnitude. DRAG_BG_VEL is only used when BOTTOMDRAGLAW is ! defined. BBL_USE_EOS = True ! [Boolean] default = True ! If true, use the equation of state in determining the properties of the bottom ! boundary layer. Otherwise use the layer target potential densities. The ! default of this parameter is the value of USE_EOS. 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. HTBL_SHELF_MIN = 0.1 ! [m] default = 0.1 ! The minimum top boundary layer thickness that can be used with BOTTOMDRAGLAW. ! This might be Kv/(cdrag*drag_bg_vel) to give Kv as the minimum near-top ! viscosity. 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-06 ! [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-06 ! [m2 s-1] default = 1.0E-06 ! The minimum viscosities in the bottom boundary layer. KV_TBL_MIN = 1.0E-06 ! [m2 s-1] default = 1.0E-06 ! 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 ! the bottom layer feels the intended drag. SMAG_CONST_CHANNEL = 0.15 ! [nondim] default = 0.15 ! The nondimensional Laplacian Smagorinsky constant used in calculating the ! channel drag if it is enabled. The default is to use the same value as ! SMAG_LAP_CONST if it is defined, or 0.15 if it is not. The value used is also ! 0.15 if the specified value is negative. 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 ! 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 ! proportional to HBBL if USE_JACKSON_PARAM or DRAG_AS_BODY_FORCE is true. ! === module MOM_thickness_diffuse === KHTH = 0.0 ! [m2 s-1] default = 0.0 ! The background horizontal thickness diffusivity. READ_KHTH = False ! [Boolean] default = False ! If true, read a file (given by KHTH_FILE) containing the spatially varying ! horizontal isopycnal height diffusivity. KHTH_MIN = 50.0 ! [m2 s-1] default = 0.0 ! The minimum horizontal thickness diffusivity. FULL_DEPTH_KHTH_MIN = True ! [Boolean] default = False ! If true, KHTH_MIN is enforced throughout the whole water column. Otherwise, ! KHTH_MIN is only enforced at the surface. This parameter is only available ! when KHTH_USE_EBT_STRUCT=True and KHTH_MIN>0. KHTH_MAX = 0.0 ! [m2 s-1] default = 0.0 ! The maximum horizontal thickness diffusivity. KHTH_MAX_CFL = 0.8 ! [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. KH_ETA_CONST = 0.0 ! [m2 s-1] default = 0.0 ! The background horizontal diffusivity of the interface heights (without ! considering the layer density structure). If diffusive CFL limits are ! encountered, the diffusivities of the isopycnals and the interfaces heights ! are scaled back proportionately. KH_ETA_VEL_SCALE = 0.0 ! [m s-1] default = 0.0 ! A velocity scale that is multiplied by the grid spacing to give a contribution ! to the horizontal diffusivity of the interface heights (without considering ! the layer density structure). DETANGLE_INTERFACES = False ! [Boolean] default = False ! If defined add 3-d structured enhanced interface height diffusivities to ! horizontally smooth jagged layers. 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 ! 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 = True ! [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 ! 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. USE_GM_WORK_BUG = False ! [Boolean] default = False ! If true, compute the top-layer work tendency on the u-grid with the incorrect ! sign, for legacy reproducibility. STOCH_EOS = True ! [Boolean] default = False ! If true, stochastic perturbations are applied to the EOS in the PGF. STANLEY_COEFF = 0.5 ! [nondim] default = -1.0 ! Coefficient correlating the temperature gradient and SGS T variance. STANLEY_A = 1.0 ! [nondim] default = 1.0 ! Coefficient a which scales chi in stochastic perturbation of the SGS T ! variance. SEED_STOCH_EOS = 0 ! default = 0 ! Specfied seed for random number sequence ! === module MOM_dynamics_split_RK2 === TIDES = False ! [Boolean] default = False ! If true, apply tidal momentum forcing. CALCULATE_SAL = False ! [Boolean] default = False ! If true, calculate self-attraction and loading. BE = 0.6 ! [nondim] default = 0.6 ! If SPLIT is true, BE determines the relative weighting of a 2nd-order ! Runga-Kutta baroclinic time stepping scheme (0.5) and a backward Euler scheme ! (1) that is used for the Coriolis and inertial terms. BE may be from 0.5 to ! 1, but instability may occur near 0.5. BE is also applicable if SPLIT is false ! and USE_RK2 is true. BEGW = 0.0 ! [nondim] default = 0.0 ! If SPLIT is true, BEGW is a number from 0 to 1 that controls the extent to ! which the treatment of gravity waves is forward-backward (0) or simulated ! backward Euler (1). 0 is almost always used. If SPLIT is false and USE_RK2 is ! true, BEGW can be between 0 and 0.5 to damp gravity waves. SPLIT_BOTTOM_STRESS = False ! [Boolean] default = False ! If true, provide the bottom stress calculated by the vertical viscosity to the ! barotropic solver. BT_USE_LAYER_FLUXES = True ! [Boolean] default = True ! If true, use the summed layered fluxes plus an adjustment due to the change in ! the barotropic velocity in the barotropic continuity equation. STORE_CORIOLIS_ACCEL = True ! [Boolean] default = True ! If true, calculate the Coriolis accelerations at the end of each timestep for ! use in the predictor step of the next split RK2 timestep. FPMIX = True ! [Boolean] default = False ! If true, add non-local momentum flux increments and diffuse down the Eulerian ! gradient. CEMP_NL = 2.0 ! [nondim] default = 3.6 ! Empirical coefficient of non-local momentum mixing. VISC_REM_BUG = False ! [Boolean] default = True ! If true, visc_rem_[uv] in split mode is incorrectly calculated or accounted ! for in two places. This parameter controls the defaults of two individual ! flags, VISC_REM_TIMESTEP_BUG in MOM_dynamics_split_RK2(b) and ! VISC_REM_BT_WEIGHT_BUG in MOM_barotropic. VISC_REM_TIMESTEP_BUG = False ! [Boolean] default = False ! If true, recover a bug that uses dt_pred rather than dt in vertvisc_remnant() ! at the end of predictor stage for the following continuity() and btstep() ! calls in the corrector step. Default of this flag is set by VISC_REM_BUG ! === module MOM_continuity_PPM === MONOTONIC_CONTINUITY = False ! [Boolean] default = False ! If true, CONTINUITY_PPM uses the Colella and Woodward monotonic limiter. The ! default (false) is to use a simple positive definite limiter. SIMPLE_2ND_PPM_CONTINUITY = False ! [Boolean] default = False ! If true, CONTINUITY_PPM uses a simple 2nd order (arithmetic mean) ! interpolation of the edge values. This may give better PV conservation ! properties. While it formally reduces the accuracy of the continuity solver ! itself in the strongly advective limit, it does not reduce the overall order ! of accuracy of the dynamic core. UPWIND_1ST_CONTINUITY = False ! [Boolean] default = False ! If true, CONTINUITY_PPM becomes a 1st-order upwind continuity solver. This ! scheme is highly diffusive but may be useful for debugging or in single-column ! mode where its minimal stencil is useful. ETA_TOLERANCE = 1.0E-06 ! [m] default = 3.75E-09 ! The tolerance for the differences between the barotropic and baroclinic ! estimates of the sea surface height due to the fluxes through each face. The ! 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 = 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 ! If true, allow the adjusted velocities to have a relative CFL change up to ! 0.5. CONT_PPM_VOLUME_BASED_CFL = False ! [Boolean] default = False ! If true, use the ratio of the open face lengths to the tracer cell areas when ! estimating CFL numbers. The default is set by CONT_PPM_AGGRESS_ADJUST. CONTINUITY_CFL_LIMIT = 0.5 ! [nondim] default = 0.5 ! The maximum CFL of the adjusted velocities. CONT_PPM_BETTER_ITER = True ! [Boolean] default = True ! If true, stop corrective iterations using a velocity based criterion and only ! stop if the iteration is better than all predecessors. CONT_PPM_USE_VISC_REM_MAX = True ! [Boolean] default = True ! If true, use more appropriate limiting bounds for corrections in strongly ! viscous columns. CONT_PPM_MARGINAL_FACE_AREAS = True ! [Boolean] default = True ! If true, use the marginal face areas from the continuity solver for use as the ! weights in the barotropic solver. Otherwise use the transport averaged areas. ! === module MOM_CoriolisAdv === NOSLIP = False ! [Boolean] default = False ! If true, no slip boundary conditions are used; otherwise free slip boundary ! conditions are assumed. The implementation of the free slip BCs on a C-grid is ! much cleaner than the no slip BCs. The use of free slip BCs is strongly ! encouraged, and no slip BCs are not used with the biharmonic viscosity. CORIOLIS_EN_DIS = False ! [Boolean] default = False ! If true, two estimates of the thickness fluxes are used to estimate the ! Coriolis term, and the one that dissipates energy relative to the other one is ! used. CORIOLIS_SCHEME = "SADOURNY75_ENERGY" ! default = "SADOURNY75_ENERGY" ! CORIOLIS_SCHEME selects the discretization for the Coriolis terms. Valid ! values are: ! SADOURNY75_ENERGY - Sadourny, 1975; energy cons. ! ARAKAWA_HSU90 - Arakawa & Hsu, 1990 ! SADOURNY75_ENSTRO - Sadourny, 1975; enstrophy cons. ! ARAKAWA_LAMB81 - Arakawa & Lamb, 1981; En. + Enst. ! ARAKAWA_LAMB_BLEND - A blend of Arakawa & Lamb with ! Arakawa & Hsu and Sadourny energy BOUND_CORIOLIS = True ! [Boolean] default = False ! If true, the Coriolis terms at u-points are bounded by the four estimates of ! (f+rv)v from the four neighboring v-points, and similarly at v-points. This ! option would have no effect on the SADOURNY Coriolis scheme if it were ! possible to use centered difference thickness fluxes. KE_SCHEME = "KE_ARAKAWA" ! default = "KE_ARAKAWA" ! KE_SCHEME selects the discretization for acceleration due to the kinetic ! energy gradient. Valid values are: ! KE_ARAKAWA, KE_SIMPLE_GUDONOV, KE_GUDONOV PV_ADV_SCHEME = "PV_ADV_CENTERED" ! default = "PV_ADV_CENTERED" ! PV_ADV_SCHEME selects the discretization for PV advection. Valid values are: ! PV_ADV_CENTERED - centered (aka Sadourny, 75) ! PV_ADV_UPWIND1 - upwind, first order ! === module MOM_PressureForce === ANALYTIC_FV_PGF = True ! [Boolean] default = True ! If true the pressure gradient forces are calculated with a finite volume form ! that analytically integrates the equations of state in pressure to avoid any ! possibility of numerical thermobaric instability, as described in Adcroft et ! al., O. Mod. (2008). ! === module MOM_PressureForce_FV === RHO_PGF_REF = 1035.0 ! [kg m-3] default = 1035.0 ! The reference density that is subtracted off when calculating pressure ! gradient forces. Its inverse is subtracted off of specific volumes when in ! non-Boussinesq mode. The default is RHO_0. SSH_IN_EOS_PRESSURE_FOR_PGF = False ! [Boolean] default = False ! If true, include contributions from the sea surface height in the height-based ! pressure used in the equation of state calculations for the Boussinesq ! pressure gradient forces, including adjustments for atmospheric or sea-ice ! pressure. MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False ! If true, use mass weighting when interpolating T/S for integrals near the ! bathymetry in FV pressure gradient calculations. MASS_WEIGHT_IN_PRESSURE_GRADIENT_TOP = False ! [Boolean] default = False ! If true and MASS_WEIGHT_IN_PRESSURE_GRADIENT is true, use mass weighting when ! interpolating T/S for integrals near the top of the water column in FV ! pressure gradient calculations. CORRECTION_INTXPA = False ! [Boolean] default = False ! If true, use a correction for surface pressure curvature in intx_pa. RESET_INTXPA_INTEGRAL = False ! [Boolean] default = False ! If true, reset INTXPA to match pressures at first nonvanished cell. Includes ! pressure correction. USE_INACCURATE_PGF_RHO_ANOM = False ! [Boolean] default = False ! If true, use a form of the PGF that uses the reference density in an ! inaccurate way. This is not recommended. RECONSTRUCT_FOR_PRESSURE = True ! [Boolean] default = True ! If True, use vertical reconstruction of T & S within the integrals of the FV ! pressure gradient calculation. If False, use the constant-by-layer algorithm. ! The default is set by USE_REGRIDDING. PRESSURE_RECONSTRUCTION_SCHEME = 1 ! default = 1 ! Order of vertical reconstruction of T/S to use in the integrals within the FV ! pressure gradient calculation. ! 0: PCM or no reconstruction. ! 1: PLM reconstruction. ! 2: PPM reconstruction. BOUNDARY_EXTRAPOLATION_PRESSURE = True ! [Boolean] default = True ! If true, the reconstruction of T & S for pressure in boundary cells is ! extrapolated, rather than using PCM in these cells. If true, the same order ! polynomial is used as is used for the interior cells. USE_STANLEY_PGF = True ! [Boolean] default = False ! If true, turn on Stanley SGS T variance parameterization in PGF code. ! === module MOM_Zanna_Bolton === USE_ZB2020 = False ! [Boolean] default = False ! If true, turns on Zanna-Bolton-2020 (ZB) subgrid momentum parameterization of ! mesoscale eddies. ! === module MOM_hor_visc === USE_CONT_THICKNESS = False ! [Boolean] default = False ! If true, use thickness at velocity points from continuity solver. This option ! currently only works with split mode. LAPLACIAN = True ! [Boolean] default = False ! If true, use a Laplacian horizontal viscosity. KH = 0.0 ! [m2 s-1] default = 0.0 ! The background Laplacian horizontal viscosity. KH_BG_MIN = 0.0 ! [m2 s-1] default = 0.0 ! The minimum value allowed for Laplacian horizontal viscosity, KH. KH_VEL_SCALE = 0.0 ! [m s-1] default = 0.0 ! The velocity scale which is multiplied by the grid spacing to calculate the ! Laplacian viscosity. The final viscosity is the largest of this scaled ! viscosity, the Smagorinsky and Leith viscosities, and KH. KH_SIN_LAT = 0.0 ! [m2 s-1] default = 0.0 ! The amplitude of a latitudinally-dependent background viscosity of the form ! KH_SIN_LAT*(SIN(LAT)**KH_PWR_OF_SINE). SMAGORINSKY_KH = False ! [Boolean] default = False ! If true, use a Smagorinsky nonlinear eddy viscosity. LEITH_KH = False ! [Boolean] default = False ! If true, use a Leith nonlinear eddy viscosity. RES_SCALE_MEKE_VISC = False ! [Boolean] default = False ! If true, the viscosity contribution from MEKE is scaled by the resolution ! function. BOUND_KH = True ! [Boolean] default = True ! If true, the Laplacian coefficient is locally limited to be stable. BETTER_BOUND_KH = True ! [Boolean] default = True ! If true, the Laplacian coefficient is locally limited to be stable with a ! better bounding than just BOUND_KH. EY24_EBT_BS = False ! [Boolean] default = False ! If true, use the the backscatter scheme (EBT mode with kill switch)developed ! by Yankovsky et al. (2024). ANISOTROPIC_VISCOSITY = False ! [Boolean] default = False ! If true, allow anistropic viscosity in the Laplacian horizontal viscosity. ADD_LES_VISCOSITY = False ! [Boolean] default = False ! If true, adds the viscosity from Smagorinsky and Leith to the background ! viscosity instead of taking the maximum. 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 ! The background biharmonic horizontal viscosity. AH_VEL_SCALE = 0.0 ! [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. 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 ! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity. LEITH_AH = False ! [Boolean] default = False ! If true, use a biharmonic Leith nonlinear eddy viscosity. USE_LEITHY = True ! [Boolean] default = False ! If true, use a biharmonic Leith nonlinear eddy viscosity together with a ! harmonic backscatter. BOUND_AH = True ! [Boolean] default = True ! If true, the biharmonic coefficient is locally limited to be stable. BETTER_BOUND_AH = True ! [Boolean] default = True ! If true, the biharmonic coefficient is locally limited to be stable with a ! better bounding than just BOUND_AH. RE_AH = 0.0 ! [nondim] default = 0.0 ! If nonzero, the biharmonic coefficient is scaled so that the biharmonic ! Reynolds number is equal to this. BACKSCATTER_UNDERBOUND = True ! [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) ! beyond the largest timestep-dependent stable values of biharmonic viscosity ! 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 = 75.0 ! [nondim] default = 0.0 ! The nondimensional biharmonic Leith constant, typical values are thus far ! undetermined. 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 ! outside of the domain. HORVISC_BOUND_COEF = 0.8 ! [nondim] default = 0.8 ! The nondimensional coefficient of the ratio of the viscosity bounds to the ! theoretical maximum for stability without considering other terms. USE_KH_BG_2D = False ! [Boolean] default = False ! If true, read a file containing 2-d background harmonic viscosities. The final ! viscosity is the maximum of the other terms and this background value. 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 ! recommended. LEITHY_CK = 0.0 ! [nondim] default = 1.0 ! Fraction of biharmonic dissipation that gets backscattered, in Leith+E. SMOOTH_AH = True ! [Boolean] default = True ! If true, Ah and m_leithy are smoothed within Leith+E. This requires lots of ! blocking communications, which can be expensive ! === module MOM_vert_friction === VERT_FRICTION_ANSWER_DATE = 99991231 ! default = 99991231 ! The vintage of the order of arithmetic and expressions in the viscous ! calculations. Values below 20190101 recover the answers from the end of 2018, ! while higher values use expressions that do not use an arbitrary hard-coded ! maximum viscous coupling coefficient between layers. Values below 20230601 ! recover a form of the viscosity within the mixed layer that breaks up the ! magnitude of the wind stress in some non-Boussinesq cases. DIRECT_STRESS = False ! [Boolean] default = False ! If true, the wind stress is distributed over the topmost HMIX_STRESS of fluid ! (like in HYCOM), and an added mixed layer viscosity or a physically based ! boundary layer turbulence parameterization is not needed for stability. FIXED_DEPTH_LOTW_ML = False ! [Boolean] default = False ! If true, use a Law-of-the-wall prescription for the mixed layer viscosity ! within a boundary layer that is the lesser of HMIX_FIXED and the total depth ! of the ocean in a column. LOTW_VISCOUS_ML_FLOOR = False ! [Boolean] default = False ! If true, use a Law-of-the-wall prescription to set a lower bound on the ! viscous coupling between layers within the surface boundary layer, based the ! distance of interfaces from the surface. This only acts when there are large ! changes in the thicknesses of successive layers or when the viscosity is set ! externally and the wind stress has subsequently increased. VON_KARMAN_CONST = 0.41 ! [nondim] default = 0.41 ! The value the von Karman constant as used for mixed layer viscosity. HARMONIC_VISC = False ! [Boolean] default = False ! If true, use the harmonic mean thicknesses for calculating the vertical ! viscosity. HARMONIC_BL_SCALE = 0.0 ! [nondim] default = 0.0 ! A scale to determine when water is in the boundary layers based solely on ! harmonic mean thicknesses for the purpose of determining the extent to which ! the thicknesses used in the viscosities are upwinded. HMIX_FIXED = 0.5 ! [m] ! The prescribed depth over which the near-surface viscosity and diffusivity are ! elevated when the bulk mixed layer is not used. USE_GL90_IN_SSW = False ! [Boolean] default = False ! If true, use simpler method to calculate 1/N^2 in GL90 vertical viscosity ! coefficient. This method is valid in stacked shallow water mode. KV_ML_INVZ2 = 0.0 ! [m2 s-1] default = 0.0 ! An extra kinematic viscosity in a mixed layer of thickness HMIX_FIXED, with ! the actual viscosity scaling as 1/(z*HMIX_FIXED)^2, where z is the distance ! from the surface, to allow for finite wind stresses to be transmitted through ! infinitesimally thin surface layers. This is an older option for numerical ! convenience without a strong physical basis, and its use is now discouraged. MAXVEL = 6.0 ! [m s-1] default = 3.0E+08 ! The maximum velocity allowed before the velocity components are truncated. CFL_BASED_TRUNCATIONS = True ! [Boolean] default = True ! If true, base truncations on the CFL number, and not an absolute speed. CFL_TRUNCATE = 0.5 ! [nondim] default = 0.5 ! The value of the CFL number that will cause velocity components to be ! truncated; instability can occur past 0.5. CFL_REPORT = 0.5 ! [nondim] default = 0.5 ! The value of the CFL number that causes accelerations to be reported; the ! default is CFL_TRUNCATE. CFL_TRUNCATE_RAMP_TIME = 7200.0 ! [s] default = 0.0 ! The time over which the CFL truncation value is ramped up at the beginning of ! the run. CFL_TRUNCATE_START = 0.0 ! [nondim] default = 0.0 ! The start value of the truncation CFL number used when ramping up CFL_TRUNC. STOKES_MIXING_COMBINED = False ! [Boolean] default = False ! Flag to use Stokes drift Mixing via the Lagrangian current (Eulerian plus ! Stokes drift). Still needs work and testing, so not recommended for use. VEL_UNDERFLOW = 0.0 ! [m s-1] default = 0.0 ! A negligibly small velocity magnitude below which velocity components are set ! to 0. A reasonable value might be 1e-30 m/s, which is less than an Angstrom ! divided by the age of the universe. ! === module MOM_barotropic === USE_BT_CONT_TYPE = True ! [Boolean] default = True ! If true, use a structure with elements that describe effective face areas from ! the summed continuity solver as a function the barotropic flow in coupling ! between the barotropic and baroclinic flow. This is only used if SPLIT is ! true. INTEGRAL_BT_CONTINUITY = False ! [Boolean] default = False ! If true, use the time-integrated velocity over the barotropic steps to ! determine the integrated transports used to update the continuity equation. ! Otherwise the transports are the sum of the transports based on a series of ! instantaneous velocities and the BT_CONT_TYPE for transports. This is only ! valid if USE_BT_CONT_TYPE = True. BOUND_BT_CORRECTION = True ! [Boolean] default = False ! If true, the corrective pseudo mass-fluxes into the barotropic solver are ! limited to values that require less than maxCFL_BT_cont to be accommodated. BT_CONT_CORR_BOUNDS = True ! [Boolean] default = True ! If true, and BOUND_BT_CORRECTION is true, use the BT_cont_type variables to ! set limits determined by MAXCFL_BT_CONT on the CFL number of the velocities ! that are likely to be driven by the corrective mass fluxes. ADJUST_BT_CONT = False ! [Boolean] default = False ! If true, adjust the curve fit to the BT_cont type that is used by the ! barotropic solver to match the transport about which the flow is being ! linearized. GRADUAL_BT_ICS = False ! [Boolean] default = False ! If true, adjust the initial conditions for the barotropic solver to the values ! from the layered solution over a whole timestep instead of instantly. This is ! a decent approximation to the inclusion of sum(u dh_dt) while also correcting ! for truncation errors. BT_USE_VISC_REM_U_UH0 = False ! [Boolean] default = False ! If true, use the viscous remnants when estimating the barotropic velocities ! that were used to calculate uh0 and vh0. False is probably the better choice. BT_PROJECT_VELOCITY = True ! [Boolean] default = False ! If true, step the barotropic velocity first and project out the velocity ! tendency by 1+BEBT when calculating the transport. The default (false) is to ! 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. 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 ! If true, add a dynamic pressure due to a viscous ice shelf, for instance. 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 ! The vintage of the expressions in the barotropic solver. Values below 20190101 ! recover the answers from the end of 2018, while higher values use more ! efficient or general expressions. VISC_REM_BT_WEIGHT_BUG = False ! [Boolean] default = False ! If true, recover a bug in barotropic solver that uses an unnormalized weight ! function for vertical averages of baroclinic velocity and forcing. Default of ! this flag is set by VISC_REM_BUG. TIDAL_SAL_FLATHER = False ! [Boolean] default = False ! If true, then apply adjustments to the external gravity wave speed used with ! the Flather OBC routine consistent with the barotropic solver. This applies to ! cases with tidal forcing using the scalar self-attraction approximation. The ! default is currently False in order to retain previous answers but should be ! set to True for new experiments SADOURNY = True ! [Boolean] default = True ! If true, the Coriolis terms are discretized with the Sadourny (1975) energy ! conserving scheme, otherwise the Arakawa & Hsu scheme is used. If the ! internal deformation radius is not resolved, the Sadourny scheme should ! probably be used. BT_THICK_SCHEME = "FROM_BT_CONT" ! default = "FROM_BT_CONT" ! A string describing the scheme that is used to set the open face areas used ! for barotropic transport and the relative weights of the accelerations. Valid ! values are: ! ARITHMETIC - arithmetic mean layer thicknesses ! HARMONIC - harmonic mean layer thicknesses ! HYBRID (the default) - use arithmetic means for ! layers above the shallowest bottom, the harmonic ! mean for layers below, and a weighted average for ! layers that straddle that depth ! FROM_BT_CONT - use the average thicknesses kept ! in the h_u and h_v fields of the BT_cont_type BT_STRONG_DRAG = False ! [Boolean] default = False ! If true, use a stronger estimate of the retarding effects of strong bottom ! drag, by making it implicit with the barotropic time-step instead of implicit ! with the baroclinic time-step and dividing by the number of barotropic steps. BT_LINEAR_WAVE_DRAG = False ! [Boolean] default = False ! If true, apply a linear drag to the barotropic velocities, using rates set by ! lin_drag_u & _v divided by the depth of the ocean. This was introduced to ! facilitate tide modeling. CLIP_BT_VELOCITY = False ! [Boolean] default = False ! If true, limit any velocity components that exceed CFL_TRUNCATE. This should ! only be used as a desperate debugging measure. MAXCFL_BT_CONT = 0.25 ! [nondim] default = 0.25 ! The maximum permitted CFL number associated with the barotropic accelerations ! from the summed velocities times the time-derivatives of thicknesses. DT_BT_FILTER = -0.25 ! [sec or nondim] default = -0.25 ! A time-scale over which the barotropic mode solutions are filtered, in seconds ! if positive, or as a fraction of DT if negative. When used this can never be ! taken to be longer than 2*dt. Set this to 0 to apply no filtering. G_BT_EXTRA = 0.0 ! [nondim] default = 0.0 ! A nondimensional factor by which gtot is enhanced. SSH_EXTRA = 10.0 ! [m] default = 10.0 ! An estimate of how much higher SSH might get, for use in calculating the safe ! external wave speed. The default is the minimum of 10 m or 5% of ! MAXIMUM_DEPTH. LINEARIZED_BT_CORIOLIS = True ! [Boolean] default = True ! If true use the bottom depth instead of the total water column thickness in ! the barotropic Coriolis term calculations. 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 ! 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 ! DTBT to 0 is the same as setting it to -0.98. The value of DTBT that will ! actually be used is an integer fraction of DT, rounding down. BT_USE_OLD_CORIOLIS_BRACKET_BUG = False ! [Boolean] default = False ! If True, use an order of operations that is not bitwise rotationally symmetric ! in the meridional Coriolis term of the barotropic solver. ! === module MOM_mixed_layer_restrat === 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% 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.0 ! [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 = 300.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 = 3600.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. USE_CR_GRID = True ! [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. CR_FILE = "mle-cr-tx2_3v2-v8_20250215.nc" ! default = "" ! The path to the file containing the Cr fields. CR_VAR = "Cr" ! default = "Cr" ! The variable name for Cr field. %MLE MLE_USE_PBL_MLD = False ! [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, ! unless BODNER_DETECT_MLD is true. BODNER_DETECT_MLD = True ! [Boolean] default = False ! If true, the Bodner parameterization will use the mixed-layer depth detected ! via the density difference criterion MLE_DENSITY_DIFF. MLE_DENSITY_DIFF = 0.02 ! [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. (2010) 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. ! === module MOM_diagnostics === DIAG_EBT_MONO_N2_COLUMN_FRACTION = 0.0 ! [nondim] default = 0.0 ! The lower fraction of water column over which N2 is limited as monotonic for ! the purposes of calculating the equivalent barotropic wave speed. DIAG_EBT_MONO_N2_DEPTH = -1.0 ! [m] default = -1.0 ! The depth below which N2 is limited as monotonic for the purposes of ! calculating the equivalent barotropic wave speed. INTWAVE_REMAPPING_USE_OM4_SUBCELLS = True ! [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 ! this option to false. ! === module MOM_diabatic_driver === ! The following parameters are used for diabatic processes. 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 ! 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 ! If true, the diffusivity from ePBL is added to all other diffusivities. ! Otherwise, the larger of kappa-shear and ePBL diffusivities are used. INTERNAL_TIDES = False ! [Boolean] default = False ! If true, use the code that advances a separate set of equations for the ! internal tide energy density. MASSLESS_MATCH_TARGETS = True ! [Boolean] default = True ! If true, the temperature and salinity of massless layers are kept consistent ! with their target densities. Otherwise the properties of massless layers ! evolve diffusively to match massive neighboring layers. AGGREGATE_FW_FORCING = True ! [Boolean] default = True ! If true, the net incoming and outgoing fresh water fluxes are combined and ! applied as either incoming or outgoing depending on the sign of the net. If ! false, the net incoming fresh water flux is added to the model and thereafter ! the net outgoing is removed from the topmost non-vanished layers of the ! updated state. MIX_BOUNDARY_TRACERS = True ! [Boolean] default = True ! If true, mix the passive tracers in massless layers at the bottom into the ! interior as though a diffusivity of KD_MIN_TR were operating. MIX_BOUNDARY_TRACER_ALE = True ! [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 = 1.0E-08 ! [m2 s-1] default = 1.0E-08 ! 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 ! A bottom boundary layer tracer diffusivity that will allow for explicitly ! specified bottom fluxes. The entrainment at the bottom is at least ! sqrt(Kd_BBL_tr*dt) over the same distance. TRACER_TRIDIAG = False ! [Boolean] default = False ! If true, use the passive tracer tridiagonal solver for T and S MINIMUM_FORCING_DEPTH = 0.001 ! [m] default = 0.001 ! The smallest depth over which forcing can be applied. This only takes effect ! when near-surface layers become thin relative to this scale, in which case the ! forcing tendencies scaled down by distributing the forcing over this depth ! scale. EVAP_CFL_LIMIT = 0.8 ! [nondim] default = 0.8 ! The largest fraction of a layer than can be lost to forcing (e.g. evaporation, ! sea-ice formation) in one time-step. The unused mass loss is passed down ! through the column. MLD_EN_VALS = 3*0.0 ! [J/m2] default = 0.0 ! The energy values used to compute MLDs. If not set (or all set to 0.), the ! default will overwrite to 25., 2500., 250000. HREF_FOR_MLD = 0.0 ! [m] default = 0.0 ! Reference depth used to calculate the potential density used to find the mixed ! layer depth based on a delta rho = 0.03 kg/m3. DIAG_MLD_DENSITY_DIFF = 0.1 ! [kg/m3] default = 0.1 ! The density difference used to determine a diagnostic mixed layer depth, ! MLD_user, following the definition of Levitus 1982. The MLD is the depth at ! which the density is larger than the surface density by the specified amount. DIAG_DEPTH_SUBML_N2 = 50.0 ! [m] default = 50.0 ! The distance over which to calculate a diagnostic of the stratification at the ! base of the mixed layer. ! === 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% 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. STOKES_MOST = True ! [Boolean] default = False ! If True, use Stokes Similarity package. COMPUTE_EKMAN = False ! [Boolean] default = False ! If True, limit OBL depth to be no deeper than Ekman depth. COMPUTE_MONIN_OBUKHOV = True ! [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 = 5.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. KPP_CVt2 = 1.0 ! [nondim] default = 1.6 ! Parameter for Stokes MOST convection entrainment 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 ! 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_geothermal === GEOTHERMAL_SCALE = 1.0 ! [W m-2 or various] default = 0.0 ! The constant geothermal heat flux, a rescaling factor for the heat flux read ! from GEOTHERMAL_FILE, or 0 to disable the geothermal heating. GEOTHERMAL_FILE = "geothermal_davies2013_tx2_3_20240318_cdf5.nc" ! default = "" ! The file from which the geothermal heating is to be read, or blank to use a ! constant heating rate. GEOTHERMAL_THICKNESS = 0.1 ! [m] default = 0.1 ! The thickness over which to apply geothermal heating. GEOTHERMAL_VARNAME = "geothermal_hf" ! default = "geo_heat" ! The name of the geothermal heating variable in GEOTHERMAL_FILE. ! === module MOM_set_diffusivity === FLUX_RI_MAX = 0.2 ! [nondim] default = 0.2 ! The flux Richardson number where the stratification is large enough that N2 > ! omega2. The full expression for the Flux Richardson number is usually ! FLUX_RI_MAX*N2/(N2+OMEGA2). SET_DIFF_ANSWER_DATE = 99991231 ! default = 99991231 ! The vintage of the order of arithmetic and expressions in the set diffusivity ! 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. ! === module MOM_tidal_mixing === ! Vertical Tidal Mixing Parameterization USE_CVMix_TIDAL = True ! [Boolean] default = False ! If true, turns on tidal mixing via CVMix INT_TIDE_DISSIPATION = True ! [Boolean] default = True ! If true, use an internal tidal dissipation scheme to drive diapycnal mixing, ! along the lines of St. Laurent et al. (2002) and Simmons et al. (2004). TIDAL_MIXING_ANSWER_DATE = 99991231 ! default = 99991231 ! The vintage of the order of arithmetic and expressions in the tidal mixing ! 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. CVMIX_TIDAL_SCHEME = "SIMMONS" ! default = "SIMMONS" ! CVMIX_TIDAL_SCHEME selects the CVMix tidal mixing scheme with ! INT_TIDE_DISSIPATION. Valid values are: ! SIMMONS - Use the Simmons et al (2004) tidal ! mixing scheme. ! SCHMITTNER - Use the Schmittner et al (2014) tidal ! mixing scheme. LEE_WAVE_DISSIPATION = False ! [Boolean] default = False ! If true, use an lee wave driven dissipation scheme to drive diapycnal mixing, ! along the lines of Nikurashin (2010) and using the St. Laurent et al. (2002) ! and Simmons et al. (2004) vertical profile INT_TIDE_LOWMODE_DISSIPATION = False ! [Boolean] default = False ! If true, consider mixing due to breaking low modes that have been remotely ! generated; as with itidal drag on the barotropic tide, use an internal tidal ! dissipation scheme to drive diapycnal mixing, along the lines of St. Laurent ! et al. (2002) and Simmons et al. (2004). INT_TIDE_DECAY_SCALE = 500.0 ! [m] default = 500.0 ! The decay scale away from the bottom for tidal TKE with the new coding when ! INT_TIDE_DISSIPATION is used. MU_ITIDES = 0.2 ! [nondim] default = 0.2 ! A dimensionless turbulent mixing efficiency used with INT_TIDE_DISSIPATION, ! often 0.2. GAMMA_ITIDES = 0.3333 ! [nondim] default = 0.3333 ! The fraction of the internal tidal energy that is dissipated locally with ! INT_TIDE_DISSIPATION. THIS NAME COULD BE BETTER. MIN_ZBOT_ITIDES = 0.0 ! [m] default = 0.0 ! Turn off internal tidal dissipation when the total ocean depth is less than ! this value. TIDAL_MAX_COEF = 0.005 ! [m^2/s] default = 0.005 ! largest acceptable value for tidal diffusivity TIDAL_DISS_LIM_TC = 0.0 ! [m] default = 0.0 ! Min allowable depth for dissipation for tidal-energy-constituent data. No ! dissipation contribution is applied above TIDAL_DISS_LIM_TC. TIDAL_ENERGY_TYPE = "Jayne" ! ! The type of input tidal energy flux dataset. Valid values are Jayne ! ER03 TIDAL_ENERGY_FILE = "energy_new_tx2_3_conserve_230415_cdf5.nc" ! ! The path to the file containing tidal energy dissipation. Used with CVMix ! tidal mixing schemes. TIDAL_DISSIPATION_VAR = "wave_dissipation" ! default = "wave_dissipation" ! The name in the input file of the tidal energy source for mixing. 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 ! 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 ! The maximum decay scale for the BBL diffusion, or 0 to allow the mixing to ! penetrate as far as stratification and rotation permit. The default for now ! is 200 m. 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. 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. LOTW_BBL_USE_OMEGA = True ! [Boolean] default = True ! If true, use the maximum of Omega and N for the TKE to diffusion calculation. ! Otherwise, N is N. VON_KARMAN_BBL = 0.41 ! [nondim] default = 0.41 ! The value the von Karman constant as used in calculating the BBL diffusivity. LOTW_BBL_ANSWER_DATE = 20190101 ! default = 20190101 ! The vintage of the order of arithmetic and expressions in the LOTW_BBL ! calculations. Values below 20240630 recover the original answers, while ! higher values use more accurate expressions. This only applies when ! USE_LOTW_BBL_DIFFUSIVITY is true. DZ_BBL_AVG_MIN = 0.0 ! [m] default = 0.0 ! A minimal distance over which to average to determine the average bottom ! boundary layer density. 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 KD = 1.0E-07 ! [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 = 1.0E-07 ! [m2 s-1] default = 1.0E-09 ! The minimum diapycnal diffusivity. BRYAN_LEWIS_DIFFUSIVITY = False ! [Boolean] default = False ! If true, use a Bryan & Lewis (JGR 1979) like tanh profile of background ! diapycnal diffusivity with depth. This is done via CVMix. HORIZ_VARYING_BACKGROUND = True ! [Boolean] default = False ! If true, apply vertically uniform, latitude-dependent background diffusivity, ! as described in Danabasoglu et al., 2012 BCKGRND_VDC1 = 1.6E-05 ! [m2 s-1] default = 1.6E-05 ! Background diffusivity (Ledwell) when HORIZ_VARYING_BACKGROUND=True BCKGRND_VDC_EQ = 1.0E-06 ! [m2 s-1] default = 1.0E-06 ! Equatorial diffusivity (Gregg) when HORIZ_VARYING_BACKGROUND=True BCKGRND_VDC_PSIM = 1.3E-05 ! [m2 s-1] default = 1.3E-05 ! Max. PSI induced diffusivity (MacKinnon) when HORIZ_VARYING_BACKGROUND=True BCKGRND_VDC_BAN = 1.0E-04 ! [m2 s-1] default = 1.0E-04 ! Banda Sea diffusivity (Gordon) when HORIZ_VARYING_BACKGROUND=True PRANDTL_BKGND = 10.0 ! [nondim] default = 1.0 ! Turbulent Prandtl number used to convert vertical background diffusivities ! into viscosities. HENYEY_IGW_BACKGROUND = False ! [Boolean] default = False ! If true, use a latitude-dependent scaling for the near surface background ! diffusivity, as described in Harrison & Hallberg, JPO 2008. 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 ! HENYEY_IGW_BACKGROUND. 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. KD_ADD = 0.0 ! [m2 s-1] default = 0.0 ! A uniform diapycnal diffusivity that is added everywhere without any filtering ! or scaling. USER_CHANGE_DIFFUSIVITY = False ! [Boolean] default = False ! If true, call user-defined code to change the diffusivity. DISSIPATION_MIN = 0.0 ! [W m-3] default = 0.0 ! The minimum dissipation by which to determine a lower bound of Kd (a floor). DISSIPATION_N0 = 0.0 ! [W m-3] default = 0.0 ! The intercept when N=0 of the N-dependent expression used to set a minimum ! dissipation by which to determine a lower bound of Kd (a floor): A in eps_min ! = A + B*N. DISSIPATION_N1 = 0.0 ! [J m-3] default = 0.0 ! The coefficient multiplying N, following Gargett, used to set a minimum ! dissipation by which to determine a lower bound of Kd (a floor): B in eps_min ! = 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 ! If true, increase diffusivites for temperature or salinity based on the ! double-diffusive parameterization described in Large et al. (1994). ! === module MOM_kappa_shear === ! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 USE_JACKSON_PARAM = False ! [Boolean] default = False ! If true, use the Jackson-Hallberg-Legg (JPO 2008) shear mixing ! parameterization. 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. 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]. 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. ! === 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. 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 ! 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. RECLAIM_FRAZIL = True ! [Boolean] default = True ! If true, try to use any frazil heat deficit to cool any overlying layers down ! to the freezing point, thereby avoiding the creation of thin ice when the SST ! is above the freezing point. SALT_EXTRACTION_LIMIT = 0.9999 ! [nondim] default = 0.9999 ! An upper limit on the fraction of the salt in a layer that can be lost to the ! net surface salt fluxes within a timestep. 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. 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. USE_CALVING_HEAT_CONTENT = False ! [Boolean] default = False ! If true, use the fluxes%calving_Hflx field to set the heat carried by runoff, ! instead of using SST*CP*froz_runoff. DO_BRINE_PLUME = False ! [Boolean] default = False ! If true, use a brine plume parameterization from Nguyen et al., 2009. VAR_PEN_SW = True ! [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. CHL_FROM_FILE = True ! [Boolean] default = True ! If true, chl_a is read from a file. CHL_FILE = "seawifs-clim-1997-2010-tx2_3v2.230416.nc" ! ! CHL_FILE is the file containing chl_a concentrations in the variable CHL_A. It ! is used when VAR_PEN_SW and CHL_FROM_FILE are true. CHL_VARNAME = "CHL_A" ! default = "CHL_A" ! Name of CHL_A variable in CHL_FILE. ! === module MOM_regularize_layers === REGULARIZE_SURFACE_LAYERS = False ! [Boolean] default = False ! If defined, vertically restructure the near-surface layers when they have too ! much lateral variations to allow for sensible lateral barotropic transports. ! === module MOM_opacity === OPACITY_SCHEME = "OHLMANN_03" ! default = "MANIZZA_05" ! This character string specifies how chlorophyll concentrations are translated ! into opacities. Currently valid options include: ! MANIZZA_05 - Use Manizza et al., GRL, 2005. ! MOREL_88 - Use Morel, JGR, 1988. ! OHLMANN_03 - Use Ohlmann, J Clim, 2003. BLUE_FRAC_SW = 0.5 ! [nondim] default = 0.5 ! The fraction of the penetrating shortwave radiation that is in the blue band. PEN_SW_NBANDS = 2 ! default = 1 ! The number of bands of penetrating shortwave radiation. OPTICS_ANSWER_DATE = 99991231 ! default = 99991231 ! The vintage of the order of arithmetic and expressions in the optics ! 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. PEN_SW_FLUX_ABSORB = 2.5E-11 ! [degC m s-1] default = 2.5E-11 ! A minimum remaining shortwave heating rate that will be simply absorbed in the ! next sufficiently thick layers for computational efficiency, instead of ! continuing to penetrate. The default, 2.5e-11 degC m s-1, is about 1e-4 W m-2 ! or 0.08 degC m century-1, but 0 is also a valid value. PEN_SW_ABSORB_MINTHICK = 1.0 ! [m] default = 1.0 ! A thickness that is used to absorb the remaining penetrating shortwave heat ! flux when it drops below PEN_SW_FLUX_ABSORB. OPACITY_LAND_VALUE = 10.0 ! [m-1] default = 10.0 ! The value to use for opacity over land. The default is 10 m-1 - a value for ! muddy water. ! === module MOM_tracer_advect === TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM" ! The horizontal transport scheme for tracers: ! PLM - Piecewise Linear Method ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) ! PPM - Piecewise Parabolic Method (Colella-Woodward) USE_HUYNH_STENCIL_BUG = False ! [Boolean] default = False ! If true, use a stencil width of 2 in PPM:H3 tracer advection. This is ! incorrect and will produce regressions in certain configurations, but may be ! required to reproduce results in legacy simulations. ! === 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 ! The minimum along-isopycnal tracer diffusivity. FULL_DEPTH_KHTR_MIN = True ! [Boolean] default = False ! If true, KHTR_MIN is enforced throughout the whole water column. Otherwise, ! KHTR_MIN is only enforced at the surface. This parameter is only available ! when KHTR_USE_EBT_STRUCT=True and KHTR_MIN>0. KHTR_MAX = 0.0 ! [m2 s-1] default = 0.0 ! The maximum along-isopycnal tracer diffusivity. KHTR_PASSIVITY_COEFF = 0.0 ! [nondim] default = 0.0 ! The coefficient that scales deformation radius over grid-spacing in passivity, ! where passivity is the ratio between along isopycnal mixing of tracers to ! thickness mixing. A non-zero value enables this parameterization. KHTR_PASSIVITY_MIN = 0.5 ! [nondim] default = 0.5 ! The minimum passivity which is the ratio between along isopycnal mixing of ! tracers to thickness mixing. DIFFUSE_ML_TO_INTERIOR = False ! [Boolean] default = False ! If true, enable epipycnal mixing between the surface boundary layer and the ! interior. 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. RECALC_NEUTRAL_SURF = False ! [Boolean] default = False ! If true, then recalculate the neutral surfaces if the ! diffusive CFL is exceeded. If false, assume that the ! positions of the surfaces do not change ! === 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_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 = True ! [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 ! 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 = True ! [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. 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. ! === module MOM_sum_output === CALCULATE_APE = True ! [Boolean] default = True ! If true, calculate the available potential energy of the interfaces. Setting ! this to false reduces the memory footprint of high-PE-count models ! dramatically. WRITE_STOCKS = True ! [Boolean] default = True ! If true, write the integrated tracer amounts to stdout when the energy files ! are written. MAXTRUNC = 2000 ! [truncations save_interval-1] default = 0 ! The run will be stopped, and the day set to a very large value if the velocity ! is truncated more than MAXTRUNC times between energy saves. Set MAXTRUNC to 0 ! to stop if there is any truncation of velocities. MAX_ENERGY = 0.0 ! [m2 s-2] default = 0.0 ! The maximum permitted average energy per unit mass; the model will be stopped ! if there is more energy than this. If zero or negative, this is set to ! 10*MAXVEL^2. ENERGYFILE = "ocean.stats" ! default = "ocean.stats" ! The file to use to write the energies and globally summed diagnostics. DATE_STAMPED_STDOUT = True ! [Boolean] default = True ! If true, use dates (not times) in messages to stdout TIMEUNIT = 8.64E+04 ! [s] default = 8.64E+04 ! The time unit in seconds a number of input fields READ_DEPTH_LIST = False ! [Boolean] default = False ! Read the depth list from a file if it exists or create that file otherwise. DEPTH_LIST_MIN_INC = 1.0E-10 ! [m] default = 1.0E-10 ! The minimum increment between the depths of the entries in the depth-list ! file. ENERGYSAVEDAYS = 1.0 ! [days] default = 1.0 ! The interval in units of TIMEUNIT between saves of the energies of the run and ! other globally summed diagnostics. ENERGYSAVEDAYS_GEOMETRIC = 0.0 ! [days] default = 0.0 ! The starting interval in units of TIMEUNIT for the first call to save the ! energies of the run and other globally summed diagnostics. The interval ! increases by a factor of 2. after each call to write_energy. ! === module ocean_stochastics_init === DO_SPPT = False ! [Boolean] default = False ! If true, then stochastically perturb the thermodynamic tendencies of T,S, amd ! h. Amplitude and correlations are controlled by the nam_stoch namelist in the ! UFS model only. DO_SKEB = False ! [Boolean] default = False ! If true, then stochastically perturb the currents using the stochastic kinetic ! energy backscatter scheme. PERT_EPBL = False ! [Boolean] default = False ! If true, then stochastically perturb the kinetic energy production and ! dissipation terms. Amplitude and correlations are controlled by the nam_stoch ! namelist in the UFS model only. ! === module ocean_model_init === SINGLE_STEPPING_CALL = True ! [Boolean] default = True ! If true, advance the state of MOM with a single step including both dynamics ! and thermodynamics. If false, the two phases are advanced with separate ! calls. RESTART_CONTROL = 3 ! default = 1 ! An integer whose bits encode which restart files are written. Add 2 (bit 1) ! for a time-stamped file, and odd (bit 0) for a non-time-stamped file. A ! restart file will be saved at the end of the run segment for any non-negative ! value. OCEAN_SURFACE_STAGGER = "A" ! default = "C" ! A case-insensitive character string to indicate the staggering of the surface ! velocity field that is returned to the coupler. Valid values include 'A', ! 'B', or 'C'. EPS_OMESH = 1.0E-04 ! [degrees] default = 1.0E-04 ! Maximum allowable difference between ESMF mesh and MOM6 domain coordinates in ! nuopc cap. RESTORE_SALINITY = True ! [Boolean] default = False ! If true, the coupled driver will add a globally-balanced fresh-water flux that ! drives sea-surface salinity toward specified values. RESTORE_TEMPERATURE = False ! [Boolean] default = False ! If true, the coupled driver will add a heat flux that drives sea-surface ! temperature toward specified values. ICE_SHELF = False ! [Boolean] default = False ! If true, enables the ice shelf model. ICEBERGS_APPLY_RIGID_BOUNDARY = False ! [Boolean] default = False ! If true, allows icebergs to change boundary condition felt by ocean USE_WAVES = True ! [Boolean] default = False ! If true, enables surface wave modules. ! === module MOM_surface_forcing_nuopc === LATENT_HEAT_FUSION = 3.337E+05 ! [J/kg] default = 3.337E+05 ! The latent heat of fusion. LATENT_HEAT_VAPORIZATION = 2.501E+06 ! [J/kg] default = 2.501E+06 ! The latent heat of fusion. MAX_P_SURF = -1.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_SRESTORE_TO_ZERO = True ! [Boolean] default = True ! If true, adjusts the salinity restoring seen to zero whether restoring is via ! a salt flux or virtual precip. ADJUST_NET_SRESTORE_BY_SCALING = False ! [Boolean] default = False ! If true, adjustments to salt restoring to achieve zero net are made by scaling ! values without moving the zero contour. 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. USE_NET_FW_ADJUSTMENT_SIGN_BUG = False ! [Boolean] default = False ! If true, use the wrong sign for the adjustment to the net fresh-water. ADJUST_NET_FRESH_WATER_BY_SCALING = False ! [Boolean] default = False ! If true, adjustments to net fresh water to achieve zero net are made by ! scaling values without moving the zero contour. ICE_SALT_CONCENTRATION = 0.005 ! [kg/kg] default = 0.005 ! The assumed sea-ice salinity needed to reverse engineer the melt flux (or ! ice-ocean fresh-water flux). USE_LIMITED_PATM_SSH = True ! [Boolean] default = True ! If true, return the sea surface height with the correction for the atmospheric ! (and sea-ice) pressure limited by max_p_surf instead of the full atmospheric ! pressure. WIND_STAGGER = "C" ! default = "C" ! A case-insensitive character string to indicate the staggering of the input ! wind stress field. Valid values are 'A', 'B', or 'C'. WIND_STRESS_MULTIPLIER = 1.0 ! [nondim] default = 1.0 ! A factor multiplying the wind-stress given to the ocean by the coupler. This ! is used for testing and should be =1.0 for any production runs. ENTHALPY_FROM_COUPLER = True ! [Boolean] default = False ! If True, the heat (enthalpy) associated with mass entering/leaving the ocean ! is provided via coupler. FLUXCONST = 0.1667 ! [m day-1] default = 0.0 ! The constant that relates the restoring surface fluxes to the relative surface ! anomalies (akin to a piston velocity). Note the non-MKS units. SALT_RESTORE_FILE = "state_restore_tx2_3_20230416.nc" ! default = "salt_restore.nc" ! A file in which to find the surface salinity to use for restoring. SALT_RESTORE_VARIABLE = "salt" ! default = "salt" ! The name of the surface salinity variable to read from SALT_RESTORE_FILE for ! restoring salinity. 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. MAX_DELTA_SRESTORE = 5.0 ! [PSU or g kg-1] default = 999.0 ! The maximum salinity difference used in restoring terms. MASK_SRESTORE_UNDER_ICE = False ! [Boolean] default = False ! If true, disables SSS restoring under sea-ice based on a frazil criteria ! (SST<=Tf). Only used when RESTORE_SALINITY is True. MASK_SRESTORE_MARGINAL_SEAS = False ! [Boolean] default = False ! If true, disable SSS restoring in marginal seas. Only used when ! RESTORE_SALINITY is True. BASIN_FILE = "basin.nc" ! default = "basin.nc" ! A file in which to find the basin masks, in variable 'basin'. MASK_SRESTORE = False ! [Boolean] default = False ! If true, read a file (salt_restore_mask) containing a mask for SSS restoring. CD_TIDES = 1.0E-04 ! [nondim] default = 1.0E-04 ! The drag coefficient that applies to the tides. READ_TIDEAMP = False ! [Boolean] default = False ! If true, read a file (given by TIDEAMP_FILE) containing the tidal amplitude ! with INT_TIDE_DISSIPATION. 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 = 4.0E-04 ! [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 ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that ! resist vertical motion. ALLOW_ICEBERG_FLUX_DIAGNOSTICS = False ! [Boolean] default = False ! If true, makes available diagnostics of fluxes from icebergs as seen by MOM6. ALLOW_GLC_RUNOFF_DIAGNOSTICS = False ! [Boolean] default = False ! If true, makes available diagnostics of separate glacier runoff fluxesas seen ! by MOM6. ALLOW_FLUX_ADJUSTMENTS = False ! [Boolean] default = False ! If true, allows flux adjustments to specified via the data_table using the ! component name 'OCN'. LIQUID_RUNOFF_FROM_DATA = False ! [Boolean] default = False ! If true, allows liquid river runoff to be specified via the data_table using ! 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. LAGRANGIAN_MIXING = False ! [Boolean] default = False ! Flag to use Lagrangian Mixing of momentum STOKES_MIXING = False ! [Boolean] default = False ! Flag to use Stokes Mixing of momentum CORIOLIS_STOKES = False ! [Boolean] default = False ! Flag to use Coriolis Stokes acceleration STOKES_VF = True ! [Boolean] default = False ! Flag to use Stokes vortex force PASSIVE_STOKES_VF = False ! [Boolean] default = False ! Flag to make Stokes vortex force diagnostic only. STOKES_PGF = True ! [Boolean] default = False ! Flag to use Stokes-induced pressure gradient anomaly ROBUST_STOKES_PGF = False ! [Boolean] default = False ! If true, use expressions to calculate the Stokes-induced pressure gradient ! anomalies that are more accurate in the limit of thin layers. PASSIVE_STOKES_PGF = False ! [Boolean] default = False ! Flag to make Stokes-induced pressure gradient anomaly diagnostic only. STOKES_DDT = True ! [Boolean] default = False ! Flag to use Stokes d/dt PASSIVE_STOKES_DDT = False ! [Boolean] default = False ! Flag to make Stokes d/dt diagnostic only WAVE_METHOD = "SURFACE_BANDS" ! default = "EMPTY" ! Choice of wave method, valid options include: ! TEST_PROFILE - Prescribed from surface Stokes drift ! and a decay wavelength. ! SURFACE_BANDS - Computed from multiple surface values ! and decay wavelengths. ! DHH85 - Uses Donelan et al. 1985 empirical ! wave spectrum with prescribed values. ! LF17 - Infers Stokes drift profile from wind ! speed following Li and Fox-Kemper 2017. ! EFACTOR - Applies an enhancement factor to the KPP ! turbulent velocity scale received ! directly from WW3 and is based on the ! surface layer and projected Langmuir ! number (Li 2016) SURFBAND_MIN_THICK_AVG = 0.1 ! [m] default = 0.1 ! A layer thickness below which the cell-center Stokes drift is used instead of ! the cell average. This is only used if WAVE_INTERFACE_ANSWER_DATE < 20230101. SURFBAND_SOURCE = "COUPLER" ! default = "EMPTY" ! Choice of SURFACE_BANDS data mode, valid options include: ! DATAOVERRIDE - Read from NetCDF using FMS DataOverride. ! COUPLER - Look for variables from coupler pass ! INPUT - Testing with fixed values. STK_BAND_COUPLER = 3 ! default = 1 ! STK_BAND_COUPLER is the number of Stokes drift bands in the coupler. This has ! to be consistent with the number of Stokes drift bands in WW3, or the model ! will fail. SURFBAND_WAVENUMBERS = 0.04, 0.11, 0.33 ! [rad/m] default = 0.12566 ! Central wavenumbers for surface Stokes drift bands. LA_MISALIGNMENT = False ! [Boolean] default = False ! Flag (logical) if using misalignment between shear and waves in LA MIN_LANGMUIR = 0.05 ! [nondim] default = 0.05 ! A minimum value for all Langmuir numbers that is not physical, but is likely ! only encountered when the wind is very small and therefore its effects should ! be mostly benign. LANGMUIR_STOKES_BACKGROUND = 1.0E-10 ! [m s-1] default = 1.0E-10 ! A small background Stokes velocity used in the denominator of some expressions ! for the Langmuir number. ! === module MOM_file_parser === SEND_LOG_TO_STDOUT = False ! [Boolean] default = False ! If true, all log messages are also sent to stdout. DOCUMENT_FILE = "MOM_parameter_doc" ! default = "MOM_parameter_doc" ! The basename for files where run-time parameters, their settings, units and ! defaults are documented. Blank will disable all parameter documentation. COMPLETE_DOCUMENTATION = True ! [Boolean] default = True ! If true, all run-time parameters are documented in MOM_parameter_doc.all . MINIMAL_DOCUMENTATION = True ! [Boolean] default = True ! If true, non-default run-time parameters are documented in ! MOM_parameter_doc.short .