From 7dd28b19b506daf313eeefd2346e5ae7e151ab2b Mon Sep 17 00:00:00 2001 From: Andrew Kiss <31054815+aekiss@users.noreply.github.com> Date: Tue, 31 Oct 2023 12:54:22 +1100 Subject: [PATCH] arrange MOM_input in same order as MOM_parameter_doc.*; parameters removed if equal to default, but otherwise unaltered --- MOM_input | 1602 ++++++++++++++++++----------------------------------- 1 file changed, 538 insertions(+), 1064 deletions(-) diff --git a/MOM_input b/MOM_input index 22946f0..4abb58d 100644 --- a/MOM_input +++ b/MOM_input @@ -1,1152 +1,626 @@ -! This input file provides the adjustable run-time parameters for version 6 of the Modular Ocean Model (MOM6). +! This file was written by the model and records the non-default parameters used at run-time. ! === module MOM === -DT = 1800.0 - ! "[s] - ! The (baroclinic) dynamics time step. The time-step that - ! is actually used will be an integer fraction of the - ! forcing time-step (DT_FORCING in ocean-only mode or the - ! coupling timestep in coupled mode.)" - -DT_THERM = 3600.0 - ! "[s] default = 3600.0 - ! The thermodynamic and tracer advection time step. - ! Ideally DT_THERM should be an integer multiple of DT - ! and less than the forcing or coupling time-step. - ! By default DT_THERM is set to DT. - ! 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." - -HFREEZE = 10.0 - ! "[m] default = -1.0 - ! If HFREEZE > 0, melt potential will be computed. The actual depth - ! over which melt potential is computed will be min(HFREEZE, OBLD), - ! where OBLD is the boundary layer depth. If HFREEZE <= 0 (default), - ! melt potential will not be computed." - -C_P = 3992.0 - ! "[J kg-1 K-1] default = 3991.86795711963 - ! The heat capacity of sea water, approximated as a - ! constant. This is only used if ENABLE_THERMODYNAMICS is - ! true. The default value is from the TEOS-10 definition - ! of conservative temperature." - -USE_REGRIDDING = True - ! "[Boolean] default = False - ! If True, use the ALE algorithm (regridding/remapping). - ! If False, use the layered isopycnal algorithm." - -THICKNESSDIFFUSE = True - ! "[Boolean] default = False - ! If true, interfaces or isopycnal surfaces are diffused, - ! depending on the value of FULL_THICKNESSDIFFUSE." - -THICKNESSDIFFUSE_FIRST = True - ! "[Boolean] default = False - ! If true, do thickness diffusion before dynamics. - ! This is only used if THICKNESSDIFFUSE is true." - -DTBT_RESET_PERIOD = 0.0 - ! "[s] default = 7200.0 - ! The period between recalculations of DTBT (if DTBT <= 0). - ! If DTBT_RESET_PERIOD is negative, DTBT is set based - ! only on information available at initialization. If 0, - ! DTBT will be set every dynamics time step. The default - ! is set by DT_THERM. This is only used if SPLIT is true." - -FRAZIL = True - ! "[Boolean] default = False - ! If true, water freezes if it gets too cold, and the - ! the accumulated heat deficit is returned in the - ! surface state. FRAZIL is only used if +DIABATIC_FIRST = True ! [Boolean] default = False + ! If true, apply diabatic and thermodynamic processes, including buoyancy + ! forcing and mass gain or loss, before stepping the dynamics forward. +USE_REGRIDDING = True ! [Boolean] default = False + ! If True, use the ALE algorithm (regridding/remapping). If False, use the + ! layered isopycnal algorithm. +THICKNESSDIFFUSE = True ! [Boolean] default = False + ! If true, isopycnal surfaces are diffused with a Laplacian coefficient of KHTH. +THICKNESSDIFFUSE_FIRST = True ! [Boolean] default = False + ! If true, do thickness diffusion or interface height smoothing before dynamics. + ! This is only used if THICKNESSDIFFUSE or APPLY_INTERFACE_FILTER is true. +DT = 1800.0 ! [s] + ! The (baroclinic) dynamics time step. The time-step that is actually used will + ! be an integer fraction of the forcing time-step (DT_FORCING in ocean-only mode + ! or the coupling timestep in coupled mode.) +DT_THERM = 3600.0 ! [s] default = 1800.0 + ! The thermodynamic and tracer advection time step. Ideally DT_THERM should be + ! an integer multiple of DT and less than the forcing or coupling time-step, + ! unless THERMO_SPANS_COUPLING is true, in which case DT_THERM can be an integer + ! multiple of the coupling timestep. By default DT_THERM is set to DT. +HFREEZE = 10.0 ! [m] default = -1.0 + ! If HFREEZE > 0, melt potential will be computed. The actual depth over which + ! melt potential is computed will be min(HFREEZE, OBLD), where OBLD is the + ! boundary layer depth. If HFREEZE <= 0 (default), melt potential will not be + ! computed. +DTBT_RESET_PERIOD = 0.0 ! [s] default = 3600.0 + ! The period between recalculations of DTBT (if DTBT <= 0). If DTBT_RESET_PERIOD + ! is negative, DTBT is set based only on information available at + ! initialization. If 0, DTBT will be set every dynamics time step. The default + ! is set by DT_THERM. This is only used if SPLIT is true. +FRAZIL = True ! [Boolean] default = False + ! If true, water freezes if it gets too cold, and the accumulated heat deficit + ! is returned in the surface state. FRAZIL is only used if ! ENABLE_THERMODYNAMICS is true. - ! If true, apply geothermal heating." - -MIN_SALINITY = 0.0 - ! "[PPT] default = 0.01 - ! The minimum value of salinity when BOUND_SALINITY=True. The default is 0.01 - ! for backward compatibility but ideally should be 0." - -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.)" - -USE_PSURF_IN_EOS = True - ! "[Boolean] default = True - ! If true, always include the surface pressure contributions in equation of - ! state calculations." - -CHECK_BAD_SURFACE_VALS = True - ! "[Boolean] default = False - ! If true, check the surface state for ridiculous values." - +BOUND_SALINITY = True ! [Boolean] default = False + ! If true, limit salinity to being positive. (The sea-ice model may ask for more + ! salt than is available and drive the salinity negative otherwise.) +C_P = 3992.0 ! [J kg-1 K-1] default = 3991.86795711963 + ! The heat capacity of sea water, approximated as a constant. This is only used + ! if ENABLE_THERMODYNAMICS is true. The default value is from the TEOS-10 + ! definition of conservative temperature. +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 = 75.0 ! [PPT] default = 45.0 ! The value of SSS above which a bad value message is triggered, if ! CHECK_BAD_SURFACE_VALS is true. - BAD_VAL_SST_MAX = 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. - -BAD_VAL_COLUMN_THICKNESS = 0.0 ! [m] default = 0.0 - ! The value of column thickness below which a bad value message is triggered, if - ! CHECK_BAD_SURFACE_VALS is true. - -SAVE_INITIAL_CONDS = True - ! "[Boolean] default = False - ! If true, write the initial conditions to a file given - ! by IC_OUTPUT_FILE." - -USE_CONTEMP_ABSSAL = False ! [Boolean] default = False - ! If true, the prognostics T&S are the conservative temperature and absolute - ! salinity. Care should be taken to convert them to potential temperature and - ! practical salinity before exchanging them with the coupler and/or reporting - ! T&S diagnostics. - -DEFAULT_2018_ANSWERS = False - ! "[Boolean] default = True - ! This sets the default value for the various _2018_ANSWERS parameters." +SAVE_INITIAL_CONDS = True ! [Boolean] default = False + ! If true, write the initial conditions to a file given by IC_OUTPUT_FILE. ! === module MOM_domains === - -TRIPOLAR_N = True - ! "[Boolean] default = False - ! Use tripolar connectivity at the northern edge of the - ! domain. With TRIPOLAR_N, NIGLOBAL must be even." - -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 = 360 - ! "The total number of thickness grid points in the - ! x-direction in the physical domain. With STATIC_MEMORY_ - ! this is set in MOM_memory.h at compile time." - -NJGLOBAL = 300 - ! "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. - ! The number of processors in the x-direction. With - ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. - ! The number of processors in the x-direction. With - ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. - ! The processor layout that was acutally used." - -! === module MOM_verticalGrid === -NK = 50 - ! "[nondim] - ! The number of model layers." - -! === 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 = topog.nc - ! "default = 'topog.nc' - ! The file from which the bathymetry is read." - -MAXIMUM_DEPTH = 6000.0 - ! "[m] - ! The maximum depth of the ocean." - -MINIMUM_DEPTH = 0.5 - ! "[m] default = 0.0 - ! If MASKING_DEPTH is unspecified, then anything shallower than - ! MINIMUM_DEPTH is assumed to be land and all fluxes are masked out. - ! If MASKING_DEPTH is specified, then all depths shallower than - ! MINIMUM_DEPTH but depper than MASKING_DEPTH are rounded to - ! MINIMUM_DEPTH." +TRIPOLAR_N = True ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the domain. With + ! TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = 360 ! + ! The total number of thickness grid points in the x-direction in the physical + ! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +NJGLOBAL = 300 ! + ! The total number of thickness grid points in the y-direction in the physical + ! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time. ! === module MOM_fixed_initialization === -INPUTDIR = "./input/" - ! "The directory in which input files are found." +INPUTDIR = "./input/" ! default = "." + ! The directory in which input files are found. -CHANNEL_CONFIG = global_1deg - ! "default = 'none' +! === module MOM_grid_init === +GRID_CONFIG = "mosaic" ! + ! A character string that determines the method for defining the horizontal + ! grid. Current options are: + ! mosaic - read the grid from a mosaic (supergrid) + ! file set by GRID_FILE. + ! cartesian - use a (flat) Cartesian grid. + ! spherical - use a simple spherical grid. + ! mercator - use a Mercator spherical grid. +GRID_FILE = "ocean_hgrid.nc" ! + ! Name of the file from which to read horizontal grid data. +TOPO_CONFIG = "file" ! + ! This specifies how bathymetry is specified: + ! file - read bathymetric information from the file + ! specified by (TOPO_FILE). + ! flat - flat bottom set to MAXIMUM_DEPTH. + ! bowl - an analytically specified bowl-shaped basin + ! ranging between MAXIMUM_DEPTH and MINIMUM_DEPTH. + ! spoon - a similar shape to 'bowl', but with an vertical + ! wall at the southern face. + ! halfpipe - a zonally uniform channel with a half-sine + ! profile in the meridional direction. + ! bbuilder - build topography from list of functions. + ! benchmark - use the benchmark test case topography. + ! Neverworld - use the Neverworld test case topography. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! ISOMIP - use a slope and channel configuration for the + ! ISOMIP test case. + ! DOME2D - use a shelf and slope configuration for the + ! DOME2D gravity current/overflow test case. + ! Kelvin - flat but with rotated land mask. + ! seamount - Gaussian bump for spontaneous motion test case. + ! dumbbell - Sloshing channel with reservoirs on both ends. + ! shelfwave - exponential slope for shelfwave test case. + ! Phillips - ACC-like idealized topography used in the Phillips config. + ! dense - Denmark Strait-like dense water formation and overflow. + ! USER - call a user modified routine. +MINIMUM_DEPTH = 0.5 ! [m] default = 0.0 + ! If MASKING_DEPTH is unspecified, then anything shallower than MINIMUM_DEPTH is + ! assumed to be land and all fluxes are masked out. If MASKING_DEPTH is + ! specified, then all depths shallower than MINIMUM_DEPTH but deeper than + ! MASKING_DEPTH are rounded to MINIMUM_DEPTH. +MAXIMUM_DEPTH = 6000.0 ! [m] + ! The maximum depth of the ocean. +CHANNEL_CONFIG = "global_1deg" ! default = "none" ! A parameter that determines which set of channels are ! restricted to specific widths. Options are: - ! none - All channels have the grid width. - ! global_1deg - Sets 16 specific channels appropriate - ! for a 1-degree model, as used in CM2G. - ! list - Read the channel locations and widths from a - ! text file, like MOM_channel_list in the MOM_SIS - ! test case. - ! file - Read open face widths everywhere from a - ! NetCDF file on the model grid." - -! === module MOM_state_initialization === -INIT_LAYERS_FROM_Z_FILE = True - ! "[Boolean] default = False - ! If true, intialize the layer thicknesses, temperatures, - ! and salnities from a Z-space file on a latitude- - ! longitude grid." - -TEMP_SALT_Z_INIT_FILE = ocean_temp_salt.res.nc - ! "default = 'temp_salt_z.nc' - ! The name of the z-space input file used to initialize - ! the layer thicknesses, temperatures and salinities." + ! 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. -! Currently this is actually conservative temperature -Z_INIT_FILE_PTEMP_VAR = temp - ! "default = 'ptemp' - ! The name of the potential temperature variable in - ! TEMP_SALT_Z_INIT_FILE." - -Z_INIT_FILE_SALT_VAR = salt - ! "default = 'salt' - ! The name of the salinity variable in - ! TEMP_SALT_Z_INIT_FILE." - -TEMP_SALT_INIT_VERTICAL_REMAP_ONLY = True - ! "[Boolean] default = False" - -Z_INIT_REMAP_OLD_ALG = False - ! "[Boolean] default = True - ! If false, uses the preferred remapping algorithm for initialization. If true, - ! use an older, less robust algorithm for remapping." - -Z_INIT_ALE_REMAPPING = True - ! "[Boolean] default = False - ! If True, then remap straight to model coordinate from file." - -! === module MOM_shared_initialization === -GRID_ROTATION_ANGLE_BUGS = False - ! "[Boolean] default = True - ! If true, use an older algorithm to calculate the sine and - ! cosines needed rotate between grid-oriented directions and - ! true north and east. Differences arise at the tripolar fold." - -! === module MOM_coord_initialization === -COORD_CONFIG = none - ! "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. - ! The file from which the coordinate densities are read." +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. +NK = 50 ! [nondim] + ! The number of model layers. ! === module MOM_EOS === -EQN_OF_STATE = "WRIGHT" ! default = "WRIGHT" - ! EQN_OF_STATE determines which ocean equation of state should be used. - ! Currently, the valid choices are "LINEAR", "UNESCO", "WRIGHT", "NEMO" and - ! "TEOS10". This is only used if USE_EOS is true. - -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_surface_forcing === -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." - -SALT_RESTORE_FILE = salt_sfc_restore.nc - ! "default = salt_restore.nc - ! A file in which to find the surface salinity to use for restoring." - -FLUXCONST = 0.11 - ! "[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." +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. -MAX_DELTA_SRESTORE = 0.5 - ! "[PSU or g kg-1] default = 999.0 - ! The maximum salinity difference used in restoring terms." - -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." - -MASK_SRESTORE_UNDER_ICE = False - ! "[Boolean] default = False - ! If true, disables SSS restoring under sea-ice based on a frazil - ! criteria (SST<=Tf). Only used when RESTORE_SALINITY is True." - -ADJUST_NET_SRESTORE_TO_ZERO = True - ! "[Boolean] default = RESTORE_SALINITY - ! If true, adjusts the salinity restoring seen to zero - ! whether restoring is via a salt flux or virtual precip." - -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." - -GUST_CONST = 0.02 - ! "[Pa] default = 0.02 - ! The background gustiness in the winds." - -FIX_USTAR_GUSTLESS_BUG = True - ! "[Boolean] default = False - ! If true correct a bug in the time-averaging of the gustless wind - ! friction velocity." - -! === module MOM_debugging === -DEBUG = False - ! "If true, write out verbose debugging data." - -! === module MOM_ALE === -REGRIDDING_COORDINATE_MODE = ZSTAR - ! "default = 'LAYER' - ! Coordinate mode for vertical regridding. - ! Choose among the following possibilities: - ! LAYER - Isopycnal or stacked shallow water layers - ! ZSTAR, Z* - stetched geopotential z* - ! SIGMA_SHELF_ZSTAR - stetched geopotential z* ignoring shelf - ! SIGMA - terrain following coordinates - ! RHO - continuous isopycnal - ! HYCOM1 - HyCOM-like hybrid coordinate - ! SLIGHT - stretched coordinates above continuous isopycnal - ! ADAPTIVE - optimize for smooth neutral density surfaces" +! === module MOM_tracer_flow_control === +USE_IDEAL_AGE_TRACER = True ! [Boolean] default = False + ! If true, use the ideal_age_example tracer package. -REMAP_UV_USING_OLD_ALG = False - ! "[Boolean] default = True - ! If true, uses the old remapping-via-a-delta-z method for remapping u and v. If - ! false, uses the new method that remaps between grids described by an old and - ! new thickness." +! === module ideal_age_example === -REMAPPING_SCHEME = PPM_H4 - ! "default = 'PLM' - ! This sets the reconstruction scheme used - ! for vertical remapping for all variables. - ! It can be one of the following schemes: - ! PCM (1st-order accurate) +! === module MOM_coord_initialization === +REGRIDDING_COORDINATE_MODE = "ZSTAR" ! default = "LAYER" + ! Coordinate mode for vertical regridding. Choose among the following + ! possibilities: LAYER - Isopycnal or stacked shallow water layers + ! ZSTAR, Z* - stretched geopotential z* + ! SIGMA_SHELF_ZSTAR - stretched geopotential z* ignoring shelf + ! SIGMA - terrain following coordinates + ! RHO - continuous isopycnal + ! HYCOM1 - HyCOM-like hybrid coordinate + ! HYBGEN - Hybrid coordinate from the Hycom hybgen code + ! SLIGHT - stretched coordinates above continuous isopycnal + ! ADAPTIVE - optimize for smooth neutral density surfaces +ALE_COORDINATE_CONFIG = "FILE:ocean_vgrid.nc,interfaces=zeta" ! default = "UNIFORM" + ! Determines how to specify the coordinate resolution. Valid options are: + ! PARAM - use the vector-parameter ALE_RESOLUTION + ! UNIFORM[:N] - uniformly distributed + ! FILE:string - read from a file. The string specifies + ! the filename and variable name, separated + ! by a comma or space, e.g. FILE:lev.nc,dz + ! or FILE:lev.nc,interfaces=zw + ! WOA09[:N] - the WOA09 vertical grid (approximately) + ! FNC1:string - FNC1:dz_min,H_total,power,precision + ! HYBRID:string - read from a file. The string specifies + ! the filename and two variable names, separated + ! by a comma or space, for sigma-2 and dz. e.g. + ! HYBRID:vgrid.nc,sigma2,dz +!ALE_RESOLUTION = 2.303499698638916, 2.6903486251831055, 3.1421399116516113, 3.6697616577148438, 4.285917282104492, 5.005424499511719, 5.845563888549805, 6.826459884643555, 7.971549987792969, 9.308074951171875, 10.867660522460938, 12.686931610107422, 14.808158874511719, 17.279945373535156, 20.157821655273438, 23.504684448242188, 27.390975952148438, 31.894271850585938, 37.097900390625, 43.088226318359375, 49.94970703125, 57.757049560546875, 66.56375122070312, 76.386962890625, 87.18865966796875, 98.85760498046875, 111.1953125, 123.914794921875, 136.6578369140625, 149.03271484375, 160.6646728515625, 171.2481689453125, 180.5816650390625, 188.5797119140625, 195.2608642578125, 200.720703125, 205.10205078125, 208.565185546875, 211.2705078125, 213.363525390625, 214.97119140625, 216.198974609375, 217.13232421875, 217.83984375, 218.37451171875, 218.7783203125, 219.08203125, 219.310546875, 219.482421875, 219.6123046875 ! [m] +REMAPPING_SCHEME = "PPM_H4" ! default = "PLM" + ! This sets the reconstruction scheme used for vertical remapping for all + ! variables. It can be one of the following schemes: PCM (1st-order + ! accurate) ! PLM (2nd-order accurate) + ! PLM_HYBGEN (2nd-order accurate) ! PPM_H4 (3rd-order accurate) ! PPM_IH4 (3rd-order accurate) + ! PPM_HYBGEN (3rd-order accurate) + ! WENO_HYBGEN (3rd-order accurate) ! PQM_IH4IH3 (4th-order accurate) - ! PQM_IH6IH5 (5th-order accurate)" - -! === module MOM_regridding === -ALE_COORDINATE_CONFIG = "FILE:ocean_vgrid.nc,interfaces=zeta" - ! "default = 'UNIFORM' - ! Determines how to specify the coordinate - ! resolution. Valid options are: - ! PARAM - use the vector-parameter ALE_RESOLUTION - ! UNIFORM[:N] - uniformly distributed - ! FILE:string - read from a file. The string specifies - ! the filename and variable name, separated - ! by a comma or space, e.g. FILE:lev.nc,dz - ! or FILE:lev.nc,interfaces=zw - ! WOA09[:N] - the WOA09 vertical grid (approximately) - ! FNC1:string - FNC1:dz_min,H_total,power,precision - ! HYBRID:string - read from a file. The string specifies - ! the filename and two variable names, separated - ! by a comma or space, for sigma-2 and dz. e.g. - ! HYBRID:vgrid.nc,sigma2,dz" - -! === module MOM_diabatic_driver === -USE_LEGACY_DIABATIC_DRIVER = False - ! "[Boolean] default = True - ! If true, use the a legacy version of the diabatic subroutine. - ! This is temporary and is needed avoid change in answers." + ! PQM_IH6IH5 (5th-order accurate) -! === module MOM_ocean_model_nuopc === -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." - -OCEAN_SURFACE_STAGGER = A - ! "default = 'C' - ! A case-insensitive character string to indicate the - ! staggering of the surface velocity field that is - ! returned to the coupler. Valid values include - ! 'A', 'B', or 'C'." - -RESTART_CONTROL = 3 - ! "default = 1 - ! An integer whose bits encode which restart files are - ! written. Add 2 (bit 1) for a time-stamped file, and odd - ! (bit 0) for a non-time-stamped file. A non-time-stamped - ! restart file is saved at the end of the run segment - ! for any non-negative value." - -! === module MOM_tracer_flow_control === -USE_IDEAL_AGE_TRACER = True - ! "[Boolean] default = False - ! If true, use the ideal_age_example tracer package." +! === module MOM_state_initialization === +INIT_LAYERS_FROM_Z_FILE = True ! [Boolean] default = False + ! If true, initialize the layer thicknesses, temperatures, and salinities from a + ! Z-space file on a latitude-longitude grid. + +! === module MOM_initialize_layers_from_Z === +TEMP_SALT_Z_INIT_FILE = "ocean_temp_salt.res.nc" ! default = "temp_salt_z.nc" + ! The name of the z-space input file used to initialize temperatures (T) and + ! salinities (S). If T and S are not in the same file, TEMP_Z_INIT_FILE and + ! SALT_Z_INIT_FILE must be set. +Z_INIT_FILE_PTEMP_VAR = "temp" ! default = "ptemp" + ! The name of the potential temperature variable in TEMP_Z_INIT_FILE. +Z_INIT_ALE_REMAPPING = True ! [Boolean] default = False + ! If True, then remap straight to model coordinate from file. +TEMP_SALT_INIT_VERTICAL_REMAP_ONLY = True ! [Boolean] default = False + ! If true, initial conditions are on the model horizontal grid. Extrapolation + ! over missing ocean values is done using an ICE-9 procedure with vertical ALE + ! remapping . -USE_CFC_CAP = False - ! "[Boolean] default = False - ! If true, use the MOM_CFC_cap tracer package." +! === module MOM_diag_mediator === +DIAG_COORD_DEF_Z = "FILE:ocean_vgrid.nc,interfaces=zeta" ! default = "WOA09" + ! Determines how to specify the coordinate resolution. Valid options are: + ! PARAM - use the vector-parameter DIAG_COORD_RES_Z + ! UNIFORM[:N] - uniformly distributed + ! FILE:string - read from a file. The string specifies + ! the filename and variable name, separated + ! by a comma or space, e.g. FILE:lev.nc,dz + ! or FILE:lev.nc,interfaces=zw + ! WOA09[:N] - the WOA09 vertical grid (approximately) + ! FNC1:string - FNC1:dz_min,H_total,power,precision + ! HYBRID:string - read from a file. The string specifies + ! the filename and two variable names, separated + ! by a comma or space, for sigma-2 and dz. e.g. + ! HYBRID:vgrid.nc,sigma2,dz -CFC_BC_FILE = cfc_atm_20230310.nc - ! "The file in which the CFC-11 and CFC-12 atm concentrations can be found (units - ! must be parts per trillion)." +! === module MOM_MEKE === +USE_MEKE = True ! [Boolean] default = False + ! If true, turns on the MEKE scheme which calculates a sub-grid mesoscale eddy + ! kinetic energy budget. +MEKE_GMCOEFF = 0.0 ! [nondim] default = -1.0 + ! The efficiency of the conversion of potential energy into MEKE by the + ! thickness mixing parameterization. If MEKE_GMCOEFF is negative, this + ! conversion is not used or calculated. +MEKE_GEOMETRIC = True ! [Boolean] default = False + ! If MEKE_GEOMETRIC is true, uses the GM coefficient formulation from the + ! GEOMETRIC framework (Marshall et al., 2012). +MEKE_EQUILIBRIUM_ALT = True ! [Boolean] default = False + ! If true, use an alternative formula for computing the (equilibrium)initial + ! value of MEKE. +MEKE_EQUILIBRIUM_RESTORING = True ! [Boolean] default = False + ! If true, restore MEKE back to its equilibrium value, which is calculated at + ! each time step. +MEKE_RESTORING_TIMESCALE = 1.0E+07 ! [s] default = 1.0E+06 + ! The timescale used to nudge MEKE toward its equilibrium value. +MEKE_VISC_DRAG = False ! [Boolean] default = True + ! If true, use the vertvisc_type to calculate the bottom drag acting on MEKE. +MEKE_KHTH_FAC = 1.0 ! [nondim] default = 0.0 + ! A factor that maps MEKE%Kh to KhTh. +MEKE_KHTR_FAC = 1.0 ! [nondim] default = 0.0 + ! A factor that maps MEKE%Kh to KhTr. +MEKE_KHMEKE_FAC = 0.5 ! [nondim] default = 0.0 + ! A factor that maps MEKE%Kh to Kh for MEKE itself. +MEKE_MIN_LSCALE = True ! [Boolean] default = False + ! If true, use a strict minimum of provided length scales rather than harmonic + ! mean. +MEKE_VISCOSITY_COEFF_KU = 0.2 ! [nondim] default = 0.0 + ! If non-zero, is the scaling coefficient in the expression forviscosity used to + ! parameterize harmonic lateral momentum mixing byunresolved eddies represented + ! by MEKE. Can be negative torepresent backscatter from the unresolved eddies. +MEKE_ALPHA_DEFORM = 1.0 ! [nondim] default = 0.0 + ! If positive, is a coefficient weighting the deformation scale in the + ! expression for mixing length used in MEKE-derived diffusivity. +MEKE_ALPHA_RHINES = 1.0 ! [nondim] default = 0.0 + ! If positive, is a coefficient weighting the Rhines scale in the expression for + ! mixing length used in MEKE-derived diffusivity. +MEKE_ALPHA_EADY = 1.0 ! [nondim] default = 0.0 + ! If positive, is a coefficient weighting the Eady length scale in the + ! expression for mixing length used in MEKE-derived diffusivity. +MEKE_ALPHA_FRICT = 1.0 ! [nondim] default = 0.0 + ! If positive, is a coefficient weighting the frictional arrest scale in the + ! expression for mixing length used in MEKE-derived diffusivity. +MEKE_ALPHA_GRID = 1.0 ! [nondim] default = 0.0 + ! If positive, is a coefficient weighting the grid-spacing as a scale in the + ! expression for mixing length used in MEKE-derived diffusivity. +MEKE_ADVECTION_FACTOR = 1.0 ! [nondim] default = 0.0 + ! A scale factor in front of advection of eddy energy. Zero turns advection off. + ! Using unity would be normal but other values could accommodate a mismatch + ! between the advecting barotropic flow and the vertical structure of MEKE. ! === 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." - -KHTH_SLOPE_CFF = 0.01 - ! "[nondim] default = 0.0 +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. +KHTH_USE_EBT_STRUCT = True ! [Boolean] default = False + ! If true, uses the equivalent barotropic structure as the vertical structure of + ! thickness diffusivity. +KHTH_SLOPE_CFF = 0.01 ! [nondim] default = 0.0 ! The nondimensional coefficient in the Visbeck formula for the interface depth - ! diffusivity" - -DEPTH_SCALED_KHTH = False - ! "[Boolean] default = False - ! If true, KHTH is scaled away when the depth is shallower - ! than a reference depth: KHTH = MIN(1,H/H0)**N * KHTH, - ! where H0 is a reference depth, controlled via - ! DEPTH_SCALED_KHTH_H0, and theexponent (N) is - ! controlled via DEPTH_SCALED_KHTH_EXP." - -KHTH_USE_EBT_STRUCT = True - ! "[Boolean] default = False - ! If true, uses the equivalent barotropic structure - ! as the vertical structure of thickness diffusivity." - -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." - -USE_STORED_SLOPES = True - ! "[Boolean] default = False - ! If true, the isopycnal slopes are calculated once and - ! stored for re-use. This uses more memory but avoids calling - ! the equation of state more times than should be necessary." - -INTERPOLATE_RES_FN = False - ! "[Boolean] default = True - ! If true, interpolate the resolution function to the - ! velocity points from the thickness points; otherwise - ! interpolate the wave speed and calculate the resolution - ! function independently at each point." - -GILL_EQUATORIAL_LD = True - ! "[Boolean] default = False - ! If true, uses Gill's definition of the baroclinic - ! equatorial deformation radius, otherwise, if false, use - ! Pedlosky's definition. These definitions differ by a factor - ! of 2 infront of the beta term in the denominator. Gill'sis the more appropriate definition." - -KH_RES_SCALE_COEF = 0.4 - ! "[nondim] default = 1.0 + ! diffusivity +USE_STORED_SLOPES = True ! [Boolean] default = False + ! If true, the isopycnal slopes are calculated once and stored for re-use. This + ! uses more memory but avoids calling the equation of state more times than + ! should be necessary. +KH_RES_SCALE_COEF = 0.4 ! [nondim] default = 1.0 ! A coefficient that determines how KhTh is scaled away if RESOLN_SCALED_... is - ! true, as F = 1 / (1 + (KH_RES_SCALE_COEF*Rd/dx)^KH_RES_FN_POWER)." - -VISC_RES_SCALE_COEF = 0.4 - ! "[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). This - ! function affects lateral viscosity, Kh, and not KhTh." + ! true, as F = 1 / (1 + (KH_RES_SCALE_COEF*Rd/dx)^KH_RES_FN_POWER). + +! === module MOM_set_visc === +CHANNEL_DRAG = True ! [Boolean] default = False + ! If true, the bottom drag is exerted directly on each layer proportional to the + ! fraction of the bottom it overlies. +HBBL = 10.0 ! [m] + ! The thickness of a bottom boundary layer with a viscosity increased by + ! KV_EXTRA_BBL if BOTTOMDRAGLAW is not defined, or the thickness over which + ! near-bottom velocities are averaged for the drag law if BOTTOMDRAGLAW is + ! defined but LINEAR_DRAG is not. +DRAG_BG_VEL = 0.1 ! [m s-1] default = 0.0 + ! DRAG_BG_VEL is either the assumed bottom velocity (with LINEAR_DRAG) or an + ! unresolved velocity that is combined with the resolved velocity to estimate + ! the velocity magnitude. DRAG_BG_VEL is only used when BOTTOMDRAGLAW is + ! defined. +BBL_THICK_MIN = 0.1 ! [m] default = 0.0 + ! The minimum bottom boundary layer thickness that can be used with + ! BOTTOMDRAGLAW. This might be Kv/(cdrag*drag_bg_vel) to give Kv as the minimum + ! near-bottom viscosity. +KV = 1.0E-04 ! [m2 s-1] + ! The background kinematic viscosity in the interior. The molecular value, ~1e-6 + ! m2 s-1, may be used. ! === module MOM_thickness_diffuse === -USE_GM_WORK_BUG = False - ! "[Boolean] default = True - ! If true, compute the top-layer work tendency on the u-grid with the incorrect - ! sign, for legacy reproducibility." - -KHTH = 0.0 - ! "[m2 s-1] default = 0.0 - ! The background horizontal thickness diffusivity." +KHTH_USE_FGNV_STREAMFUNCTION = True ! [Boolean] default = False + ! If true, use the streamfunction formulation of Ferrari et al., 2010, which + ! effectively emphasizes graver vertical modes by smoothing in the vertical. +FGNV_C_MIN = 0.01 ! [m s-1] default = 0.0 + ! A minium wave speed used in the Ferrari et al., 2010, streamfunction + ! formulation. +USE_KH_IN_MEKE = True ! [Boolean] default = False + ! If true, uses the thickness diffusivity calculated here to diffuse MEKE. -KHTH_MAX = 0.0 - ! "[m2 s-1] default = 0.0 - ! The maximum horizontal thickness diffusivity." +! === module MOM_porous_barriers === -USE_KH_IN_MEKE = True - ! "[Boolean] default = False - ! If true, uses the thickness diffusivity calculated here to diffuse MEKE." +! === module MOM_dynamics_split_RK2 === +TIDES = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing. -KHTH_USE_FGNV_STREAMFUNCTION = True - ! "[Boolean] default = False - ! If true, use the streamfunction formulation of - ! Ferrari et al., 2010, which effectively emphasizes - ! graver vertical modes by smoothing in the vertical." - -FGNV_C_MIN = 0.01 - ! "[m s-1] default = 0.0 - ! A minium wave speed used in the Ferrari et al., 2010, - ! streamfunction formulation." +! === module MOM_continuity === ! === module MOM_continuity_PPM === -ETA_TOLERANCE = 1e-06 - ! "[m] default = 3.15E-09 - ! The tolerance for the differences between the - ! barotropic and baroclinic estimates of the sea surface - ! height due to the fluxes through each face. The total - ! tolerance for SSH is 4 times this value. The default - ! is 0.5*NK*ANGSTROM, and this should not be set less x - ! than about 10^-15*MAXIMUM_DEPTH." - -VELOCITY_TOLERANCE = 0.0001 - ! "[m s-1] default = 3.0E+08 - ! The tolerance for barotropic velocity discrepancies - ! between the barotropic solution and the sum of the - ! layer thicknesses." - -! === module MOM_neutral_diffusion === -USE_NEUTRAL_DIFFUSION = True - ! "[Boolean] default = False - ! If true, enables the neutral diffusion module." - -NDIFF_INTERIOR_ONLY = True - ! "[Boolean] default = False - ! If true, only applies neutral diffusion in the ocean interior. That is, the - ! algorithm will exclude the surface and bottomboundary layers." - -! === module MOM_hor_bnd_diffusion === -USE_HORIZONTAL_BOUNDARY_DIFFUSION = True - ! "[Boolean] default = False - ! If true, enables the horizontal boundary tracer's diffusion module." - -HBD_LINEAR_TRANSITION = True - ! "[Boolean] default = False - ! If True, apply a linear transition at the base/top of the boundary. - ! The flux will be fully applied at k=k_min and zero at k=k_max." - -! === module MOM_set_diffusivity === -SIMPLE_TKE_TO_KD = True - ! "[Boolean] default = False - ! If true, uses a simple estimate of Kd/TKE that will - ! work for arbitrary vertical coordinates. If false, - ! calculates Kd/TKE and bounds based on exact - ! energetics/nfor an isopycnal layer-formulation." - -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." - -USE_LOTW_BBL_DIFFUSIVITY = True - ! "[Boolean] default = False - ! If true, uses a simple, imprecise but non-coordinate dependent, model - ! of BBL mixing diffusivity based on Law of the Wall. Otherwise, uses - ! the original BBL scheme." - -KD_MAX = 0.1 - ! "[m2 s-1] default = -1.0 - ! The maximum permitted increment for the diapycnal - ! diffusivity from TKE-based parameterizations, or a - ! negative value for no limit." +ETA_TOLERANCE = 1.0E-06 ! [m] default = 2.5E-09 + ! The tolerance for the differences between the barotropic and baroclinic + ! estimates of the sea surface height due to the fluxes through each face. The + ! total tolerance for SSH is 4 times this value. The default is + ! 0.5*NK*ANGSTROM, and this should not be set less than about + ! 10^-15*MAXIMUM_DEPTH. +VELOCITY_TOLERANCE = 1.0E-04 ! [m s-1] default = 3.0E+08 + ! The tolerance for barotropic velocity discrepancies between the barotropic + ! solution and the sum of the layer thicknesses. ! === module MOM_CoriolisAdv === -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." +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. ! === module MOM_tidal_forcing === -TIDE_M2 = True - ! "[Boolean] default = False - ! If true, apply tidal momentum forcing at the M2 - ! frequency. This is only used if TIDES is true." - -TIDE_SAL_SCALAR_VALUE = 0.094 - ! "[m m-1] - ! The constant of proportionality between sea surface - ! height (really it should be bottom pressure) anomalies - ! and bottom geopotential anomalies. This is only used if - ! TIDES and TIDE_USE_SAL_SCALAR are true." +TIDE_M2 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the M2 frequency. This is only used + ! if TIDES is true. +TIDE_SAL_SCALAR_VALUE = 0.094 ! [m m-1] + ! The constant of proportionality between sea surface height (really it should + ! be bottom pressure) anomalies and bottom geopotential anomalies. This is only + ! used if TIDES and TIDE_USE_SAL_SCALAR are true. -! === module MOM_tidal_mixing === -INT_TIDE_DECAY_SCALE = 300.3003003003003 - ! "[m] default = 500.0 - ! The decay scale away from the bottom for tidal TKE with - ! the new coding when INT_TIDE_DISSIPATION is used." +! === module MOM_PressureForce === ! === module MOM_PressureForce_FV === -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." +MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False + ! If true, use mass weighting when interpolating T/S for integrals near the + ! bathymetry in FV pressure gradient calculations. ! === module MOM_hor_visc === -LAPLACIAN = True - ! "[Boolean] default = False - ! If true, use a 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." - -AH = 1000000000000.0 - ! "[m4 s-1] default = 0.0 - ! The background biharmonic horizontal viscosity." - -AH_VEL_SCALE = 0.0 - ! "[m s-1] default = 0.0 - ! The velocity scale which is multiplied by the cube of - ! the grid spacing to calculate the biharmonic viscosity. - ! The final viscosity is the largest of this scaled - ! viscosity, the Smagorinsky and Leith viscosities, and AH." - -LEITH_AH = True - ! "[Boolean] default = False - ! If true, use a biharmonic Leith nonlinear eddy viscosity." - -LEITH_BI_CONST = 128.0 - ! "[nondim] default = 0.0 +LAPLACIAN = True ! [Boolean] default = False + ! If true, use a Laplacian horizontal viscosity. +AH = 1.0E+12 ! [m4 s-1] default = 0.0 + ! The background biharmonic horizontal viscosity. +LEITH_AH = True ! [Boolean] default = False + ! If true, use a biharmonic Leith nonlinear eddy viscosity. +LEITH_BI_CONST = 128.0 ! [nondim] default = 0.0 ! The nondimensional biharmonic Leith constant, typical values are thus far - ! undetermined." - -USE_LAND_MASK_FOR_HVISC = True - ! "[Boolean] default = False - ! If true, use Use the land mask for the computation of thicknesses - ! at velocity locations. This eliminates the dependence on arbitrary - ! values over land or outside of the domain. Default is False in order to - ! maintain answers with legacy experiments but should be changed to True - ! for new experiments." - -SMAG_BI_CONST = 0.06 - ! "[nondim] default = 0.0 - ! The nondimensional biharmonic Smagorinsky constant, - ! typically 0.015 - 0.06." - -! === module MOM_set_viscosity === -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." - -PRANDTL_TURB = 1.0 - ! "[nondim] default = 0.0 - ! The turbulent Prandtl number applied to shear - ! instability." - -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." - -DRAG_BG_VEL = 0.1 - ! "[m s-1] default = 0.0 - ! DRAG_BG_VEL is either the assumed bottom velocity (with - ! LINEAR_DRAG) or an unresolved velocity that is - ! combined with the resolved velocity to estimate the - ! velocity magnitude. DRAG_BG_VEL is only used when - ! BOTTOMDRAGLAW is defined." - -BBL_USE_EOS = True - ! "[Boolean] default = 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." + ! undetermined. ! === module MOM_vert_friction === -HMIX_FIXED = 0.5 - ! "[m] - ! The prescribed depth over which the near-surface - ! viscosity and diffusivity are elevated when the bulk - ! mixed layer is not used." - -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." - -KV = 0.0001 - ! "[m2 s-1] - ! The background kinematic viscosity in the interior. - ! The molecular value, ~1e-6 m2 s-1, may be used." - -MAXVEL = 6.0 - ! "[m s-1] default = 3.0E+08 - ! The maximum velocity allowed before the velocity - ! components are truncated." - -CFL_TRUNCATE_RAMP_TIME = 7200.0 - ! "[s] default = 0.0 - ! The time over which the CFL trunction value is ramped - ! up at the beginning of the run." +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. +MAXVEL = 6.0 ! [m s-1] default = 3.0E+08 + ! The maximum velocity allowed before the velocity components are truncated. +CFL_TRUNCATE_RAMP_TIME = 7200.0 ! [s] default = 0.0 + ! The time over which the CFL truncation value is ramped up at the beginning of + ! the run. +U_TRUNC_FILE = "U_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations leading to zonal + ! velocity truncations are written. Undefine this for efficiency if this + ! diagnostic is not needed. +V_TRUNC_FILE = "V_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations leading to meridional + ! velocity truncations are written. Undefine this for efficiency if this + ! diagnostic is not needed. ! === module MOM_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. - ! The barotropic x-halo size that is actually used. - ! 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.95 - ! "[s or nondim] default = -0.98 - ! The barotropic time step, in s. DTBT is only used with - ! the split explicit time stepping. To set the time step - ! automatically based the maximum stable value use 0, or - ! a negative value gives the fraction of the stable value. - ! Setting DTBT to 0 is the same as setting it to -0.98. - ! The value of DTBT that will actually be used is an - ! integer fraction of DT, rounding down." - -TIDES = True - ! "[Boolean] default = False - ! If true, apply tidal momentum forcing." +BOUND_BT_CORRECTION = True ! [Boolean] default = False + ! If true, the corrective pseudo mass-fluxes into the barotropic solver are + ! limited to values that require less than maxCFL_BT_cont to be accommodated. +BT_PROJECT_VELOCITY = True ! [Boolean] default = False + ! If true, step the barotropic velocity first and project out the velocity + ! tendency by 1+BEBT when calculating the transport. The default (false) is to + ! use a predictor continuity step to find the pressure field, and then to do a + ! corrector continuity step using a weighted average of the old and new + ! velocities, with weights of (1-BEBT) and BEBT. +BEBT = 0.2 ! [nondim] default = 0.1 + ! BEBT determines whether the barotropic time stepping uses the forward-backward + ! time-stepping scheme or a backward Euler scheme. BEBT is valid in the range + ! from 0 (for a forward-backward treatment of nonrotating gravity waves) to 1 + ! (for a backward Euler treatment). In practice, BEBT must be greater than about + ! 0.05. +DTBT = -0.95 ! [s or nondim] default = -0.98 + ! The barotropic time step, in s. DTBT is only used with the split explicit time + ! stepping. To set the time step automatically based the maximum stable value + ! use 0, or a negative value gives the fraction of the stable value. Setting + ! DTBT to 0 is the same as setting it to -0.98. The value of DTBT that will + ! actually be used is an integer fraction of DT, rounding down. ! === module MOM_mixed_layer_restrat === -MIXEDLAYER_RESTRAT = True - ! "[Boolean] default = False - ! If true, a density-gradient dependent re-stratifying - ! flow is imposed in the mixed layer. - ! This is only used if BULKMIXEDLAYER is true." - -FOX_KEMPER_ML_RESTRAT_COEF = 1.0 - ! "[nondim] default = 0.0 - ! A nondimensional coefficient that is proportional to - ! the ratio of the deformation radius to the dominant - ! lengthscale of the submesoscale mixed layer - ! instabilities, times the minimum of the ratio of the - ! mesoscale eddy kinetic energy to the large-scale - ! geostrophic kinetic energy or 1 plus the square of the - ! grid spacing over the deformation radius, as detailed - ! by Fox-Kemper et al. (2010) - ! The file that specifies the vertical grid for - ! depth-space diagnostics, or blank to disable - ! depth-space output. - ! The number of depth-space levels. This is determined - ! from the size of the variable zw in the output grid file." - -MLE_FRONT_LENGTH = 1000.0 - ! "[m] default = 0.0 - ! If non-zero, is the frontal-length scale used to calculate the - ! upscaling of buoyancy gradients that is otherwise represented - ! by the parameter FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is - ! non-zero, it is recommended to set FOX_KEMPER_ML_RESTRAT_COEF=1." - -MLE_MLD_DECAY_TIME = 345600.0 - ! "[s] default = 0.0 - ! The time-scale for a running-mean filter applied to the mixed-layer - ! depth used in the MLE restratification parameterization. When - ! the MLD deepens below the current running-mean the running-mean - ! is instantaneously set to the current MLD." +MIXEDLAYER_RESTRAT = True ! [Boolean] default = False + ! If true, a density-gradient dependent re-stratifying flow is imposed in the + ! mixed layer. Can be used in ALE mode without restriction but in layer mode can + ! only be used if BULKMIXEDLAYER is true. +FOX_KEMPER_ML_RESTRAT_COEF = 1.0 ! [nondim] default = 0.0 + ! A nondimensional coefficient that is proportional to the ratio of the + ! deformation radius to the dominant lengthscale of the submesoscale mixed layer + ! instabilities, times the minimum of the ratio of the mesoscale eddy kinetic + ! energy to the large-scale geostrophic kinetic energy or 1 plus the square of + ! the grid spacing over the deformation radius, as detailed by Fox-Kemper et al. + ! (2010) +MLE_FRONT_LENGTH = 1000.0 ! [m] default = 0.0 + ! If non-zero, is the frontal-length scale used to calculate the upscaling of + ! buoyancy gradients that is otherwise represented by the parameter + ! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended + ! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. +MLE_MLD_DECAY_TIME = 3.456E+05 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the mixed-layer depth used + ! in the MLE restratification parameterization. When the MLD deepens below the + ! current running-mean the running-mean is instantaneously set to the current + ! MLD. + +! === module MOM_diagnostics === -! === module MOM_CVMix_conv === -USE_CVMix_CONVECTION = True - ! "[Boolean] default = False - ! If true, turns on the enhanced mixing due to convection - ! via CVMix. This scheme increases diapycnal diffs./viscs. - ! at statically unstable interfaces. Relevant parameters are - ! contained in the CVMix_CONVECTION% parameter block." - -! === module MOM_CVMix_shear === -USE_LMD94 = True - ! "[Boolean] default = False - ! If true, use the Large-McWilliams-Doney (JGR 1994) - ! shear mixing parameterization." - -N_SMOOTH_RI = 1 - ! "default = 0 - ! If > 0, vertically smooth the Richardson number by applying a 1-2-1 filter - ! N_SMOOTH_RI times." +! === module MOM_diabatic_driver === +! The following parameters are used for diabatic processes. +USE_LEGACY_DIABATIC_DRIVER = False ! [Boolean] default = True + ! If true, use a legacy version of the diabatic subroutine. This is temporary + ! and is needed to avoid change in answers. ! === module MOM_CVMix_KPP === -USE_KPP = True - ! "[Boolean] default = False - ! If true, turns on the [CVMix] KPP scheme of Large et al., 1994, - ! to calculate diffusivities and non-local transport in the OBL." - +! This is the MOM wrapper to CVMix:KPP +! See http://cvmix.github.io/ +USE_KPP = True ! [Boolean] default = False + ! If true, turns on the [CVMix] KPP scheme of Large et al., 1994, to calculate + ! diffusivities and non-local transport in the OBL. KPP% -N_SMOOTH = 3 - ! "default = 0 - ! The number of times the 1-1-4-1-1 Laplacian filter is applied on - ! OBL depth. - ! purely for diagnostic purposes." - -MATCH_TECHNIQUE = MatchGradient - ! "default = 'SimpleShapes' - ! CVMix method to set profile function for diffusivity and NLT, - ! as well as matching across OBL base. Allowed values are: - ! SimpleShapes = sigma*(1-sigma)^2 for both diffusivity and NLT - ! MatchGradient = sigma*(1-sigma)^2 for NLT; diffusivity profile from matching - ! MatchBoth = match gradient for both diffusivity and NLT - ! ParabolicNonLocal = sigma*(1-sigma)^2 for diffusivity; (1-sigma)^2 for NLT" - -INTERP_TYPE2 = LMD94 - ! "Type of interpolation to compute diff and visc at OBL_depth - ! Allowed types are: linear, quadratic, cubic or LMD94." - -KPP_IS_ADDITIVE = False - ! "[Boolean] default = True - ! If true, adds KPP diffusivity to diffusivity from other schemes.If false, KPP is - ! the only diffusivity wherever KPP is non-zero." - +N_SMOOTH = 3 ! default = 0 + ! The number of times the 1-1-4-1-1 Laplacian filter is applied on OBL depth. +MATCH_TECHNIQUE = "MatchGradient" ! default = "SimpleShapes" + ! CVMix method to set profile function for diffusivity and NLT, as well as + ! matching across OBL base. Allowed values are: + ! SimpleShapes = sigma*(1-sigma)^2 for both diffusivity and NLT + ! MatchGradient = sigma*(1-sigma)^2 for NLT; diffusivity profile from + ! matching + ! MatchBoth = match gradient for both diffusivity and NLT + ! ParabolicNonLocal = sigma*(1-sigma)^2 for diffusivity; (1-sigma)^2 for NLT +KPP_IS_ADDITIVE = False ! [Boolean] default = True + ! If true, adds KPP diffusivity to diffusivity from other schemes. + ! If false, KPP is the only diffusivity wherever KPP is non-zero. %KPP -! === module MOM_CVMix_ddiff === -USE_CVMIX_DDIFF = True - ! "[Boolean] default = False - ! If true, turns on double diffusive processes via CVMix. - ! Note that double diffusive processes on viscosity are ignored - ! in CVMix, see http://cvmix.github.io/ for justification." - -! === module MOM_bkgnd_mixing === -HORIZ_VARYING_BACKGROUND = True - ! "[Boolean] default = False - ! If true, apply vertically uniform, latitude-dependent background diffusivity, - ! as described in Danabasoglu et al., 2012." - -KD = 2e-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." - -KDML = 0.0 - ! "[m2 s-1] - ! If BULKMIXEDLAYER is false, KDML is the elevated diapycnal diffusivity in the - ! topmost HMIX of fluid. KDML is only used if BULKMIXEDLAYER is false." +! === module MOM_CVMix_conv === +! Parameterization of enhanced mixing due to convection via CVMix +USE_CVMix_CONVECTION = True ! [Boolean] default = False + ! If true, turns on the enhanced mixing due to convection via CVMix. This scheme + ! increases diapycnal diffs./viscs. at statically unstable interfaces. Relevant + ! parameters are contained in the CVMix_CONVECTION% parameter block. +CVMix_CONVECTION% +%CVMix_CONVECTION -PRANDTL_BKGND = 5.0 - ! "[nondim] default = 1.0 - ! Turbulent Prandtl number used to convert vertical background diffusivities - ! into viscosities." +! === module MOM_set_diffusivity === +BBL_MIXING_AS_MAX = False ! [Boolean] default = True + ! If true, take the maximum of the diffusivity from the BBL mixing and the other + ! diffusivities. Otherwise, diffusivity from the BBL_mixing is simply added. +USE_LOTW_BBL_DIFFUSIVITY = True ! [Boolean] default = False + ! If true, uses a simple, imprecise but non-coordinate dependent, model of BBL + ! mixing diffusivity based on Law of the Wall. Otherwise, uses the original BBL + ! scheme. -KD_MIN = 2e-06 - ! "[m2 s-1] default = 2.0E-07 +! === module MOM_bkgnd_mixing === +! Adding static vertical background mixing coefficients +KD = 2.0E-05 ! [m2 s-1] default = 0.0 + ! The background diapycnal diffusivity of density in the interior. Zero or the + ! molecular value, ~1e-7 m2 s-1, may be used. +KD_MIN = 2.0E-06 ! [m2 s-1] default = 2.0E-07 ! The minimum diapycnal diffusivity. - ! 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)." +HORIZ_VARYING_BACKGROUND = True ! [Boolean] default = False + ! If true, apply vertically uniform, latitude-dependent background diffusivity, + ! as described in Danabasoglu et al., 2012 +PRANDTL_BKGND = 5.0 ! [nondim] default = 1.0 + ! Turbulent Prandtl number used to convert vertical background diffusivities + ! into viscosities. +KD_MAX = 0.1 ! [m2 s-1] default = -1.0 + ! The maximum permitted increment for the diapycnal diffusivity from TKE-based + ! parameterizations, or a negative value for no limit. -! === module MOM_entrain_diffusive === -MAX_ENT_IT = 20 - ! "default = 5 - ! The maximum number of iterations that may be used to - ! calculate the interior diapycnal entrainment." +! === module MOM_CVMix_shear === +! Parameterization of shear-driven turbulence via CVMix (various options) +USE_LMD94 = True ! [Boolean] default = False + ! If true, use the Large-McWilliams-Doney (JGR 1994) shear mixing + ! parameterization. +N_SMOOTH_RI = 1 ! default = 0 + ! If > 0, vertically smooth the Richardson number by applying a 1-2-1 filter + ! N_SMOOTH_RI times. -TOLERANCE_ENT = 1e-05 - ! "[m] default = 2.683281572999748E-05 - ! The tolerance with which to solve for entrainment values." +! === module MOM_CVMix_ddiff === +! Parameterization of mixing due to double diffusion processes via CVMix +USE_CVMIX_DDIFF = True ! [Boolean] default = False + ! If true, turns on double diffusive processes via CVMix. Note that double + ! diffusive processes on viscosity are ignored in CVMix, see + ! http://cvmix.github.io/ for justification. +CVMIX_DDIFF% +%CVMIX_DDIFF -! === module MOM_mixed_layer === -HMIX_MIN = 2.0 - ! "[m] default = 0.0 - ! The minimum mixed layer depth if the mixed layer depth - ! is determined dynamically." +! === module MOM_diabatic_aux === +! The following parameters are used for auxiliary diabatic processes. +PRESSURE_DEPENDENT_FRAZIL = True ! [Boolean] default = False + ! If true, use a pressure dependent freezing temperature when making frazil. The + ! default is false, which will be faster but is inappropriate with ice-shelf + ! cavities. ! === module MOM_opacity === -PEN_SW_SCALE = 15.0 - ! "[m] default = 0.0 - ! The vertical absorption e-folding depth of the - ! penetrating shortwave radiation." - -PEN_SW_FRAC = 0.42 - ! "[nondim] default = 0.0 - ! The fraction of the shortwave radiation that penetrates - ! below the surface." - -! === module MOM_diabatic_aux === -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." +PEN_SW_SCALE = 15.0 ! [m] default = 0.0 + ! The vertical absorption e-folding depth of the penetrating shortwave + ! radiation. +PEN_SW_FRAC = 0.42 ! [nondim] default = 0.0 + ! The fraction of the shortwave radiation that penetrates below the surface. ! === module MOM_tracer_advect === -TRACER_ADVECTION_SCHEME = "PPM:H3" - ! "default = 'PLM' +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)" + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) + ! PPM - Piecewise Parabolic Method (Colella-Woodward) ! === module MOM_tracer_hor_diff === -KHTR_MIN = 50.0 - ! "[m2 s-1] default = 0.0 - ! The minimum along-isopycnal tracer diffusivity." +KHTR_MIN = 50.0 ! [m2 s-1] default = 0.0 + ! The minimum along-isopycnal tracer diffusivity. +CHECK_DIFFUSIVE_CFL = True ! [Boolean] default = False + ! If true, use enough iterations the diffusion to ensure that the diffusive + ! equivalent of the CFL limit is not violated. If false, always use the greater + ! of 1 or MAX_TR_DIFFUSION_CFL iteration. +MAX_TR_DIFFUSION_CFL = 2.0 ! [nondim] default = -1.0 + ! If positive, locally limit the along-isopycnal tracer diffusivity to keep the + ! diffusive CFL locally at or below this value. The number of diffusive + ! iterations is often this value or the next greater integer. -KHTR_MAX = 0.0 - ! "[m2 s-1] default = 0.0 - ! The maximum along-isopycnal tracer diffusivity." - -CHECK_DIFFUSIVE_CFL = True - ! "[Boolean] default = False - ! If true, use enough iterations the diffusion to ensure - ! that the diffusive equivalent of the CFL limit is not - ! violated. If false, always use the greater of 1 or - ! MAX_TR_DIFFUSION_CFL iteration." +! === module MOM_neutral_diffusion === +! This module implements neutral diffusion of tracers +USE_NEUTRAL_DIFFUSION = True ! [Boolean] default = False + ! If true, enables the neutral diffusion module. +NDIFF_INTERIOR_ONLY = True ! [Boolean] default = False + ! If true, only applies neutral diffusion in the ocean interior.That is, the + ! algorithm will exclude the surface and bottomboundary layers. -MAX_TR_DIFFUSION_CFL = 2.0 - ! "[nondim] default = -1.0 - ! If positive, locally limit the along-isopycnal tracer - ! diffusivity to keep the diffusive CFL locally at or - ! below this value. The number of diffusive iterations - ! is often this value or the next greater integer." +! === module MOM_hor_bnd_diffusion === +! This module implements horizontal diffusion of tracers near boundaries +USE_HORIZONTAL_BOUNDARY_DIFFUSION = True ! [Boolean] default = False + ! If true, enables the horizonal boundary tracer's diffusion module. +HBD_LINEAR_TRANSITION = True ! [Boolean] default = False + ! If True, apply a linear transition at the base/top of the boundary. + ! The flux will be fully applied at k=k_min and zero at k=k_max. ! === module MOM_sum_output === -MAXTRUNC = 0 - ! "[truncations save_interval-1] default = 0 - ! The run will be stopped, and the day set to a very - ! large value if the velocity is truncated more than - ! MAXTRUNC times between energy saves. Set MAXTRUNC to 0 - ! to stop if there is any truncation of velocities." - -ENERGYSAVEDAYS = 1.0 - ! "[days] default = 1.0 - ! The interval in units of TIMEUNIT between saves of the - ! energies of the run and other globally summed diagnostics." - -! === module MOM_MEKE === -USE_MEKE = True - ! "[Boolean] default = False - ! If true, turns on the MEKE scheme which calculates - ! a sub-grid mesoscale eddy kinetic energy budget." - -MEKE_GMCOEFF = 0.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_KHMEKE_FAC = 0.5 - ! "[nondim] default = 0.0 - ! A factor that maps MEKE%Kh to Kh for MEKE itself." - -MEKE_VISCOSITY_COEFF_KU = 0.2 - ! "[nondim] default = 0.0 - ! If non-zero, is the scaling coefficient in the expression forviscosity used to - ! parameterize harmonic lateral momentum mixing byunresolved eddies represented - ! by MEKE. Can be negative torepresent backscatter from the unresolved eddies." - -MEKE_MIN_LSCALE = True - ! "[Boolean] default = False - ! If true, use a strict minimum of provided length scales rather than harmonic - ! mean." - -MEKE_ALPHA_RHINES = 1.0 - ! "[nondim] default = 0.05 - ! If positive, is a coefficient weighting the Rhines scale - ! in the expression for mixing length used in MEKE-derived diffusiviity." -MEKE_ALPHA_EADY = 1.0 - ! "[nondim] default = 0.05 - ! If positive, is a coefficient weighting the Eady length scale - ! in the expression for mixing length used in MEKE-derived diffusiviity." - -MEKE_ALPHA_DEFORM = 1.0 - ! "[nondim] default = 0.0 - ! If positive, is a coefficient weighting the deformation scale in the - ! expression for mixing length used in MEKE-derived diffusivity." - -MEKE_ALPHA_FRICT = 1.0 - ! "[nondim] default = 0.0 - ! If positive, is a coefficient weighting the frictional arrest scale in the - ! expression for mixing length used in MEKE-derived diffusivity." - -MEKE_ALPHA_GRID = 1.0 - ! "[nondim] default = 0.0 - ! If positive, is a coefficient weighting the grid-spacing as a scale in the - ! expression for mixing length used in MEKE-derived diffusivity." - -MEKE_GEOMETRIC = True - ! "[Boolean] default = False - ! If MEKE_GEOMETRIC is true, uses the GM coefficient formulation from the - ! GEOMETRIC framework (Marshall et al., 2012)." - -MEKE_KHTH_FAC = 1.0 - ! "[nondim] default = 0.0 - ! A factor that maps MEKE%Kh to KhTh." - -MEKE_KHTR_FAC = 1.0 - ! "[nondim] default = 0.0 - ! A factor that maps MEKE%Kh to KhTr." - -MEKE_EQUILIBRIUM_ALT = True - ! "[Boolean] default = False - ! If true, use an alternative formula for computing the (equilibrium)initial - ! value of MEKE." - -MEKE_VISC_DRAG = False - ! "[Boolean] default = True - ! If true, use the vertvisc_type to calculate the bottom drag acting on MEKE." - -MEKE_EQUILIBRIUM_RESTORING = True - ! "[Boolean] default = False - ! If true, restore MEKE back to its equilibrium value, which is calculated - ! at each time step." - -MEKE_RESTORING_TIMESCALE = 10000000.0 - ! "[s] default = 1.0E+06 - ! The timescale used to nudge MEKE toward its equilibrium value." - -MEKE_ADVECTION_FACTOR = 1.0 - ! "[nondim] default = 0.0 - ! A scale factor in front of advection of eddy energy. Zero turns advection off. - ! Using unity would be normal but other values could accommodate a mismatch - ! between the advecting barotropic flow and the vertical structure of MEKE." - -! === module MOM_kappa_shear === -MAX_RINO_IT = 25 - ! "[nondim] default = 50 - ! The maximum number of iterations that may be used to - ! estimate the Richardson number driven mixing." - -KAPPA_SHEAR_ITER_BUG = False - ! "[Boolean] default = True - ! If true, use an older, dimensionally inconsistent estimate of the derivative - ! of diffusivity with energy in the Newton's method iteration. The bug causes - ! undercorrections when dz > 1 m." - -KAPPA_SHEAR_ALL_LAYER_TKE_BUG = False - ! "[Boolean] default = True - ! If true, report back the latest estimate of TKE instead of the time average - ! TKE when there is mass in all layers. Otherwise always report the time averaged - ! TKE, as is currently done when there are some massless layers." - -! === module MOM_diag_mediator === -DIAG_COORD_DEF_Z = "FILE:ocean_vgrid.nc,interfaces=zeta" - ! "default = WOA09 - ! Determines how to specify the coordinate - ! resolution. Valid options are: - ! PARAM - use the vector-parameter DIAG_COORD_RES_Z - ! UNIFORM[:N] - uniformly distributed - ! FILE:string - read from a file. The string specifies - ! the filename and variable name, separated - ! by a comma or space, e.g. FILE:lev.nc,dz - ! or FILE:lev.nc,interfaces=zw - ! WOA09[:N] - the WOA09 vertical grid (approximately) - ! FNC1:string - FNC1:dz_min,H_total,power,precision - ! HYBRID:string - read from a file. The string specifies - ! the filename and two variable names, separated - ! by a comma or space, for sigma-2 and dz. e.g. - ! HYBRID:vgrid.nc,sigma2,dz" +! === module ocean_stochastics_init === + +! === module ocean_model_init === +RESTART_CONTROL = 3 ! default = 1 + ! An integer whose bits encode which restart files are written. Add 2 (bit 1) + ! for a time-stamped file, and odd (bit 0) for a non-time-stamped file. A + ! restart file will be saved at the end of the run segment for any non-negative + ! value. +OCEAN_SURFACE_STAGGER = "A" ! default = "C" + ! A case-insensitive character string to indicate the staggering of the surface + ! velocity field that is returned to the coupler. Valid values include 'A', + ! 'B', or 'C'. +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_nuopc === -ENTHALPY_FROM_COUPLER = True - ! "[Boolean] default = False - ! If True, the heat (enthalpy) associated with mass entering/leaving - ! the ocean is provided via coupler." - -LATENT_HEAT_FUSION = 3.337E+05 ! [J/kg] default = 3.337E+05 - -LATENT_HEAT_VAPORIZATION = 2.501E+06 ! [J/kg] default = 2.501E+06 +LATENT_HEAT_FUSION = 3.337E+05 ! [J/kg] default = 3.34E+05 + ! The latent heat of fusion. +LATENT_HEAT_VAPORIZATION = 2.501E+06 ! [J/kg] default = 2.5E+06 + ! The latent heat of fusion. +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. +ENTHALPY_FROM_COUPLER = True ! [Boolean] default = False + ! If True, the heat (enthalpy) associated with mass entering/leaving the ocean + ! is provided via coupler. +FLUXCONST = 0.11 ! [m day-1] default = 0.0 + ! The constant that relates the restoring surface fluxes to the relative surface + ! anomalies (akin to a piston velocity). Note the non-MKS units. +SALT_RESTORE_FILE = "salt_sfc_restore.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 = 0.5 ! [PSU or g kg-1] default = 999.0 + ! The maximum salinity difference used in restoring terms. +GUST_CONST = 0.02 ! [Pa] default = 0.0 + ! The background gustiness in the winds.