! This input file provides the adjustable run-time parameters for version 6 of the Modular Ocean Model (MOM6).
! Where appropriate, parameters use usually given in MKS units.

! This particular file is for the example in ice_ocean_SIS2/SIS2.

! This MOM_input file typically contains only the non-default values that are needed to reproduce this example.
! A full list of parameters for this example can be found in the corresponding MOM_parameter_doc.all file
! which is generated by the model at run-time.

! === module MOM_domains ===
TRIPOLAR_N = True               !   [Boolean] default = False
                                ! Use tripolar connectivity at the northern edge of the domain.  With
                                ! TRIPOLAR_N, NIGLOBAL must be even.
NIGLOBAL = 360                  !
                                ! 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 = 312                  !
                                ! 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.
! LAYOUT = 10, 6                !
                                ! The processor layout that was actually used.

! === module MOM ===
DIABATIC_FIRST = True           !   [Boolean] default = False
                                ! If true, apply diabatic and thermodynamic processes, including buoyancy
                                ! forcing and mass gain or loss, before stepping the dynamics forward.
THICKNESSDIFFUSE = True         !   [Boolean] default = False
                                ! If true, interface heights are diffused with a coefficient of KHTH.
THICKNESSDIFFUSE_FIRST = True   !   [Boolean] default = False
                                ! If true, do thickness diffusion before dynamics. This is only used if
                                ! THICKNESSDIFFUSE is true.
DT = 3600.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 = 7200.0               !   [s] default = 3600.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.
DTBT_RESET_PERIOD = 0.0         !   [s] default = 7200.0
                                ! The period between recalculations of DTBT (if DTBT <= 0). If DTBT_RESET_PERIOD
                                ! is negative, DTBT is set based only on information available at
                                ! initialization.  If 0, DTBT will be set every dynamics time step. The default
                                ! 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.)
C_P = 3925.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.
SAVE_INITIAL_CONDS = True       !   [Boolean] default = False
                                ! If true, write the initial conditions to a file given by IC_OUTPUT_FILE.
IC_OUTPUT_FILE = "GOLD_IC"      ! default = "MOM_IC"
                                ! The file into which to write the initial conditions.
CHECK_BAD_SURFACE_VALS = False  !   [Boolean] default = False
                                ! If true, check the surface state for ridiculous values.

! === 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.nc"    !
                                ! Name of the file from which to read horizontal grid data.
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 = "topog.nc"          ! default = "topog.nc"
                                ! The file from which the bathymetry is read.
MAXIMUM_DEPTH = 6500.0          !   [m]
                                ! The maximum depth of the ocean.
MINIMUM_DEPTH = 0.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.
CHANNEL_CONFIG = "global_1deg"  ! 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.

! === module MOM_verticalGrid ===
! Parameters providing information about the vertical grid.
NK = 75                         !   [nondim]
                                ! The number of model layers.

! === module MOM_EOS ===

! === module MOM_tracer_flow_control ===
USE_IDEAL_AGE_TRACER = True     !   [Boolean] default = False
                                ! If true, use the ideal_age_example tracer package.
USE_OCMIP2_CFC = False          !   [Boolean] default = False
                                ! If true, use the MOM_OCMIP2_CFC tracer package.

! === module ideal_age_example ===

! === module MOM_OCMIP2_CFC ===

! === module MOM_coord_initialization ===
COORD_CONFIG = "ALE"            ! 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.
!COORD_FILE = "Vertical_coordinate_Density.nc" !
!COORD_FILE = "GOLD_SIS_IC.nc" !
                                ! The file from which the coordinate densities are read.
ALE_COORDINATE_CONFIG = "HYBRID:hycom1_75_800m.nc,sigma2,dz"	
                                ! 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)
                                !  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
USE_REGRIDDING = True           !   [Boolean] default = False
                                ! If True, use the ALE algorithm (regridding/remapping). If False, use the
                                ! layered isopycnal algorithm.
REGRIDDING_COORDINATE_MODE = "HYCOM1" ! default = "LAYER"a
                                ! 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
                                !  SLIGHT - stretched coordinates above continuous isopycnal
                                !  ADAPTIVE - optimize for smooth neutral density surfaces
REMAPPING_SCHEME = "PPM_H4"     ! 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)
INIT_LAYERS_FROM_Z_FILE = False !   [Boolean] default = False
                                ! If true, intialize the layer thicknesses, temperatures,
                                ! and salnities from a Z-space file on a latitude-
                                ! longitude grid.

! === module MOM_initialize_layers_from_Z ===
TEMP_SALT_Z_INIT_FILE = "mom6_cmems_mod_glo_phy_1993-01-01new.nc"  ! default = "temp_salt_z.nc"
                                ! The name of the z-space input file used to initialize
                                ! temperatures (T) and salinities (S). If T and S are not
                                ! in the same file, TEMP_Z_INIT_FILE and SALT_Z_INIT_FILE
                                ! must be set.
Z_INIT_FILE_PTEMP_VAR = "ptemp" ! default = "ptemp"
                                ! The name of the potential temperature variable in
                                ! TEMP_Z_INIT_FILE.
Z_INIT_FILE_SALT_VAR = "salt"   ! default = "salt"
                                ! The name of the salinity variable in
                                ! SALT_Z_INIT_FILE.
Z_INIT_ALE_REMAPPING = True     !   [Boolean] default = False
                                ! If True, then remap straight to model coordinate from file.
Z_INIT_REMAP_GENERAL = True     !   [Boolean] default = False
                                ! If false, only initializes to z* coordinates.
                                ! If true, allows initialization directly to general coordinates.
Z_INIT_REMAPPING_SCHEME = "PPM_IH4"

Z_INIT_REMAP_FULL_COLUMN = True

LAYER_Z_INIT_IC_EXTRAP_BUG = False !   [Boolean] default = True
                                ! If true use an expression with a vertical indexing bug for extrapolating the
                                ! densities at the bottom of unstable profiles from data when finding the
                                ! initial interface locations in layered mode from a dataset of T and S.

ADJUST_THICKNESS = True         !   [Boolean] default = False
                                ! If true, all mass below the bottom removed if the
                                ! topography is shallower than the thickness input file
                                ! would indicate.
                                ! OBC segment docs
DEPRESS_INITIAL_SURFACE = True  !   [Boolean] default = False
                                ! If true,  depress the initial surface to avoid huge tsunamis when a large
                                ! surface pressure is applied.
SURFACE_HEIGHT_IC_FILE = "mom6_cmems_mod_glo_phy_1993-01-01new.nc" !
                                ! The initial condition file for the surface height.
SURFACE_HEIGHT_IC_VAR = "ssh"   ! default = "SSH"
                                ! The initial condition variable for the surface height.
VELOCITY_CONFIG = "file"        ! default = "zero"
                                ! A string that determines how the initial velocities are specified for a new
                                ! run:
                                !     file - read velocities from the file specified
                                !       by (VELOCITY_FILE).
                                !     zero - the fluid is initially at rest.
                                !     uniform - the flow is uniform (determined by
                                !       parameters INITIAL_U_CONST and INITIAL_V_CONST).
                                !     rossby_front - a mixed layer front in thermal wind balance.
                                !     soliton - Equatorial Rossby soliton.
                                !     USER - call a user modified routine.
VELOCITY_FILE = "mom6_cmems_mod_glo_phy_1993-01-01new.nc" !

! === module MOM_state_initialization ===
THICKNESS_CONFIG = "coord"      ! default = "uniform"
                                ! A string that determines how the initial layer thicknesses are specified for a
                                ! new run:
                                !     file - read interface heights from the file specified
                                !     thickness_file - read thicknesses from the file specified
                                !       by (THICKNESS_FILE).
                                !     coord - determined by ALE coordinate.
                                !     uniform - uniform thickness layers evenly distributed
                                !       between the surface and MAXIMUM_DEPTH.
                                !     list - read a list of positive interface depths.
                                !     DOME - use a slope and channel configuration for the
                                !       DOME sill-overflow test case.
                                !     ISOMIP - use a configuration for the
                                !       ISOMIP test case.
                                !     benchmark - use the benchmark test case thicknesses.
                                !     Neverworld - use the Neverworld test case thicknesses.
                                !     search - search a density profile for the interface
                                !       densities. This is not yet implemented.
                                !     circle_obcs - the circle_obcs test case is used.
                                !     DOME2D - 2D version of DOME initialization.
                                !     adjustment2d - 2D lock exchange thickness ICs.
                                !     sloshing - sloshing gravity thickness ICs.
                                !     seamount - no motion test with seamount ICs.
                                !     dumbbell - sloshing channel ICs.
                                !     soliton - Equatorial Rossby soliton.
                                !     rossby_front - a mixed layer front in thermal wind balance.
                                !     USER - call a user modified routine.
!THICKNESS_FILE = "GOLD_SIS_IC.nc" !
                                ! The name of the thickness file.
ADJUST_THICKNESS = True         !   [Boolean] default = False
                                ! If true, all mass below the bottom removed if the topography is shallower than
                                ! the thickness input file would indicate.
TS_CONFIG = "file"              !
                                ! A string that determines how the initial tempertures and salinities are
                                ! specified for a new run:
                                !     file - read velocities from the file specified
                                !       by (TS_FILE).
                                !     fit - find the temperatures that are consistent with
                                !       the layer densities and salinity S_REF.
                                !     TS_profile - use temperature and salinity profiles
                                !       (read from TS_FILE) to set layer densities.
                                !     benchmark - use the benchmark test case T & S.
                                !     linear - linear in logical layer space.
                                !     DOME2D - 2D DOME initialization.
                                !     ISOMIP - ISOMIP initialization.
                                !     adjustment2d - 2d lock exchange T/S ICs.
                                !     sloshing - sloshing mode T/S ICs.
                                !     seamount - no motion test with seamount ICs.
                                !     dumbbell - sloshing channel ICs.
                                !     rossby_front - a mixed layer front in thermal wind balance.
                                !     SCM_CVMix_tests - used in the SCM CVMix tests.
                                !     USER - call a user modified routine.
TS_FILE = "mom6_cmems_mod_glo_phy_1993-01-01new.nc"      !
                                ! The initial condition file for temperature.
TEMP_IC_VAR = "ptemp"            ! default = "PTEMP"
                                ! The initial condition variable for potential temperature.
SALT_IC_VAR = "salt"            ! default = "SALT"
                                ! The initial condition variable for salinity.

! === module MOM_diag_mediator ===
!DIAG_COORD_DEF_Z = "WOA09"
DIAG_COORD_DEF_Z = "FILE:lev.nc,dz"      ! 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)
                                !  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_MISVAL = -1.e+34           !   [not defined] default = 1.0E+20
                                ! Set the default missing value to use for diagnostics.

! === 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.
RESOLN_SCALED_KHTH = True       !   [Boolean] default = False
                                ! If true, the interface depth diffusivity is scaled away when the first
                                ! baroclinic deformation radius is well resolved.
KHTH_SLOPE_CFF = 0.0            !   [nondim] default = 0.0
                                ! The nondimensional coefficient in the Visbeck formula for the interface depth
                                ! diffusivity
KHTR_SLOPE_CFF = 0.0            !   [nondim] default = 0.0
                                ! The nondimensional coefficient in the Visbeck formula for the epipycnal tracer
                                ! diffusivity
VARMIX_KTOP = 2                 !   [nondim] default = 2
                                ! The layer number at which to start vertical integration of S*N for purposes of
                                ! finding the Eady growth rate.
VISBECK_L_SCALE = 0.0           !   [m] default = 0.0
                                ! The fixed length scale in the Visbeck formula.

! === module MOM_set_visc ===
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.
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.
ML_OMEGA_FRAC = 0.0             !   [nondim] default = 0.0
                                ! When setting the decay scale for turbulence, use this fraction of the absolute
                                ! rotation rate blended with the local value of f, as sqrt((1-of)*f^2 +
                                ! of*4*omega^2).
HBBL = 10.0                     !   [m]
                                ! The thickness of a bottom boundary layer with a viscosity of KVBBL 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.
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_THICK_MIN = 0.1             !   [m] default = 0.0
                                ! The minimum bottom boundary layer thickness that can be used with
                                ! BOTTOMDRAGLAW. This might be Kv/(cdrag*drag_bg_vel) to give Kv as the minimum
                                ! near-bottom viscosity.
KV = 1.0E-04                    !   [m2 s-1]
                                ! The background kinematic viscosity in the interior. The molecular value, ~1e-6
                                ! m2 s-1, may be used.
BBL_USE_EOS = True              !   [Boolean] default = False
                                ! If true, use the equation of state in determining the properties of the bottom
                                ! boundary layer.  Otherwise use the layer target potential densities.

! === module MOM_thickness_diffuse ===
KHTH = 600.0                    !   [m2 s-1] default = 0.0
                                ! The background horizontal thickness diffusivity.
KHTH_MAX = 900.0                !   [m2 s-1] default = 0.0
                                ! The maximum horizontal thickness diffusivity.
KHTH_USE_FGNV_STREAMFUNCTION = True !   [Boolean] default = False
                                ! If true, use the streamfunction formulation of Ferrari et al., 2010, which
                                ! effectively emphasizes graver vertical modes by smoothing in the vertical.
FGNV_C_MIN = 0.01               !   [m s-1] default = 0.0
                                ! A minium wave speed used in the Ferrari et al., 2010, streamfunction
                                ! formulation.


! === module MOM_dynamics_split_RK2 ===
TIDES = True                    !   [Boolean] default = False
                                ! If true, apply tidal momentum forcing.


! === module MOM_continuity ===

! === module MOM_continuity_PPM ===
ETA_TOLERANCE = 1.0E-06         !   [m] default = 3.15E-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 = 1.0E-04    !   [m s-1] default = 3.0E+08
                                ! The tolerance for barotropic velocity discrepancies between the barotropic
                                ! solution and  the sum of the layer thicknesses.

! === module MOM_CoriolisAdv ===
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.
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 is always effectively false with CORIOLIS_EN_DIS defined and
                                ! CORIOLIS_SCHEME set to SADOURNY75_ENERGY.

! === module MOM_tidal_forcing ===
TIDE_M2 = True                  !   [Boolean] default = False
                                ! If true, apply tidal momentum forcing at the M2 frequency. This is only used
                                ! if TIDES is true.
TIDE_SAL_SCALAR_VALUE = 0.094   !   [m m-1]
                                ! The constant of proportionality between sea surface height (really it should
                                ! be bottom pressure) anomalies and bottom geopotential anomalies. This is only
                                ! used if TIDES and TIDE_USE_SAL_SCALAR are true.

! === module MOM_PressureForce ===

! === module MOM_PressureForce_AFV ===

! === module MOM_hor_visc ===
LAPLACIAN = True                !   [Boolean] default = False
                                ! If true, use a Laplacian horizontal viscosity.
KH_VEL_SCALE = 0.01             !   [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.
AH_VEL_SCALE = 0.05             !   [m s-1] default = 0.0
                                ! The velocity scale which is multiplied by the cube of the grid spacing to
                                ! calculate the biharmonic viscosity. The final viscosity is the largest of this
                                ! scaled viscosity, the Smagorinsky and Leith viscosities, and AH.
SMAGORINSKY_AH = True           !   [Boolean] default = False
                                ! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity.
SMAG_BI_CONST = 0.06            !   [nondim] default = 0.0
                                ! The nondimensional biharmonic Smagorinsky constant, typically 0.015 - 0.06.

! === module MOM_vert_friction ===
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.
KVML = 1.0E-05                  !   [m2 s-1] default = 1.0E-05
                                ! The kinematic viscosity in the mixed layer.  A typical value is ~1e-2 m2 s-1.
                                ! KVML is not used if BULKMIXEDLAYER is true.  The default is set by KV.

MAXVEL = 6.0                    !   [m s-1] default = 3.0E+08
                                ! The maximum velocity allowed before the velocity components are truncated.

! === module MOM_barotropic ===
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_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.
BAROTROPIC_TIDAL_SAL_BUG = False !   [Boolean] default = True
                                ! If true, the tidal self-attraction and loading anomaly in the barotropic
                                ! solver has the wrong sign, replicating a long-standing bug with a scalar
                                ! self-attraction and loading term or the SAL term from a previous simulation.
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.

! === 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.
FOX_KEMPER_ML_RESTRAT_COEF = 20.0 !   [nondim] default = 0.0
                                ! A nondimensional coefficient that is proportional to the ratio of the
                                ! deformation radius to the dominant lengthscale of the submesoscale mixed layer
                                ! instabilities, times the minimum of the ratio of the mesoscale eddy kinetic
                                ! energy to the large-scale geostrophic kinetic energy or 1 plus the square of
                                ! the grid spacing over the deformation radius, as detailed by Fox-Kemper et al.
                                ! (2010)

! === module MOM_diagnostics ===

! === 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.

! === module MOM_tidal_mixing ===
! Vertical Tidal Mixing Parameterization
INT_TIDE_DISSIPATION = False    !   [Boolean] default = False
                                ! 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).
INT_TIDE_DECAY_SCALE = 300.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.
KAPPA_ITIDES = 6.28319E-04      !   [m-1] default = 6.283185307179586E-04
                                ! A topographic wavenumber used with INT_TIDE_DISSIPATION. The default is 2pi/10
                                ! km, as in St.Laurent et al. 2002.
KAPPA_H2_FACTOR = 0.75          !   [nondim] default = 1.0
                                ! A scaling factor for the roughness amplitude with INT_TIDE_DISSIPATION.
TKE_ITIDE_MAX = 0.1             !   [W m-2] default = 1000.0
                                ! The maximum internal tide energy source available to mix above the bottom
                                ! boundary layer with INT_TIDE_DISSIPATION.
READ_TIDEAMP = False            !   [Boolean] default = False
                                ! If true, read a file (given by TIDEAMP_FILE) containing the tidal amplitude
                                ! with INT_TIDE_DISSIPATION.
H2_FILE = "sgs_h2.nc"           !
                                ! The path to the file containing the sub-grid-scale topographic roughness
                                ! amplitude with INT_TIDE_DISSIPATION.
! === module MOM_geothermal ===
GEOTHERMAL_SCALE = 0.001        !   [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_heating_cm2g.nc" ! default = ""
                                ! The file from which the geothermal heating is to be read, or blank to use a
                                ! constant heating rate.
! === module MOM_set_diffusivity ===
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.


! === module MOM_bkgnd_mixing ===
! Adding static vertical background mixing coefficients
KD = 2.0E-05                    !   [m2 s-1] default = 0.0
                                ! The background diapycnal diffusivity of density in the interior. Zero or the
                                ! molecular value, ~1e-7 m2 s-1, may be used.
KD_MIN = 2.0E-06                !   [m2 s-1] default = 2.0E-07
                                ! The minimum diapycnal diffusivity.
HENYEY_IGW_BACKGROUND = True    !   [Boolean] default = False
                                ! If true, use a latitude-dependent scaling for the near surface background
                                ! diffusivity, as described in Harrison & Hallberg, JPO 2008.
KD_MAX = 0.1                    !   [m2 s-1] default = -1.0
                                ! The maximum permitted increment for the diapycnal diffusivity from TKE-based
                                ! parameterizations, or a negative value for no limit.

! === module MOM_kappa_shear ===
! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008
USE_JACKSON_PARAM = True        !   [Boolean] default = False
                                ! If true, use the Jackson-Hallberg-Legg (JPO 2008) shear mixing
                                ! parameterization.
MAX_RINO_IT = 25                !   [nondim] default = 50
                                ! The maximum number of iterations that may be used to estimate the Richardson
                                ! number driven mixing.

! === module MOM_diabatic_aux ===
! The following parameters are used for auxiliary diabatic processes.
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_FILE = "seawifs_1998-2006_GOLD_smoothed_2X.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.

! === module MOM_mixed_layer ===
!BULK_RI_ML = 0.05               !   [nondim]
                                ! The efficiency with which mean kinetic energy released by mechanically forced
                                ! entrainment of the mixed layer is converted to turbulent kinetic energy.
!ABSORB_ALL_SW = True            !   [Boolean] default = False
                                ! If true,  all shortwave radiation is absorbed by the ocean, instead of passing
                                ! through to the bottom mud.
HMIX_MIN = 2.0                  !   [m] default = 0.0
                                ! The minimum mixed layer depth if the mixed layer depth is determined
                                ! dynamically.
!LIMIT_BUFFER_DETRAIN = True     !   [Boolean] default = False
                                ! If true, limit the detrainment from the buffer layers to not be too different
                                ! from the neighbors.
!DEPTH_LIMIT_FLUXES = 0.1        !   [m] default = 0.2
                                ! The surface fluxes are scaled away when the total ocean depth is less than
                                ! DEPTH_LIMIT_FLUXES.
!ML_RESORT = True                !   [Boolean] default = False
                                ! If true, resort the topmost layers by potential density before the mixed layer
                                ! calculations.
!ML_PRESORT_NK_CONV_ADJ = 4      !   [nondim] default = 0
                                ! Convectively mix the first ML_PRESORT_NK_CONV_ADJ layers before sorting when
                                ! ML_RESORT is true.
!CORRECT_ABSORPTION_DEPTH = True !   [Boolean] default = False
                                ! If true, the average depth at which penetrating shortwave radiation is
                                ! absorbed is adjusted to match the average heating depth of an exponential
                                ! profile by moving some of the heating upward in the water column.
DO_RIVERMIX = True              !   [Boolean] default = False
                                ! If true, apply additional mixing wherever there is runoff, so that it is mixed
                                ! down to RIVERMIX_DEPTH, if the ocean is that deep.
RIVERMIX_DEPTH = 40.0           !   [m] default = 0.0
                                ! The depth to which rivers are mixed if DO_RIVERMIX is defined.

! === module MOM_regularize_layers ===
REGULARIZE_SURFACE_LAYERS = True !   [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 ===
PEN_SW_NBANDS = 3               ! default = 1
                                ! The number of bands of penetrating shortwave radiation.

! === module MOM_tracer_advect ===

! === module MOM_tracer_hor_diff ===
KHTR = 600.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.
KHTR_MAX = 900.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.
DIFFUSE_ML_TO_INTERIOR = False  !   [Boolean] default = False
                                ! If true, enable epipycnal mixing between the surface boundary layer and the
                                ! interior.
ML_KHTR_SCALE = 1.0             !   [nondim] default = 1.0
                                ! With Diffuse_ML_interior, the ratio of the truly horizontal diffusivity in the
                                ! mixed layer to the epipycnal diffusivity.  The valid range is 0 to 1.

! === module MOM_sum_output ===
MAXTRUNC = 5000                 !   [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.
ENERGYSAVEDAYS = 0.25           !   [days] default = 1.0
                                ! The interval in units of TIMEUNIT between saves of the energies of the run and
                                ! other globally summed diagnostics.

! === module ocean_model_init ===
OCEAN_SURFACE_STAGGER = "C"     ! 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'.
RESTART_CONTROL = 2             ! 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.


! === module MOM_surface_forcing ===
MAX_P_SURF = 7.0E+04            !   [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.
RESTORE_SALINITY = False        !   [Boolean] default = False
                                ! If true, the coupled driver will add a globally-balanced fresh-water flux that
                                ! drives sea-surface salinity toward specified values.
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_LIMITED_PATM_SSH = False    !   [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'.
FLUXCONST = 0.5                 !   [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.
CD_TIDES = 0.0025               !   [nondim] default = 1.0E-04
                                ! The drag coefficient that applies to the tides.
READ_GUST_2D = False            !   [Boolean] default = False
                                ! If true, use a 2-dimensional gustiness supplied from an input file
GUST_CONST = 0.02               !   [Pa] default = 0.0
                                ! The background gustiness in the winds.
GUST_2D_FILE = "gustiness_qscat.nc" !
                                ! The file in which the wind gustiness is found in variable gustiness.

! Debugging parameters set to non-default values
U_TRUNC_FILE = "U_velocity_truncations" ! default = ""
                                ! The absolute path to a file into which the accelerations leading to zonal
                                ! velocity truncations are written. Undefine this for efficiency if this
                                ! diagnostic is not needed.
V_TRUNC_FILE = "V_velocity_truncations" ! default = ""
                                ! The absolute path to a file into which the accelerations leading to meridional
                                ! velocity truncations are written. Undefine this for efficiency if this
                                ! diagnostic is not needed.

! === module MOM_restart ===
RESTART_CHECKSUMS_REQUIRED = False !   [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.
ENERGETICS_SFC_PBL = True
