From 994943d14521b33ed11e25c5cf1672c821fc780a Mon Sep 17 00:00:00 2001 From: yuchengt900 Date: Mon, 22 Apr 2024 22:52:02 -0400 Subject: [PATCH] Forget parameter_doc files --- exps/NWA12.COBALT/MOM_parameter_doc.all | 2269 +++++++++++++++++ exps/NWA12.COBALT/MOM_parameter_doc.debugging | 85 + exps/NWA12.COBALT/MOM_parameter_doc.layout | 69 + exps/NWA12.COBALT/MOM_parameter_doc.short | 692 +++++ exps/NWA12.COBALT/SIS.available_diags | 426 ++++ exps/NWA12.COBALT/SIS_fast.available_diags | 57 + exps/NWA12.COBALT/SIS_parameter_doc.all | 513 ++++ exps/NWA12.COBALT/SIS_parameter_doc.debugging | 66 + exps/NWA12.COBALT/SIS_parameter_doc.layout | 53 + exps/NWA12.COBALT/SIS_parameter_doc.short | 116 + 10 files changed, 4346 insertions(+) create mode 100644 exps/NWA12.COBALT/MOM_parameter_doc.all create mode 100644 exps/NWA12.COBALT/MOM_parameter_doc.debugging create mode 100644 exps/NWA12.COBALT/MOM_parameter_doc.layout create mode 100644 exps/NWA12.COBALT/MOM_parameter_doc.short create mode 100644 exps/NWA12.COBALT/SIS.available_diags create mode 100644 exps/NWA12.COBALT/SIS_fast.available_diags create mode 100644 exps/NWA12.COBALT/SIS_parameter_doc.all create mode 100644 exps/NWA12.COBALT/SIS_parameter_doc.debugging create mode 100644 exps/NWA12.COBALT/SIS_parameter_doc.layout create mode 100644 exps/NWA12.COBALT/SIS_parameter_doc.short diff --git a/exps/NWA12.COBALT/MOM_parameter_doc.all b/exps/NWA12.COBALT/MOM_parameter_doc.all new file mode 100644 index 000000000..3caeb856c --- /dev/null +++ b/exps/NWA12.COBALT/MOM_parameter_doc.all @@ -0,0 +1,2269 @@ +! 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 = True ! [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 = False ! [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. +USE_POROUS_BARRIER = True ! [Boolean] default = True + ! 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 = 400.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 = 1200.0 ! [s] default = 400.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 = -1.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 = 1200.0 ! [s] default = 1200.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 = False ! [Boolean] default = False + ! If true, check the surface state for ridiculous values. +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 = "MOM_IC" ! default = "MOM_IC" + ! The file into which to write the initial conditions. +WRITE_GEOM = 0 ! 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. +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. +ICE_SHELF = False ! [Boolean] default = False + ! If true, enables the ice shelf model. +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 = False ! [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 = False ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the domain. With + ! TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = 775 ! + ! 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 = 845 ! + ! 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.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_topog.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 = "" ! 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 = 4.0 ! [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 = 1.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 = 6500.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 = 3 ! default = 0 + ! The number of open boundary segments. +OBC_ZERO_VORTICITY = False ! [Boolean] default = False + ! If true, sets relative vorticity to zero on open boundaries. +OBC_FREESLIP_VORTICITY = False ! [Boolean] default = True + ! If true, sets the normal gradient of tangential velocity to zero in the + ! relative vorticity on open boundaries. This cannot be true if another + ! OBC_XXX_VORTICITY option is True. +OBC_COMPUTED_VORTICITY = True ! [Boolean] default = False + ! If true, uses the external values of tangential velocity in the relative + ! vorticity on open boundaries. This cannot be true if another OBC_XXX_VORTICITY + ! option is True. +OBC_SPECIFIED_VORTICITY = False ! [Boolean] default = False + ! If true, uses the external values of tangential velocity in the relative + ! vorticity on open boundaries. This cannot be true if another OBC_XXX_VORTICITY + ! option is True. +OBC_ZERO_STRAIN = False ! [Boolean] default = False + ! If true, sets the strain used in the stress tensor to zero on open boundaries. +OBC_FREESLIP_STRAIN = False ! [Boolean] default = True + ! If true, sets the normal gradient of tangential velocity to zero in the strain + ! use in the stress tensor on open boundaries. This cannot be true if another + ! OBC_XXX_STRAIN option is True. +OBC_COMPUTED_STRAIN = True ! [Boolean] default = False + ! If true, sets the normal gradient of tangential velocity to zero in the strain + ! use in the stress tensor on open boundaries. This cannot be true if another + ! OBC_XXX_STRAIN option is True. +OBC_SPECIFIED_STRAIN = False ! [Boolean] default = False + ! If true, sets the normal gradient of tangential velocity to zero in the strain + ! use in the stress tensor on open boundaries. This cannot be true if another + ! OBC_XXX_STRAIN option is True. +OBC_ZERO_BIHARMONIC = True ! [Boolean] default = False + ! If true, zeros the Laplacian of flow on open boundaries in the biharmonic + ! viscosity term. +MASK_OUTSIDE_OBCS = False ! [Boolean] default = False + ! If true, set the areas outside open boundaries to be land. +RAMP_OBCS = False ! [Boolean] default = False + ! If true, ramps from zero to the external values over time, witha ramping + ! timescale given by RAMP_TIMESCALE. Ramping SSH only so far +OBC_RAMP_TIMESCALE = 2.0 ! [days] default = 1.0 + ! If RAMP_OBCS is true, this sets the ramping timescale. +OBC_TIDE_N_CONSTITUENTS = 10 ! default = 0 + ! Number of tidal constituents being added to the open boundary. +OBC_SEGMENT_001 = "J=0,I=0:N,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" ! + ! Documentation needs to be dynamic????? +OBC_SEGMENT_001_VELOCITY_NUDGING_TIMESCALES = 3.0, 360.0 ! [days] default = 0.0 + ! Timescales in days for nudging along a segment, for inflow, then outflow. + ! Setting both to zero should behave like SIMPLE obcs for the baroclinic + ! velocities. +OBC_SEGMENT_002 = "J=N,I=N:0,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" ! + ! Documentation needs to be dynamic????? +OBC_SEGMENT_002_VELOCITY_NUDGING_TIMESCALES = 3.0, 360.0 ! [days] default = 0.0 + ! Timescales in days for nudging along a segment, for inflow, then outflow. + ! Setting both to zero should behave like SIMPLE obcs for the baroclinic + ! velocities. +OBC_SEGMENT_003 = "I=N,J=0:N,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" ! + ! Documentation needs to be dynamic????? +OBC_SEGMENT_003_VELOCITY_NUDGING_TIMESCALES = 3.0, 360.0 ! [days] default = 0.0 + ! Timescales in days for nudging along a segment, for inflow, then outflow. + ! Setting both to zero should behave like SIMPLE obcs for the baroclinic + ! velocities. +OBC_RADIATION_MAX = 1.0 ! [nondim] default = 1.0 + ! The maximum magnitude of the baroclinic radiation velocity (or speed of + ! characteristics), in gridpoints per timestep. This is only used if one of the + ! open boundary segments is using Orlanski. +OBC_RAD_VEL_WT = 0.3 ! [nondim] default = 0.3 + ! The relative weighting for the baroclinic radiation velocities (or speed of + ! characteristics) at the new time level (1) or the running mean (0) for + ! velocities. Valid values range from 0 to 1. This is only used if one of the + ! open boundary segments is using Orlanski. +OBC_TRACER_RESERVOIR_LENGTH_SCALE_OUT = 9000.0 ! [m] default = 0.0 + ! An effective length scale for restoring the tracer concentration at the + ! boundaries to externally imposed values when the flow is exiting the domain. +OBC_TRACER_RESERVOIR_LENGTH_SCALE_IN = 9000.0 ! [m] default = 0.0 + ! An effective length scale for restoring the tracer concentration at the + ! boundaries to values from the interior when the flow is entering the domain. +BRUSHCUTTER_MODE = True ! [Boolean] default = False + ! If true, read external OBC data on the supergrid. +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. +OBC_TIDE_CONSTITUENTS = "M2,S2,N2,K2,K1,O1,P1,Q1,MM,MF" ! + ! Names of tidal constituents being added to the open boundaries. +OBC_TIDE_ADD_EQ_PHASE = True ! [Boolean] default = False + ! If true, add the equilibrium phase argument to the specified tidal phases. +OBC_TIDE_ADD_NODAL = True ! [Boolean] default = False + ! If true, include 18.6 year nodal modulation in the boundary tidal forcing. +OBC_TIDE_REF_DATE = 1993, 1, 1 ! + ! Reference date to use for tidal calculations and equilibrium phase. +OBC_TIDE_NODAL_REF_DATE = 1993, 7, 2 ! default = 0 + ! Fixed reference date to use for nodal modulation of boundary tides. +TIDE_M2_FREQ = 1.405189E-04 ! [s-1] default = 1.405189E-04 + ! Frequency of the M2 tidal constituent. This is only used if TIDES and TIDE_M2 + ! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and M2 is in + ! OBC_TIDE_CONSTITUENTS. +TIDE_S2_FREQ = 1.454441E-04 ! [s-1] default = 1.454441E-04 + ! Frequency of the S2 tidal constituent. This is only used if TIDES and TIDE_S2 + ! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and S2 is in + ! OBC_TIDE_CONSTITUENTS. +TIDE_N2_FREQ = 1.378797E-04 ! [s-1] default = 1.378797E-04 + ! Frequency of the N2 tidal constituent. This is only used if TIDES and TIDE_N2 + ! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and N2 is in + ! OBC_TIDE_CONSTITUENTS. +TIDE_K2_FREQ = 1.4584234E-04 ! [s-1] default = 1.4584234E-04 + ! Frequency of the K2 tidal constituent. This is only used if TIDES and TIDE_K2 + ! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and K2 is in + ! OBC_TIDE_CONSTITUENTS. +TIDE_K1_FREQ = 7.292117E-05 ! [s-1] default = 7.292117E-05 + ! Frequency of the K1 tidal constituent. This is only used if TIDES and TIDE_K1 + ! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and K1 is in + ! OBC_TIDE_CONSTITUENTS. +TIDE_O1_FREQ = 6.759774E-05 ! [s-1] default = 6.759774E-05 + ! Frequency of the O1 tidal constituent. This is only used if TIDES and TIDE_O1 + ! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and O1 is in + ! OBC_TIDE_CONSTITUENTS. +TIDE_P1_FREQ = 7.252295E-05 ! [s-1] default = 7.252295E-05 + ! Frequency of the P1 tidal constituent. This is only used if TIDES and TIDE_P1 + ! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and P1 is in + ! OBC_TIDE_CONSTITUENTS. +TIDE_Q1_FREQ = 6.495854E-05 ! [s-1] default = 6.495854E-05 + ! Frequency of the Q1 tidal constituent. This is only used if TIDES and TIDE_Q1 + ! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and Q1 is in + ! OBC_TIDE_CONSTITUENTS. +TIDE_MM_FREQ = 2.6392E-06 ! [s-1] default = 2.6392E-06 + ! Frequency of the MM tidal constituent. This is only used if TIDES and TIDE_MM + ! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and MM is in + ! OBC_TIDE_CONSTITUENTS. +TIDE_MF_FREQ = 5.3234E-06 ! [s-1] default = 5.3234E-06 + ! Frequency of the MF tidal constituent. This is only used if TIDES and TIDE_MF + ! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and MF is in + ! OBC_TIDE_CONSTITUENTS. +CHANNEL_CONFIG = "none" ! 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. +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_FULL" ! 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. +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 = 500 ! 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. + +! === 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 = False ! [Boolean] default = False + ! If true, use the ideal_age_example 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 = True ! [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 register_MOM_generic_tracer === +GENERIC_TRACER_IC_FILE = "NWA12_COBALT_2023_10_spinup_2003.nc" ! default = "" + ! The file in which the generic tracer initial values can be found, or an empty + ! string for internal initialization. +GENERIC_TRACER_IC_FILE_IS_Z = False ! [Boolean] default = False + ! If true, GENERIC_TRACER_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 tracers are not found + ! in the restart files of a restarted run. + +! === module MOM_boundary_update === +USE_FILE_OBC = False ! [Boolean] default = False + ! If true, use external files for the open boundary. +USE_TIDAL_BAY_OBC = False ! [Boolean] default = False + ! If true, use the tidal_bay open boundary. +USE_KELVIN_WAVE_OBC = False ! [Boolean] default = False + ! If true, use the Kelvin wave open boundary. +USE_SHELFWAVE_OBC = False ! [Boolean] default = False + ! If true, use the shelfwave open boundary. +USE_DYED_CHANNEL_OBC = False ! [Boolean] default = False + ! If true, use the dyed channel open boundary. + +! === module segment_tracer_registry_init === + +! === 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. +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 = "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 + ! ADAPTIVE - optimize for smooth neutral density surfaces +REGRIDDING_COORDINATE_UNITS = "m" ! default = "m" + ! Units of the regridding coordinate. +ALE_COORDINATE_CONFIG = "FILE:vgrid_75_2m.nc,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) + ! 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.0, 2*2.01, 2.02, 2.03, 2.05, 2.08, 2.11, 2.15, 2.2, 2.27, 2.34, 2.44, 2.55, 2.69, 2.85, 3.04, 3.27, 3.54, 3.85, 4.22, 4.66, 5.18, 5.79, 6.52, 7.37, 8.37, 9.55, 10.94, 12.57, 14.48, 16.72, 19.33, 22.36, 25.87, 29.91, 34.53, 39.79, 45.72, 52.37, 59.76, 67.89, 76.74, 86.29, 96.47, 107.2, 118.35, 129.81, 141.42, 153.01, 164.41, 175.47, 186.01, 195.9, 205.01, 213.27, 220.6, 226.99, 232.43, 236.96, 240.63, 243.52, 245.72, 247.33, 248.45, 249.18, 249.62, 249.86, 249.96, 249.99, 2*250.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. +MIN_THICKNESS = 1.0E-06 ! [m] default = 0.001 + ! When regridding, this is the minimum layer thickness allowed. +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) +VELOCITY_REMAPPING_SCHEME = "PPM_H4" ! default = "PPM_H4" + ! 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 +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. + +! === 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. +U_IC_VAR = "u" ! default = "u" + ! The initial condition variable for zonal velocity in VELOCITY_FILE. +V_IC_VAR = "v" ! default = "v" + ! The initial condition variable for meridional velocity in VELOCITY_FILE. +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. +OBC_SEGMENT_001_DATA = "U=file:uv_001.nc(u),V=file:uv_001.nc(v),SSH=file:zos_001.nc(zos),TEMP=file:thetao_001.nc(thetao),SALT=file:so_001.nc(so),Uamp=file:tu_001.nc(uamp),Uphase=file:tu_001.nc(uphase),Vamp=file:tu_001.nc(vamp),Vphase=file:tu_001.nc(vphase),SSHamp=file:tz_001.nc(zamp),SSHphase=file:tz_001.nc(zphase)" ! + ! OBC segment docs +OBC_SEGMENT_002_DATA = "U=file:uv_002.nc(u),V=file:uv_002.nc(v),SSH=file:zos_002.nc(zos),TEMP=file:thetao_002.nc(thetao),SALT=file:so_002.nc(so),Uamp=file:tu_002.nc(uamp),Uphase=file:tu_002.nc(uphase),Vamp=file:tu_002.nc(vamp),Vphase=file:tu_002.nc(vphase),SSHamp=file:tz_002.nc(zamp),SSHphase=file:tz_002.nc(zphase)" ! + ! OBC segment docs +OBC_SEGMENT_003_DATA = "U=file:uv_003.nc(u),V=file:uv_003.nc(v),SSH=file:zos_003.nc(zos),TEMP=file:thetao_003.nc(thetao),SALT=file:so_003.nc(so),Uamp=file:tu_003.nc(uamp),Uphase=file:tu_003.nc(uphase),Vamp=file:tu_003.nc(vamp),Vphase=file:tu_003.nc(vphase),SSHamp=file:tz_003.nc(zamp),SSHphase=file:tz_003.nc(zphase)" ! + ! OBC segment docs +OBC_USER_CONFIG = "none" ! default = "none" + ! A string that sets how the user code is invoked to set open boundary data: + ! DOME - specified inflow on northern boundary + ! dyed_channel - supercritical with dye on the inflow boundary + ! dyed_obcs - circle_obcs with dyes on the open boundaries + ! Kelvin - barotropic Kelvin wave forcing on the western boundary + ! shelfwave - Flather with shelf wave forcing on western boundary + ! supercritical - now only needed here for the allocations + ! tidal_bay - Flather with tidal forcing on eastern boundary + ! USER - user specified + +! === module MOM_diag_mediator === +NUM_DIAG_COORDS = 1 ! default = 1 + ! The number of diagnostic vertical coordinates to use. For each coordinate, an + ! entry in DIAG_COORDS must be provided. +USE_GRID_SPACE_DIAGNOSTIC_AXES = False ! [Boolean] default = False + ! If true, use a grid index coordinate convention for diagnostic axes. +DIAG_COORDS = "z Z ZSTAR" ! default = "z Z ZSTAR" + ! 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 = "FILE:diag_dz.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 + +! === module MOM_MEKE === +USE_MEKE = False ! [Boolean] default = False + ! If true, turns on the MEKE scheme which calculates a sub-grid mesoscale eddy + ! kinetic energy budget. + +! === 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 = False ! [Boolean] default = False + ! If true, the Laplacian lateral viscosity is scaled away when the first + ! baroclinic deformation radius is well resolved. +DEPTH_SCALED_KHTH = False ! [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 = False ! [Boolean] default = False + ! If true, the interface depth diffusivity is scaled away when the first + ! baroclinic deformation radius is well resolved. +RESOLN_SCALED_KHTR = False ! [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. +KHTH_USE_EBT_STRUCT = False ! [Boolean] default = False + ! If true, uses the equivalent barotropic structure as the vertical structure of + ! thickness 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. +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 +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 = False ! [Boolean] default = False + ! If true, turn on Stanley SGS T variance parameterization in isopycnal slope + ! code. +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. +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. +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.25 ! [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. +CDRAG = 0.003 ! [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. +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.0 ! [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.05 ! [nondim] default = 0.05 + ! 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 = 5.0 ! [m] default = 5.0 + ! The maximum bottom boundary layer thickness over which the channel drag is + ! exerted, or a negative value for no fixed limit, instead basing the BBL + ! thickness on the bottom stress, rotation and stratification. The default is + ! 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 = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum horizontal thickness diffusivity. +KHTH_MAX = 0.0 ! [m2 s-1] default = 0.0 + ! The maximum horizontal thickness diffusivity. +KHTH_MAX_CFL = 0.1 ! [nondimensional] default = 0.8 + ! The maximum value of the local diffusive CFL ratio that is permitted for the + ! thickness diffusivity. 1.0 is the marginally unstable value in a pure layered + ! model, but much smaller numbers (e.g. 0.1) seem to work better for ALE-based + ! models. +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 = False ! [Boolean] default = False + ! If true, use the streamfunction formulation of Ferrari et al., 2010, which + ! effectively emphasizes graver vertical modes by smoothing in the vertical. +USE_STANLEY_GM = False ! [Boolean] default = False + ! If true, turn on Stanley SGS T variance parameterization in GM code. +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 GM source term. +MEKE_GEOMETRIC = False ! [Boolean] default = False + ! If true, uses the GM coefficient formulation from the GEOMETRIC framework + ! (Marshall et al., 2012). +USE_KH_IN_MEKE = False ! [Boolean] default = False + ! If true, uses the thickness diffusivity calculated here to diffuse MEKE. +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 = False ! [Boolean] default = False + ! If true, stochastic perturbations are applied to the EOS in the PGF. +STANLEY_COEFF = -1.0 ! [nondim] default = -1.0 + ! Coefficient correlating the temperature gradient and SGS T variance. + +! === module MOM_porous_barriers === +PORBAR_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the porous barrier weight function calculations. Values below + ! 20220806 recover the old answers in which the layer averaged weights are not + ! strictly limited by an upper-bound of 1.0 . +PORBAR_MASKING_DEPTH = 0.0 ! [m] default = 0.0 + ! If the effective average depth at the velocity cell is shallower than this + ! number, then porous barrier is not applied at that location. + ! PORBAR_MASKING_DEPTH is assumed to be positive below the sea surface. +PORBAR_ETA_INTERP = "MAX" ! default = "MAX" + ! A string describing the method that decides how the interface heights at the + ! velocity points are calculated. Valid values are: + ! MAX (the default) - maximum of the adjacent cells + ! MIN - minimum of the adjacent cells + ! ARITHMETIC - arithmetic mean of the adjacent cells + ! HARMONIC - harmonic mean of the adjacent cells + +! === module MOM_dynamics_split_RK2 === +TIDES = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing. +CALCULATE_SAL = True ! [Boolean] default = True + ! 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 = False ! [Boolean] default = False + ! If true, apply profiles of momentum flux magnitude and direction + +! === 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 = 3.75E-09 ! [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 = 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. +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 = False ! [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. +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_self_attr_load === +SAL_SCALAR_APPROX = True ! [Boolean] default = True + ! If true, use the scalar approximation to calculate self-attraction and + ! loading. +SAL_SCALAR_VALUE = 0.01 ! [m m-1] default = 0.01 + ! The constant of proportionality between sea surface height (really it should + ! be bottom pressure) anomalies and bottom geopotential anomalies. This is only + ! used if USE_SAL_SCALAR is true or USE_PREVIOUS_TIDES is true. +SAL_HARMONICS = False ! [Boolean] default = False + ! If true, use the online spherical harmonics method to calculate + ! self-attraction and loading. + +! === 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_S2 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the S2 frequency. This is only used + ! if TIDES is true. +TIDE_N2 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the N2 frequency. This is only used + ! if TIDES is true. +TIDE_K2 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the K2 frequency. This is only used + ! if TIDES is true. +TIDE_K1 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the K1 frequency. This is only used + ! if TIDES is true. +TIDE_O1 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the O1 frequency. This is only used + ! if TIDES is true. +TIDE_P1 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the P1 frequency. This is only used + ! if TIDES is true. +TIDE_Q1 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the Q1 frequency. This is only used + ! if TIDES is true. +TIDE_MF = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the MF frequency. This is only used + ! if TIDES is true. +TIDE_MM = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the MM frequency. This is only used + ! if TIDES is true. +TIDAL_SAL_FROM_FILE = False ! [Boolean] default = False + ! If true, read the tidal self-attraction and loading from input files, + ! specified by TIDAL_INPUT_FILE. This is only used if TIDES is true. +USE_PREVIOUS_TIDES = False ! [Boolean] default = False + ! If true, use the SAL from the previous iteration of the tides to facilitate + ! convergent iteration. This is only used if TIDES is true. +TIDE_REF_DATE = 1993, 1, 1 ! default = 0 + ! Year,month,day to use as reference date for tidal forcing. If not specified, + ! defaults to 0. +TIDE_USE_EQ_PHASE = True ! [Boolean] default = False + ! Correct phases by calculating equilibrium phase arguments for TIDE_REF_DATE. +TIDE_M2_AMP = 0.242334 ! [m] default = 0.242334 + ! Amplitude of the M2 tidal constituent. This is only used if TIDES and TIDE_M2 + ! are true. +TIDE_M2_PHASE_T0 = 9.347582645568489 ! [radians] default = 9.347582645568489 + ! Phase of the M2 tidal constituent at time 0. This is only used if TIDES and + ! TIDE_M2 are true. +TIDE_S2_AMP = 0.112743 ! [m] default = 0.112743 + ! Amplitude of the S2 tidal constituent. This is only used if TIDES and TIDE_S2 + ! are true. +TIDE_S2_PHASE_T0 = 0.0 ! [radians] default = 0.0 + ! Phase of the S2 tidal constituent at time 0. This is only used if TIDES and + ! TIDE_S2 are true. +TIDE_N2_AMP = 0.046397 ! [m] default = 0.046397 + ! Amplitude of the N2 tidal constituent. This is only used if TIDES and TIDE_N2 + ! are true. +TIDE_N2_PHASE_T0 = 11.890182671016415 ! [radians] default = 11.890182671016415 + ! Phase of the N2 tidal constituent at time 0. This is only used if TIDES and + ! TIDE_N2 are true. +TIDE_K2_AMP = 0.030684 ! [m] default = 0.030684 + ! Amplitude of the K2 tidal constituent. This is only used if TIDES and TIDE_K2 + ! are true. +TIDE_K2_PHASE_T0 = 9.79682726018515 ! [radians] default = 9.79682726018515 + ! Phase of the K2 tidal constituent at time 0. This is only used if TIDES and + ! TIDE_K2 are true. +TIDE_K1_AMP = 0.141565 ! [m] default = 0.141565 + ! Amplitude of the K1 tidal constituent. This is only used if TIDES and TIDE_K1 + ! are true. +TIDE_K1_PHASE_T0 = 6.469209956887472 ! [radians] default = 6.469209956887472 + ! Phase of the K1 tidal constituent at time 0. This is only used if TIDES and + ! TIDE_K1 are true. +TIDE_O1_AMP = 0.100661 ! [m] default = 0.100661 + ! Amplitude of the O1 tidal constituent. This is only used if TIDES and TIDE_O1 + ! are true. +TIDE_O1_PHASE_T0 = 2.878372688681016 ! [radians] default = 2.878372688681016 + ! Phase of the O1 tidal constituent at time 0. This is only used if TIDES and + ! TIDE_O1 are true. +TIDE_P1_AMP = 0.046848 ! [m] default = 0.046848 + ! Amplitude of the P1 tidal constituent. This is only used if TIDES and TIDE_P1 + ! are true. +TIDE_P1_PHASE_T0 = -6.469209956887472 ! [radians] default = -6.469209956887472 + ! Phase of the P1 tidal constituent at time 0. This is only used if TIDES and + ! TIDE_P1 are true. +TIDE_Q1_AMP = 0.019273 ! [m] default = 0.019273 + ! Amplitude of the Q1 tidal constituent. This is only used if TIDES and TIDE_Q1 + ! are true. +TIDE_Q1_PHASE_T0 = 5.420972714128944 ! [radians] default = 5.420972714128944 + ! Phase of the Q1 tidal constituent at time 0. This is only used if TIDES and + ! TIDE_Q1 are true. +TIDE_MF_AMP = 0.042041 ! [m] default = 0.042041 + ! Amplitude of the MF tidal constituent. This is only used if TIDES and TIDE_MF + ! are true. +TIDE_MF_PHASE_T0 = 0.4492446146166624 ! [radians] default = 0.4492446146166624 + ! Phase of the MF tidal constituent at time 0. This is only used if TIDES and + ! TIDE_MF are true. +TIDE_MM_AMP = 0.022191 ! [m] default = 0.022191 + ! Amplitude of the MM tidal constituent. This is only used if TIDES and TIDE_MM + ! are true. +TIDE_MM_PHASE_T0 = -2.542600025447928 ! [radians] default = -2.542600025447928 + ! Phase of the MM tidal constituent at time 0. This is only used if TIDES and + ! TIDE_MM are true. + +! === 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. +TIDES_ANSWER_DATE = 20230630 ! default = 20230630 + ! The vintage of self-attraction and loading (SAL) and tidal forcing + ! calculations in Boussinesq mode. Values below 20230701 recover the old answers + ! in which the SAL is part of the tidal forcing calculation. The change is due + ! to a reordered summation and the difference is only at bit level. +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. +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 = False ! [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 === +HOR_VISC_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the horizontal + ! 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. +USE_CONT_THICKNESS = False ! [Boolean] default = False + ! If true, use thickness at velocity points from continuity solver. This + ! optioncurrently 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 = True ! [Boolean] default = False + ! If true, use a Smagorinsky nonlinear eddy viscosity. +SMAG_LAP_CONST = 0.05 ! [nondim] default = 0.0 + ! The nondimensional Laplacian Smagorinsky constant, often 0.15. +LEITH_KH = False ! [Boolean] default = False + ! If true, use a Leith nonlinear eddy viscosity. +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. +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 = 0.0 ! [m4 s-1] default = 0.0 + ! The background biharmonic horizontal viscosity. +AH_VEL_SCALE = 0.01 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the cube of the grid spacing to + ! calculate the biharmonic viscosity. The final viscosity is the largest of this + ! scaled viscosity, the Smagorinsky and Leith viscosities, and AH. +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 = False ! [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. +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. + +! === 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 = 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. +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.9 ! [m] + ! The prescribed depth over which the near-surface viscosity and diffusivity are + ! elevated when the bulk mixed layer is not used. +HMIX_STRESS = 0.9 ! [m] default = 0.9 + ! The depth over which the wind stress is applied if DIRECT_STRESS is true. +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 = 0.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 = True ! [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 = True ! [Boolean] default = False + ! If true, add a dynamic pressure due to a viscous ice shelf, for instance. +ICE_LENGTH_DYN_PSURF = 1.0E+04 ! [m] default = 1.0E+04 + ! The length scale at which the Rayleigh damping rate due to the ice strength + ! should be the same as if a Laplacian were applied, if DYNAMIC_SURFACE_PRESSURE + ! is true. +DEPTH_MIN_DYN_PSURF = 1.0E-06 ! [m] default = 1.0E-06 + ! The minimum depth to use in limiting the size of the dynamic surface pressure + ! for stability, if DYNAMIC_SURFACE_PRESSURE is true.. +CONST_DYN_PSURF = 0.9 ! [nondim] default = 0.9 + ! The constant that scales the dynamic surface pressure, if + ! DYNAMIC_SURFACE_PRESSURE is true. Stable values are < ~1.0. +BT_CORIOLIS_SCALE = 1.0 ! [nondim] default = 1.0 + ! A factor by which the barotropic Coriolis anomaly terms are scaled. +BAROTROPIC_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the expressions in the barotropic solver. Values below 20190101 + ! recover the answers from the end of 2018, while higher values uuse more + ! efficient or general expressions. +BAROTROPIC_TIDAL_SAL_BUG = False ! [Boolean] default = False + ! 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. +TIDAL_SAL_FLATHER = True ! [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 = False ! [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 = True ! [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 = False ! [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.9 ! [s or nondim] default = -0.98 + ! The barotropic time step, in s. DTBT is only used with the split explicit time + ! stepping. To set the time step automatically based the maximum stable value + ! use 0, or a negative value gives the fraction of the stable value. Setting + ! 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 = False ! [Boolean] default = False + ! If true, use the Bodner et al., 2023, formulation of the re-stratifying + ! mixed-layer restratification parameterization. This only works in ALE mode. +%MLE +FOX_KEMPER_ML_RESTRAT_COEF = 1.0 ! [nondim] default = 0.0 + ! A nondimensional coefficient that is proportional to the ratio of the + ! deformation radius to the dominant lengthscale of the submesoscale mixed layer + ! instabilities, times the minimum of the ratio of the mesoscale eddy kinetic + ! energy to the large-scale geostrophic kinetic energy or 1 plus the square of + ! the grid spacing over the deformation radius, as detailed by Fox-Kemper et al. + ! (2010) +USE_STANLEY_ML = False ! [Boolean] default = False + ! If true, turn on Stanley SGS T variance parameterization in ML restrat code. +FOX_KEMPER_ML_RESTRAT_COEF2 = 0.0 ! [nondim] default = 0.0 + ! As for FOX_KEMPER_ML_RESTRAT_COEF but used in a second application of the MLE + ! restratification parameterization. +MLE_FRONT_LENGTH = 1500.0 ! [m] default = 0.0 + ! If non-zero, is the frontal-length scale used to calculate the upscaling of + ! buoyancy gradients that is otherwise represented by the parameter + ! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended + ! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. +MLE_USE_PBL_MLD = True ! [Boolean] default = False + ! If true, the MLE parameterization will use the mixed-layer depth provided by + ! the active PBL parameterization. If false, MLE will estimate a MLD based on a + ! density difference with the surface using the parameter MLE_DENSITY_DIFF. +MLE_MLD_DECAY_TIME = 2.592E+06 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the mixed-layer depth used + ! in the MLE restratification parameterization. When the MLD deepens below the + ! current running-mean the running-mean is instantaneously set to the current + ! MLD. +MLE_MLD_DECAY_TIME2 = 0.0 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the filtered mixed-layer + ! depth used in a second MLE restratification parameterization. When the MLD + ! deepens below the current running-mean the running-mean is instantaneously set + ! to the current MLD. +MLE_TAIL_DH = 0.0 ! [nondim] default = 0.0 + ! Fraction by which to extend the mixed-layer restratification depth used for a + ! smoother stream function at the base of the mixed-layer. +MLE_MLD_STRETCH = 1.0 ! [nondim] default = 1.0 + ! A scaling coefficient for stretching/shrinking the MLD used in the MLE scheme. + ! This simply multiplies MLD wherever used. +KV_RESTRAT = 0.0 ! [m2 s-1] default = 0.0 + ! A small viscosity that sets a floor on the momentum mixing rate during + ! restratification. If this is positive, it will prevent some possible + ! divisions by zero even if ustar, RESTRAT_USTAR_MIN, and f are all 0. +RESTRAT_USTAR_MIN = 1.45842E-18 ! [m s-1] default = 1.45842E-18 + ! The minimum value of ustar that will be used by the mixed layer + ! restratification module. This can be tiny, but if this is greater than 0, it + ! will prevent divisions by zero when f and KV_RESTRAT are zero. + +! === module MOM_diagnostics === +DIAG_EBT_MONO_N2_COLUMN_FRACTION = 0.0 ! [nondim] default = 0.0 + ! 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. + +! === 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 = True ! [Boolean] default = False + ! If true, use an implied energetics planetary boundary layer scheme to + ! determine the diffusivity and viscosity in the surface boundary layer. +EPBL_IS_ADDITIVE = False ! [Boolean] default = True + ! If true, the diffusivity from ePBL is added to all other diffusivities. + ! Otherwise, the larger of kappa-shear and ePBL diffusivities are used. +PRANDTL_EPBL = 1.0 ! [nondim] default = 1.0 + ! The Prandtl number used by ePBL to convert vertical diffusivities into + ! viscosities. +INTERNAL_TIDES = False ! [Boolean] default = False + ! If true, use the code that advances a separate set of equations for the + ! internal tide energy density. +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 = False ! [Boolean] default = False + ! If true and in ALE mode, mix the passive tracers in massless layers at the + ! bottom into the interior as though a diffusivity of KD_MIN_TR were operating. +KD_MIN_TR = 1.0E-07 ! [m2 s-1] default = 1.0E-07 + ! 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. +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 = False ! [Boolean] default = False + ! If true, turns on the [CVMix] KPP scheme of Large et al., 1994, to calculate + ! diffusivities and non-local transport in the OBL. + +! === module MOM_CVMix_conv === +! Parameterization of enhanced mixing due to convection via CVMix +USE_CVMix_CONVECTION = False ! [Boolean] default = False + ! If true, turns on the enhanced mixing due to convection via CVMix. This scheme + ! increases diapycnal diffs./viscs. at statically unstable interfaces. Relevant + ! parameters are contained in the CVMix_CONVECTION% parameter block. + +! === module MOM_geothermal === +GEOTHERMAL_SCALE = 0.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. + +! === 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 = False ! [Boolean] default = False + ! If true, turns on tidal mixing via CVMix +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). +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.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. +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 = False ! [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. +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 = False ! [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-06 ! [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-07 ! [m2 s-1] default = 1.0E-08 + ! 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 = False ! [Boolean] default = False + ! If true, apply vertically uniform, latitude-dependent background diffusivity, + ! as described in Danabasoglu et al., 2012 +PRANDTL_BKGND = 1.0 ! [nondim] default = 1.0 + ! Turbulent Prandtl number used to convert vertical background diffusivities + ! into viscosities. +HENYEY_IGW_BACKGROUND = False ! [Boolean] default = False + ! 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 = -1.0 ! [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 = True ! [Boolean] default = False + ! If true, increase diffusivites for temperature or salinity based on the + ! double-diffusive parameterization described in Large et al. (1994). +MAX_RRHO_SALT_FINGERS = 2.55 ! [nondim] default = 2.55 + ! Maximum density ratio for salt fingering regime. +MAX_SALT_DIFF_SALT_FINGERS = 1.0E-04 ! [m2 s-1] default = 1.0E-04 + ! Maximum salt diffusivity for salt fingering regime. +KV_MOLECULAR = 1.5E-06 ! [m2 s-1] default = 1.5E-06 + ! Molecular viscosity for calculation of fluxes under double-diffusive + ! convection. + +! === module MOM_kappa_shear === +! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 +USE_JACKSON_PARAM = True ! [Boolean] default = False + ! If true, use the Jackson-Hallberg-Legg (JPO 2008) shear mixing + ! parameterization. +VERTEX_SHEAR = False ! [Boolean] default = False + ! If true, do the calculations of the shear-driven mixing at the cell vertices + ! (i.e., the vorticity points). +RINO_CRIT = 0.25 ! [nondim] default = 0.25 + ! The critical Richardson number for shear mixing. +SHEARMIX_RATE = 0.089 ! [nondim] default = 0.089 + ! A nondimensional rate scale for shear-driven entrainment. Jackson et al find + ! values in the range of 0.085-0.089. +MAX_RINO_IT = 25 ! [nondim] default = 50 + ! The maximum number of iterations that may be used to estimate the Richardson + ! number driven mixing. +KD_KAPPA_SHEAR_0 = 1.0E-06 ! [m2 s-1] default = 1.0E-06 + ! The background diffusivity that is used to smooth the density and shear + ! profiles before solving for the diffusivities. The default is the greater of + ! KD and 1e-7 m2 s-1. +KD_SEED_KAPPA_SHEAR = 1.0 ! [m2 s-1] default = 1.0 + ! A moderately large seed value of diapycnal diffusivity that is used as a + ! starting turbulent diffusivity in the iterations to find an energetically + ! constrained solution for the shear-driven diffusivity. +KD_TRUNC_KAPPA_SHEAR = 1.0E-08 ! [m2 s-1] default = 1.0E-08 + ! The value of shear-driven diffusivity that is considered negligible and is + ! rounded down to 0. The default is 1% of KD_KAPPA_SHEAR_0. +FRI_CURVATURE = -0.97 ! [nondim] default = -0.97 + ! The nondimensional curvature of the function of the Richardson number in the + ! kappa source term in the Jackson et al. scheme. +TKE_N_DECAY_CONST = 0.24 ! [nondim] default = 0.24 + ! The coefficient for the decay of TKE due to stratification (i.e. proportional + ! to N*tke). The values found by Jackson et al. are 0.24-0.28. +TKE_SHEAR_DECAY_CONST = 0.14 ! [nondim] default = 0.14 + ! The coefficient for the decay of TKE due to shear (i.e. proportional to + ! |S|*tke). The values found by Jackson et al. are 0.14-0.12. +KAPPA_BUOY_SCALE_COEF = 0.82 ! [nondim] default = 0.82 + ! The coefficient for the buoyancy length scale in the kappa equation. The + ! values found by Jackson et al. are in the range of 0.81-0.86. +KAPPA_N_OVER_S_SCALE_COEF2 = 0.0 ! [nondim] default = 0.0 + ! The square of the ratio of the coefficients of the buoyancy and shear scales + ! in the diffusivity equation, Set this to 0 (the default) to eliminate the + ! shear scale. This is only used if USE_JACKSON_PARAM is true. +KAPPA_SHEAR_TOL_ERR = 0.1 ! [nondim] default = 0.1 + ! The fractional error in kappa that is tolerated. Iteration stops when changes + ! between subsequent iterations are smaller than this everywhere in a column. + ! The peak diffusivities usually converge most rapidly, and have much smaller + ! errors than this. +TKE_BACKGROUND = 0.0 ! [m2 s-2] default = 0.0 + ! A background level of TKE used in the first iteration of the kappa equation. + ! TKE_BACKGROUND could be 0. +KAPPA_SHEAR_ELIM_MASSLESS = True ! [Boolean] default = True + ! If true, massless layers are merged with neighboring massive layers in this + ! calculation. The default is true and I can think of no good reason why it + ! should be false. This is only used if USE_JACKSON_PARAM is true. +MAX_KAPPA_SHEAR_IT = 13 ! default = 13 + ! The maximum number of iterations that may be used to estimate the + ! time-averaged diffusivity. +KAPPA_SHEAR_MAX_KAP_SRC_CHG = 10.0 ! [nondim] default = 10.0 + ! The maximum permitted increase in the kappa source within an iteration + ! relative to the local source; this must be greater than 1. The lower limit + ! for the permitted fractional decrease is (1 - 0.5/kappa_src_max_chg). These + ! limits could perhaps be made dynamic with an improved iterative solver. +KAPPA_SHEAR_ITER_BUG = False ! [Boolean] default = False + ! If true, use an older, dimensionally inconsistent estimate of the derivative + ! of diffusivity with energy in the Newton's method iteration. The bug causes + ! undercorrections when dz > 1 m. +KAPPA_SHEAR_ALL_LAYER_TKE_BUG = False ! [Boolean] default = False + ! If true, report back the latest estimate of TKE instead of the time average + ! TKE when there is mass in all layers. Otherwise always report the time + ! averaged TKE, as is currently done when there are some massless layers. +USE_RESTRICTIVE_TOLERANCE_CHECK = False ! [Boolean] default = False + ! If true, uses the more restrictive tolerance check to determine if a timestep + ! is acceptable for the KS_it outer iteration loop. False uses the original + ! less restrictive check. + +! === module MOM_CVMix_shear === +! Parameterization of shear-driven turbulence via CVMix (various options) +USE_LMD94 = False ! [Boolean] default = False + ! If true, use the Large-McWilliams-Doney (JGR 1994) shear mixing + ! parameterization. +USE_PP81 = False ! [Boolean] default = False + ! If true, use the Pacanowski and Philander (JPO 1981) shear mixing + ! parameterization. + +! === module MOM_CVMix_ddiff === +! Parameterization of mixing due to double diffusion processes via CVMix +USE_CVMIX_DDIFF = False ! [Boolean] default = False + ! If true, turns on double diffusive processes via CVMix. Note that double + ! diffusive processes on viscosity are ignored in CVMix, see + ! http://cvmix.github.io/ for justification. + +! === 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. +IGNORE_FLUXES_OVER_LAND = True ! [Boolean] default = False + ! If true, the model does not check if fluxes are being applied over land + ! points. This is needed when the ocean is coupled with ice shelves and sea ice, + ! since the sea ice mask needs to be different than the ocean mask to avoid sea + ! ice formation under ice shelves. This flag only works when use_ePBL = True. +DO_RIVERMIX = 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 = 5.0 ! [m] default = 0.0 + ! The depth to which rivers are mixed if DO_RIVERMIX is defined. +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 = False ! [Boolean] default = True + ! If true, chl_a is read from a file. + +! === module MOM_energetic_PBL === +ML_OMEGA_FRAC = 0.001 ! [nondim] default = 0.0 + ! When setting the decay scale for turbulence, use this fraction of the absolute + ! rotation rate blended with the local value of f, as sqrt((1-of)*f^2 + + ! of*4*omega^2). +EKMAN_SCALE_COEF = 1.0 ! [nondim] default = 1.0 + ! A nondimensional scaling factor controlling the inhibition of the diffusive + ! length scale by rotation. Making this larger decreases the PBL diffusivity. +EPBL_ANSWER_DATE = 20231231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the energetic PBL + ! calculations. Values below 20190101 recover the answers from the end of 2018, + ! while higher values use updated and more robust forms of the same expressions. + ! Values below 20240101 use A**(1./3.) to estimate the cube root of A in several + ! expressions, while higher values use the integer root function cuberoot(A) and + ! therefore can work with scaled variables. +EPBL_ORIGINAL_PE_CALC = True ! [Boolean] default = True + ! If true, the ePBL code uses the original form of the potential energy change + ! code. Otherwise, the newer version that can work with successive increments + ! to the diffusivity in upward or downward passes is used. +MKE_TO_TKE_EFFIC = 0.0 ! [nondim] default = 0.0 + ! The efficiency with which mean kinetic energy released by mechanically forced + ! entrainment of the mixed layer is converted to turbulent kinetic energy. +TKE_DECAY = 0.001 ! [nondim] default = 2.5 + ! TKE_DECAY relates the vertical rate of decay of the TKE available for + ! mechanical entrainment to the natural Ekman depth. +EPBL_MSTAR_SCHEME = "REICHL_H18" ! default = "CONSTANT" + ! EPBL_MSTAR_SCHEME selects the method for setting mstar. Valid values are: + ! CONSTANT - Use a fixed mstar given by MSTAR + ! OM4 - Use L_Ekman/L_Obukhov in the stabilizing limit, as in OM4 + ! REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018. +MSTAR_CAP = 10.0 ! [nondim] default = -1.0 + ! If this value is positive, it sets the maximum value of mstar allowed in ePBL. + ! (This is not used if EPBL_MSTAR_SCHEME = CONSTANT). +RH18_MSTAR_CN1 = 0.275 ! [nondim] default = 0.275 + ! MSTAR_N coefficient 1 (outter-most coefficient for fit). The value of 0.275 is + ! given in RH18. Increasing this coefficient increases MSTAR for all values of + ! Hf/ust, but more effectively at low values (weakly developed OSBLs). +RH18_MSTAR_CN2 = 8.0 ! [nondim] default = 8.0 + ! MSTAR_N coefficient 2 (coefficient outside of exponential decay). The value of + ! 8.0 is given in RH18. Increasing this coefficient increases MSTAR for all + ! values of HF/ust, with a much more even effect across a wide range of Hf/ust + ! than CN1. +RH18_MSTAR_CN3 = -6.0 ! [nondim] default = -5.0 + ! MSTAR_N coefficient 3 (exponential decay coefficient). The value of -5.0 is + ! given in RH18. Increasing this increases how quickly the value of MSTAR + ! decreases as Hf/ust increases. +RH18_MSTAR_CS1 = 0.2 ! [nondim] default = 0.2 + ! MSTAR_S coefficient for RH18 in stabilizing limit. The value of 0.2 is given + ! in RH18 and increasing it increases MSTAR in the presence of a stabilizing + ! surface buoyancy flux. +RH18_MSTAR_CS2 = 0.4 ! [nondim] default = 0.4 + ! MSTAR_S exponent for RH18 in stabilizing limit. The value of 0.4 is given in + ! RH18 and increasing it increases MSTAR exponentially in the presence of a + ! stabilizing surface buoyancy flux. +NSTAR = 0.06 ! [nondim] default = 0.2 + ! The portion of the buoyant potential energy imparted by surface fluxes that is + ! available to drive entrainment at the base of mixed layer when that energy is + ! positive. +MSTAR_CONV_ADJ = 0.66 ! [nondim] default = 0.0 + ! Coefficient used for reducing mstar during convection due to reduction of + ! stable density gradient. +USE_MLD_ITERATION = True ! [Boolean] default = True + ! A logical that specifies whether or not to use the distance to the bottom of + ! the actively turbulent boundary layer to help set the EPBL length scale. +EPBL_TRANSITION_SCALE = 0.01 ! [nondim] default = 0.1 + ! A scale for the mixing length in the transition layer at the edge of the + ! boundary layer as a fraction of the boundary layer thickness. +MLD_ITERATION_GUESS = False ! [Boolean] default = False + ! If true, use the previous timestep MLD as a first guess in the MLD iteration, + ! otherwise use half the ocean depth as the first guess of the boundary layer + ! depth. The default is false to facilitate reproducibility. +EPBL_MLD_TOLERANCE = 1.0 ! [meter] default = 1.0 + ! The tolerance for the iteratively determined mixed layer depth. This is only + ! used with USE_MLD_ITERATION. +EPBL_MLD_BISECTION = True ! [Boolean] default = False + ! If true, use bisection with the iterative determination of the self-consistent + ! mixed layer depth. Otherwise use the false position after a maximum and + ! minimum bound have been evaluated and the returned value or bisection before + ! this. +EPBL_MLD_MAX_ITS = 40 ! default = 20 + ! The maximum number of iterations that can be used to find a self-consistent + ! mixed layer depth. If EPBL_MLD_BISECTION is true, the maximum number + ! iteractions needed is set by Depth/2^MAX_ITS < EPBL_MLD_TOLERANCE. +EPBL_MIN_MIX_LEN = 0.0 ! [meter] default = 0.0 + ! The minimum mixing length scale that will be used by ePBL. The default (0) + ! does not set a minimum. +MIX_LEN_EXPONENT = 1.0 ! [nondim] default = 2.0 + ! The exponent applied to the ratio of the distance to the MLD and the MLD depth + ! which determines the shape of the mixing length. This is only used if + ! USE_MLD_ITERATION is True. +EPBL_VEL_SCALE_SCHEME = "REICHL_H18" ! default = "CUBE_ROOT_TKE" + ! Selects the method for translating TKE into turbulent velocities. Valid values + ! are: + ! CUBE_ROOT_TKE - A constant times the cube root of remaining TKE. + ! REICHL_H18 - Use the scheme based on a combination of w* and v* as + ! documented in Reichl & Hallberg, 2018. +WSTAR_USTAR_COEF = 15.0 ! [nondim] default = 1.0 + ! A ratio relating the efficiency with which convectively released energy is + ! converted to a turbulent velocity, relative to mechanically forced TKE. Making + ! this larger increases the BL diffusivity +EPBL_VEL_SCALE_FACTOR = 0.5477 ! [nondim] default = 1.0 + ! An overall nondimensional scaling factor for wT. Making this larger increases + ! the PBL diffusivity. +VSTAR_SURF_FAC = 1.8258 ! [nondim] default = 1.2 + ! The proportionality times ustar to set vstar at the surface. +USE_LA_LI2016 = True ! [Boolean] default = False + ! A logical to use the Li et al. 2016 (submitted) formula to determine the + ! Langmuir number. +EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" + ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence. + ! Valid values are: + ! NONE - Do not do any extra mixing due to Langmuir turbulence + ! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir + ! turbulence + ! ADDITIVE - Add a Langmuir turblence contribution to mstar to other + ! contributions +LT_ENHANCE_COEF = 0.1056 ! [nondim] default = 0.447 + ! Coefficient for Langmuir enhancement of mstar +LT_ENHANCE_EXP = -1.0 ! [nondim] default = -1.33 + ! Exponent for Langmuir enhancementt of mstar +LT_MOD_LAC1 = 0.0 ! [nondim] default = -0.87 + ! Coefficient for modification of Langmuir number due to MLD approaching Ekman + ! depth. +LT_MOD_LAC2 = 0.0 ! [nondim] default = 0.0 + ! Coefficient for modification of Langmuir number due to MLD approaching stable + ! Obukhov depth. +LT_MOD_LAC3 = 0.0 ! [nondim] default = 0.0 + ! Coefficient for modification of Langmuir number due to MLD approaching + ! unstable Obukhov depth. +LT_MOD_LAC4 = 0.8 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! stable Obukhov depth. +LT_MOD_LAC5 = 0.8 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! unstable Obukhov depth. +!EPBL_USTAR_MIN = 1.45842E-18 ! [m s-1] + ! The (tiny) minimum friction velocity used within the ePBL code, derived from + ! OMEGA and ANGSTROM. + +! === module MOM_regularize_layers === +REGULARIZE_SURFACE_LAYERS = False ! [Boolean] default = False + ! If defined, vertically restructure the near-surface layers when they have too + ! much lateral variations to allow for sensible lateral barotropic transports. + +! === module MOM_opacity === +OPACITY_SCHEME = "MANIZZA_05" ! 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. +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 = 3 ! 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) + +! === module MOM_tracer_hor_diff === +KHTR = 0.0 ! [m2 s-1] default = 0.0 + ! The background along-isopycnal tracer diffusivity. +KHTR_USE_EBT_STRUCT = False ! [Boolean] default = False + ! If true, uses the equivalent barotropic structure as the vertical structure of + ! the tracer diffusivity. +KHTR_MIN = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum along-isopycnal tracer diffusivity. +KHTR_MAX = 0.0 ! [m2 s-1] default = 0.0 + ! The maximum along-isopycnal tracer diffusivity. +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 = -1.0 ! [nondim] default = -1.0 + ! If positive, locally limit the along-isopycnal tracer diffusivity to keep the + ! diffusive CFL locally at or below this value. The number of diffusive + ! iterations is often this value or the next greater integer. +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 = False ! [Boolean] default = False + ! If true, enables the neutral diffusion module. + +! === module MOM_hor_bnd_diffusion === +! This module implements horizontal diffusion of tracers near boundaries +USE_HORIZONTAL_BOUNDARY_DIFFUSION = False ! [Boolean] default = False + ! If true, enables the horizonal boundary tracer's diffusion module. +OBSOLETE_DIAGNOSTIC_IS_FATAL = True ! [Boolean] default = True + ! If an obsolete diagnostic variable appears in the diag_table, cause a FATAL + ! error rather than issue a WARNING. + +! === module MOM_sum_output === +CALCULATE_APE = False ! [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 = 1000 ! [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 +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 tendemcies of T,S, amd + ! h. Amplitude and correlations are controlled by the nam_stoch namelist in the + ! UFS model only. +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 = 1 ! 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 = "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'. +ICEBERGS_APPLY_RIGID_BOUNDARY = False ! [Boolean] default = False + ! If true, allows icebergs to change boundary condition felt by ocean + +! === module MOM_surface_forcing === +LATENT_HEAT_FUSION = 3.34E+05 ! [J/kg] default = 3.34E+05 + ! The latent heat of fusion. +LATENT_HEAT_VAPORIZATION = 2.5E+06 ! [J/kg] default = 2.5E+06 + ! The latent heat of fusion. +MAX_P_SURF = 0.0 ! [Pa] default = -1.0 + ! The maximum surface pressure that can be exerted by the atmosphere and + ! floating sea-ice or ice shelves. This is needed because the FMS coupling + ! structure does not limit the water that can be frozen out of the ocean and the + ! ice-ocean heat fluxes are treated explicitly. No limit is applied if a + ! negative value is used. +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. +RESTORE_TEMPERATURE = False ! [Boolean] default = False + ! If true, the coupled driver will add a heat flux that drives sea-surface + ! temperature toward specified values. +ADJUST_NET_SRESTORE_TO_ZERO = False ! [Boolean] default = False + ! 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 = False ! [Boolean] default = False + ! If true, adjusts the net fresh-water forcing seen by the ocean (including + ! restoring) to zero. +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. +APPROX_NET_MASS_SRC = False ! [Boolean] default = False + ! If true, use the net mass sources from the ice-ocean boundary type without any + ! further adjustments to drive the ocean dynamics. The actual net mass source + ! may differ due to internal corrections. +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. +CD_TIDES = 0.0018 ! [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 = 0.0 ! [Pa] default = 0.0 + ! The background gustiness in the winds. +SURFACE_FORCING_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the gustiness + ! calculations. Values below 20190101 recover the answers from the end of 2018, + ! while higher values use a simpler expression to calculate gustiness. +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 = True ! [Boolean] default = False + ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that + ! resist vertical motion. +SEA_ICE_MEAN_DENSITY = 900.0 ! [kg m-3] default = 900.0 + ! A typical density of sea ice, used with the kinematic viscosity, when + ! USE_RIGID_SEA_ICE is true. +SEA_ICE_VISCOSITY = 1.0E+09 ! [m2 s-1] default = 1.0E+09 + ! The kinematic viscosity of sufficiently thick sea ice for use in calculating + ! the rigidity of sea ice. +SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0 + ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit + ! rigidity +ALLOW_ICEBERG_FLUX_DIAGNOSTICS = False ! [Boolean] default = False + ! If true, makes available diagnostics of fluxes from icebergs as seen by MOM6. +ALLOW_FLUX_ADJUSTMENTS = False ! [Boolean] default = False + ! If true, allows flux adjustments to specified via the data_table using the + ! component name 'OCN'. + +! === module MOM_restart === +USE_WAVES = False ! [Boolean] default = False + ! If true, enables surface wave modules. +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.2 ! [nondim] default = 0.04 + ! The depth (normalized by BLD) to average Stokes drift over in Langmuir number + ! calculation, where La = sqrt(ust/Stokes). +LA_DEPTH_MIN = 0.1 ! [m] default = 0.1 + ! The minimum depth over which to average the Stokes drift in the Langmuir + ! number calculation. +VISCOSITY_AIR = 1.0E-06 ! [m2 s-1] default = 1.0E-06 + ! A typical viscosity of air at sea level, as used in wave calculations +VON_KARMAN_WAVES = 0.4 ! [nondim] default = 0.4 + ! The value the von Karman constant as used for surface wave calculations. +RHO_AIR = 1.225 ! [kg m-3] default = 1.225 + ! A typical density of air at sea level, as used in wave calculations +RHO_SFC_WAVES = 1035.0 ! [kg m-3] default = 1035.0 + ! A typical surface density of seawater, as used in wave calculations in + ! comparison with the density of air. The default is RHO_0. +WAVE_HEIGHT_SCALE_FACTOR = 0.0246 ! [s2 m-1] default = 0.0246 + ! A factor relating the square of the 10 m wind speed to the significant wave + ! height, with a default value based on the Pierson-Moskowitz spectrum. +CHARNOCK_MIN = 0.028 ! [nondim] default = 0.028 + ! The minimum value of the Charnock coefficient, which relates the square of the + ! air friction velocity divided by the gravitational acceleration to the wave + ! roughness length. +CHARNOCK_SLOPE_U10 = 0.0017 ! [s m-1] default = 0.0017 + ! The partial derivative of the Charnock coefficient with the 10 m wind speed. + ! Note that in eq. 13 of the Edson et al. 2013 describing the COARE 3.5 bulk + ! flux algorithm, this slope is given as 0.017. However, 0.0017 reproduces the + ! curve in their figure 6, so that is the default value used in MOM6. +CHARNOCK_0_WIND_INTERCEPT = -0.005 ! [nondim] default = -0.005 + ! The intercept of the fit for the Charnock coefficient in the limit of no wind. + ! Note that this can be negative because CHARNOCK_MIN will keep the final value + ! for the Charnock coefficient from being from being negative. + +! === module MOM_file_parser === +SEND_LOG_TO_STDOUT = False ! [Boolean] default = False + ! 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 . diff --git a/exps/NWA12.COBALT/MOM_parameter_doc.debugging b/exps/NWA12.COBALT/MOM_parameter_doc.debugging new file mode 100644 index 000000000..a54ab8109 --- /dev/null +++ b/exps/NWA12.COBALT/MOM_parameter_doc.debugging @@ -0,0 +1,85 @@ +! This file was written by the model and records the debugging parameters used at run-time. + +! === module MOM_unit_scaling === +! Parameters for doing unit scaling of variables. +Z_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! depths and heights. Valid values range from -300 to 300. +L_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! lateral distances. Valid values range from -300 to 300. +T_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! time. Valid values range from -300 to 300. +R_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! density. Valid values range from -300 to 300. +Q_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! heat content. Valid values range from -300 to 300. +C_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! temperature. Valid values range from -300 to 300. +S_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! salinity. Valid values range from -300 to 300. + +! === module MOM === +VERBOSITY = 2 ! default = 2 + ! Integer controlling level of messaging + ! 0 = Only FATAL messages + ! 2 = Only FATAL, WARNING, NOTE [default] + ! 9 = All) +DO_UNIT_TESTS = False ! [Boolean] default = False + ! If True, exercises unit tests at model start up. +DEBUG = False ! [Boolean] default = False + ! If true, write out verbose debugging data. +DEBUG_TRUNCATIONS = False ! [Boolean] default = False + ! If true, calculate all diagnostics that are useful for debugging truncations. +ROTATE_INDEX = False ! [Boolean] default = False + ! Enable rotation of the horizontal indices. +DEBUG_CHKSUMS = False ! [Boolean] default = False + ! If true, checksums are performed on arrays in the various vec_chksum routines. +DEBUG_REDUNDANT = False ! [Boolean] default = False + ! If true, debug redundant data points during calls to the various vec_chksum + ! routines. + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. +H_RESCALE_POWER = 0 ! [nondim] default = 0 + ! An integer power of 2 that is used to rescale the model's intenal units of + ! thickness. Valid values range from -300 to 300. + +! === module MOM_vert_friction === +U_TRUNC_FILE = "" ! 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 = "" ! 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_barotropic === +DEBUG_BT = False ! [Boolean] default = False + ! If true, write out verbose debugging data within the barotropic time-stepping + ! loop. The data volume can be quite large if this is true. + +! === module MOM_diabatic_driver === +! The following parameters are used for diabatic processes. +DEBUG_CONSERVATION = False ! [Boolean] default = False + ! If true, monitor conservation and extrema. + +! === module MOM_kappa_shear === +! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 + +! === module MOM_surface_forcing === +CHECK_NO_LAND_FLUXES = False ! [Boolean] default = False + ! If true, checks that values from IOB fluxes are zero above land points (i.e. + ! G%mask2dT = 0). + +! === module MOM_file_parser === +REPORT_UNUSED_PARAMS = True ! [Boolean] default = True + ! If true, report any parameter lines that are not used in the run. +FATAL_UNUSED_PARAMS = False ! [Boolean] default = False + ! If true, kill the run if there are any unused parameters. diff --git a/exps/NWA12.COBALT/MOM_parameter_doc.layout b/exps/NWA12.COBALT/MOM_parameter_doc.layout new file mode 100644 index 000000000..ad69d3ad5 --- /dev/null +++ b/exps/NWA12.COBALT/MOM_parameter_doc.layout @@ -0,0 +1,69 @@ +! This file was written by the model and records the layout parameters used at run-time. + +! === module MOM === +GLOBAL_INDEXING = False ! [Boolean] default = False + ! If true, use a global lateral indexing convention, so that corresponding + ! points on different processors have the same index. This does not work with + ! static memory. + +! === module MOM_domains === +!SYMMETRIC_MEMORY_ = True ! [Boolean] + ! If defined, the velocity point data domain includes every face of the + ! thickness points. In other words, some arrays are larger than others, + ! depending on where they are on the staggered grid. Also, the starting index + ! of the velocity-point arrays is usually 0, not 1. This can only be set at + ! compile time. +NONBLOCKING_UPDATES = False ! [Boolean] default = False + ! If true, non-blocking halo updates may be used. +THIN_HALO_UPDATES = True ! [Boolean] default = True + ! If true, optional arguments may be used to specify the width of the halos that + ! are updated with each call. +!STATIC_MEMORY_ = False ! [Boolean] + ! If STATIC_MEMORY_ is defined, the principle variables will have sizes that are + ! statically determined at compile time. Otherwise the sizes are not determined + ! until run time. The STATIC option is substantially faster, but does not allow + ! the PE count to be changed at run time. This can only be set at compile time. +AUTO_MASKTABLE = False ! [Boolean] default = False + ! Turn on automatic mask table generation to eliminate land blocks. +MASKTABLE = "MOM_mask_table" ! default = "MOM_mask_table" + ! A text file to specify n_mask, layout and mask_list. This feature masks out + ! processors that contain only land points. The first line of mask_table is the + ! number of regions to be masked out. The second line is the layout of the model + ! and must be consistent with the actual model layout. The following (n_mask) + ! lines give the logical positions of the processors that are masked out. The + ! mask_table can be created by tools like check_mask. The following example of + ! mask_table masks out 2 processors, (1,2) and (3,6), out of the 24 in a 4x6 + ! layout: + ! 2 + ! 4,6 + ! 1,2 + ! 3,6 +NIPROC = 20 ! + ! The number of processors in the x-direction. With STATIC_MEMORY_ this is set + ! in MOM_memory.h at compile time. +NJPROC = 20 ! + ! The number of processors in the y-direction. With STATIC_MEMORY_ this is set + ! in MOM_memory.h at compile time. +LAYOUT = 20, 20 ! + ! The processor layout that was actually used. +IO_LAYOUT = 1, 1 ! default = 1 + ! The processor layout to be used, or 0,0 to automatically set the io_layout to + ! be the same as the layout. + +! === module MOM_grid === +! Parameters providing information about the lateral grid. +NIBLOCK = 1 ! default = 1 + ! The number of blocks in the x-direction on each processor (for openmp). +NJBLOCK = 1 ! default = 1 + ! The number of blocks in the y-direction on each processor (for openmp). + +! === module MOM_barotropic === +BT_USE_WIDE_HALOS = True ! [Boolean] default = True + ! If true, use wide halos and march in during the barotropic time stepping for + ! efficiency. +BTHALO = 0 ! default = 0 + ! The minimum halo size for the barotropic solver. +!BT x-halo = 4 ! + ! The barotropic x-halo size that is actually used. +!BT y-halo = 4 ! + ! The barotropic y-halo size that is actually used. diff --git a/exps/NWA12.COBALT/MOM_parameter_doc.short b/exps/NWA12.COBALT/MOM_parameter_doc.short new file mode 100644 index 000000000..413ea2828 --- /dev/null +++ b/exps/NWA12.COBALT/MOM_parameter_doc.short @@ -0,0 +1,692 @@ +! This file was written by the model and records the non-default parameters used at run-time. + +! === 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. +USE_REGRIDDING = True ! [Boolean] default = False + ! If True, use the ALE algorithm (regridding/remapping). If False, use the + ! layered isopycnal algorithm. +DT = 400.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 = 1200.0 ! [s] default = 400.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. +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 = 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. +WRITE_GEOM = 0 ! 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. + +! === module MOM_domains === +REENTRANT_X = False ! [Boolean] default = True + ! If true, the domain is zonally reentrant. +NIGLOBAL = 775 ! + ! 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 = 845 ! + ! 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_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 = "ocean_topog.nc" ! default = "topog.nc" + ! The file from which the bathymetry is read. +MINIMUM_DEPTH = 4.0 ! [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 = 1.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 = 6500.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 = 3 ! default = 0 + ! The number of open boundary segments. +OBC_FREESLIP_VORTICITY = False ! [Boolean] default = True + ! If true, sets the normal gradient of tangential velocity to zero in the + ! relative vorticity on open boundaries. This cannot be true if another + ! OBC_XXX_VORTICITY option is True. +OBC_COMPUTED_VORTICITY = True ! [Boolean] default = False + ! If true, uses the external values of tangential velocity in the relative + ! vorticity on open boundaries. This cannot be true if another OBC_XXX_VORTICITY + ! option is True. +OBC_FREESLIP_STRAIN = False ! [Boolean] default = True + ! If true, sets the normal gradient of tangential velocity to zero in the strain + ! use in the stress tensor on open boundaries. This cannot be true if another + ! OBC_XXX_STRAIN option is True. +OBC_COMPUTED_STRAIN = True ! [Boolean] default = False + ! If true, sets the normal gradient of tangential velocity to zero in the strain + ! use in the stress tensor on open boundaries. This cannot be true if another + ! OBC_XXX_STRAIN option is True. +OBC_ZERO_BIHARMONIC = True ! [Boolean] default = False + ! If true, zeros the Laplacian of flow on open boundaries in the biharmonic + ! viscosity term. +OBC_RAMP_TIMESCALE = 2.0 ! [days] default = 1.0 + ! If RAMP_OBCS is true, this sets the ramping timescale. +OBC_TIDE_N_CONSTITUENTS = 10 ! default = 0 + ! Number of tidal constituents being added to the open boundary. +OBC_SEGMENT_001 = "J=0,I=0:N,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" ! + ! Documentation needs to be dynamic????? +OBC_SEGMENT_001_VELOCITY_NUDGING_TIMESCALES = 3.0, 360.0 ! [days] default = 0.0 + ! Timescales in days for nudging along a segment, for inflow, then outflow. + ! Setting both to zero should behave like SIMPLE obcs for the baroclinic + ! velocities. +OBC_SEGMENT_002 = "J=N,I=N:0,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" ! + ! Documentation needs to be dynamic????? +OBC_SEGMENT_002_VELOCITY_NUDGING_TIMESCALES = 3.0, 360.0 ! [days] default = 0.0 + ! Timescales in days for nudging along a segment, for inflow, then outflow. + ! Setting both to zero should behave like SIMPLE obcs for the baroclinic + ! velocities. +OBC_SEGMENT_003 = "I=N,J=0:N,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" ! + ! Documentation needs to be dynamic????? +OBC_SEGMENT_003_VELOCITY_NUDGING_TIMESCALES = 3.0, 360.0 ! [days] default = 0.0 + ! Timescales in days for nudging along a segment, for inflow, then outflow. + ! Setting both to zero should behave like SIMPLE obcs for the baroclinic + ! velocities. +OBC_TRACER_RESERVOIR_LENGTH_SCALE_OUT = 9000.0 ! [m] default = 0.0 + ! An effective length scale for restoring the tracer concentration at the + ! boundaries to externally imposed values when the flow is exiting the domain. +OBC_TRACER_RESERVOIR_LENGTH_SCALE_IN = 9000.0 ! [m] default = 0.0 + ! An effective length scale for restoring the tracer concentration at the + ! boundaries to values from the interior when the flow is entering the domain. +BRUSHCUTTER_MODE = True ! [Boolean] default = False + ! If true, read external OBC data on the supergrid. +OBC_TIDE_CONSTITUENTS = "M2,S2,N2,K2,K1,O1,P1,Q1,MM,MF" ! + ! Names of tidal constituents being added to the open boundaries. +OBC_TIDE_ADD_EQ_PHASE = True ! [Boolean] default = False + ! If true, add the equilibrium phase argument to the specified tidal phases. +OBC_TIDE_ADD_NODAL = True ! [Boolean] default = False + ! If true, include 18.6 year nodal modulation in the boundary tidal forcing. +OBC_TIDE_REF_DATE = 1993, 1, 1 ! + ! Reference date to use for tidal calculations and equilibrium phase. +OBC_TIDE_NODAL_REF_DATE = 1993, 7, 2 ! default = 0 + ! Fixed reference date to use for nodal modulation of boundary tides. + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. +NK = 75 ! [nondim] + ! The number of model layers. + +! === module MOM_EOS === +EQN_OF_STATE = "WRIGHT_FULL" ! 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. +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 === +MAX_FIELDS = 500 ! default = 100 + ! The maximum number of restart fields that can be used. + +! === module MOM_tracer_flow_control === +USE_generic_tracer = True ! [Boolean] default = False + ! If true and _USE_GENERIC_TRACER is defined as a preprocessor macro, use the + ! MOM_generic_tracer packages. + +! === module register_MOM_generic_tracer === +GENERIC_TRACER_IC_FILE = "NWA12_COBALT_2023_10_spinup_2003.nc" ! default = "" + ! The file in which the generic tracer initial values can be found, or an empty + ! string for internal initialization. + +! === module MOM_boundary_update === + +! === module segment_tracer_registry_init === + +! === 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. +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 + ! ADAPTIVE - optimize for smooth neutral density surfaces +ALE_COORDINATE_CONFIG = "FILE:vgrid_75_2m.nc,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) + ! 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.0, 2*2.01, 2.02, 2.03, 2.05, 2.08, 2.11, 2.15, 2.2, 2.27, 2.34, 2.44, 2.55, 2.69, 2.85, 3.04, 3.27, 3.54, 3.85, 4.22, 4.66, 5.18, 5.79, 6.52, 7.37, 8.37, 9.55, 10.94, 12.57, 14.48, 16.72, 19.33, 22.36, 25.87, 29.91, 34.53, 39.79, 45.72, 52.37, 59.76, 67.89, 76.74, 86.29, 96.47, 107.2, 118.35, 129.81, 141.42, 153.01, 164.41, 175.47, 186.01, 195.9, 205.01, 213.27, 220.6, 226.99, 232.43, 236.96, 240.63, 243.52, 245.72, 247.33, 248.45, 249.18, 249.62, 249.86, 249.96, 249.99, 2*250.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. +MIN_THICKNESS = 1.0E-06 ! [m] default = 0.001 + ! When regridding, this is the minimum layer thickness allowed. +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) + +! === module MOM_state_initialization === +OBC_SEGMENT_001_DATA = "U=file:uv_001.nc(u),V=file:uv_001.nc(v),SSH=file:zos_001.nc(zos),TEMP=file:thetao_001.nc(thetao),SALT=file:so_001.nc(so),Uamp=file:tu_001.nc(uamp),Uphase=file:tu_001.nc(uphase),Vamp=file:tu_001.nc(vamp),Vphase=file:tu_001.nc(vphase),SSHamp=file:tz_001.nc(zamp),SSHphase=file:tz_001.nc(zphase)" ! + ! OBC segment docs +OBC_SEGMENT_002_DATA = "U=file:uv_002.nc(u),V=file:uv_002.nc(v),SSH=file:zos_002.nc(zos),TEMP=file:thetao_002.nc(thetao),SALT=file:so_002.nc(so),Uamp=file:tu_002.nc(uamp),Uphase=file:tu_002.nc(uphase),Vamp=file:tu_002.nc(vamp),Vphase=file:tu_002.nc(vphase),SSHamp=file:tz_002.nc(zamp),SSHphase=file:tz_002.nc(zphase)" ! + ! OBC segment docs +OBC_SEGMENT_003_DATA = "U=file:uv_003.nc(u),V=file:uv_003.nc(v),SSH=file:zos_003.nc(zos),TEMP=file:thetao_003.nc(thetao),SALT=file:so_003.nc(so),Uamp=file:tu_003.nc(uamp),Uphase=file:tu_003.nc(uphase),Vamp=file:tu_003.nc(vamp),Vphase=file:tu_003.nc(vphase),SSHamp=file:tz_003.nc(zamp),SSHphase=file:tz_003.nc(zphase)" ! + ! OBC segment docs + +! === module MOM_diag_mediator === +DIAG_COORD_DEF_Z = "FILE:diag_dz.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 + +! === 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_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. + +! === 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.25 ! [nondim] default = 1.0 + ! The turbulent Prandtl number applied to shear instability. +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_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-06 ! [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_MAX_CFL = 0.1 ! [nondimensional] default = 0.8 + ! The maximum value of the local diffusive CFL ratio that is permitted for the + ! thickness diffusivity. 1.0 is the marginally unstable value in a pure layered + ! model, but much smaller numbers (e.g. 0.1) seem to work better for ALE-based + ! models. + +! === module MOM_porous_barriers === + +! === module MOM_dynamics_split_RK2 === +TIDES = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing. + +! === module MOM_continuity_PPM === + +! === 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. + +! === module MOM_self_attr_load === + +! === 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_S2 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the S2 frequency. This is only used + ! if TIDES is true. +TIDE_N2 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the N2 frequency. This is only used + ! if TIDES is true. +TIDE_K2 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the K2 frequency. This is only used + ! if TIDES is true. +TIDE_K1 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the K1 frequency. This is only used + ! if TIDES is true. +TIDE_O1 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the O1 frequency. This is only used + ! if TIDES is true. +TIDE_P1 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the P1 frequency. This is only used + ! if TIDES is true. +TIDE_Q1 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the Q1 frequency. This is only used + ! if TIDES is true. +TIDE_MF = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the MF frequency. This is only used + ! if TIDES is true. +TIDE_MM = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the MM frequency. This is only used + ! if TIDES is true. +TIDE_REF_DATE = 1993, 1, 1 ! default = 0 + ! Year,month,day to use as reference date for tidal forcing. If not specified, + ! defaults to 0. +TIDE_USE_EQ_PHASE = True ! [Boolean] default = False + ! Correct phases by calculating equilibrium phase arguments for TIDE_REF_DATE. + +! === 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. + +! === module MOM_Zanna_Bolton === + +! === module MOM_hor_visc === +LAPLACIAN = True ! [Boolean] default = False + ! If true, use a Laplacian horizontal viscosity. +SMAGORINSKY_KH = True ! [Boolean] default = False + ! If true, use a Smagorinsky nonlinear eddy viscosity. +SMAG_LAP_CONST = 0.05 ! [nondim] default = 0.0 + ! The nondimensional Laplacian Smagorinsky constant, often 0.15. +AH_VEL_SCALE = 0.01 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the cube of the grid spacing to + ! calculate the biharmonic viscosity. The final viscosity is the largest of this + ! scaled viscosity, the Smagorinsky and Leith viscosities, and AH. + +! === 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 = 0.9 ! [m] + ! The prescribed depth over which the near-surface viscosity and diffusivity are + ! elevated when the bulk mixed layer is not used. +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. +BT_NONLIN_STRESS = True ! [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 = True ! [Boolean] default = False + ! If true, add a dynamic pressure due to a viscous ice shelf, for instance. +TIDAL_SAL_FLATHER = True ! [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 = False ! [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_STRONG_DRAG = True ! [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. +LINEARIZED_BT_CORIOLIS = False ! [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.9 ! [s or nondim] default = -0.98 + ! The barotropic time step, in s. DTBT is only used with the split explicit time + ! stepping. To set the time step automatically based the maximum stable value + ! use 0, or a negative value gives the fraction of the stable value. Setting + ! 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. +MLE% +%MLE +FOX_KEMPER_ML_RESTRAT_COEF = 1.0 ! [nondim] default = 0.0 + ! A nondimensional coefficient that is proportional to the ratio of the + ! deformation radius to the dominant lengthscale of the submesoscale mixed layer + ! instabilities, times the minimum of the ratio of the mesoscale eddy kinetic + ! energy to the large-scale geostrophic kinetic energy or 1 plus the square of + ! the grid spacing over the deformation radius, as detailed by Fox-Kemper et al. + ! (2010) +MLE_FRONT_LENGTH = 1500.0 ! [m] default = 0.0 + ! If non-zero, is the frontal-length scale used to calculate the upscaling of + ! buoyancy gradients that is otherwise represented by the parameter + ! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended + ! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. +MLE_USE_PBL_MLD = True ! [Boolean] default = False + ! If true, the MLE parameterization will use the mixed-layer depth provided by + ! the active PBL parameterization. If false, MLE will estimate a MLD based on a + ! density difference with the surface using the parameter MLE_DENSITY_DIFF. +MLE_MLD_DECAY_TIME = 2.592E+06 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the mixed-layer depth used + ! in the MLE restratification parameterization. When the MLD deepens below the + ! current running-mean the running-mean is instantaneously set to the current + ! MLD. + +! === 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. +ENERGETICS_SFC_PBL = True ! [Boolean] default = False + ! If true, use an implied energetics planetary boundary layer scheme to + ! determine the diffusivity and viscosity in the surface boundary layer. +EPBL_IS_ADDITIVE = False ! [Boolean] default = True + ! If true, the diffusivity from ePBL is added to all other diffusivities. + ! Otherwise, the larger of kappa-shear and ePBL diffusivities are used. + +! === module MOM_geothermal === + +! === 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. +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. + +! === module MOM_bkgnd_mixing === +! Adding static vertical background mixing coefficients +KD = 1.0E-06 ! [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-07 ! [m2 s-1] default = 1.0E-08 + ! The minimum diapycnal diffusivity. +DOUBLE_DIFFUSION = True ! [Boolean] default = False + ! If true, increase diffusivites for temperature or salinity based on the + ! double-diffusive parameterization described in Large et al. (1994). + +! === 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. +PRESSURE_DEPENDENT_FRAZIL = True ! [Boolean] default = False + ! If true, use a pressure dependent freezing temperature when making frazil. The + ! default is false, which will be faster but is inappropriate with ice-shelf + ! cavities. +IGNORE_FLUXES_OVER_LAND = True ! [Boolean] default = False + ! If true, the model does not check if fluxes are being applied over land + ! points. This is needed when the ocean is coupled with ice shelves and sea ice, + ! since the sea ice mask needs to be different than the ocean mask to avoid sea + ! ice formation under ice shelves. This flag only works when use_ePBL = True. +DO_RIVERMIX = 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 = 5.0 ! [m] default = 0.0 + ! The depth to which rivers are mixed if DO_RIVERMIX is defined. +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 = False ! [Boolean] default = True + ! If true, chl_a is read from a file. + +! === module MOM_energetic_PBL === +ML_OMEGA_FRAC = 0.001 ! [nondim] default = 0.0 + ! When setting the decay scale for turbulence, use this fraction of the absolute + ! rotation rate blended with the local value of f, as sqrt((1-of)*f^2 + + ! of*4*omega^2). +EPBL_ANSWER_DATE = 20231231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the energetic PBL + ! calculations. Values below 20190101 recover the answers from the end of 2018, + ! while higher values use updated and more robust forms of the same expressions. + ! Values below 20240101 use A**(1./3.) to estimate the cube root of A in several + ! expressions, while higher values use the integer root function cuberoot(A) and + ! therefore can work with scaled variables. +TKE_DECAY = 0.001 ! [nondim] default = 2.5 + ! TKE_DECAY relates the vertical rate of decay of the TKE available for + ! mechanical entrainment to the natural Ekman depth. +EPBL_MSTAR_SCHEME = "REICHL_H18" ! default = "CONSTANT" + ! EPBL_MSTAR_SCHEME selects the method for setting mstar. Valid values are: + ! CONSTANT - Use a fixed mstar given by MSTAR + ! OM4 - Use L_Ekman/L_Obukhov in the stabilizing limit, as in OM4 + ! REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018. +MSTAR_CAP = 10.0 ! [nondim] default = -1.0 + ! If this value is positive, it sets the maximum value of mstar allowed in ePBL. + ! (This is not used if EPBL_MSTAR_SCHEME = CONSTANT). +RH18_MSTAR_CN3 = -6.0 ! [nondim] default = -5.0 + ! MSTAR_N coefficient 3 (exponential decay coefficient). The value of -5.0 is + ! given in RH18. Increasing this increases how quickly the value of MSTAR + ! decreases as Hf/ust increases. +NSTAR = 0.06 ! [nondim] default = 0.2 + ! The portion of the buoyant potential energy imparted by surface fluxes that is + ! available to drive entrainment at the base of mixed layer when that energy is + ! positive. +MSTAR_CONV_ADJ = 0.66 ! [nondim] default = 0.0 + ! Coefficient used for reducing mstar during convection due to reduction of + ! stable density gradient. +EPBL_TRANSITION_SCALE = 0.01 ! [nondim] default = 0.1 + ! A scale for the mixing length in the transition layer at the edge of the + ! boundary layer as a fraction of the boundary layer thickness. +EPBL_MLD_BISECTION = True ! [Boolean] default = False + ! If true, use bisection with the iterative determination of the self-consistent + ! mixed layer depth. Otherwise use the false position after a maximum and + ! minimum bound have been evaluated and the returned value or bisection before + ! this. +EPBL_MLD_MAX_ITS = 40 ! default = 20 + ! The maximum number of iterations that can be used to find a self-consistent + ! mixed layer depth. If EPBL_MLD_BISECTION is true, the maximum number + ! iteractions needed is set by Depth/2^MAX_ITS < EPBL_MLD_TOLERANCE. +MIX_LEN_EXPONENT = 1.0 ! [nondim] default = 2.0 + ! The exponent applied to the ratio of the distance to the MLD and the MLD depth + ! which determines the shape of the mixing length. This is only used if + ! USE_MLD_ITERATION is True. +EPBL_VEL_SCALE_SCHEME = "REICHL_H18" ! default = "CUBE_ROOT_TKE" + ! Selects the method for translating TKE into turbulent velocities. Valid values + ! are: + ! CUBE_ROOT_TKE - A constant times the cube root of remaining TKE. + ! REICHL_H18 - Use the scheme based on a combination of w* and v* as + ! documented in Reichl & Hallberg, 2018. +WSTAR_USTAR_COEF = 15.0 ! [nondim] default = 1.0 + ! A ratio relating the efficiency with which convectively released energy is + ! converted to a turbulent velocity, relative to mechanically forced TKE. Making + ! this larger increases the BL diffusivity +EPBL_VEL_SCALE_FACTOR = 0.5477 ! [nondim] default = 1.0 + ! An overall nondimensional scaling factor for wT. Making this larger increases + ! the PBL diffusivity. +VSTAR_SURF_FAC = 1.8258 ! [nondim] default = 1.2 + ! The proportionality times ustar to set vstar at the surface. +USE_LA_LI2016 = True ! [Boolean] default = False + ! A logical to use the Li et al. 2016 (submitted) formula to determine the + ! Langmuir number. +EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" + ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence. + ! Valid values are: + ! NONE - Do not do any extra mixing due to Langmuir turbulence + ! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir + ! turbulence + ! ADDITIVE - Add a Langmuir turblence contribution to mstar to other + ! contributions +LT_ENHANCE_COEF = 0.1056 ! [nondim] default = 0.447 + ! Coefficient for Langmuir enhancement of mstar +LT_ENHANCE_EXP = -1.0 ! [nondim] default = -1.33 + ! Exponent for Langmuir enhancementt of mstar +LT_MOD_LAC1 = 0.0 ! [nondim] default = -0.87 + ! Coefficient for modification of Langmuir number due to MLD approaching Ekman + ! depth. +LT_MOD_LAC4 = 0.8 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! stable Obukhov depth. +LT_MOD_LAC5 = 0.8 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! unstable Obukhov depth. + +! === module MOM_opacity === +PEN_SW_NBANDS = 3 ! default = 1 + ! The number of bands of penetrating shortwave radiation. + +! === 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) + +! === module MOM_tracer_hor_diff === +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. + +! === module MOM_sum_output === +CALCULATE_APE = False ! [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. +MAXTRUNC = 1000 ! [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. + +! === module ocean_stochastics_init === + +! === module ocean_model_init === + +! === module MOM_surface_forcing === +MAX_P_SURF = 0.0 ! [Pa] default = -1.0 + ! The maximum surface pressure that can be exerted by the atmosphere and + ! floating sea-ice or ice shelves. This is needed because the FMS coupling + ! structure does not limit the water that can be frozen out of the ocean and the + ! ice-ocean heat fluxes are treated explicitly. No limit is applied if a + ! negative value is used. +CD_TIDES = 0.0018 ! [nondim] default = 1.0E-04 + ! The drag coefficient that applies to the tides. +USE_RIGID_SEA_ICE = True ! [Boolean] default = False + ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that + ! resist vertical motion. +SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0 + ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit + ! rigidity + +! === module MOM_restart === +LA_DEPTH_RATIO = 0.2 ! [nondim] default = 0.04 + ! The depth (normalized by BLD) to average Stokes drift over in Langmuir number + ! calculation, where La = sqrt(ust/Stokes). diff --git a/exps/NWA12.COBALT/SIS.available_diags b/exps/NWA12.COBALT/SIS.available_diags new file mode 100644 index 000000000..523a35311 --- /dev/null +++ b/exps/NWA12.COBALT/SIS.available_diags @@ -0,0 +1,426 @@ +"ice_model", "SH" [Unused] + ! long_name: sensible heat flux + ! units: W/m^2 +"ice_model", "LH" [Unused] + ! long_name: latent heat flux + ! units: W/m^2 +"ice_model", "SW" [Unused] + ! long_name: shortwave heat flux + ! units: W/m^2 +"ice_model", "LW" [Unused] + ! long_name: longwave heat flux over ice + ! units: W/m^2 +"ice_model", "SNOWFL" [Unused] + ! long_name: rate of snow fall + ! units: kg/(m^2*s) +"ice_model", "RAIN" [Unused] + ! long_name: rate of rain fall + ! units: kg/(m^2*s) +"ice_model", "RUNOFF" [Unused] + ! long_name: liquid runoff + ! units: kg/(m^2*s) +"ice_model", "CALVING" [Unused] + ! long_name: frozen runoff + ! units: kg/(m^2*s) +"ice_model", "RUNOFF_HFLX" [Unused] + ! long_name: liquid runoff sensible heat flux + ! units: W/m^2 +"ice_model", "CALVING_HFLX" [Unused] + ! long_name: frozen runoff sensible heat flux + ! units: W/m^2 +"ice_model", "EVAP" [Unused] + ! long_name: evaporation + ! units: kg/(m^2*s) +"ice_model", "SALTF" [Unused] + ! long_name: ice to ocean salt flux + ! units: kg/(m^2*s) +"ice_model", "TMELT" [Unused] + ! long_name: upper surface melting energy flux + ! units: W/m^2 +"ice_model", "BMELT" [Unused] + ! long_name: bottom surface melting energy flux + ! units: W/m^2 +"ice_model", "BHEAT" [Unused] + ! long_name: ocean to ice heat flux + ! units: W/m^2 +"ice_model", "SWDN" [Unused] + ! long_name: Downward shortwave heat flux at the bottom of the atmosphere + ! units: W/m^2 +"ice_model", "ALB" [Unused] + ! long_name: Shortwave flux weighted surface albedo, or 1 if no SW + ! units: 0-1 +"ice_model", "SW_VIS" [Unused] + ! long_name: visible shortwave heat flux + ! units: W/m^2 +"ice_model", "SW_DIR" [Unused] + ! long_name: direct shortwave heat flux + ! units: W/m^2 +"ice_model", "SW_DIF" [Unused] + ! long_name: diffuse shortwave heat flux + ! units: W/m^2 +"ice_model", "SW_VIS_DIR" [Unused] + ! long_name: visible direct shortwave heat flux + ! units: W/m^2 +"ice_model", "SW_VIS_DIF" [Unused] + ! long_name: visible diffuse shortwave heat flux + ! units: W/m^2 +"ice_model", "SW_NIR_DIR" [Unused] + ! long_name: near IR direct shortwave heat flux + ! units: W/m^2 +"ice_model", "SW_NIR_DIF" [Unused] + ! long_name: near IR diffuse shortwave heat flux + ! units: W/m^2 +"ice_model", "EVAP_T0" [Unused] + ! long_name: evaporation at 0 degC + ! units: kg/(m^2*s) +"ice_model", "LW_T0" [Unused] + ! long_name: net downward longwave heat flux over ice at 0 degC + ! units: W/m^2 +"ice_model", "SH_T0" [Unused] + ! long_name: sensible heat flux at 0 degC + ! units: W/m^2 +"ice_model", "dEVAP_dT" [Unused] + ! long_name: partial derivative of evaporation with ice skin temperature + ! units: kg/(m^2*s*K) +"ice_model", "dLW_dT" [Unused] + ! long_name: partial derivative of net downward longwave heat flux with ice skin temperature + ! units: W/(m^2*K) +"ice_model", "dSH_dT" [Unused] + ! long_name: partial derivative of sensible heat flux with ice skin temperature + ! units: W/(m^2*K) +"ice_model", "TS_CAT" [Unused] + ! long_name: surface temperature by category + ! units: C +"ice_model", "EVAP_CAT" [Unused] + ! long_name: evaporation by category + ! units: kg/(m^2*s) +"ice_model", "LW_CAT" [Unused] + ! long_name: longwave heat flux by category + ! units: W/m^2 +"ice_model", "SH_CAT" [Unused] + ! long_name: sensible heat flux by category + ! units: W/m^2 +"ice_model", "TS" [Unused] + ! long_name: surface temperature + ! units: C +"ice_model", "sitemptop" [Unused] + ! long_name: surface temperature + ! units: C +"ice_model", "sitemptop_CMOR" [Unused] + ! long_name: Surface Temperature of Sea ice + ! units: Kelvin + ! standard_name: SeaIceSurfaceTemperature +"ice_model", "SLP" [Unused] + ! long_name: sea level pressure + ! units: Pa +"ice_model", "SST" [Unused] + ! long_name: sea surface temperature + ! units: deg-C +"ice_model", "SSS" [Unused] + ! long_name: sea surface salinity + ! units: psu +"ice_model", "SSH" [Unused] + ! long_name: sea surface height + ! units: m +"ice_model", "UO" [Unused] + ! long_name: surface current - x component + ! units: m/s +"ice_model", "VO" [Unused] + ! long_name: surface current - y component + ! units: m/s +"ice_model", "FRAZIL" [Unused] + ! long_name: energy flux of frazil formation + ! units: W/m^2 +"ice_model", "LSRC" [Unused] + ! long_name: frozen water local source + ! units: kg/(m^2*yr) +"ice_model", "LSNK" [Unused] + ! long_name: frozen water local sink + ! units: kg/(m^2*yr) +"ice_model", "BSNK" [Unused] + ! long_name: frozen water local bottom sink + ! units: kg/(m^2*yr) +"ice_model", "SN2IC" [Unused] + ! long_name: rate of snow to ice conversion + ! units: kg/(m^2*s) +"ice_model", "net_melt" [Unused] + ! long_name: net mass flux from ice & snow to ocean due to melting & freezing + ! units: kg m-2 s-1 +"ice_model", "fsitherm" [Unused] + ! long_name: water_flux_into_sea_water_due_to_sea_ice_thermodynamics + ! units: kg m-2 s-1 +"ice_model", "SIGI" [Unused] + ! long_name: first stress invariant + ! units: none +"ice_model", "SIGII" [Unused] + ! long_name: second stress invariant + ! units: none +"ice_model", "STRENGTH" [Unused] + ! long_name: ice strength + ! units: Pa*m +"ice_model", "STREN_0" [Unused] + ! long_name: ice strength at start of rheology + ! units: Pa*m +"ice_model", "FI_X" [Unused] + ! long_name: ice internal stress - x component + ! units: Pa +"ice_model", "FI_Y" [Unused] + ! long_name: ice internal stress - y component + ! units: Pa +"ice_model", "FC_X" [Unused] + ! long_name: Coriolis force - x component + ! units: Pa +"ice_model", "FC_Y" [Unused] + ! long_name: Coriolis force - y component + ! units: Pa +"ice_model", "Cor_ui" [Unused] + ! long_name: Coriolis ice acceleration - x component + ! units: m s-2 +"ice_model", "Cor_vi" [Unused] + ! long_name: Coriolis ice acceleration - y component + ! units: m s-2 +"ice_model", "FP_X" [Unused] + ! long_name: Pressure force - x component + ! units: Pa +"ice_model", "FP_Y" [Unused] + ! long_name: Pressure force - y component + ! units: Pa +"ice_model", "Pfa_ui" [Unused] + ! long_name: Pressure-force ice acceleration - x component + ! units: m s-2 +"ice_model", "Pfa_vi" [Unused] + ! long_name: Pressure-force ice acceleration - y component + ! units: m s-2 +"ice_model", "FW_X" [Unused] + ! long_name: water stress on ice - x component + ! units: Pa +"ice_model", "FW_Y" [Unused] + ! long_name: water stress on ice - y component + ! units: Pa +"ice_model", "FLF_X" [Unused] + ! long_name: land-fast bottom stress on ice - x component + ! units: Pa +"ice_model", "FLF_Y" [Unused] + ! long_name: land-fast bottom stress on ice - y component + ! units: Pa +"ice_model", "UI" [Unused] + ! long_name: ice velocity - x component + ! units: m/s +"ice_model", "VI" [Unused] + ! long_name: ice velocity - y component + ! units: m/s +"ice_model", "MIS_tot" [Unused] + ! long_name: Mass of ice and snow at t-points + ! units: kg m-2 +"ice_model", "CI_tot" [Unused] + ! long_name: Initial summed concentration of ice at t-points + ! units: nondim +"ice_model", "CI_proj" [Unused] + ! long_name: Projected summed concentration of ice at t-points + ! units: nondim +"ice_model", "MI_U" [Unused] + ! long_name: Mass of ice and snow at u-points + ! units: kg m-2 +"ice_model", "MI_V" [Unused] + ! long_name: Mass of ice and snow at v-points + ! units: kg m-2 +"ice_model", "FI_d_X" [Unused] + ! long_name: ice divergence internal stress - x component + ! units: Pa +"ice_model", "FI_d_Y" [Unused] + ! long_name: ice divergence internal stress - y component + ! units: Pa +"ice_model", "FI_t_X" [Unused] + ! long_name: ice tension internal stress - x component + ! units: Pa +"ice_model", "FI_t_Y" [Unused] + ! long_name: ice tension internal stress - y component + ! units: Pa +"ice_model", "FI_s_X" [Unused] + ! long_name: ice shearing internal stress - x component + ! units: Pa +"ice_model", "FI_s_Y" [Unused] + ! long_name: ice shearing internal stress - y component + ! units: Pa +"ice_model", "str_d" [Unused] + ! long_name: ice divergence internal stress + ! units: Pa m +"ice_model", "str_t" [Unused] + ! long_name: ice tension internal stress + ! units: Pa m +"ice_model", "str_s" [Unused] + ! long_name: ice shearing internal stress + ! units: Pa m +"ice_model", "sh_d" [Unused] + ! long_name: ice divergence strain rate + ! units: s-1 +"ice_model", "sh_t" [Unused] + ! long_name: ice tension strain rate + ! units: s-1 +"ice_model", "sh_s" [Unused] + ! long_name: ice shearing strain rate + ! units: s-1 +"ice_model", "del_sh" [Unused] + ! long_name: ice strain rate magnitude + ! units: s-1 +"ice_model", "del_sh_min" [Unused] + ! long_name: minimum ice strain rate magnitude + ! units: s-1 +"ice_model", "ui_hf" [Unused] + ! long_name: ice velocity - x component + ! units: m/s +"ice_model", "vi_hf" [Unused] + ! long_name: ice velocity - y component + ! units: m/s +"ice_model", "str_d_hf" [Unused] + ! long_name: ice divergence internal stress + ! units: Pa m +"ice_model", "str_t_hf" [Unused] + ! long_name: ice tension internal stress + ! units: Pa m +"ice_model", "str_s_hf" [Unused] + ! long_name: ice shearing internal stress + ! units: Pa m +"ice_model", "sh_d_hf" [Unused] + ! long_name: ice divergence rate + ! units: s-1 +"ice_model", "sh_t_hf" [Unused] + ! long_name: ice tension rate + ! units: s-1 +"ice_model", "sh_s_hf" [Unused] + ! long_name: ice shearing rate + ! units: s-1 +"ice_model", "sigI_hf" [Unused] + ! long_name: first stress invariant + ! units: none +"ice_model", "sigII_hf" [Unused] + ! long_name: second stress invariant + ! units: none +"ice_model", "CI_hf" [Unused] + ! long_name: Summed concentration of ice at t-points + ! units: nondim +"ice_model", "STRENGTH_hf" [Unused] + ! long_name: ice strength + ! units: Pa*m +"ice_model", "siu" [Unused] + ! long_name: ice velocity - x component + ! units: m/s +"ice_model", "siv" [Unused] + ! long_name: ice velocity - y component + ! units: m/s +"ice_model", "sispeed" [Unused] + ! long_name: ice speed + ! units: m/s +"ice_model", "IX_TRANS" [Unused] + ! long_name: x-direction ice transport + ! units: kg/s +"ice_model", "IY_TRANS" [Unused] + ! long_name: y-direction ice transport + ! units: kg/s +"ice_model", "XPRT" [Unused] + ! long_name: frozen water transport convergence + ! units: kg/(m^2*yr) +"ice_model", "RDG_RATE" [Unused] + ! long_name: ice ridging rate + ! units: 1/sec +"ice_model", "FA_X" [Unused] + ! long_name: Air stress on ice on C-grid - x component + ! units: Pa +"ice_model", "FA_Y" [Unused] + ! long_name: Air stress on ice on C-grid - y component + ! units: Pa +"ice_model", "EXT" [Unused] + ! long_name: ice modeled + ! units: 0 or 1 +"ice_model", "CN" [Unused] + ! long_name: ice concentration + ! units: 0-1 +"ice_model", "HP" [Unused] + ! long_name: pond thickness + ! units: m-pond +"ice_model", "HS" [Unused] + ! long_name: snow thickness + ! units: m-snow +"ice_model", "TSN" [Unused] + ! long_name: snow layer temperature + ! units: C +"ice_model", "HI" [Unused] + ! long_name: ice thickness + ! units: m-ice +"ice_model", "sitimefrac" [Unused] + ! long_name: time fraction of ice cover + ! units: 0-1 +"ice_model", "siconc" [Unused] + ! long_name: ice concentration + ! units: 0-1 +"ice_model", "siconc_CMOR" [Unused] + ! long_name: Sea-Ice Area Percentage + ! units: % + ! standard_name: SeaIceAreaFraction +"ice_model", "sithick" [Unused] + ! long_name: ice thickness + ! units: m-ice +"ice_model", "sivol" [Unused] + ! long_name: ice volume + ! units: m-ice +"ice_model", "sivol_CMOR" [Unused] + ! long_name: Sea-ice Volume per Area + ! units: m-ice +"ice_model", "sisnconc" [Unused] + ! long_name: snow concentration + ! units: 0-1 +"ice_model", "sisnconc_CMOR" [Unused] + ! long_name: Snow Area Percentage + ! units: % + ! standard_name: SurfaceSnowAreaFraction +"ice_model", "sisnthick" [Unused] + ! long_name: snow thickness + ! units: m-snow +"ice_model", "T_bulkice" [Unused] + ! long_name: Volume-averaged ice temperature + ! units: C +"ice_model", "S_bulkice" [Unused] + ! long_name: Volume-averaged ice salinity + ! units: g/kg +"ice_model", "T1" [Unused] + ! long_name: ice layer 1 temperature + ! units: C +"ice_model", "Sal1" [Unused] + ! long_name: ice layer 1 salinity + ! units: g/kg +"ice_model", "T2" [Unused] + ! long_name: ice layer 2 temperature + ! units: C +"ice_model", "Sal2" [Unused] + ! long_name: ice layer 2 salinity + ! units: g/kg +"ice_model", "T3" [Unused] + ! long_name: ice layer 3 temperature + ! units: C +"ice_model", "Sal3" [Unused] + ! long_name: ice layer 3 salinity + ! units: g/kg +"ice_model", "T4" [Unused] + ! long_name: ice layer 4 temperature + ! units: C +"ice_model", "Sal4" [Unused] + ! long_name: ice layer 4 salinity + ! units: g/kg +"ice_model", "MI" [Unused] + ! long_name: ice + snow mass + ! units: kg/m^2 +"ice_model", "simass" [Unused] + ! long_name: ice mass + ! units: kg/m^2 +"ice_model", "simass_n" [Unused] + ! long_name: ice mass + ! units: kg/m^2 +"ice_model", "sisnmass" [Unused] + ! long_name: snow mass + ! units: kg/m^2 +"ice_model", "MIB" [Unused] + ! long_name: ice + snow + bergs mass + ! units: kg/m^2 +"ice_model", "E2MELT" [Unused] + ! long_name: heat needed to melt ice + ! units: J/m^2 diff --git a/exps/NWA12.COBALT/SIS_fast.available_diags b/exps/NWA12.COBALT/SIS_fast.available_diags new file mode 100644 index 000000000..0b445a523 --- /dev/null +++ b/exps/NWA12.COBALT/SIS_fast.available_diags @@ -0,0 +1,57 @@ +"ice_model_fast", "SWDN" [Unused] + ! long_name: downward shortwave flux + ! units: W/m^2 +"ice_model_fast", "LWDN" [Unused] + ! long_name: downward longwave flux + ! units: W/m^2 +"ice_model_fast", "ALB" [Unused] + ! long_name: surface albedo + ! units: 0-1 +"ice_model_fast", "coszen" [Unused] + ! long_name: cosine of the solar zenith angle for the next radiation step + ! units: -1:1 +"ice_model_fast", "sw_abs_sfc" [Unused] + ! long_name: SW frac. abs. at the ice surface + ! units: 0-1 +"ice_model_fast", "sw_abs_snow" [Unused] + ! long_name: SW frac. abs. in snow + ! units: 0-1 +"ice_model_fast", "sw_abs_ice1" [Unused] + ! long_name: SW frac. abs. in ice layer 1 + ! units: 0:1 +"ice_model_fast", "sw_abs_ice2" [Unused] + ! long_name: SW frac. abs. in ice layer 2 + ! units: 0:1 +"ice_model_fast", "sw_abs_ice3" [Unused] + ! long_name: SW frac. abs. in ice layer 3 + ! units: 0:1 +"ice_model_fast", "sw_abs_ice4" [Unused] + ! long_name: SW frac. abs. in ice layer 4 + ! units: 0:1 +"ice_model_fast", "sw_pen" [Unused] + ! long_name: SW frac. pen. surf. + ! units: 0:1 +"ice_model_fast", "sw_abs_ocn" [Unused] + ! long_name: SW frac. sent to the ocean + ! units: 0:1 +"ice_model_fast", "alb_vis_dir" [Unused] + ! long_name: ice surface albedo vis_dir + ! units: 0-1 +"ice_model_fast", "alb_vis_dif" [Unused] + ! long_name: ice surface albedo vis_dif + ! units: 0-1 +"ice_model_fast", "alb_nir_dir" [Unused] + ! long_name: ice surface albedo nir_dir + ! units: 0-1 +"ice_model_fast", "alb_nir_dif" [Unused] + ! long_name: ice surface albedo nir_dif + ! units: 0-1 +"ice_model_fast", "Tskin" [Unused] + ! long_name: Skin temperature + ! units: degC +"ice_model_fast", "CN_fast" [Unused] + ! long_name: Category concentration + ! units: 0-1 +"ice_model_fast", "MI_fast" [Unused] + ! long_name: Category concentration + ! units: 0-1 diff --git a/exps/NWA12.COBALT/SIS_parameter_doc.all b/exps/NWA12.COBALT/SIS_parameter_doc.all new file mode 100644 index 000000000..0a09fdf22 --- /dev/null +++ b/exps/NWA12.COBALT/SIS_parameter_doc.all @@ -0,0 +1,513 @@ +! This file was written by the model and records all non-layout or debugging parameters used at run-time. + +! === module ice_model === +SPECIFIED_ICE = False ! [Boolean] default = False + ! If true, the ice is specified and there is no dynamics. +CGRID_ICE_DYNAMICS = True ! [Boolean] default = True + ! If true, use a C-grid discretization of the sea-ice dynamics; if false use a + ! B-grid discretization. +USE_SLAB_ICE = False ! [Boolean] default = False + ! If true, use the very old slab-style ice. +SINGLE_ICE_STATE_TYPE = True ! [Boolean] default = True + ! If true, the fast and slow portions of the ice use a single common + ! ice_state_type. Otherwise they point to different ice_state_types that need + ! to be explicitly copied back and forth. +EULERIAN_TSURF = True ! [Boolean] default = True + ! If true, use previous calculations of the ice-top surface skin temperature for + ! tsurf at the start of atmospheric time stepping, including interpolating + ! between tsurf values from other categories in the same location. +ICE_OCEAN_STRESS_STAGGER = "C" ! default = "C" + ! A case-insensitive character string to indicate the staggering of the stress + ! field on the ocean that is returned to the coupler. Valid values include 'A', + ! 'B', or 'C', with a default that follows the value of CGRID_ICE_DYNAMICS. +RHO_OCEAN = 1030.0 ! [kg m-3] default = 1030.0 + ! The nominal density of sea water as used by SIS. +RHO_ICE = 905.0 ! [kg m-3] default = 905.0 + ! The nominal density of sea ice as used by SIS. +RHO_SNOW = 330.0 ! [kg m-3] default = 330.0 + ! The nominal density of snow as used by SIS. +G_EARTH = 9.8 ! [m s-2] default = 9.8 + ! The gravitational acceleration of the Earth. +MOMENTUM_ROUGH_ICE = 1.0E-04 ! [m] default = 1.0E-04 + ! The default momentum roughness length scale for the ocean. +HEAT_ROUGH_ICE = 1.0E-04 ! [m] default = 1.0E-04 + ! The default roughness length scale for the turbulent transfer of heat into the + ! ocean. +CONSTANT_COSZEN_IC = -1.0 ! [nondim] default = -1.0 + ! A constant value to use to initialize the cosine of the solar zenith angle for + ! the first radiation step, or a negative number to use the current time and + ! astronomy. +DT_RADIATION = 3600.0 ! [s] default = 3600.0 + ! The time step with which the shortwave radiation and fields like albedos are + ! updated. Currently this is only used to initialize albedos when there is no + ! restart file. +ICE_KMELT = 240.0 ! [W m-2 K-1] default = 240.0 + ! A constant giving the proportionality of the ocean/ice base heat flux to the + ! tempature difference, given by the product of the heat capacity per unit + ! volume of sea water times a molecular diffusive piston velocity. +ICE_BOUNDS_CHECK = True ! [Boolean] default = True + ! If true, periodically check the values of ice and snow temperatures and + ! thicknesses to ensure that they are sensible, and issue warnings if they are + ! not. This does not change answers, but can increase model run time. +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. +ICE_SEES_ATMOS_WINDS = True ! [Boolean] default = True + ! If true, the sea ice is being given wind stresses with the atmospheric sign + ! convention, and need to have their sign changed. +APPLY_SLP_TO_OCEAN = False ! [Boolean] default = False + ! If true, apply the atmospheric sea level pressure to the ocean. +PASS_STRESS_MAG_TO_OCEAN = False ! [Boolean] default = False + ! If true, provide the time and area weighted mean magnitude of the stresses on + ! the ocean to the ocean. +DO_ICEBERGS = False ! [Boolean] default = False + ! If true, call the iceberg module. +ADD_DIURNAL_SW = False ! [Boolean] default = False + ! If true, add a synthetic diurnal cycle to the shortwave radiation. +DO_SUN_ANGLE_FOR_ALB = False ! [Boolean] default = False + ! If true, find the sun angle for calculating the ocean albedo within the sea + ! ice model. +DO_RIDGING = False ! [Boolean] default = False + ! If true, call the ridging routines. +RESTARTFILE = "ice_model.res.nc" ! default = "ice_model.res.nc" + ! The name of the restart file. +FAST_ICE_RESTARTFILE = "ice_model.res.nc" ! default = "ice_model.res.nc" + ! The name of the restart file for those elements of the the sea ice that are + ! handled by the fast ice PEs. +APPLY_MASKS_AFTER_RESTART = True ! [Boolean] default = True + ! If true, applies masks to mH_ice,mH_snow and part_size after a restart. +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. +INTERPOLATE_FLUXES = True ! [Boolean] default = True + ! If true, interpolate a linearized version of the fast fluxes into arealess + ! categories. +REDO_FAST_ICE_UPDATE = False ! [Boolean] default = False + ! If true, recalculate the thermal updates from the fast dynamics on the slowly + ! evolving ice state, rather than copying over the slow ice state to the fast + ! ice state. +READ_HLIM_VALS = False ! [Boolean] default = False + ! If true, read the lower limits on the ice thicknesscategories. +NCAT_ICE = 5 ! [nondim] default = 5 + ! The number of sea ice thickness categories. +NK_ICE = 4 ! [nondim] default = 4 + ! The number of layers within the sea ice. +NK_SNOW = 1 ! [nondim] default = 1 + ! The number of layers within the snow atop the sea ice. +MIN_OCEAN_PARTSIZE = 0.0 ! [nondim] default = 0.0 + ! The minimum value for the fractional open-ocean area. This can be 0, but for + ! some purposes it may be useful to set this to a miniscule value (like 1e-40) + ! that will be lost to roundoff during any sums so that the open ocean fluxes + ! can be used in with new categories. + +! === module MOM_domains === +REENTRANT_X = False ! [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 = False ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the domain. With + ! TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = 775 ! + ! The total number of thickness grid points in the x-direction in the physical + ! domain. With STATIC_MEMORY_ this is set in SIS2_memory.h at compile time. +NJGLOBAL = 845 ! + ! The total number of thickness grid points in the y-direction in the physical + ! domain. With STATIC_MEMORY_ this is set in SIS2_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 SIS_restart === +PARALLEL_RESTARTFILES = False ! [Boolean] default = False + ! If true, each processor writes its own restart file, otherwise a single + ! restart file is generated +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. + +! === module SIS_initialize_fixed === +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. +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" ! default = "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 a vertical + ! wall at the southern face. + ! halfpipe - a zonally uniform channel with a half-sine + ! profile in the meridional direction. +TOPO_FILE = "ocean_topog.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 = "" ! 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 = 0.0 ! [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 = -9999.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 = 6857.396484375 ! [m] + ! The (diagnosed) maximum depth of the ocean. + +! === module SIS_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 = "none" ! 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. +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 hor_grid === +! Parameters providing information about the lateral grid. + +! === module MOM_hor_index === +! Sets the horizontal array index types. +SIS_AVAILABLE_DIAGS_FILE = "SIS.available_diags" ! default = "SIS.available_diags" + ! A file into which to write a list of all available sea ice diagnostics that + ! can be included in a diag_table. + +! === module SIS2_ice_thm (thermo) === +! This sub-module calculates ice thermodynamic quantities. +LATENT_HEAT_FUSION = 3.34E+05 ! [J kg-1] default = 3.34E+05 + ! The latent heat of fusion as used by SIS. +LATENT_HEAT_VAPOR = 2.5E+06 ! [J kg-1] default = 2.5E+06 + ! The latent heat of vaporization of water at 0C as used by SIS. +CP_ICE = 2100.0 ! [J kg-1 K-1] default = 2100.0 + ! The heat capacity of fresh ice, approximated as a constant. +CP_SEAWATER = 4200.0 ! [J kg-1 K-1] default = 4200.0 + ! The heat capacity of sea water, approximated as a constant. +CP_BRINE = 4200.0 ! [J kg-1 K-1] default = 4200.0 + ! The heat capacity of water in brine pockets within the sea-ice, approximated + ! as a constant. CP_BRINE and CP_SEAWATER should be equal, but for + ! computational convenience CP_BRINE can be set equal to CP_ICE. +DTFREEZE_DS = -0.054 ! [deg C PSU-1] default = -0.054 + ! The derivative of the freezing temperature with salinity. +ENTHALPY_LIQUID_0 = 0.0 ! [J kg-1] default = 0.0 + ! The enthalpy of liquid fresh water at 0 C. The solutions should be physically + ! consistent when this is adjusted, because only the relative value is of + ! physical meaning, but roundoff errors can change the solution. +SUBLIMATION_BUG = False ! [Boolean] default = False + ! If true use an older calculation that omits the latent heat of fusion from the + ! latent heat of sublimation. This variable should be obsoleted as soon as + ! possible. + +! === module SIS_tracer_registry === + +! === module SIS_tracer_flow_control === +USE_ICE_AGE_TRACER = False ! [Boolean] default = False + ! If true, use the concentration based age tracer package. +SIS_FAST_AVAILABLE_DIAGS_FILE = "SIS_fast.available_diags" ! default = "SIS_fast.available_diags" + ! A file into which to write a list of all available sea ice diagnostics that + ! can be included in a diag_table. + +! === module SIS_slow_thermo === +! This module calculates the slow evolution of the ice mass, heat, and salt budgets. +ICE_BULK_SALINITY = 0.0 ! [g/kg] default = 4.0 + ! The fixed bulk salinity of sea ice. +ICE_RELATIVE_SALINITY = 0.1 ! [nondim] default = 0.0 + ! The initial salinity of sea ice as a fraction of the salinity of the seawater + ! from which it formed. +SIS2_FILLING_FRAZIL = True ! [Boolean] default = True + ! If true, apply frazil to fill as many categories as possible to fill in a + ! uniform (minimum) amount of ice in all the thinnest categories. Otherwise the + ! frazil is always assigned to a single category. +FILLING_FRAZIL_TIMESCALE = 0.0 ! [s] default = 0.0 + ! A timescale with which the filling frazil causes the thinest cells to attain + ! similar thicknesses, or a negative number to apply the frazil flux uniformly. +APPLY_ICE_LIMIT = False ! [Boolean] default = False + ! If true, restore the sea ice state toward climatology. +DO_ICE_RESTORE = False ! [Boolean] default = False + ! If true, restore the sea ice state toward climatology. +NUDGE_SEA_ICE = False ! [Boolean] default = False + ! If true, constrain the sea ice concentrations using observations. +TRANSMUTE_SEA_ICE = False ! [Boolean] default = False + ! If true, allow ice to be transmuted directly into seawater with a spatially + ! varying rate as a form of outflow open boundary condition. + +! === module SIS2_ice_thm (updates) === +! This sub-module does updates of the sea-ice due to thermodynamic changes. +SNOW_CONDUCTIVITY = 0.31 ! [W m-1 K-1] default = 0.31 + ! The conductivity of heat in snow. +ICE_CONDUCTIVITY = 2.03 ! [W m-1 K-1] default = 2.03 + ! The conductivity of heat in ice. +MIN_H_FOR_TEMP_CALC = 0.0 ! [m] default = 0.0 + ! The minimum ice thickness at which to do temperature calculations. +DO_POND = False ! [Boolean] default = False + ! If true, calculate melt ponds and use them for shortwave radiation + ! calculation. +TDRAIN = -0.8 ! [degC] default = -0.8 + ! Melt ponds drain to sea level when ice average temp. exceeds TDRAIN (stand-in + ! for mushy layer thermo) +R_MIN_POND = 0.15 ! [nondim] default = 0.15 + ! Minimum retention rate of surface water sources in melt pond (retention scales + ! linearly with ice cover) +R_MAX_POND = 0.9 ! [nondim] default = 0.9 + ! Maximum retention rate of surface water sources in melt pond (retention scales + ! linearly with ice cover) +MIN_POND_FRAC = 0.2 ! [nondim] default = 0.2 + ! Minimum melt pond cover (by ponds at sea level) pond drains to this when ice + ! is porous. +MAX_POND_FRAC = 0.5 ! [nondim] default = 0.5 + ! Maximum melt pond cover - associated with pond volume that suppresses ice top + ! to waterline +ICE_TEMP_RANGE_ESTIMATE = 40.0 ! [degC] default = 40.0 + ! An estimate of the range of snow and ice temperatures that is used to evaluate + ! whether an explicit diffusive form of the heat fluxes or an inversion based on + ! the layer heat budget is more likely to be more accurate. Setting this to 0 + ! causes the explicit diffusive form. to always be used. + +! === module SIS_dyn_trans === +! This module updates the ice momentum and does ice transport. +DT_ICE_DYNAMICS = 600.0 ! [seconds] default = -1.0 + ! The time step used for the slow ice dynamics, including stepping the + ! continuity equation and interactions between the ice mass field and + ! velocities. If 0 or negative the coupling time step will be used. +MERGED_CONTINUITY = False ! [Boolean] default = False + ! If true, update the continuity equations for the ice, snow, and melt pond + ! water together summed across categories, with proportionate fluxes for each + ! part. Otherwise the media are updated separately. +NSTEPS_ADV = 1 ! default = 1 + ! The number of advective iterations for each slow dynamics time step. +ICEBERG_WINDSTRESS_BUG = False ! [Boolean] default = False + ! If true, use older code that applied an old ice-ocean stress to the icebergs + ! in place of the current air-ocean stress. This option is here for backward + ! compatibility, but should be avoided. +WARSAW_SUM_ORDER = True ! [Boolean] default = True + ! If true, use the order of sums in the Warsaw version of SIS2. The default is + ! the opposite of MERGED_CONTINUITY. This option exists for backward + ! compatibilty but may eventually be obsoleted. +TIMEUNIT = 8.64E+04 ! [s] default = 8.64E+04 + ! The time unit for ICE_STATS_INTERVAL. +ICE_STATS_INTERVAL = 10.0 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between writes of the globally summed ice + ! statistics and conservation checks. +DT_RHEOLOGY = 50.0 ! [seconds] default = -1.0 + ! The sub-cycling time step for iterating the rheology and ice momentum + ! equations. If DT_RHEOLOGY is negative, the time step is set via NSTEPS_DYN. +ICE_TDAMP_ELASTIC = -0.2 ! [s or nondim] default = -0.2 + ! The damping timescale associated with the elastic terms in the sea-ice + ! dynamics equations (if positive) or the fraction of DT_ICE_DYNAMICS (if + ! negative). +WEAK_LOW_SHEAR_ICE = False ! [Boolean] default = False + ! If true, the divergent stresses go toward 0 in the C-grid dynamics when the + ! shear magnitudes are very weak. Otherwise they go to -P_ice. This setting is + ! temporary. +PROJECT_ICE_DRAG_VEL = True ! [Boolean] default = True + ! If true, project forward the ice velocity used in the drag calculation to + ! avoid an instability that can occur when a finite stress is applied to thin + ! ice moving with the velocity of the ocean. +ICE_YIELD_ELLIPTICITY = 2.0 ! [Nondim] default = 2.0 + ! The ellipticity coefficient for the plastic yield curve in the sea-ice + ! rheology. For an infinite ellipticity (i.e., a cavitating fluid rheology), + ! use 0. +ICE_STRENGTH_PSTAR = 2.75E+04 ! [Pa] default = 2.75E+04 + ! A constant in the expression for the ice strength, P* in Hunke & Dukowicz + ! 1997. +ICE_STRENGTH_CSTAR = 20.0 ! [nondim] default = 20.0 + ! A constant in the exponent of the expression for the ice strength, c* in Hunke + ! & Dukowicz 1997. +ICE_CDRAG_WATER = 0.00324 ! [nondim] default = 0.00324 + ! The drag coefficient between the sea ice and water. +MIN_OCN_INTERTIAL_H = 0.0 ! [m] default = 0.0 + ! A minimum ocean thickness used to limit the viscous coupling rate implied for + ! the ocean by the ice-ocean stress. Only used if positive. +ICE_DEL_SH_MIN_SCALE = 2.0 ! [nondim] default = 2.0 + ! A scaling factor for the lower bound on the shear rates used in the + ! denominator of the stress calculation. This probably needs to be greater than + ! 1. +PROJECT_ICE_CONCENTRATION = True ! [Boolean] default = True + ! If true, project the evolution of the ice concentration due to the convergence + ! or divergence of the ice flow. +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. +STRESS_UNDERFLOW = 0.0 ! [Pa m] default = 0.0 + ! A negligibly small magnitude below which ice stress tensor components are set + ! to 0. A reasonable value might be 1e-15 kg m-1 s-1 times vel_underflow. +CFL_TRUNCATE = 0.5 ! [nondim] default = 0.5 + ! The value of the CFL number that will cause ice velocity components to be + ! truncated; instability can occur past 0.5. +CFL_TRUNC_DYN_ITS = False ! [Boolean] default = False + ! If true, check the CFL number for every iteration of the rheology solver; + ! otherwise only the final velocities that are used for transport are checked. +LEMIEUX_LANDFAST = False ! [Boolean] default = False + ! If true, turn on Lemieux landfast ice parameterization. +ITD_LANDFAST = False ! [Boolean] default = False + ! If true, turn on probabilistic landfast ice parameterization. +RECATEGORIZE_ICE = True ! [Boolean] default = True + ! If true, readjust the distribution into ice thickness categories after + ! advection. +SEA_ICE_ROLL_FACTOR = 1.0 ! [Nondim] default = 1.0 + ! A factor by which the propensity of small amounts of thick sea-ice to become + ! thinner by rolling is increased or 0 to disable rolling. This can be thought + ! of as the minimum number of ice floes in a grid cell divided by the horizontal + ! floe aspect ratio. Sensible values are 0 (no rolling) or larger than 1. +ICE_COVER_DISCARD = -1.0 ! [nondim] default = -1.0 + ! A tiny fractional ice coverage which if positive causes the mass in categories + ! with less than this coverage to be discarded. +SIS_THICKNESS_ADVECTION_SCHEME = "PCM" ! default = "UPWIND_2D" + ! The horizontal transport scheme for thickness: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split piecewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +INCONSISTENT_COVER_BUG = False ! [Boolean] default = False + ! If true, omit a recalculation of the fractional ice-free areal coverage after + ! the adjustment of the ice categories. +SIS_CONTINUITY_SCHEME = "PCM" ! default = "UPWIND_2D" + ! The horizontal transport scheme used in continuity: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split piecewise constant + ! PPM:C2PD - Positive definite PPM with 2nd order edge values + ! PPM:C2MO - Monotonic PPM with 2nd order edge values +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. +CONTINUITY_H_NEGLECT = 0.0 ! [kg m-2] default = 0.0 + ! The category ice mass per ocean cell area below which the transport within + ! this thickness category of out of a cell is set to zero. A suggested + ! non-default value might be of order 3e-32 kg m-2, which is one molecule of ice + ! per square kilometer. +CONTINUITY_FRAC_NEGLECT = 0.0 ! [nondim] default = 0.0 + ! When the total fluxes are distributed between categories with + ! MERGED_CONTINUITY, any category whose ice is less than this fraction of the + ! total mass contributes no flux. Without MERGED_CONTINUITY, any snow or melt + ! pond transport that is less than this fraction of the ice transport is zeroed + ! out. A suggested non-default value might be of order 1e-20. + +! === module SIS_tracer_advect === +SIS_TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "UPWIND_2D" + ! The horizontal transport scheme for tracers: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split piecewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +CFL_MASS_NEGLECT_BUG = False ! [Boolean] default = False + ! If true use a globally constant negligible volume in the denominator of the + ! tracer advection CFL calculation, reproducing an older incorrect expression, + ! rather than using a proper scaling of this negligible mass with cell area. +ADCROFT_ADVECTIVE_CFL = False ! [Boolean] default = False + ! If true use the Adcroft reciprocal of the cell mass when calculating the + ! advective CFL numbers used in PPM tracer advection schemes, rather than adding + ! a small mass in the denominator of the advective CFL ratio. + +! === module SIS_sum_output === +WRITE_STOCKS = True ! [Boolean] default = True + ! If true, write the integrated tracer amounts to stdout when the statistics + ! files are written. +STDOUT_HEARTBEAT = True ! [Boolean] default = True + ! If true, periodically write sea ice statistics to stdout to allow the progress + ! to be seen. +MAXTRUNC = 200 ! [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 writing ice statistics. Set + ! MAXTRUNC to 0 to stop if there is any truncation of sea ice velocities. +STATISTICS_FILE = "seaice.stats" ! default = "seaice.stats" + ! The file to use to write the globally integrated statistics. + +! === module SIS_ice_diagnostics === +! This module handles sea-ice state diagnostics. + +! === module SIS_fast_thermo === +! This module applies rapidly varying heat fluxes to the ice and does an implicit surface temperature +! calculation. +REORDER_0C_HEATFLUX = False ! [Boolean] default = False + ! If true, rearrange the calculation of the heat fluxes projected back to 0C to + ! work on each contribution separately, so that they can be indentically + ! replicated if there is a single fast timestep per coupled timestep and + ! REDO_FAST_ICE_UPDATE=True. +MAX_TSKIN_ITT = 10 ! default = 10 + ! The maximum number of iterations of the skin temperature and optical + ! properties during redo_update_ice_model_fast. + +! === module SIS2_ice_thm (updates) === +! This sub-module does updates of the sea-ice due to thermodynamic changes. + +! === module SIS_optics === +! This module calculates the albedo and absorption profiles for shortwave radiation. +DO_DELTA_EDDINGTON_SW = True ! [Boolean] default = True + ! If true, a delta-Eddington radiative transfer calculation for the shortwave + ! radiation within the sea-ice. +ICE_DELTA_EDD_R_ICE = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of sea + ! ice with the delta-Eddington radiative transfer calculation. +ICE_DELTA_EDD_R_SNOW = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of snow + ! on sea ice with the delta-Eddington radiative transfer calculation. +ICE_DELTA_EDD_R_POND = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of + ! meltwater ponds on sea ice with the delta-Eddington radiative transfer + ! calculation. + +! === module MOM_file_parser === +SEND_LOG_TO_STDOUT = False ! [Boolean] default = False + ! If true, all log messages are also sent to stdout. +DOCUMENT_FILE = "SIS_parameter_doc" ! default = "SIS_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 SIS_parameter_doc.all . +MINIMAL_DOCUMENTATION = True ! [Boolean] default = True + ! If true, non-default run-time parameters are documented in + ! SIS_parameter_doc.short . diff --git a/exps/NWA12.COBALT/SIS_parameter_doc.debugging b/exps/NWA12.COBALT/SIS_parameter_doc.debugging new file mode 100644 index 000000000..ff3f203b2 --- /dev/null +++ b/exps/NWA12.COBALT/SIS_parameter_doc.debugging @@ -0,0 +1,66 @@ +! This file was written by the model and records the debugging parameters used at run-time. + +! === module MOM_unit_scaling === +! Parameters for doing unit scaling of variables. +Z_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! depths and heights. Valid values range from -300 to 300. +L_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! lateral distances. Valid values range from -300 to 300. +T_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! time. Valid values range from -300 to 300. +R_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! density. Valid values range from -300 to 300. +Q_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! heat content. Valid values range from -300 to 300. +C_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! temperature. Valid values range from -300 to 300. +S_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! salinity. Valid values range from -300 to 300. +DEBUG = False ! [Boolean] default = False + ! If true, write out verbose debugging data. +DEBUG_SLOW_ICE = False ! [Boolean] default = False + ! If true, write out verbose debugging data on the slow ice PEs. +DEBUG_FAST_ICE = False ! [Boolean] default = False + ! If true, write out verbose debugging data on the fast ice PEs. +DEBUG_CHKSUMS = False ! [Boolean] default = False + ! If true, checksums are performed on arrays in the various vec_chksum routines. +DEBUG_REDUNDANT = False ! [Boolean] default = False + ! If true, debug redundant data points during calls to the various vec_chksum + ! routines. +COLUMN_CHECK = False ! [Boolean] default = False + ! If true, add code to allow debugging of conservation column-by-column. This + ! does not change answers, but can increase model run time. +IMBALANCE_TOLERANCE = 1.0E-09 ! [nondim] default = 1.0E-09 + ! The tolerance for imbalances to be flagged by COLUMN_CHECK. +VERBOSE = False ! [Boolean] default = False + ! If true, write out verbose diagnostics. +DEBUG_EVP_SUBSTEPS = False ! [Boolean] default = False + ! If true, write out verbose debugging data for each of the steps within the EVP + ! solver. +U_TRUNC_FILE = "SIS_U_truncations" ! default = "" + ! The absolute path to the file where the accelerations leading to zonal + ! velocity truncations are written. Leave this empty for efficiency if this + ! diagnostic is not needed. +V_TRUNC_FILE = "SIS_V_truncations" ! default = "" + ! The absolute path to the file where the accelerations leading to meridional + ! velocity truncations are written. Leave this empty for efficiency if this + ! diagnostic is not needed. +MAX_TRUNC_FILE_SIZE_PER_PE = 50 ! default = 50 + ! The maximum number of colums of truncations that any PE will write out during + ! a run. +CHECK_ICE_TRANSPORT_CONSERVATION = False ! [Boolean] default = False + ! If true, use add multiple diagnostics of ice and snow mass conservation in the + ! sea-ice transport code. This is expensive and should be used sparingly. + +! === module MOM_file_parser === +REPORT_UNUSED_PARAMS = True ! [Boolean] default = True + ! If true, report any parameter lines that are not used in the run. +FATAL_UNUSED_PARAMS = False ! [Boolean] default = False + ! If true, kill the run if there are any unused parameters. diff --git a/exps/NWA12.COBALT/SIS_parameter_doc.layout b/exps/NWA12.COBALT/SIS_parameter_doc.layout new file mode 100644 index 000000000..751728ba0 --- /dev/null +++ b/exps/NWA12.COBALT/SIS_parameter_doc.layout @@ -0,0 +1,53 @@ +! This file was written by the model and records the layout parameters used at run-time. +GLOBAL_INDEXING = False ! [Boolean] default = False + ! If true, use a global lateral indexing convention, so that corresponding + ! points on different processors have the same index. This does not work with + ! static memory. + +! === module MOM_domains === +!SYMMETRIC_MEMORY_ = True ! [Boolean] + ! If defined, the velocity point data domain includes every face of the + ! thickness points. In other words, some arrays are larger than others, + ! depending on where they are on the staggered grid. Also, the starting index + ! of the velocity-point arrays is usually 0, not 1. This can only be set at + ! compile time. +NONBLOCKING_UPDATES = False ! [Boolean] default = False + ! If true, non-blocking halo updates may be used. +THIN_HALO_UPDATES = True ! [Boolean] default = True + ! If true, optional arguments may be used to specify the width of the halos that + ! are updated with each call. +!STATIC_MEMORY_ = False ! [Boolean] + ! If STATIC_MEMORY_ is defined, the principle variables will have sizes that are + ! statically determined at compile time. Otherwise the sizes are not determined + ! until run time. The STATIC option is substantially faster, but does not allow + ! the PE count to be changed at run time. This can only be set at compile time. +AUTO_MASKTABLE = False ! [Boolean] default = False + ! Turn on automatic mask table generation to eliminate land blocks. +MASKTABLE = "MOM_mask_table" ! default = "MOM_mask_table" + ! A text file to specify n_mask, layout and mask_list. This feature masks out + ! processors that contain only land points. The first line of mask_table is the + ! number of regions to be masked out. The second line is the layout of the model + ! and must be consistent with the actual model layout. The following (n_mask) + ! lines give the logical positions of the processors that are masked out. The + ! mask_table can be created by tools like check_mask. The following example of + ! mask_table masks out 2 processors, (1,2) and (3,6), out of the 24 in a 4x6 + ! layout: + ! 2 + ! 4,6 + ! 1,2 + ! 3,6 +NIPROC = 20 ! + ! The number of processors in the x-direction. With STATIC_MEMORY_ this is set + ! in SIS2_memory.h at compile time. +NJPROC = 20 ! + ! The number of processors in the y-direction. With STATIC_MEMORY_ this is set + ! in SIS2_memory.h at compile time. +LAYOUT = 20, 20 ! + ! The processor layout that was actually used. +IO_LAYOUT = 1, 1 ! default = 1 + ! The processor layout to be used, or 0,0 to automatically set the io_layout to + ! be the same as the layout. +NIBLOCK = 1 ! default = 1 + ! The number of blocks in the x-direction on each processor (for openmp). +NJBLOCK = 1 ! default = 1 + ! The number of blocks in the y-direction on each processor (for openmp). diff --git a/exps/NWA12.COBALT/SIS_parameter_doc.short b/exps/NWA12.COBALT/SIS_parameter_doc.short new file mode 100644 index 000000000..7aa34b2e1 --- /dev/null +++ b/exps/NWA12.COBALT/SIS_parameter_doc.short @@ -0,0 +1,116 @@ +! This file was written by the model and records the non-default parameters used at run-time. + +! === module ice_model === + +! === module MOM_domains === +REENTRANT_X = False ! [Boolean] default = True + ! If true, the domain is zonally reentrant. +NIGLOBAL = 775 ! + ! The total number of thickness grid points in the x-direction in the physical + ! domain. With STATIC_MEMORY_ this is set in SIS2_memory.h at compile time. +NJGLOBAL = 845 ! + ! The total number of thickness grid points in the y-direction in the physical + ! domain. With STATIC_MEMORY_ this is set in SIS2_memory.h at compile time. + +! === module SIS_initialize_fixed === +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_FILE = "ocean_topog.nc" ! default = "topog.nc" + ! The file from which the bathymetry is read. +!MAXIMUM_DEPTH = 6857.396484375 ! [m] + ! The (diagnosed) maximum depth of the ocean. + +! === module hor_grid === +! Parameters providing information about the lateral grid. + +! === module SIS2_ice_thm (thermo) === +! This sub-module calculates ice thermodynamic quantities. + +! === module SIS_tracer_registry === + +! === module SIS_tracer_flow_control === + +! === module SIS_slow_thermo === +! This module calculates the slow evolution of the ice mass, heat, and salt budgets. +ICE_BULK_SALINITY = 0.0 ! [g/kg] default = 4.0 + ! The fixed bulk salinity of sea ice. +ICE_RELATIVE_SALINITY = 0.1 ! [nondim] default = 0.0 + ! The initial salinity of sea ice as a fraction of the salinity of the seawater + ! from which it formed. + +! === module SIS2_ice_thm (updates) === +! This sub-module does updates of the sea-ice due to thermodynamic changes. + +! === module SIS_dyn_trans === +! This module updates the ice momentum and does ice transport. +DT_ICE_DYNAMICS = 600.0 ! [seconds] default = -1.0 + ! The time step used for the slow ice dynamics, including stepping the + ! continuity equation and interactions between the ice mass field and + ! velocities. If 0 or negative the coupling time step will be used. +ICE_STATS_INTERVAL = 10.0 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between writes of the globally summed ice + ! statistics and conservation checks. +DT_RHEOLOGY = 50.0 ! [seconds] default = -1.0 + ! The sub-cycling time step for iterating the rheology and ice momentum + ! equations. If DT_RHEOLOGY is negative, the time step is set via NSTEPS_DYN. +SIS_THICKNESS_ADVECTION_SCHEME = "PCM" ! default = "UPWIND_2D" + ! The horizontal transport scheme for thickness: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split piecewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +SIS_CONTINUITY_SCHEME = "PCM" ! default = "UPWIND_2D" + ! The horizontal transport scheme used in continuity: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split piecewise constant + ! PPM:C2PD - Positive definite PPM with 2nd order edge values + ! PPM:C2MO - Monotonic PPM with 2nd order edge values + +! === module SIS_tracer_advect === +SIS_TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "UPWIND_2D" + ! The horizontal transport scheme for tracers: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split piecewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) + +! === module SIS_sum_output === +MAXTRUNC = 200 ! [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 writing ice statistics. Set + ! MAXTRUNC to 0 to stop if there is any truncation of sea ice velocities. + +! === module SIS_ice_diagnostics === +! This module handles sea-ice state diagnostics. + +! === module SIS_fast_thermo === +! This module applies rapidly varying heat fluxes to the ice and does an implicit surface temperature +! calculation. + +! === module SIS2_ice_thm (updates) === +! This sub-module does updates of the sea-ice due to thermodynamic changes. + +! === module SIS_optics === +! This module calculates the albedo and absorption profiles for shortwave radiation. +ICE_DELTA_EDD_R_ICE = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of sea + ! ice with the delta-Eddington radiative transfer calculation. +ICE_DELTA_EDD_R_SNOW = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of snow + ! on sea ice with the delta-Eddington radiative transfer calculation. +ICE_DELTA_EDD_R_POND = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of + ! meltwater ponds on sea ice with the delta-Eddington radiative transfer + ! calculation.