! This file was written by the model and records the non-default parameters used at run-time.

! === module MOM ===
USE_REGRIDDING = True           !   [Boolean] default = False
                                ! If True, use the ALE algorithm (regridding/remapping). If False, use the
                                ! layered isopycnal algorithm.
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.
DT = 1200.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 = 1200.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.
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 = False        !   [Boolean] default = True
                                ! If true, always include the surface pressure contributions in equation of
                                ! state calculations.
SAVE_INITIAL_CONDS = False      !   [Boolean] default = False
                                ! If true, write the initial conditions to a file given by IC_OUTPUT_FILE.

! === module MOM_domains ===
REENTRANT_X = False             !   [Boolean] default = True
                                ! If true, the domain is zonally reentrant.
NIGLOBAL = 14                   !
                                ! 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 = 10                   !
                                ! 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.

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

! === module MOM_fixed_initialization ===

! === 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.
!MAXIMUM_DEPTH = 100.0          !   [m]
                                ! The (diagnosed) maximum depth of the ocean.

ROTATION = "betaplane"          ! 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.
F_0 = 1.0E-04                   !   [s-1] default = 0.0
                                ! The reference value of the Coriolis parameter with the betaplane option.
GRID_ROTATION_ANGLE_BUGS = True !   [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_tracer_registry ===

! === module MOM_EOS ===
EQN_OF_STATE = "LINEAR"         ! default = "WRIGHT"
                                ! EQN_OF_STATE determines which ocean equation of state should be used.
                                ! Currently, the valid choices are "LINEAR", "UNESCO", "WRIGHT", "NEMO" and
                                ! "TEOS10". This is only used if USE_EOS is true.
DRHO_DS = 0.0                   !   [kg m-3 PSU-1] default = 0.8
                                ! When EQN_OF_STATE=LINEAR, this is the partial derivative of density with
                                ! salinity.

! === module MOM_tracer_flow_control ===

! === module MOM_coord_initialization ===
COORD_CONFIG = "linear"         ! 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.
REMAP_UV_USING_OLD_ALG = True   !   [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.
REGRIDDING_COORDINATE_MODE = "Z*" ! 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
                                !  SLIGHT - stretched coordinates above continuous isopycnal
                                !  ADAPTIVE - optimize for smooth neutral density surfaces
!ALE_RESOLUTION = 2*50.0        !   [m]
                                ! 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.
REMAPPING_SCHEME = "PPM_IH4"    ! 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)

! === module MOM_state_initialization ===
INIT_LAYERS_FROM_Z_FILE = True  !   [Boolean] default = False
                                ! If true, initialize the layer thicknesses, temperatures, and salinities from a
                                ! Z-space file on a latitude-longitude grid.

! === module MOM_initialize_layers_from_Z ===
TEMP_SALT_Z_INIT_FILE = "temp_salt_ic.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_ALE_REMAPPING = True     !   [Boolean] default = False
                                ! If True, then remap straight to model coordinate from file.
SPONGE = True                   !   [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.
SPONGE_DAMPING_FILE = "sponge.nc" !
                                ! The name of the file with the sponge damping rates.
SPONGE_STATE_FILE = "temp_salt_ic.nc" ! default = "sponge.nc"
                                ! The name of the file with the state to damp toward.
SPONGE_PTEMP_VAR = "ptemp"      ! default = "PTEMP"
                                ! The name of the potential temperature variable in SPONGE_STATE_FILE.
SPONGE_SALT_VAR = "salt"        ! default = "SALT"
                                ! The name of the salinity variable in SPONGE_STATE_FILE.
INTERPOLATE_SPONGE_TIME_SPACE = True !   [Boolean] default = False
                                ! If True, perform on-the-fly regridding in lat-lon-time of sponge restoring
                                ! data.

! === module MOM_sponge ===
SPONGE_DATA_ONGRID = True       !   [Boolean] default = False
                                ! When defined, the incoming sponge data are assumed to be on the model grid
!Total sponge columns at h points = 100 !
                                ! The total number of columns where sponges are applied at h points.

! === module MOM_diag_mediator ===
DIAG_AS_CHKSUM = True           !   [Boolean] default = False
                                ! Instead of writing diagnostics to the diag manager, write a text file
                                ! containing the checksum (bitcount) of the array.

! === module MOM_lateral_mixing_coeffs ===

! === module MOM_set_visc ===
LINEAR_DRAG = True              !   [Boolean] default = False
                                ! If LINEAR_DRAG and BOTTOMDRAGLAW are defined the drag law is
                                ! cdrag*DRAG_BG_VEL*u.
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.
CDRAG = 0.002                   !   [nondim] default = 0.003
                                ! CDRAG is the drag coefficient relating the magnitude of the velocity field to
                                ! the bottom stress. CDRAG is only used if BOTTOMDRAGLAW is defined.
DRAG_BG_VEL = 0.05              !   [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.
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.

! === module MOM_thickness_diffuse ===
KHTH = 500.0                    !   [m2 s-1] default = 0.0
                                ! The background horizontal thickness diffusivity.
USE_GM_WORK_BUG = True          !   [Boolean] default = False
                                ! If true, compute the top-layer work tendency on the u-grid with the incorrect
                                ! sign, for legacy reproducibility.

! === module MOM_porous_barriers ===

! === module MOM_dynamics_split_RK2 ===
BE = 0.7                        !   [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.

! === module MOM_continuity ===

! === module MOM_continuity_PPM ===
ETA_TOLERANCE = 1.0E-12         !   [m] default = 1.0E-10
                                ! 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.

! === module MOM_CoriolisAdv ===
CORIOLIS_EN_DIS = True          !   [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_PressureForce ===

! === module MOM_PressureForce_FV ===
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.
RECONSTRUCT_FOR_PRESSURE = False !   [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.

! === module MOM_hor_visc ===
SMAGORINSKY_AH = True           !   [Boolean] default = False
                                ! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity.
SMAG_BI_CONST = 0.03            !   [nondim] default = 0.0
                                ! The nondimensional biharmonic Smagorinsky constant, typically 0.015 - 0.06.
USE_LAND_MASK_FOR_HVISC = False !   [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.

! === module MOM_vert_friction ===
DIRECT_STRESS = True            !   [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.
HMIX_FIXED = 20.0               !   [m]
                                ! The prescribed depth over which the near-surface viscosity and diffusivity are
                                ! elevated when the bulk mixed layer is not used.
KV_ML_INVZ2 = 0.01              !   [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 = 10.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.
SSH_EXTRA = 10.0                !   [m] default = 5.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.
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 = 10.0                     !   [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_diagnostics ===

! === module MOM_diabatic_driver ===
! The following parameters are used for diabatic processes.

! === module MOM_set_diffusivity ===
BBL_EFFIC = 0.0                 !   [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.

! === module MOM_bkgnd_mixing ===
! Adding static vertical background mixing coefficients
KD = 0.0                        !   [m2 s-1]
                                ! The background diapycnal diffusivity of density in the interior. Zero or the
                                ! molecular value, ~1e-7 m2 s-1, may be used.

! === module MOM_diabatic_aux ===
! The following parameters are used for auxiliary diabatic processes.

! === module MOM_opacity ===
PEN_SW_ABSORB_MINTHICK = 0.001  !   [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.

! === module MOM_tracer_advect ===

! === module MOM_tracer_hor_diff ===

! === 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.
DATE_STAMPED_STDOUT = False     !   [Boolean] default = True
                                ! If true, use dates (not times) in messages to stdout
ENERGYSAVEDAYS = 0.125          !   [days] default = 1.0
                                ! The interval in units of TIMEUNIT between saves of the energies of the run and
                                ! other globally summed diagnostics.

! === module MOM_surface_forcing ===
VARIABLE_WINDS = False          !   [Boolean] default = True
                                ! If true, the winds vary in time after the initialization.
VARIABLE_BUOYFORCE = False      !   [Boolean] default = True
                                ! If true, the buoyancy forcing varies in time after the initialization of the
                                ! model.
BUOY_CONFIG = "zero"            !
                                ! The character string that indicates how buoyancy forcing is specified. Valid
                                ! options include (file), (zero), (linear), (USER), (BFB) and (NONE).
WIND_CONFIG = "zero"            !
                                ! The character string that indicates how wind forcing is specified. Valid
                                ! options include (file), (2gyre), (1gyre), (gyres), (zero), and (USER).
GUST_CONST = 0.02               !   [Pa] default = 0.0
                                ! The background gustiness in the winds.
FIX_USTAR_GUSTLESS_BUG = False  !   [Boolean] default = True
                                ! If true correct a bug in the time-averaging of the gustless wind friction
                                ! velocity

! === module MOM_main (MOM_driver) ===
DAYMAX = 0.25                   !   [days]
                                ! The final time of the whole simulation, in units of TIMEUNIT seconds.  This
                                ! also sets the potential end time of the present run segment if the end time is
                                ! not set via ocean_solo_nml in input.nml.
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
                                ! non-time-stamped restart file is saved at the end of the run segment for any
                                ! non-negative value.

! === module MOM_write_cputime ===
MAXCPU = 2.88E+04               !   [wall-clock seconds] default = -1.0
                                ! The maximum amount of cpu time per processor for which MOM should run before
                                ! saving a restart file and quitting with a return value that indicates that a
                                ! further run is required to complete the simulation. If automatic restarts are
                                ! not desired, use a negative value for MAXCPU.  MAXCPU has units of wall-clock
                                ! seconds, so the actual CPU time used is larger by a factor of the number of
                                ! processors used.

! === module MOM_file_parser ===

DEBUG = True

INTERPOLATE_RES_FN = True       !   [Boolean] default = True
GILL_EQUATORIAL_LD = False      !   [Boolean] default = False
FIX_UNSPLIT_DT_VISC_BUG = False !   [Boolean] default = False
USE_LAND_MASK_FOR_HVISC = False !   [Boolean] default = False
KAPPA_SHEAR_ITER_BUG = True     !   [Boolean] default = True
KAPPA_SHEAR_ALL_LAYER_TKE_BUG = True !   [Boolean] default = True
USE_MLD_ITERATION = False       !   [Boolean] default = False

