From febca433aee2cf87d94f8ad11c893b612e2bf951 Mon Sep 17 00:00:00 2001 From: Niki Zadeh Date: Fri, 25 Apr 2014 10:39:47 -0400 Subject: [PATCH] Added example for using a mask_table O Moved the mask_tables to INPUT/ , where they belong, since having e.g., #override MASKTABLE = "mask_table.34.16x18" causes MOM6 to look for INPUT/mask_table.34.16x18 O Added one MOM6z example using a mask_table O Intentionally made the timestats for masked example the same as unmasked example Although currently it does not reproduce unmasked timestats and we have to figure out why --- .../{ => INPUT}/mask_table.1029.45x90 | 0 .../{ => INPUT}/mask_table.1054.90x45 | 0 .../{ => INPUT}/mask_table.1404.45x120 | 0 .../{ => INPUT}/mask_table.246.32x36 | 0 .../{ => INPUT}/mask_table.34.16x18 | 0 .../{ => INPUT}/mask_table.548.32x72 | 0 .../{ => INPUT}/mask_table.703.180x18 | 0 .../{ => INPUT}/mask_table.808.45x72 | 0 .../{ => INPUT}/mask_table.873.120x30 | 0 .../{ => INPUT}/mask_table.99.32x18 | 0 .../MOM6z_SIS_025_mask_table.34.16x18/INPUT | 1 + .../MOM_input | 1 + .../MOM_override | 5 + .../MOM_parameter_doc.all | 1582 +++++++++++++++++ .../MOM_parameter_doc.short | 630 +++++++ .../data_table | 1 + .../diag_table | 1 + .../field_table | 1 + .../input.nml | 137 ++ .../timestats.gnu | 1 + .../timestats.intel | 1 + .../timestats.pgi | 1 + 22 files changed, 2362 insertions(+) rename examples/ocean_SIS/MOM6z_SIS_025/{ => INPUT}/mask_table.1029.45x90 (100%) rename examples/ocean_SIS/MOM6z_SIS_025/{ => INPUT}/mask_table.1054.90x45 (100%) rename examples/ocean_SIS/MOM6z_SIS_025/{ => INPUT}/mask_table.1404.45x120 (100%) rename examples/ocean_SIS/MOM6z_SIS_025/{ => INPUT}/mask_table.246.32x36 (100%) rename examples/ocean_SIS/MOM6z_SIS_025/{ => INPUT}/mask_table.34.16x18 (100%) rename examples/ocean_SIS/MOM6z_SIS_025/{ => INPUT}/mask_table.548.32x72 (100%) rename examples/ocean_SIS/MOM6z_SIS_025/{ => INPUT}/mask_table.703.180x18 (100%) rename examples/ocean_SIS/MOM6z_SIS_025/{ => INPUT}/mask_table.808.45x72 (100%) rename examples/ocean_SIS/MOM6z_SIS_025/{ => INPUT}/mask_table.873.120x30 (100%) rename examples/ocean_SIS/MOM6z_SIS_025/{ => INPUT}/mask_table.99.32x18 (100%) create mode 120000 examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/INPUT create mode 120000 examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_input create mode 100644 examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_override create mode 100644 examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_parameter_doc.all create mode 100644 examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_parameter_doc.short create mode 120000 examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/data_table create mode 120000 examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/diag_table create mode 120000 examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/field_table create mode 100644 examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/input.nml create mode 120000 examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/timestats.gnu create mode 120000 examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/timestats.intel create mode 120000 examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/timestats.pgi diff --git a/examples/ocean_SIS/MOM6z_SIS_025/mask_table.1029.45x90 b/examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.1029.45x90 similarity index 100% rename from examples/ocean_SIS/MOM6z_SIS_025/mask_table.1029.45x90 rename to examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.1029.45x90 diff --git a/examples/ocean_SIS/MOM6z_SIS_025/mask_table.1054.90x45 b/examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.1054.90x45 similarity index 100% rename from examples/ocean_SIS/MOM6z_SIS_025/mask_table.1054.90x45 rename to examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.1054.90x45 diff --git a/examples/ocean_SIS/MOM6z_SIS_025/mask_table.1404.45x120 b/examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.1404.45x120 similarity index 100% rename from examples/ocean_SIS/MOM6z_SIS_025/mask_table.1404.45x120 rename to examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.1404.45x120 diff --git a/examples/ocean_SIS/MOM6z_SIS_025/mask_table.246.32x36 b/examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.246.32x36 similarity index 100% rename from examples/ocean_SIS/MOM6z_SIS_025/mask_table.246.32x36 rename to examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.246.32x36 diff --git a/examples/ocean_SIS/MOM6z_SIS_025/mask_table.34.16x18 b/examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.34.16x18 similarity index 100% rename from examples/ocean_SIS/MOM6z_SIS_025/mask_table.34.16x18 rename to examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.34.16x18 diff --git a/examples/ocean_SIS/MOM6z_SIS_025/mask_table.548.32x72 b/examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.548.32x72 similarity index 100% rename from examples/ocean_SIS/MOM6z_SIS_025/mask_table.548.32x72 rename to examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.548.32x72 diff --git a/examples/ocean_SIS/MOM6z_SIS_025/mask_table.703.180x18 b/examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.703.180x18 similarity index 100% rename from examples/ocean_SIS/MOM6z_SIS_025/mask_table.703.180x18 rename to examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.703.180x18 diff --git a/examples/ocean_SIS/MOM6z_SIS_025/mask_table.808.45x72 b/examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.808.45x72 similarity index 100% rename from examples/ocean_SIS/MOM6z_SIS_025/mask_table.808.45x72 rename to examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.808.45x72 diff --git a/examples/ocean_SIS/MOM6z_SIS_025/mask_table.873.120x30 b/examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.873.120x30 similarity index 100% rename from examples/ocean_SIS/MOM6z_SIS_025/mask_table.873.120x30 rename to examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.873.120x30 diff --git a/examples/ocean_SIS/MOM6z_SIS_025/mask_table.99.32x18 b/examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.99.32x18 similarity index 100% rename from examples/ocean_SIS/MOM6z_SIS_025/mask_table.99.32x18 rename to examples/ocean_SIS/MOM6z_SIS_025/INPUT/mask_table.99.32x18 diff --git a/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/INPUT b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/INPUT new file mode 120000 index 0000000000..3a2d233e3d --- /dev/null +++ b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/INPUT @@ -0,0 +1 @@ +../INPUT \ No newline at end of file diff --git a/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_input b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_input new file mode 120000 index 0000000000..ff330b653d --- /dev/null +++ b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_input @@ -0,0 +1 @@ +../MOM_input \ No newline at end of file diff --git a/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_override b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_override new file mode 100644 index 0000000000..a7393a9e08 --- /dev/null +++ b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_override @@ -0,0 +1,5 @@ +#override undef NIPROC_IO +#override undef NJPROC_IO +#override NIPROC = 16 +#override NJPROC = 18 +#override MASKTABLE = "mask_table.34.16x18" diff --git a/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_parameter_doc.all b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_parameter_doc.all new file mode 100644 index 0000000000..11f273df00 --- /dev/null +++ b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_parameter_doc.all @@ -0,0 +1,1582 @@ +REENTRANT_X = True ! [Boolean] default = True + ! If true, the domain is zonally reentrant. +REENTRANT_Y = False ! [Boolean] default = False + ! If true, the domain is meridionally reentrant. +TRIPOLAR_N = True ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the + ! domain. With TRIPOLAR_N, NIGLOBAL must be even. +!SYMMETRIC_MEMORY_ = False ! [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. +!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. +NIHALO = 4 ! default = 2 + ! The number of halo points on each side in the + ! x-direction. With STATIC_MEMORY_ this is set as NIHALO_ + ! in MOM_memory.h at compile time; without STATIC_MEMORY_ + ! the default is NIHALO_ in MOM_memory.h (if defined) or 2. +NJHALO = 4 ! default = 2 + ! The number of halo points on each side in the + ! y-direction. With STATIC_MEMORY_ this is set as NJHALO_ + ! in MOM_memory.h at compile time; without STATIC_MEMORY_ + ! the default is NJHALO_ in MOM_memory.h (if defined) or 2. +NIGLOBAL = 1440 ! + ! 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 = 1080 ! + ! 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. +MASKTABLE = "mask_table.34.16x18" ! 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 +LAYOUT = 0, 0 ! default = 0 + ! The processor layout to be used, or 0, 0 to automatically + ! set the layout based on the number of processors. +!NIPROC = 16 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +!NJPROC = 18 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +!LAYOUT = 16, 18 ! + ! The processor layout that was acutally used. +IO_LAYOUT = 1, 1 ! default = 0 + ! 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 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. +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. +BOUSSINESQ = True ! [Boolean] default = True + ! If true, make the Boussinesq approximation. +ANGSTROM = 1.0E-10 ! [m] default = 1.0E-10 + ! The minumum layer thickness, usually one-Angstrom. +BATHYMETRY_AT_VEL = False ! [Boolean] default = False + ! If true, there are separate values for the basin depths + ! at velocity points. Otherwise the effects of of + ! topography are entirely determined from thickness points. +NK = 75 ! [nondim] + ! The number of model layers. + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. +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. + +! === module MOM === +VERBOSITY = 2 ! default = 2 + ! Integer controlling level of messaging + ! 0 = Only FATAL messages + ! 2 = Only FATAL, WARNING, NOTE [default] + ! 9 = All) +SPLIT = True ! [Boolean] default = True + ! Use the split time stepping if true. +USE_LEGACY_SPLIT = False ! [Boolean] default = False + ! If true, use the full range of options available from + ! the older GOLD-derived split time stepping code. +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. +ADIABATIC = False ! [Boolean] default = False + ! There are no diapycnal mass fluxes if ADIABATIC is + ! true. This assumes that KD = KDML = 0.0 and that + ! there is no buoyancy forcing, but makes the model + ! faster by eliminating subroutine calls. +BULKMIXEDLAYER = False ! [Boolean] default = True + ! 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. + ! The default is the same setting as ENABLE_THERMODYNAMICS. +USE_REGRIDDING = True ! [Boolean] default = False + ! If True, use the ALE algorithm (regridding/remapping). + ! If False, use the layered isopycnal algorithm. +THICKNESSDIFFUSE = False ! [Boolean] default = False + ! If true, interfaces or isopycnal surfaces are diffused, + ! depending on the value of FULL_THICKNESSDIFFUSE. +THICKNESSDIFFUSE_FIRST = False ! [Boolean] default = False + ! If true, do thickness diffusion before dynamics. + ! This is only used if THICKNESSDIFFUSE is true. +MIXEDLAYER_RESTRAT = False ! [Boolean] default = False + ! If true, a density-gradient dependent re-stratifying + ! flow is imposed in the mixed layer. + ! This is only used if BULKMIXEDLAYER is true. +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. +DT = 1200.0 ! [s] + ! The (baroclinic) dynamics time step. The time-step that + ! is actually used will be an integer fraction of the + ! forcing time-step (DT_FORCING in ocean-only mode or the + ! coupling timestep in coupled mode.) +DT_THERM = 3600.0 ! [s] default = 1200.0 + ! The thermodynamic and tracer advection time step. + ! Ideally DT_THERM should be an integer multiple of DT + ! and less than the forcing or coupling time-step. + ! By default DT_THERM is set to DT. +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). +MIN_Z_DIAG_INTERVAL = 2.16E+04 ! [s] default = 0.0 + ! The minimum amount of time in seconds between + ! calculations of depth-space diagnostics. Making this + ! larger than DT_THERM reduces the performance penalty + ! of regridding to depth online. +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. +SSH_SMOOTHING_PASSES = 0.0 ! [nondim] default = 0.0 + ! The number of Laplacian smoothing passes to apply to the + ! the sea surface height that is reported to the sea-ice. +DTBT_RESET_PERIOD = -1.0 ! [s] default = 3600.0 + ! The period between recalculations of DTBT (if DTBT <= 0). + ! If DTBT_RESET_PERIOD is negative, DTBT is set based + ! only on information available at initialization. If + ! dynamic, DTBT will be set at least every forcing time + ! step, and if 0, 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 + ! the accumulated heat deficit is returned in the + ! surface state. FRAZIL is only used if + ! ENABLE_THERMODYNAMICS is true. +DO_GEOTHERMAL = False ! [Boolean] default = False + ! If true, apply geothermal heating. +BOUND_SALINITY = True ! [Boolean] default = False + ! If true, limit salinity to being positive. (The sea-ice + ! model may ask for more salt than is available and + ! drive the salinity negative otherwise.) +C_P = 3925.0 ! [J kg-1 K-1] default = 3991.86795711963 + ! The heat capacity of sea water, approximated as a + ! constant. This is only used if ENABLE_THERMODYNAMICS is + ! true. The default value is from the TEOS-10 definition + ! of conservative temperature. +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. +CHECK_BAD_SURFACE_VALS = True ! [Boolean] default = False + ! If true, check the surface state for ridiculous values. +BAD_VAL_SSH_MAX = 50.0 ! [m] default = 20.0 + ! The value of SSH above which a bad value message is + ! triggered, if CHECK_BAD_SURFACE_VALS is true. +BAD_VAL_SSS_MAX = 65.0 ! [PSU] default = 45.0 + ! The value of SSS above which a bad value message is + ! triggered, if CHECK_BAD_SURFACE_VALS is true. +BAD_VAL_SST_MAX = 55.0 ! [deg C] default = 45.0 + ! The value of SST above which a bad value message is + ! triggered, if CHECK_BAD_SURFACE_VALS is true. +BAD_VAL_SST_MIN = -3.0 ! [deg C] default = -2.1 + ! The value of SST below which a bad value message is + ! triggered, if CHECK_BAD_SURFACE_VALS is true. +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. + +! === module MOM_tracer_registry === +EQN_OF_STATE = "WRIGHT" ! default = "WRIGHT" + ! EQN_OF_STATE determines which ocean equation of state + ! should be used. Currently, the valid choices are + ! "LINEAR", "UNESCO", and "WRIGHT". + ! 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". +TFREEZE_S0_P0 = 0.0 ! [deg C] default = 0.0 + ! When TFREEZE_FORM=LINEAR, + ! this is the freezing potential temperature at + ! S=0, P=0. +DTFREEZE_DS = -0.054 ! [deg C PSU-1] default = -0.054 + ! When TFREEZE_FORM=LINEAR, + ! this is the derivative of the freezing potential + ! temperature with salinity. +DTFREEZE_DP = -7.75E-08 ! [deg C Pa-1] default = 0.0 + ! When TFREEZE_FORM=LINEAR, + ! this is the derivative of the freezing potential + ! temperature with pressure. +PARALLEL_RESTARTFILES = False ! [Boolean] default = False + ! If true, each processor writes its own restart file, + ! otherwise a single restart file is generated +RESTARTFILE = "MOM.res" ! default = "MOM.res" + ! The name-root of the restart file. +LARGE_FILE_SUPPORT = True ! [Boolean] default = True + ! If true, use the file-size limits with NetCDF large + ! file support (4Gb), otherwise the limit is 2Gb. +MAX_FIELDS = 100 ! default = 100 + ! The maximum number of restart fields that can be used. + +! === 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_IDEAL_AGE_TRACER = True ! [Boolean] default = False + ! If true, use the ideal_age_example 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_generic_tracer = False ! [Boolean] default = False + ! If true and _USE_GENERIC_TRACER is defined as a + ! preprocessor macro, use the MOM_generic_tracer packages. + +! === module ideal_age_example === +DO_IDEAL_AGE = True ! [Boolean] default = True + ! If true, use an ideal age tracer that is set to 0 age + ! in the mixed layer and ages at unit rate in the interior. +DO_IDEAL_VINTAGE = False ! [Boolean] default = False + ! If true, use an ideal vintage tracer that is set to an + ! exponentially increasing value in the mixed layer and + ! is conserved thereafter. +DO_IDEAL_AGE_DATED = False ! [Boolean] default = False + ! If true, use an ideal age tracer that is everywhere 0 + ! before IDEAL_AGE_DATED_START_YEAR, but the behaves like + ! the standard ideal age tracer - i.e. is set to 0 age in + ! the mixed layer and ages at unit rate in the interior. +AGE_IC_FILE = "" ! default = "" + ! The file in which the age-tracer initial values can be + ! found, or an empty string for internal initialization. +AGE_IC_FILE_IS_Z = False ! [Boolean] default = False + ! If true, AGE_IC_FILE is in depth space, not layer space +MASK_MASSLESS_TRACERS = False ! [Boolean] default = False + ! If true, the tracers are masked out in massless layer. + ! This can be a problem with time-averages. +TRACERS_MAY_REINIT = False ! [Boolean] default = False + ! If true, tracers may go through the initialization code + ! if they are not found in the restart files. Otherwise + ! it is a fatal error if the tracers are not found in the + ! restart files of a restarted run. +INPUTDIR = "INPUT" ! default = "." + ! The directory in which input files are found. +COORD_CONFIG = "file" ! + ! This specifies how layers are to be defined: + ! file - read coordinate information from the file + ! specified by (COORD_FILE). + ! linear - linear based on interfaces not layesrs. + ! 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. +COORD_FILE = "layer_coord.nc" ! + ! The file from which the coordinate densities are read. +COORD_VAR = "Layer" ! default = "Layer" + ! The variable in COORD_FILE that is to be used for the + ! coordinate densities. + +! === 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. + ! benchmark - use the benchmark test case topography. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! DOME2D - use a shelf and slope configuration for the + ! DOME2D gravity current/overflow test case. + ! seamount - Gaussian bump for spontaneous motion test case. + ! 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. +MAXIMUM_DEPTH = 6500.0 ! [m] + ! The maximum depth of the ocean. +MINIMUM_DEPTH = 9.5 ! [m] default = 0.0 + ! If MASKING_DEPTH is unspecified, then anything shallower than + ! MINIMUM_DEPTH is assumed to be land and all fluxes are masked out. + ! If MASKING_DEPTH is specified, then all depths shallower than + ! MINIMUM_DEPTH but depper than MASKING_DEPTH are rounded to MINIMUM_DEPTH. +MASKING_DEPTH = 0.0 ! [m] default = -9999.0 + ! The depth below which to mask points as land points, for which all + ! fluxes are zeroed out. MASKING_DEPTH is ignored if negative. +APPLY_OBC_U_FLATHER_EAST = False ! [Boolean] default = False + ! Apply a Flather open boundary condition on the eastern + ! side of the global domain +APPLY_OBC_U_FLATHER_WEST = False ! [Boolean] default = False + ! Apply a Flather open boundary condition on the western + ! side of the global domain +APPLY_OBC_V_FLATHER_NORTH = False ! [Boolean] default = False + ! Apply a Flather open boundary condition on the northern + ! side of the global domain +APPLY_OBC_V_FLATHER_SOUTH = False ! [Boolean] default = False + ! Apply a Flather open boundary condition on the southern + ! side of the global domain +CHANNEL_CONFIG = "list" ! default = "none" + ! A parameter that determines which set of channels are + ! restricted to specific widths. Options are: + ! none - All channels have the grid width. + ! global_1deg - Sets 16 specific channels appropriate + ! for a 1-degree model, as used in CM2G. + ! list - Read the channel locations and widths from a + ! text file, like MOM_channel_list in the MOM_SIS + ! test case. + ! file - Read open face widths everywhere from a + ! NetCDF file on the model grid. +CHANNEL_LIST_FILE = "MOM_channels_global_025" ! default = "MOM_channel_list" + ! The file from which the list of narrowed channels is read. +CHANNEL_LIST_360_LON_CHECK = True ! [Boolean] default = True + ! If true, the channel configuration list works for any + ! longitudes in the range of -360 to 360. +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. +ALWAYS_WRITE_GEOM = False ! [Boolean] default = True + ! If true, write the geometry and vertical grid files + ! every time the model is run. Otherwise, only write + ! them for new runs. +INIT_LAYERS_FROM_Z_FILE = False ! [Boolean] default = False + ! If true, intialize the layer thicknesses, temperatures, + ! and salnities from a Z-space file on a latitude- + ! longitude grid. +THICKNESS_CONFIG = "file" ! + ! A string that determines how the initial layer + ! thicknesses are specified for a new run: + ! file - read interface heights from the file specified + ! thickness_file - read thicknesses from the file specified + ! by (THICKNESS_FILE). + ! uniform - uniform thickness layers evenly distributed + ! between the surface and MAXIMUM_DEPTH. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! benchmark - use the benchmark test case thicknesses. + ! search - search a density profile for the interface + ! densities. This is not yet implemented. + ! circle_obcs - the circle_obcs test case is used. + ! DOME2D - 2D version of DOME initialization. + ! adjustment2d - TBD AJA. + ! sloshing - TBD AJA. + ! seamount - TBD AJA. + ! USER - call a user modified routine. +THICKNESS_FILE = "MOM_IC_4.nc" ! + ! The name of the thickness file. +ADJUST_THICKNESS = False ! [Boolean] default = False + ! If true, all mass below the bottom removed if the + ! topography is shallower than the thickness input file + ! would indicate. +TS_CONFIG = "file" ! + ! A string that determines how the initial tempertures + ! and salinities are specified for a new run: + ! file - read velocities from the file specified + ! by (TS_FILE). + ! fit - find the temperatures that are consistent with + ! the layer densities and salinity S_REF. + ! TS_profile - use temperature and salinity profiles + ! (read from TS_FILE) to set layer densities. + ! benchmark - use the benchmark test case T & S. + ! linear - linear in logical layer space. + ! DOME2D - 2D DOME initialization. + ! adjustment2d - TBD AJA. + ! sloshing - TBD AJA. + ! seamount - TBD AJA. + ! USER - call a user modified routine. +TS_FILE = "MOM_IC.nc" ! + ! The initial condition file for temperature. +TEMP_IC_VAR = "Temp" ! default = "PTEMP" + ! The initial condition variable for potential temperature. +SALT_IC_VAR = "Salt" ! default = "SALT" + ! The initial condition variable for salinity. +SALT_FILE = "MOM_IC.nc" ! default = "MOM_IC.nc" + ! The initial condition file for salinity. +VELOCITY_CONFIG = "zero" ! default = "zero" + ! A string that determines how the initial velocities + ! are specified for a new run: + ! file - read velocities from the file specified + ! by (VELOCITY_FILE). + ! zero - the fluid is initially at rest. + ! uniform - the flow is uniform (determined by + ! paremters TORUS_U and TORUS_V). + ! USER - call a user modified routine. +CONVERT_THICKNESS_UNITS = False ! [Boolean] default = False + ! If true, convert the thickness initial conditions from + ! units of m to kg m-2 or vice versa, depending on whether + ! BOUSSINESQ is defined. This does not apply if a restart + ! file is read. +DEPRESS_INITIAL_SURFACE = False ! [Boolean] default = False + ! If true, depress the initial surface to avoid huge + ! tsunamis when a large surface pressure is applied. +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. +APPLY_OBC_U = False ! [Boolean] default = False + ! If true, open boundary conditions may be set at some + ! u-points, with the configuration controlled by OBC_CONFIG +APPLY_OBC_V = False ! [Boolean] default = False + ! If true, open boundary conditions may be set at some + ! v-points, with the configuration controlled by OBC_CONFIG +BOUNDARY_EXTRAPOLATION_PRESSURE = True ! [Boolean] default = True + ! When defined, the reconstruction is extrapolated + ! within boundary cells rather than assume PCM for the. + ! calculation of pressure. e.g. if PPM is used, a + ! PPM reconstruction will also be used within + ! boundary cells. +RECONSTRUCT_FOR_PRESSURE = True ! [Boolean] default = True + ! If True, use vertical reconstruction of T/S within + ! the integrals of teh FV pressure gradient calculation. + ! If False, use the constant-by-layer algorithm. + ! By default, this is True when using ALE and False otherwise. +PRESSURE_RECONSTRUCTION_SCHEME = 1 ! default = 1 + ! Type of vertical reconstruction of T/S to use in integrals + ! within the FV pressure gradient calculation. 1: PLM reconstruction. + ! 2: PPM reconstruction. +REGRIDDING_COORDINATE_MODE = "Z*" ! default = "LAYER" + ! Coordinate mode for vertical regridding. + ! Choose among the following possibilities: + ! LAYER - Isopycnal or stacked shallow water layers + ! Z* - stetched geopotential z* + ! SIGMA - terrain following coordinates + ! RHO - continuous isopycnal +REGRIDDING_COORDINATE_UNITS = "m" ! default = "m" + ! Units of the regridding coordinuate. +INTERPOLATION_SCHEME = "P1M_H2" ! default = "P1M_H2" + ! This sets the interpolation scheme to use to + ! determine the new grid. These parameters are + ! only relevant when REGRIDDING_COORDINATE_MODE is + ! set to a function of state. Otherwise, it is not + ! used. It can be one of the following schemes: + ! P1M_H2 (2nd-order accurate) + ! P1M_H4 (2nd-order accurate) + ! P1M_IH4 (2nd-order accurate) + ! PLM (2nd-order accurate) + ! PPM_H4 (3rd-order accurate) + ! PPM_IH4 (3rd-order accurate) + ! P3M_IH4IH3 (4th-order accurate) + ! P3M_IH6IH5 (4th-order accurate) + ! PQM_IH4IH3 (4th-order accurate) + ! PQM_IH6IH5 (5th-order accurate) +ALE_COORDINATE_CONFIG = "FILE:INPUT/vgrid_cm4.nc,dz" ! default = "UNIFORM" + ! Determines how to specify the coordinate + ! resolution. Valid options are: + ! PARAM - use the vector-parameter ALE_RESOLUTION + ! UNIFORM - 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,Z +!ALE_RESOLUTION = 4*2.0, 2*2.01, 2*2.02, 2.05, 2.07, 2.09, 2.13, 2.18, 2.24, 2.3, 2.4, 2.5, 2.62, 2.78, 2.95, 3.17, 3.42, 3.71, 4.07, 4.48, 4.97, 5.55, 6.23, 7.04, 7.99, 9.11, 10.43, 11.98, 13.8, 15.94, 18.42, 21.32, 24.66, 28.51, 32.91, 37.92, 43.56, 49.87, 56.88, 64.55, 72.91, 81.87, 91.4, 101.39, 111.73, 122.29, 132.93, 143.47, 153.78, 163.7, 173.07, 181.78, 189.76, 196.89, 203.17, 208.58, 213.14, 216.87, 219.87, 222.19, 223.94, 225.18, 226.04, 226.59, 226.9, 227.07, 227.14, 2*227.16, 227.17 ! [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 = 0.001 ! [m] default = 0.001 + ! When regridding, this is the minimum layer + ! thickness allowed. +BOUNDARY_EXTRAPOLATION = False ! [Boolean] default = False + ! When defined, a proper high-order reconstruction + ! scheme is used within boundary cells rather + ! than PCM. E.g., if PPM is used for remapping, a + ! PPM reconstruction will also be used within + ! boundary cells. +REMAPPING_SCHEME = "PLM" ! default = "PLM" + ! This sets the reconstruction scheme used + ! for vertical remapping for all variables. + ! It can be one of the following schemes: + ! PCM (1st-order accurate) + ! PLM (2nd-order accurate) + ! PPM_H4 (3rd-order accurate) + ! PPM_IH4 (3rd-order accurate) + ! PQM_IH4IH3 (4th-order accurate) + ! PQM_IH6IH5 (5th-order accurate) + +! === module MOM_MEKE === +MEKE_DAMPING = 0.0 ! [s-1] default = 0.0 + ! The local depth-indepented MEKE dissipation rate. +MEKE_CD_SCALE = 0.0 ! [nondim] default = 0.0 + ! A scaling for the bottom drag applied to MEKE. This + ! should be less than 1 to account for the surface + ! intensification of MEKE and the fraction of MEKE that + ! may be temporarily stored as potential energy. +MEKE_GMCOEFF = -1.0 ! [nondim] default = -1.0 + ! The efficiency of the conversion of potential energy + ! into MEKE by the thickness mixing parameterization. + ! If MEKE_GMCOEFF is negative, this conversion is not + ! used or calculated. +MEKE_FRCOEFF = -1.0 ! [nondim] default = -1.0 + ! The efficiency of the conversion of mean energy into + ! MEKE. If MEKE_FRCOEFF is negative, this conversion + ! is not used or calculated. +MEKE_BGSRC = 0.0 ! [W kg-1] default = 0.0 + ! A background energy source for MEKE. +MEKE_KH = -1.0 ! [m2 s-1] default = -1.0 + ! A background lateral diffusivity of MEKE, or a + ! Use a negative value to not apply lateral diffusion to MEKE. +MEKE_DTSCALE = 1.0 ! [nondim] default = 1.0 + ! A scaling factor to accelerate the time evolution of MEKE. +MEKE_KHCOEFF = -1.0 ! [nondim] default = -1.0 + ! A scaling factor which is combined with the square root + ! of MEKE times the grid-cell area to give MEKE%Kh, or a + ! negative value not to calculate MEKE%Kh. + ! This factor must be >0 for MEKE to contribute to the + ! thickness/tracer mixing in the rest of the model. +MEKE_USCALE = 1.0 ! [m s-1] default = 1.0 + ! The background velocity that is combined with MEKE to + ! calculate the bottom drag. +CDRAG = 0.003 ! [nondim] default = 0.003 + ! CDRAG is the drag coefficient relating the magnitude of + ! the velocity field to the bottom stress. +MEKE_VISC_DRAG = False ! [Boolean] default = False + ! If true, use the vertvisc_type to calculate the bottom + ! drag acting on MEKE. +MEKE_KHTH_FAC = 1.0 ! [nondim] default = 1.0 + ! A factor that maps MEKE%Kh to KhTh. +MEKE_KHTR_FAC = 1.0 ! [nondim] default = 1.0 + ! A factor that maps MEKE%Kh to KhTr. +MEKE_KHMEKE_FAC = 0.0 ! [nondim] default = 0.0 + ! A factor that maps MEKE%Kh to Kh for MEKE itself. +MEKE_RD_MAX_SCALE = True ! [nondim] default = True + ! If true, the maximum length scale used by MEKE is + ! the deformation radius. + +! === 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. +RESOLN_SCALED_KH = True ! [Boolean] default = False + ! If true, the Laplacian lateral viscosity is scaled away + ! when the first baroclinic deformation radius is well + ! resolved. +RESOLN_SCALED_KHTH = True ! [Boolean] default = False + ! If true, the interface depth diffusivity is scaled away + ! when the first baroclinic deformation radius is well + ! resolved. +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. +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.25 ! [nondim] default = 0.0 + ! The nondimensional coefficient in the Visbeck formula + ! for the epipycnal tracer diffusivity +VARMIX_KTOP = 2 ! [nondim] default = 2 + ! The layer number at which to start vertical integration + ! of S*N for purposes of finding the Eady growth rate. +VISBECK_L_SCALE = 0.0 ! [m] default = 0.0 + ! The fixed length scale in the Visbeck formula. + +! === module MOM_wave_speed === +KH_RES_SCALE_COEF = 1.0 ! [nondim] default = 1.0 + ! A coefficient that determines how Kh is scaled away if + ! RESOLN_SCALED_... is true, as + ! F = 1 / (1 + (KH_RES_SCALE_COEF*Rd/dx)^KH_RES_FN_POWER). +KH_RES_FN_POWER = 2 ! [nondim] default = 2 + ! The power of dx/Ld in the resolution function. Any + ! positive integer may be used, although even integers + ! are more efficient to calculate. Setting this greater + ! than 100 results in a step-function being used. +TIDES = False ! [Boolean] default = False + ! If true, apply tidal momentum forcing. +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 SPILT 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. +CONTINUITY_SCHEME = "PPM" ! default = "PPM" + ! CONTINUITY_SCHEME selects the discretization for the + ! continuity solver. The only valid value currently is: + ! PPM - use a positive-definite (or monotonic) + ! piecewise parabolic reconstruction solver. +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 propterties. 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 stensil is useful. +ETA_TOLERANCE = 1.0E-06 ! [m] default = 3.75E-09 + ! The tolerance for the differences between the + ! barotropic and baroclinic estimates of the sea surface + ! height due to the fluxes through each face. The total + ! tolerance for SSH is 4 times this value. The default + ! is 0.5*NK*ANGSTROM, and this should not be set less x + ! than about 10^-15*MAXIMUM_DEPTH. +ETA_TOLERANCE_AUX = 0.001 ! [m] default = 1.0E-06 + ! The tolerance for free-surface height discrepancies + ! between the barotropic solution and the sum of the + ! layer thicknesses when calculating the auxiliary + ! corrected velocities. By default, this is the same as + ! ETA_TOLERANCE, but can be made larger for efficiency. +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. +NOSLIP = False ! [Boolean] default = False + ! If true, no slip boundary conditions are used; otherwise + ! free slip boundary conditions are assumed. The + ! implementation of the free slip BCs on a C-grid is much + ! cleaner than the no slip BCs. The use of free slip BCs + ! is strongly encouraged, and no slip BCs are not used with + ! the biharmonic viscosity. +CORIOLIS_EN_DIS = False ! [Boolean] default = False + ! If true, two estimates of the thickness fluxes are used + ! to estimate the Coriolis term, and the one that + ! dissipates energy relative to the other one is used. +CORIOLIS_SCHEME = "SADOURNY75_ENSTRO" ! default = "SADOURNY75_ENERGY" + ! CORIOLIS_SCHEME selects the discretization for the + ! Coriolis terms. Valid values are: + ! SADOURNY75_ENERGY - Sadourny, 1975; energy cons. + ! ARAKAWA_HSU90 - Arakawa & Hsu, 1990 + ! SADOURNY75_ENSTRO - Sadourny, 1975; enstrophy cons. + ! ARAKAWA_LAMB81 - Arakawa & Lamb, 1981; En. + Enst. + ! ARAKAWA_LAMB_BLEND - A blend of Arakawa & Lamb with + ! Arakawa & Hsu and Sadourny energy +BOUND_CORIOLIS = True ! [Boolean] default = False + ! If true, the Coriolis terms at u-points are bounded by + ! the four estimates of (f+rv)v from the four neighboring + ! v-points, and similarly at v-points. This option would + ! have no effect on the SADOURNY Coriolis scheme if it + ! were possible to use centered difference thickness fluxes. +KE_SCHEME = "KE_ARAKAWA" ! default = "KE_ARAKAWA" + ! KE_SCHEME selects the discretization for acceleration + ! due to the kinetic energy gradient. Valid values are: + ! KE_ARAKAWA, KE_SIMPLE_GUDONOV, KE_GUDONOV +PV_ADV_SCHEME = "PV_ADV_CENTERED" ! default = "PV_ADV_CENTERED" + ! PV_ADV_SCHEME selects the discretization for PV + ! advection. Valid values are: + ! PV_ADV_CENTERED - centered (aka Sadourny, 75) + ! PV_ADV_UPWIND1 - upwind, first order +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). +MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False + ! If true, use mass weighting when interpolation T/S for + ! top/bottom integrals in AFV pressure gradient calculation. + +! === module MOM_hor_visc === +LAPLACIAN = True ! [Boolean] default = False + ! If true, use a Laplacian horizontal viscosity. +BIHARMONIC = True ! [Boolean] default = True + ! If true, se a biharmonic horizontal viscosity. + ! BIHARMONIC may be used with LAPLACIAN. +KH = 0.0 ! [m2 s-1] default = 0.0 + ! The background Laplacian horizontal viscosity. +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 viscosity and KH. +SMAGORINSKY_KH = True ! [Boolean] default = False + ! If true, use a Smagorinsky nonlinear eddy viscosity. +SMAG_LAP_CONST = 0.01 ! [nondim] default = 0.0 + ! The nondimensional Laplacian Smagorinsky constant, + ! often 0.15. +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. +AH = 0.0 ! [m4 s-1] default = 0.0 + ! The background biharmonic horizontal viscosity. +AH_VEL_SCALE = 0.025 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the cube of + ! the grid spacing to calculate the Laplacian viscosity. + ! The final viscosity is the largest of this scaled + ! viscosity, the Smagorinsky viscosity and AH. +SMAGORINSKY_AH = True ! [Boolean] default = False + ! If true, use a biharmonic Smagorinsky nonlinear eddy + ! viscosity. +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. +SMAG_BI_CONST = 0.06 ! [nondim] default = 0.0 + ! The nondimensional biharmonic Smagorinsky constant, + ! typically 0.015 - 0.06. +BOUND_CORIOLIS_BIHARM = True ! [Boolean] default = True + ! If true use a viscosity that increases with the square + ! of the velocity shears, so that the resulting viscous + ! drag is of comparable magnitude to the Coriolis terms + ! when the velocity differences between adjacent grid + ! points is 0.5*BOUND_CORIOLIS_VEL. The default is the + ! value of BOUND_CORIOLIS (or false). +BOUND_CORIOLIS_VEL = 6.0 ! [m s-1] default = 6.0 + ! The velocity scale at which BOUND_CORIOLIS_BIHARM causes + ! the biharmonic drag to have comparable magnitude to the + ! Coriolis acceleration. The default is set by MAXVEL. +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. + +! === module MOM_vert_friction === +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. +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. +DIRECT_STRESS = False ! [Boolean] default = False + ! If true, the wind stress is distributed over the + ! topmost HMIX_STRESS of fluid (like in HYCOM), and KVML + ! may be set to a very small value. +DYNAMIC_VISCOUS_ML = False ! [Boolean] default = False + ! If true, use a bulk Richardson number criterion to + ! determine the mixed layer thickness for viscosity. +U_TRUNC_FILE = "U_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations + ! leading to zonal velocity truncations are written. + ! Undefine this for efficiency if this diagnostic is not + ! needed. +V_TRUNC_FILE = "V_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations + ! leading to meridional velocity truncations are written. + ! Undefine this for efficiency if this diagnostic is not + ! needed. +HARMONIC_VISC = False ! [Boolean] default = False + ! If true, use the harmonic mean thicknesses for + ! calculating the vertical viscosity. +HMIX_FIXED = 0.5 ! [m] + ! The prescribed depth over which the near-surface + ! viscosity and diffusivity are elevated when the bulk + ! mixed layer is not used. +KV = 1.0E-04 ! [m2 s-1] + ! The background kinematic viscosity in the interior. + ! The molecular value, ~1e-6 m2 s-1, may be used. +KVML = 1.0E-04 ! [m2 s-1] default = 1.0E-04 + ! The kinematic viscosity in the mixed layer. A typical + ! value is ~1e-2 m2 s-1. KVML is not used if + ! BULKMIXEDLAYER is true. The default is set by KV. +HBBL = 10.0 ! [m] + ! The thickness of a bottom boundary layer with a + ! viscosity of KVBBL if BOTTOMDRAGLAW is not defined, or + ! the thickness over which near-bottom velocities are + ! averaged for the drag law if BOTTOMDRAGLAW is defined + ! but LINEAR_DRAG is not. +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 = 4.32E+04 ! [s] default = 0.0 + ! The time over which the CFL trunction value is ramped + ! up at the beginning of the run. +CFL_TRUNCATE_START = 0.2 ! [nondim] default = 0.0 + ! The start value of the truncation CFL number used when + ! ramping up CFL_TRUNC. + +! === module MOM_PointAccel === +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. + +! === module MOM_set_visc === +LINEAR_DRAG = False ! [Boolean] default = False + ! If LINEAR_DRAG and BOTTOMDRAGLAW are defined the drag + ! law is cdrag*DRAG_BG_VEL*u. +DOUBLE_DIFFUSION = False ! [Boolean] default = False + ! If true, increase diffusivitives for temperature or salt + ! based on double-diffusive paramaterization from MOM4/KPP. +PRANDTL_TURB = 1.0 ! [nondim] default = 0.0 + ! The turbulent Prandtl number applied to shear + ! instability. +DRAG_BG_VEL = 0.1 ! [m s-1] default = 0.0 + ! DRAG_BG_VEL is either the assumed bottom velocity (with + ! LINEAR_DRAG) or an unresolved velocity that is + ! combined with the resolved velocity to estimate the + ! velocity magnitude. DRAG_BG_VEL is only used when + ! BOTTOMDRAGLAW is defined. +BBL_USE_EOS = False ! [Boolean] default = False + ! If true, use the equation of state in determining the + ! properties of the bottom boundary layer. Otherwise use + ! the layer target potential densities. +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_BBL_MIN = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum viscosities in the bottom boundary layer. +KV_TBL_MIN = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum viscosities in the top boundary layer. +SMAG_CONST_CHANNEL = 0.15 ! [nondim] default = 0.01 + ! 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. + +! === 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 0.1*MAXVEL to be accommodated. +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_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 = 0 ! + ! The barotropic x-halo size that is actually used. +!BT y-halo = 0 ! + ! The barotropic y-halo size that is actually used. +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. +NONLINEAR_BT_CONTINUITY = False ! [Boolean] default = False + ! If true, use nonlinear transports in the barotropic + ! continuity equation. This does not apply if + ! USE_BT_CONT_TYPE is true. +BT_MASS_SOURCE_LIMIT = 0.0 ! [nondim] default = 0.0 + ! The fraction of the initial depth of the ocean that can + ! be added to or removed from the bartropic solution + ! within a thermodynamic time step. By default this is 0 + ! for no correction. +BT_PROJECT_VELOCITY = True ! [Boolean] default = False + ! If true, step the barotropic velocity first and project + ! out the velocity tendancy 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. +DYNAMIC_SURFACE_PRESSURE = False ! [Boolean] default = False + ! If true, add a dynamic pressure due to a viscous ice + ! shelf, for instance. +SADOURNY = True ! [Boolean] default = True + ! If true, the Coriolis terms are discretized with the + ! Sadourny (1975) energy conserving scheme, otherwise + ! the Arakawa & Hsu scheme is used. If the internal + ! deformation radius is not resolved, the Sadourny scheme + ! should probably be used. +BT_THICK_SCHEME = "FROM_BT_CONT" ! default = "HYBRID" + ! A string describing the scheme that is used to set the + ! open face areas used for barotropic transport and the + ! relative weights of the accelerations. Valid values are: + ! ARITHMETIC - arithmetic mean layer thicknesses + ! HARMONIC - harmonic mean layer thicknesses + ! HYBRID (the default) - use arithmetic means for + ! layers above the shallowest bottom, the harmonic + ! mean for layers below, and a weighted average for + ! layers that straddle that depth + ! FROM_BT_CONT - use the average thicknesses kept + ! in the h_u and h_v fields of the BT_cont_type +BT_STRONG_DRAG = False ! [Boolean] default = False + ! If true, use a stronger estimate of the retarding + ! effects of strong bottom drag, by making it implicit + ! with the barotropic time-step instead of implicit with + ! the baroclinic time-step and dividing by the number of + ! barotropic steps. +CLIP_BT_VELOCITY = False ! [Boolean] default = False + ! If true, limit any velocity components that exceed + ! MAXVEL. This should only be used as a desperate + ! debugging measure. +MAXCFL_BT_CONT = 0.1 ! [nondim] default = 0.1 + ! 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. +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. +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_thickness_diffuse === +KHTH = 0.0 ! [m2 s-1] default = 0.0 + ! The background horizontal thickness 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. +DETANGLE_INTERFACES = False ! [Boolean] default = False + ! If defined add 3-d structured enhanced interface height + ! diffusivities to horizonally 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. This is used with + ! FULL_THICKNESSDIFFUSE. +KD_SMOOTH = 1.0E-06 ! [not defined] default = 1.0E-06 + ! A diapycnal diffusivity that is used to interpolate + ! more sensible values of T & S into thin layers. +Z_OUTPUT_GRID_FILE = "" ! default = "" + ! The file that specifies the vertical grid for + ! depth-space diagnostics, or blank to disable + ! depth-space output. + +! === module MOM_diabatic_driver === +! The following parameters are used for diabatic processes. +INTERNAL_TIDES = False ! [Boolean] default = False + ! If true, use the code that advances as 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. +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. +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. +DEBUG_CONSERVATION = False ! [Boolean] default = False + ! If true, monitor conservation and extrema. +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. +KD_MIN_TR = 2.0E-06 ! [m2 s-1] default = 2.0E-06 + ! A minimal diffusivity that should always be applied to + ! tracers, especially in massless layers near the bottom. + ! The default is 0.1*KD. +KD_BBL_TR = 0.0 ! [m2 s-1] default = 0.0 + ! 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. +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. +FLUX_RI_MAX = 0.2 ! [not defined] 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). +ML_RADIATION = False ! [Boolean] default = False + ! If true, allow a fraction of TKE available from wind + ! work to penetrate below the base of the mixed layer + ! with a vertical decay scale determined by the minimum + ! of: (1) The depth of the mixed layer, (2) an Ekman + ! length scale. +BBL_EFFIC = 0.2 ! [nondim] default = 0.2 + ! The efficiency with which the energy extracted by + ! bottom drag drives BBL diffusion. This is only + ! used if BOTTOMDRAGLAW is true. +BBL_MIXING_MAX_DECAY = 0.0 ! [m] default = 0.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 is 0. + ! 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, + ! diffusiviy from the BBL_mixing is simply added. +BRYAN_LEWIS_DIFFUSIVITY = False ! [Boolean] default = False + ! If true, use a Bryan & Lewis (JGR 1979) like tanh + ! profile of background diapycnal diffusivity with depth. +HENYEY_IGW_BACKGROUND = True ! [Boolean] default = False + ! If true, use a latitude-dependent scaling for the near + ! surface background diffusivity, as described in + ! Harrison & Hallberg, JPO 2008. +HENYEY_N0_2OMEGA = 20.0 ! [nondim] default = 20.0 + ! The ratio of the typical Buoyancy frequency to twice + ! the Earth's rotation period, used with the Henyey + ! scaling from the mixing. +N2_FLOOR_IOMEGA2 = 0.0 ! [nondim] default = 1.0 + ! The floor applied to N2(k) scaled by Omega^2: + ! If =0., N2(k) is simply positive definite. + ! If =1., N2(k) > Omega^2 everywhere. +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 = 2.0E-05 ! [m2 s-1] + ! The background diapycnal diffusivity of density in the + ! interior. Zero or the molecular value, ~1e-7 m2 s-1, + ! may be used. +KD_MIN = 2.0E-06 ! [m2 s-1] default = 2.0E-07 + ! The minimum diapycnal diffusivity. +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. +KDML = 1.0E-04 ! [m2 s-1] default = 2.0E-05 + ! If BULKMIXEDLAYER is false, KDML is the elevated + ! diapycnal diffusivity in the topmost HMIX of fluid. + ! KDML is only used if BULKMIXEDLAYER is false. +INT_TIDE_DISSIPATION = True ! [Boolean] default = False + ! If true, use an internal tidal dissipation scheme to + ! drive diapycnal mixing, along the lines of St. Laurent + ! et al. (2002) and Simmons et al. (2004). +INT_TIDE_PROFILE = "STLAURENT_02" ! default = "STLAURENT_02" + ! INT_TIDE_PROFILE selects the vertical profile of energy + ! dissipation with INT_TIDE_DISSIPATION. Valid values are: + ! STLAURENT_02 - Use the St. Laurent et al exponential + ! decay profile. + ! POLZIN_09 - Use the Polzin WKB-streched algebraic + ! decay profile. +LEE_WAVE_DISSIPATION = False ! [Boolean] default = False + ! If true, use an lee wave driven dissipation scheme to + ! drive diapycnal mixing, along the lines of Nikurashin + ! (2010) and using the St. Laurent et al. (2002) + ! and Simmons et al. (2004) vertical profile +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. +INT_TIDE_DECAY_SCALE = 300.3003003003003 ! [m] default = 0.0 + ! The decay scale away from the bottom for tidal TKE with + ! the new coding when INT_TIDE_DISSIPATION is used. +MU_ITIDES = 0.2 ! [nondim] default = 0.2 + ! A dimensionless turbulent mixing efficiency used with + ! INT_TIDE_DISSIPATION, often 0.2. +GAMMA_ITIDES = 0.3333 ! [nondim] default = 0.3333 + ! The fraction of the internal tidal energy that is + ! dissipated locally with INT_TIDE_DISSIPATION. + ! THIS NAME COULD BE BETTER. +MIN_ZBOT_ITIDES = 0.0 ! [m] default = 0.0 + ! Turn off internal tidal dissipation when the total + ! ocean depth is less than this value. +KAPPA_ITIDES = 6.28319E-04 ! [m-1] default = 6.283185307179586E-04 + ! A topographic wavenumber used with INT_TIDE_DISSIPATION. + ! The default is 2pi/10 km, as in St.Laurent et al. 2002. +UTIDE = 0.0 ! [m s-1] default = 0.0 + ! The constant tidal amplitude used with INT_TIDE_DISSIPATION. +KAPPA_H2_FACTOR = 0.84 ! [nondim] default = 1.0 + ! A scaling factor for the roughness amplitude with nINT_TIDE_DISSIPATION. +TKE_ITIDE_MAX = 0.1 ! [W m-2] default = 1000.0 + ! The maximum internal tide energy source availble to mix + ! above the bottom boundary layer with INT_TIDE_DISSIPATION. +READ_TIDEAMP = True ! [Boolean] default = False + ! If true, read a file (given by TIDEAMP_FILE) containing + ! the tidal amplitude with INT_TIDE_DISSIPATION. +TIDEAMP_FILE = "tidal_amplitude.v20140328.nc" ! default = "tideamp.nc" + ! The path to the file containing the spatially varying + ! tidal amplitudes with INT_TIDE_DISSIPATION. +H2_FILE = "ocean_topog.nc" ! + ! The path to the file containing the sub-grid-scale + ! topographic roughness amplitude with INT_TIDE_DISSIPATION. + +! === 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. +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 = 2.0E-05 ! [m2 s-1] default = 2.0E-05 + ! The background diffusivity that is used to smooth the + ! density and shear profiles before solving for the + ! diffusivities. Defaults to value of KD. +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 ! [nondim] default = 13 + ! The maximum number of iterations that may be used to + ! estimate the time-averaged diffusivity. +DEBUG_KAPPA_SHEAR = False ! [Boolean] default = False + ! If true, write debugging data for the kappa-shear code. + ! Caution: this option is _very_ verbose and should only + ! be used in single-column mode! + +! === module MOM_KPP === +! This is the MOM wrapper to CVmix:KPP +! See http://code.google.com/p/cvmix/ +USE_KPP = True ! [Boolean] default = False + ! If true, turns on the [CVmix] KPP scheme of Large et al., 1984, + ! to calculate diffusivities and non-local transport in the OBL. +KPP% +PASSIVE = False ! [Boolean] default = False + ! If True, puts KPP into a passive-diagnostic mode. +APPLY_NONLOCAL_TRANSPORT = True ! [Boolean] default = True + ! If True, applies the non-local transport to heat and scalars. + ! If False, calculates the non-local transport and tendencies but + ! purely for diagnostic purposes. +RI_CRIT = 0.3 ! [nondim] default = 0.3 + ! Critical bulk Richardson number used to define depth of the + ! Oceab Boundary Layer (OBL). +VON_KARMAN = 0.4 ! [nondim] default = 0.4 + ! von Karman constant. +INTERP_TYPE = "quadratic" ! default = "quadratic" + ! Type of interpolation to use to determine the OBL depth. + ! Allowed types are: linear, quadratic, cubic. +COMPUTE_EKMAN = False ! [Boolean] default = False + ! If True, limit the OBL depth to be shallower than the Ekman depth. +COMPUTE_MONIN_OBUKHOV = False ! [Boolean] default = False + ! If True, limit the OBL depth to be shallower than the + ! Monin-Obukhov depth. +CS = 98.96 ! [nondim] default = 98.96 + ! Parameter for computing velocity scale function. +DEEP_OBL_OFFSET = 0.0 ! [m] default = 0.0 + ! If non-zero, the distance above the bottom to which the OBL is clipped + ! if it would otherwise reach the bottom. The smaller of this and 0.1D is used. +CORRECT_SURFACE_LAYER_AVERAGE = False ! [Boolean] default = False + ! If true, applies a correction step to the averaging of surface layer + ! properties. +FIRST_GUESS_SURFACE_LAYER_DEPTH = 0.0 ! [m] default = 0.0 + ! The first guess at the depth of the surface layer used for averaging + ! the surface layer properties. If =0, the top model level properties + ! will be used for the surface layer. If CORRECT_SURFACE_LAYER_AVERAGE=True, a + ! subsequent correction is applied. +NLT_SHAPE = "PARABOLIC" ! default = "CVMIX" + ! The shape of the nonlocal transport (or redistribution of surface + ! forcina. Allowed values are: + ! CVMIX - Uses the profile from CVmix + ! LINEAR - A linear profile, 1-sigma + ! PARABOLIC - A paroblic profile, (1-sigma)^2 + ! CUBIC - A cubic profile, (1-sigma)^2(1+2*sigma) + ! CUBIC_LMD - The original KPP profile +KPP_ZERO_DIFFUSIVITY = False ! [Boolean] default = False + ! If true, sets both the diffusivity and viscosity from KPP to zero; for testing. +KPP_IS_ADDITIVE = True ! [Boolean] default = False + ! If true, adds KPP diffusivity to the existing diffusivity. If false, replaces exisiting diffusivity with KPP diffusivity wherever the latter is non-zero. +%KPP +KPP_BEFORE_KAPPA_SHEAR = True ! [Boolean] default = True + ! If true, KPP matches interior diffusivity that EXCLUDES any + ! diffusivity from kappa-shear. + +! === module MOM_diffConvection === +! This module implements enhanced diffusivity as a +! function of static stability, N^2. +USE_CONVECTION = False ! [Boolean] default = False + ! If true, turns on the diffusive convection scheme that + ! increases diapycnal diffusivities at statically unstable + ! interfaces. Relevant parameters are contained in the + ! CONVECTION% parameter block. +CONVECTION% +PASSIVE = False ! [Boolean] default = False + ! If True, puts KPP into a passive-diagnostic mode. +KD_CONV = 1.0 ! [m2/s] default = 1.0 + ! DIffusivity used in statically unstable regions of column. +%CONVECTION + +! === module MOM_entrain_diffusive === +CORRECT_DENSITY = True ! [Boolean] default = True + ! If true, and USE_EOS is true, the layer densities are + ! restored toward their target values by the diapycnal + ! mixing, as described in Hallberg (MWR, 2000). +MAX_ENT_IT = 5 ! default = 5 + ! The maximum number of iterations that may be used to + ! calculate the interior diapycnal entrainment. +TOLERANCE_ENT = 1.549193338482967E-05 ! [m] default = 1.549193338482967E-05 + ! The tolerance with which to solve for entrainment values. + +! === 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. +HMIX_MIN = 0.0 ! [m] default = 0.0 + ! The minimum mixed layer depth if the mixed layer depth + ! is determined dynamically. +REG_SFC_DEFICIT_TOLERANCE = 0.5 ! [nondim] default = 0.5 + ! The value of the relative thickness deficit at which + ! to start modifying the layer structure when + ! REGULARIZE_SURFACE_LAYERS is true. + +! === module MOM_opacity === +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. +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. +CHL_FROM_FILE = True ! [Boolean] default = True + ! If true, chl_a is read from a file. +CHL_FILE = "seawifs_1998-2006_smoothed_2x_v2.nc" ! + ! CHL_FILE is the file containing chl_a concentrations in + ! the variable CHL_A. It is used when VAR_PEN_SW and + ! CHL_FROM_FILE are true. +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. +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) + +! === module MOM_tracer_hor_diff === +KHTR = 0.0 ! [m2 s-1] default = 0.0 + ! The background along-isopycnal 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 passiviity is the ratio + ! between along isopycnal mxiing 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 mxiing 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 1 iteration. + +! === module ocean_model_init === +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. +TIMEUNIT = 8.64E+04 ! [s] default = 8.64E+04 + ! The time unit for ENERGYSAVEDAYS. +ENERGYSAVEDAYS = 0.25 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between saves of the + ! energies of the run and other globally summed diagnostics. +OCEAN_SURFACE_STAGGER = "B" ! default = "B" + ! 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'. +RESTORE_SALINITY = True ! [Boolean] default = False + ! If true, the coupled driver will add a globally-balanced + ! fresh-water flux that drives sea-surface salinity + ! toward specified values. + +! === module MOM_surface_forcing === +MAX_P_SURF = 3.0E+04 ! [Pa] default = -1.0 + ! The maximum surface pressure that can be exerted by the + ! atmosphere and floating sea-ice or ice shelves. This is + ! needed because the FMS coupling structure does not + ! limit the water that can be frozen out of the ocean and + ! the ice-ocean heat fluxes are treated explicitly. No + ! limit is applied if a negative value is used. +ADJUST_NET_FRESH_WATER_TO_ZERO = True ! [Boolean] default = False + ! If true, adjusts the net fresh-water forcing seen + ! by the ocean (including restoring) to zero. +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 the sea surface height with the + ! correction for the atmospheric (and sea-ice) pressure + ! limited by max_p_surf instead of the full atmospheric + ! pressure. +WIND_STAGGER = "B" ! default = "C" + ! A case-insensitive character string to indicate the + ! staggering of the input wind stress field. Valid + ! values are 'A', 'B', or 'C'. +FLUXCONST = 0.1667 ! [m day-1] + ! The constant that relates the restoring surface fluxes + ! to the relative surface anomalies (akin to a piston + ! velocity). Note the non-MKS units. +SALT_RESTORE_FILE = "salt_restore_v3.nc" ! default = "salt_restore.nc" + ! A file in which to find the surface salinity to use for restoring. +SALT_RESTORE_VARIABLE = "salt" ! default = "salt" + ! The name of the surface salinity variable to read from SALT_RESTORE_FILE for restoring salinity. +SRESTORE_AS_SFLUX = True ! [Boolean] default = False + ! If true, the restoring of salinity is applied as a salt + ! flux instead of as a freshwater flux. +MAX_DELTA_SRESTORE = 5.0 ! [PSU or g kg-1] default = 999.0 + ! The maximum salinity difference used in restoring terms. +MASK_SRESTORE_UNDER_ICE = False ! [Boolean] default = False + ! If true, use an ice mask defined by frazil criteria to + ! determine where to apply salinity restoring. +MASK_SRESTORE_MARGINAL_SEAS = False ! [Boolean] default = False + ! If true, mask sss restoring in marginal seas. +BASIN_FILE = "basin.nc" ! default = "basin.nc" + ! A file in which to find the basin masks, in variable 'basin'. +CD_TIDES = 0.0018 ! [nondim] default = 1.0E-04 + ! The drag coefficient that applies to the tides. +READ_GUST_2D = False ! [Boolean] default = False + ! If true, use a 2-dimensional gustiness supplied from + ! an input file +GUST_CONST = 0.02 ! [Pa] default = 0.02 + ! The background gustiness in the winds. +USE_RIGID_SEA_ICE = False ! [Boolean] default = False + ! If true, sea-ice is rigid enough to exert a + ! nonhydrostatic pressure that resist vertical motion. + +! === module MOM_sum_output === +CALCULATE_APE = True ! [Boolean] default = True + ! If true, calculate the available potential energy of + ! the interfaces. Setting this to false reduces the + ! memory footprint of high-PE-count models dramatically. +WRITE_STOCKS = True ! [Boolean] default = True + ! If true, write the integrated tracer amounts to stdout + ! when the energy files are written. +MAXTRUNC = 100000 ! [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 = "timestats" ! default = "timestats" + ! The file to use to write the energies and globally + ! summed diagnostics. +READ_DEPTH_LIST = False ! [Boolean] default = False + ! Read the depth list from a file if it exists or + ! create that file otherwise. +DEPTH_LIST_MIN_INC = 1.0E-10 ! [m] default = 1.0E-10 + ! The minimum increment between the depths of the + ! entries in the depth-list file. +SEND_LOG_TO_STDOUT = False ! [Boolean] default = False + ! If true, all log messages are also sent to stdout. +REPORT_UNUSED_PARAMS = False ! [Boolean] default = False + ! 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. +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/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_parameter_doc.short b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_parameter_doc.short new file mode 100644 index 0000000000..8e31fc8cf6 --- /dev/null +++ b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/MOM_parameter_doc.short @@ -0,0 +1,630 @@ +TRIPOLAR_N = True ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the + ! domain. With TRIPOLAR_N, NIGLOBAL must be even. +!SYMMETRIC_MEMORY_ = False ! [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. +!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. +NIHALO = 4 ! default = 2 + ! The number of halo points on each side in the + ! x-direction. With STATIC_MEMORY_ this is set as NIHALO_ + ! in MOM_memory.h at compile time; without STATIC_MEMORY_ + ! the default is NIHALO_ in MOM_memory.h (if defined) or 2. +NJHALO = 4 ! default = 2 + ! The number of halo points on each side in the + ! y-direction. With STATIC_MEMORY_ this is set as NJHALO_ + ! in MOM_memory.h at compile time; without STATIC_MEMORY_ + ! the default is NJHALO_ in MOM_memory.h (if defined) or 2. +NIGLOBAL = 1440 ! + ! 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 = 1080 ! + ! 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. +MASKTABLE = "mask_table.34.16x18" ! 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 = 16 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +!NJPROC = 18 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +!LAYOUT = 16, 18 ! + ! The processor layout that was acutally used. +IO_LAYOUT = 1, 1 ! default = 0 + ! 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 vertical grid. +NK = 75 ! [nondim] + ! The number of model layers. + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. + +! === 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. +BULKMIXEDLAYER = False ! [Boolean] default = True + ! 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. + ! The default is the same setting as ENABLE_THERMODYNAMICS. +USE_REGRIDDING = True ! [Boolean] default = False + ! If True, use the ALE algorithm (regridding/remapping). + ! If False, use the layered isopycnal algorithm. +DT = 1200.0 ! [s] + ! The (baroclinic) dynamics time step. The time-step that + ! is actually used will be an integer fraction of the + ! forcing time-step (DT_FORCING in ocean-only mode or the + ! coupling timestep in coupled mode.) +DT_THERM = 3600.0 ! [s] default = 1200.0 + ! The thermodynamic and tracer advection time step. + ! Ideally DT_THERM should be an integer multiple of DT + ! and less than the forcing or coupling time-step. + ! By default DT_THERM is set to DT. +MIN_Z_DIAG_INTERVAL = 2.16E+04 ! [s] default = 0.0 + ! The minimum amount of time in seconds between + ! calculations of depth-space diagnostics. Making this + ! larger than DT_THERM reduces the performance penalty + ! of regridding to depth online. +DTBT_RESET_PERIOD = -1.0 ! [s] default = 3600.0 + ! The period between recalculations of DTBT (if DTBT <= 0). + ! If DTBT_RESET_PERIOD is negative, DTBT is set based + ! only on information available at initialization. If + ! dynamic, DTBT will be set at least every forcing time + ! step, and if 0, 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 + ! the accumulated heat deficit is returned in the + ! surface state. FRAZIL is only used if + ! ENABLE_THERMODYNAMICS is true. +BOUND_SALINITY = True ! [Boolean] default = False + ! If true, limit salinity to being positive. (The sea-ice + ! model may ask for more salt than is available and + ! drive the salinity negative otherwise.) +C_P = 3925.0 ! [J kg-1 K-1] default = 3991.86795711963 + ! The heat capacity of sea water, approximated as a + ! constant. This is only used if ENABLE_THERMODYNAMICS is + ! true. The default value is from the TEOS-10 definition + ! of conservative temperature. +CHECK_BAD_SURFACE_VALS = True ! [Boolean] default = False + ! If true, check the surface state for ridiculous values. +BAD_VAL_SSH_MAX = 50.0 ! [m] default = 20.0 + ! The value of SSH above which a bad value message is + ! triggered, if CHECK_BAD_SURFACE_VALS is true. +BAD_VAL_SSS_MAX = 65.0 ! [PSU] default = 45.0 + ! The value of SSS above which a bad value message is + ! triggered, if CHECK_BAD_SURFACE_VALS is true. +BAD_VAL_SST_MAX = 55.0 ! [deg C] default = 45.0 + ! The value of SST above which a bad value message is + ! triggered, if CHECK_BAD_SURFACE_VALS is true. +BAD_VAL_SST_MIN = -3.0 ! [deg C] default = -2.1 + ! The value of SST below which a bad value message is + ! triggered, if CHECK_BAD_SURFACE_VALS is true. + +! === module MOM_tracer_registry === +DTFREEZE_DP = -7.75E-08 ! [deg C Pa-1] default = 0.0 + ! When TFREEZE_FORM=LINEAR, + ! this is the derivative of the freezing potential + ! temperature with pressure. + +! === module MOM_tracer_flow_control === +USE_IDEAL_AGE_TRACER = True ! [Boolean] default = False + ! If true, use the ideal_age_example tracer package. + +! === module ideal_age_example === +INPUTDIR = "INPUT" ! default = "." + ! The directory in which input files are found. +COORD_CONFIG = "file" ! + ! This specifies how layers are to be defined: + ! file - read coordinate information from the file + ! specified by (COORD_FILE). + ! linear - linear based on interfaces not layesrs. + ! ts_ref - use reference temperature and salinity + ! ts_range - use range of temperature and salinity + ! (T_REF and S_REF) to determine surface density + ! and GINT calculate internal densities. + ! gprime - use reference density (RHO_0) for surface + ! density and GINT calculate internal densities. + ! ts_profile - use temperature and salinity profiles + ! (read from COORD_FILE) to set layer densities. + ! USER - call a user modified routine. +COORD_FILE = "layer_coord.nc" ! + ! The file from which the coordinate densities are read. + +! === 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. + ! benchmark - use the benchmark test case topography. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! DOME2D - use a shelf and slope configuration for the + ! DOME2D gravity current/overflow test case. + ! seamount - Gaussian bump for spontaneous motion test case. + ! USER - call a user modified routine. +TOPO_FILE = "ocean_topog.nc" ! default = "topog.nc" + ! The file from which the bathymetry is read. +MAXIMUM_DEPTH = 6500.0 ! [m] + ! The maximum depth of the ocean. +MINIMUM_DEPTH = 9.5 ! [m] default = 0.0 + ! If MASKING_DEPTH is unspecified, then anything shallower than + ! MINIMUM_DEPTH is assumed to be land and all fluxes are masked out. + ! If MASKING_DEPTH is specified, then all depths shallower than + ! MINIMUM_DEPTH but depper than MASKING_DEPTH are rounded to MINIMUM_DEPTH. +MASKING_DEPTH = 0.0 ! [m] default = -9999.0 + ! The depth below which to mask points as land points, for which all + ! fluxes are zeroed out. MASKING_DEPTH is ignored if negative. +CHANNEL_CONFIG = "list" ! default = "none" + ! A parameter that determines which set of channels are + ! restricted to specific widths. Options are: + ! none - All channels have the grid width. + ! global_1deg - Sets 16 specific channels appropriate + ! for a 1-degree model, as used in CM2G. + ! list - Read the channel locations and widths from a + ! text file, like MOM_channel_list in the MOM_SIS + ! test case. + ! file - Read open face widths everywhere from a + ! NetCDF file on the model grid. +CHANNEL_LIST_FILE = "MOM_channels_global_025" ! default = "MOM_channel_list" + ! The file from which the list of narrowed channels is read. +ALWAYS_WRITE_GEOM = False ! [Boolean] default = True + ! If true, write the geometry and vertical grid files + ! every time the model is run. Otherwise, only write + ! them for new runs. +THICKNESS_CONFIG = "file" ! + ! A string that determines how the initial layer + ! thicknesses are specified for a new run: + ! file - read interface heights from the file specified + ! thickness_file - read thicknesses from the file specified + ! by (THICKNESS_FILE). + ! uniform - uniform thickness layers evenly distributed + ! between the surface and MAXIMUM_DEPTH. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! benchmark - use the benchmark test case thicknesses. + ! search - search a density profile for the interface + ! densities. This is not yet implemented. + ! circle_obcs - the circle_obcs test case is used. + ! DOME2D - 2D version of DOME initialization. + ! adjustment2d - TBD AJA. + ! sloshing - TBD AJA. + ! seamount - TBD AJA. + ! USER - call a user modified routine. +THICKNESS_FILE = "MOM_IC_4.nc" ! + ! The name of the thickness file. +TS_CONFIG = "file" ! + ! A string that determines how the initial tempertures + ! and salinities are specified for a new run: + ! file - read velocities from the file specified + ! by (TS_FILE). + ! fit - find the temperatures that are consistent with + ! the layer densities and salinity S_REF. + ! TS_profile - use temperature and salinity profiles + ! (read from TS_FILE) to set layer densities. + ! benchmark - use the benchmark test case T & S. + ! linear - linear in logical layer space. + ! DOME2D - 2D DOME initialization. + ! adjustment2d - TBD AJA. + ! sloshing - TBD AJA. + ! seamount - TBD AJA. + ! USER - call a user modified routine. +TS_FILE = "MOM_IC.nc" ! + ! The initial condition file for temperature. +TEMP_IC_VAR = "Temp" ! default = "PTEMP" + ! The initial condition variable for potential temperature. +SALT_IC_VAR = "Salt" ! default = "SALT" + ! The initial condition variable for salinity. +REGRIDDING_COORDINATE_MODE = "Z*" ! default = "LAYER" + ! Coordinate mode for vertical regridding. + ! Choose among the following possibilities: + ! LAYER - Isopycnal or stacked shallow water layers + ! Z* - stetched geopotential z* + ! SIGMA - terrain following coordinates + ! RHO - continuous isopycnal +ALE_COORDINATE_CONFIG = "FILE:INPUT/vgrid_cm4.nc,dz" ! default = "UNIFORM" + ! Determines how to specify the coordinate + ! resolution. Valid options are: + ! PARAM - use the vector-parameter ALE_RESOLUTION + ! UNIFORM - 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,Z +!ALE_RESOLUTION = 4*2.0, 2*2.01, 2*2.02, 2.05, 2.07, 2.09, 2.13, 2.18, 2.24, 2.3, 2.4, 2.5, 2.62, 2.78, 2.95, 3.17, 3.42, 3.71, 4.07, 4.48, 4.97, 5.55, 6.23, 7.04, 7.99, 9.11, 10.43, 11.98, 13.8, 15.94, 18.42, 21.32, 24.66, 28.51, 32.91, 37.92, 43.56, 49.87, 56.88, 64.55, 72.91, 81.87, 91.4, 101.39, 111.73, 122.29, 132.93, 143.47, 153.78, 163.7, 173.07, 181.78, 189.76, 196.89, 203.17, 208.58, 213.14, 216.87, 219.87, 222.19, 223.94, 225.18, 226.04, 226.59, 226.9, 227.07, 227.14, 2*227.16, 227.17 ! [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. + +! === module MOM_MEKE === + +! === module MOM_lateral_mixing_coeffs === +USE_VARIABLE_MIXING = True ! [Boolean] default = False + ! If true, the variable mixing code will be called. This + ! allows diagnostics to be created even if the scheme is + ! not used. If KHTR_SLOPE_CFF>0 or KhTh_Slope_Cff>0, + ! this is set to true regardless of what is in the + ! parameter file. +RESOLN_SCALED_KH = True ! [Boolean] default = False + ! If true, the Laplacian lateral viscosity is scaled away + ! when the first baroclinic deformation radius is well + ! resolved. +RESOLN_SCALED_KHTH = True ! [Boolean] default = False + ! If true, the interface depth diffusivity is scaled away + ! when the first baroclinic deformation radius is well + ! resolved. +KHTR_SLOPE_CFF = 0.25 ! [nondim] default = 0.0 + ! The nondimensional coefficient in the Visbeck formula + ! for the epipycnal tracer diffusivity + +! === module MOM_wave_speed === +ETA_TOLERANCE = 1.0E-06 ! [m] default = 3.75E-09 + ! The tolerance for the differences between the + ! barotropic and baroclinic estimates of the sea surface + ! height due to the fluxes through each face. The total + ! tolerance for SSH is 4 times this value. The default + ! is 0.5*NK*ANGSTROM, and this should not be set less x + ! than about 10^-15*MAXIMUM_DEPTH. +ETA_TOLERANCE_AUX = 0.001 ! [m] default = 1.0E-06 + ! The tolerance for free-surface height discrepancies + ! between the barotropic solution and the sum of the + ! layer thicknesses when calculating the auxiliary + ! corrected velocities. By default, this is the same as + ! ETA_TOLERANCE, but can be made larger for efficiency. +CORIOLIS_SCHEME = "SADOURNY75_ENSTRO" ! default = "SADOURNY75_ENERGY" + ! CORIOLIS_SCHEME selects the discretization for the + ! Coriolis terms. Valid values are: + ! SADOURNY75_ENERGY - Sadourny, 1975; energy cons. + ! ARAKAWA_HSU90 - Arakawa & Hsu, 1990 + ! SADOURNY75_ENSTRO - Sadourny, 1975; enstrophy cons. + ! ARAKAWA_LAMB81 - Arakawa & Lamb, 1981; En. + Enst. + ! ARAKAWA_LAMB_BLEND - A blend of Arakawa & Lamb with + ! Arakawa & Hsu and Sadourny energy +BOUND_CORIOLIS = True ! [Boolean] default = False + ! If true, the Coriolis terms at u-points are bounded by + ! the four estimates of (f+rv)v from the four neighboring + ! v-points, and similarly at v-points. This option would + ! have no effect on the SADOURNY Coriolis scheme if it + ! were possible to use centered difference thickness fluxes. +MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False + ! If true, use mass weighting when interpolation T/S for + ! top/bottom integrals in AFV pressure gradient calculation. + +! === 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.01 ! [nondim] default = 0.0 + ! The nondimensional Laplacian Smagorinsky constant, + ! often 0.15. +AH_VEL_SCALE = 0.025 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the cube of + ! the grid spacing to calculate the Laplacian viscosity. + ! The final viscosity is the largest of this scaled + ! viscosity, the Smagorinsky viscosity and AH. +SMAGORINSKY_AH = True ! [Boolean] default = False + ! If true, use a biharmonic Smagorinsky nonlinear eddy + ! viscosity. +SMAG_BI_CONST = 0.06 ! [nondim] default = 0.0 + ! The nondimensional biharmonic Smagorinsky constant, + ! typically 0.015 - 0.06. + +! === module MOM_vert_friction === +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. +U_TRUNC_FILE = "U_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations + ! leading to zonal velocity truncations are written. + ! Undefine this for efficiency if this diagnostic is not + ! needed. +V_TRUNC_FILE = "V_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations + ! leading to meridional velocity truncations are written. + ! Undefine this for efficiency if this diagnostic is not + ! needed. +HMIX_FIXED = 0.5 ! [m] + ! The prescribed depth over which the near-surface + ! viscosity and diffusivity are elevated when the bulk + ! mixed layer is not used. +KV = 1.0E-04 ! [m2 s-1] + ! The background kinematic viscosity in the interior. + ! The molecular value, ~1e-6 m2 s-1, may be used. +HBBL = 10.0 ! [m] + ! The thickness of a bottom boundary layer with a + ! viscosity of KVBBL if BOTTOMDRAGLAW is not defined, or + ! the thickness over which near-bottom velocities are + ! averaged for the drag law if BOTTOMDRAGLAW is defined + ! but LINEAR_DRAG is not. +MAXVEL = 6.0 ! [m s-1] default = 3.0E+08 + ! The maximum velocity allowed before the velocity + ! components are truncated. +CFL_TRUNCATE_RAMP_TIME = 4.32E+04 ! [s] default = 0.0 + ! The time over which the CFL trunction value is ramped + ! up at the beginning of the run. +CFL_TRUNCATE_START = 0.2 ! [nondim] default = 0.0 + ! The start value of the truncation CFL number used when + ! ramping up CFL_TRUNC. + +! === module MOM_PointAccel === + +! === module MOM_set_visc === +PRANDTL_TURB = 1.0 ! [nondim] default = 0.0 + ! The turbulent Prandtl number applied to shear + ! instability. +DRAG_BG_VEL = 0.1 ! [m s-1] default = 0.0 + ! DRAG_BG_VEL is either the assumed bottom velocity (with + ! LINEAR_DRAG) or an unresolved velocity that is + ! combined with the resolved velocity to estimate the + ! velocity magnitude. DRAG_BG_VEL is only used when + ! BOTTOMDRAGLAW is defined. +BBL_THICK_MIN = 0.1 ! [m] default = 0.0 + ! The minimum bottom boundary layer thickness that can be + ! used with BOTTOMDRAGLAW. This might be + ! Kv / (cdrag * drag_bg_vel) to give Kv as the minimum + ! near-bottom viscosity. +SMAG_CONST_CHANNEL = 0.15 ! [nondim] default = 0.01 + ! 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. + +! === 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 0.1*MAXVEL to be accommodated. +!BT x-halo = 0 ! + ! The barotropic x-halo size that is actually used. +!BT y-halo = 0 ! + ! The barotropic y-halo size that is actually used. +BT_PROJECT_VELOCITY = True ! [Boolean] default = False + ! If true, step the barotropic velocity first and project + ! out the velocity tendancy 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_THICK_SCHEME = "FROM_BT_CONT" ! default = "HYBRID" + ! 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 +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_thickness_diffuse === + +! === module MOM_diabatic_driver === +! The following parameters are used for 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. +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, + ! diffusiviy from the BBL_mixing is simply added. +HENYEY_IGW_BACKGROUND = True ! [Boolean] default = False + ! If true, use a latitude-dependent scaling for the near + ! surface background diffusivity, as described in + ! Harrison & Hallberg, JPO 2008. +N2_FLOOR_IOMEGA2 = 0.0 ! [nondim] default = 1.0 + ! The floor applied to N2(k) scaled by Omega^2: + ! If =0., N2(k) is simply positive definite. + ! If =1., N2(k) > Omega^2 everywhere. +KD = 2.0E-05 ! [m2 s-1] + ! The background diapycnal diffusivity of density in the + ! interior. Zero or the molecular value, ~1e-7 m2 s-1, + ! may be used. +KD_MIN = 2.0E-06 ! [m2 s-1] default = 2.0E-07 + ! The minimum diapycnal diffusivity. +KDML = 1.0E-04 ! [m2 s-1] default = 2.0E-05 + ! If BULKMIXEDLAYER is false, KDML is the elevated + ! diapycnal diffusivity in the topmost HMIX of fluid. + ! KDML is only used if BULKMIXEDLAYER is false. +INT_TIDE_DISSIPATION = True ! [Boolean] default = False + ! If true, use an internal tidal dissipation scheme to + ! drive diapycnal mixing, along the lines of St. Laurent + ! et al. (2002) and Simmons et al. (2004). +INT_TIDE_DECAY_SCALE = 300.3003003003003 ! [m] default = 0.0 + ! The decay scale away from the bottom for tidal TKE with + ! the new coding when INT_TIDE_DISSIPATION is used. +KAPPA_ITIDES = 6.28319E-04 ! [m-1] default = 6.283185307179586E-04 + ! A topographic wavenumber used with INT_TIDE_DISSIPATION. + ! The default is 2pi/10 km, as in St.Laurent et al. 2002. +KAPPA_H2_FACTOR = 0.84 ! [nondim] default = 1.0 + ! A scaling factor for the roughness amplitude with nINT_TIDE_DISSIPATION. +TKE_ITIDE_MAX = 0.1 ! [W m-2] default = 1000.0 + ! The maximum internal tide energy source availble to mix + ! above the bottom boundary layer with INT_TIDE_DISSIPATION. +READ_TIDEAMP = True ! [Boolean] default = False + ! If true, read a file (given by TIDEAMP_FILE) containing + ! the tidal amplitude with INT_TIDE_DISSIPATION. +TIDEAMP_FILE = "tidal_amplitude.v20140328.nc" ! default = "tideamp.nc" + ! The path to the file containing the spatially varying + ! tidal amplitudes with INT_TIDE_DISSIPATION. +H2_FILE = "ocean_topog.nc" ! + ! The path to the file containing the sub-grid-scale + ! topographic roughness amplitude with INT_TIDE_DISSIPATION. + +! === 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_KPP === +! This is the MOM wrapper to CVmix:KPP +! See http://code.google.com/p/cvmix/ +USE_KPP = True ! [Boolean] default = False + ! If true, turns on the [CVmix] KPP scheme of Large et al., 1984, + ! to calculate diffusivities and non-local transport in the OBL. +KPP% +NLT_SHAPE = "PARABOLIC" ! default = "CVMIX" + ! The shape of the nonlocal transport (or redistribution of surface + ! forcina. Allowed values are: + ! CVMIX - Uses the profile from CVmix + ! LINEAR - A linear profile, 1-sigma + ! PARABOLIC - A paroblic profile, (1-sigma)^2 + ! CUBIC - A cubic profile, (1-sigma)^2(1+2*sigma) + ! CUBIC_LMD - The original KPP profile +KPP_IS_ADDITIVE = True ! [Boolean] default = False + ! If true, adds KPP diffusivity to the existing diffusivity. If false, replaces exisiting diffusivity with KPP diffusivity wherever the latter is non-zero. +%KPP + +! === module MOM_diffConvection === +! This module implements enhanced diffusivity as a +! function of static stability, N^2. +CONVECTION% +%CONVECTION + +! === module MOM_entrain_diffusive === + +! === module MOM_regularize_layers === + +! === module MOM_opacity === +VAR_PEN_SW = True ! [Boolean] default = False + ! If true, use one of the CHL_A schemes specified by + ! OPACITY_SCHEME to determine the e-folding depth of + ! incoming short wave radiation. +CHL_FILE = "seawifs_1998-2006_smoothed_2x_v2.nc" ! + ! CHL_FILE is the file containing chl_a concentrations in + ! the variable CHL_A. It is used when VAR_PEN_SW and + ! CHL_FROM_FILE are true. +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) + +! === 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 1 iteration. + +! === module ocean_model_init === +ENERGYSAVEDAYS = 0.25 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between saves of the + ! energies of the run and other globally summed diagnostics. +RESTORE_SALINITY = True ! [Boolean] default = False + ! If true, the coupled driver will add a globally-balanced + ! fresh-water flux that drives sea-surface salinity + ! toward specified values. + +! === module MOM_surface_forcing === +MAX_P_SURF = 3.0E+04 ! [Pa] default = -1.0 + ! The maximum surface pressure that can be exerted by the + ! atmosphere and floating sea-ice or ice shelves. This is + ! needed because the FMS coupling structure does not + ! limit the water that can be frozen out of the ocean and + ! the ice-ocean heat fluxes are treated explicitly. No + ! limit is applied if a negative value is used. +ADJUST_NET_FRESH_WATER_TO_ZERO = True ! [Boolean] default = False + ! If true, adjusts the net fresh-water forcing seen + ! by the ocean (including restoring) to zero. +WIND_STAGGER = "B" ! default = "C" + ! A case-insensitive character string to indicate the + ! staggering of the input wind stress field. Valid + ! values are 'A', 'B', or 'C'. +FLUXCONST = 0.1667 ! [m day-1] + ! The constant that relates the restoring surface fluxes + ! to the relative surface anomalies (akin to a piston + ! velocity). Note the non-MKS units. +SALT_RESTORE_FILE = "salt_restore_v3.nc" ! default = "salt_restore.nc" + ! A file in which to find the surface salinity to use for restoring. +SRESTORE_AS_SFLUX = True ! [Boolean] default = False + ! If true, the restoring of salinity is applied as a salt + ! flux instead of as a freshwater flux. +MAX_DELTA_SRESTORE = 5.0 ! [PSU or g kg-1] default = 999.0 + ! The maximum salinity difference used in restoring terms. +CD_TIDES = 0.0018 ! [nondim] default = 1.0E-04 + ! The drag coefficient that applies to the tides. + +! === module MOM_sum_output === +MAXTRUNC = 100000 ! [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. diff --git a/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/data_table b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/data_table new file mode 120000 index 0000000000..954e3dd28e --- /dev/null +++ b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/data_table @@ -0,0 +1 @@ +../data_table \ No newline at end of file diff --git a/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/diag_table b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/diag_table new file mode 120000 index 0000000000..8c15b6f982 --- /dev/null +++ b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/diag_table @@ -0,0 +1 @@ +../diag_table \ No newline at end of file diff --git a/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/field_table b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/field_table new file mode 120000 index 0000000000..38b0b3d419 --- /dev/null +++ b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/field_table @@ -0,0 +1 @@ +../field_table \ No newline at end of file diff --git a/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/input.nml b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/input.nml new file mode 100644 index 0000000000..cdbbe6392c --- /dev/null +++ b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/input.nml @@ -0,0 +1,137 @@ + &MOM_input_nml + output_directory = '.', + input_filename = 'n' + restart_input_dir = 'INPUT', + restart_output_dir = 'RESTART', + parameter_filename = 'MOM_input', + 'MOM_override' +/ + + &atmos_model_nml + layout =16,18 + mask_table='INPUT/mask_table.34.16x18' +/ + + &land_model_nml + layout =16,18 + mask_table='INPUT/mask_table.34.16x18' +/ + + &coupler_nml + months = 0, + days = 1, + current_date = 1900,1,1,0,0,0, + calendar = 'NOLEAP', + dt_cpld = 3600, + dt_atmos = 3600, + do_atmos = .false., + do_land = .false., + do_ice = .true., + do_ocean = .true., + do_flux = .true., + atmos_npes = 0, + concurrent = .false. + use_lag_fluxes=.false. + check_stocks = 0 +/ + + &diag_manager_nml + conserve_water=.false. + max_axes = 100, + max_num_axis_sets = 100, + max_input_fields = 699 + max_output_fields = 699 + mix_snapshot_average_fields=.false. +/ + + &flux_exchange_nml + debug_stocks = .FALSE. + divert_stocks_report = .TRUE. + do_area_weighted_flux = .FALSE. +/ + + &fms_io_nml + fms_netcdf_restart=.true. + threading_read='multi' + threading_write='single' + fileset_write='single' + max_files_r = 200 + max_files_w = 200 +/ + + &fms_nml + clock_grain='ROUTINE' + clock_flags='NONE' + domains_stack_size = 5000000 + stack_size =0 +/ + + &horiz_interp_nml + / + + &ice_albedo_nml + t_range = 10. +/ + + &ice_model_nml + layout = 16, 18 + io_layout = 1, 1 + mask_table='INPUT/mask_table.34.16x18' + nsteps_dyn=144 + nsteps_adv=2 + num_part = 6 + wd_turn = 0.0 + spec_ice=.false. + ice_bulk_salin = 0.005 + alb_sno = 0.85 ! keep CM2 setting + alb_ice = 0.65 ! keep CM2 setting + t_range_melt = 1.0 ! NOTE: CM2 uses 1.0 + heat_rough_ice = 5.0e-4 + cm2_bugs = .false. + do_icebergs = .false. + atmos_winds=.true. + add_diurnal_sw = .true. + do_ice_limit=.false. + max_ice_limit=4.0 + channel_viscosity=5.e5 + chan_cfl_limit=0.001 + h_lo_lim = 1.e-10 +/ + + &icebergs_nml + verbose=.FALSE. + traj_sample_hrs=0 + verbose_hrs=2400 + / + + &monin_obukhov_nml + neutral = .true. +/ + + &ocean_albedo_nml + ocean_albedo_option = 2 +/ + + &ocean_rough_nml + rough_scheme = 'beljaars' +/ + + &sat_vapor_pres_nml + construct_table_wrt_liq = .true. + construct_table_wrt_liq_and_ice = .true. +/ + + &surface_flux_nml + ncar_ocean_flux = .true. + raoult_sat_vap = .true. +/ + + &topography_nml + topog_file = 'INPUT/navy_topography.data.nc' +/ + + &xgrid_nml + make_exchange_reproduce = .false. + interp_method = 'second_order' +/ + diff --git a/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/timestats.gnu b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/timestats.gnu new file mode 120000 index 0000000000..12591c2246 --- /dev/null +++ b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/timestats.gnu @@ -0,0 +1 @@ +../timestats.gnu \ No newline at end of file diff --git a/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/timestats.intel b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/timestats.intel new file mode 120000 index 0000000000..68f45a71c0 --- /dev/null +++ b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/timestats.intel @@ -0,0 +1 @@ +../timestats.intel \ No newline at end of file diff --git a/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/timestats.pgi b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/timestats.pgi new file mode 120000 index 0000000000..ca95807c09 --- /dev/null +++ b/examples/ocean_SIS/MOM6z_SIS_025/MOM6z_SIS_025_mask_table.34.16x18/timestats.pgi @@ -0,0 +1 @@ +../timestats.pgi \ No newline at end of file