diff --git a/parm/mom6/MOM_input_template_025 b/parm/mom6/MOM_input_template_025 index f7ba839392d..aa1da780298 100644 --- a/parm/mom6/MOM_input_template_025 +++ b/parm/mom6/MOM_input_template_025 @@ -1,112 +1,116 @@ -/* This input file provides the adjustable run-time parameters for version 6 of - the Modular Ocean Model (MOM6), a numerical ocean model developed at NOAA-GFDL. - Where appropriate, parameters use usually given in MKS units. +! This input file provides the adjustable run-time parameters for version 6 of the Modular Ocean Model (MOM6). +! Where appropriate, parameters use usually given in MKS units. - This particular file is for the example in OM4_025. +! This particular file is for the example in ice_ocean_SIS2/OM4_025. - This MOM_input file typically contains only the non-default values that are - needed to reproduce this example. A full list of parameters for this example - can be found in the corresponding MOM_parameter_doc.all file which is - generated by the model at run-time. */ +! This MOM_input file typically contains only the non-default values that are needed to reproduce this example. +! A full list of parameters for this example can be found in the corresponding MOM_parameter_doc.all file +! which is generated by the model at run-time. + +! === module MOM_domains === +TRIPOLAR_N = True ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the domain. With + ! TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = NX_GLB ! + ! 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 = NY_GLB ! + ! The total number of thickness grid points in the y-direction in the physical + ! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +NIHALO = 4 ! default = 4 + ! The number of halo points on each side in the x-direction. 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 = 4 + ! 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. +! LAYOUT = 32, 18 ! + ! The processor layout that was actually used. +! IO_LAYOUT = 1, 1 ! default = 1 + ! The processor layout to be used, or 0,0 to automatically set the io_layout to + ! be the same as the layout. ! === module MOM === USE_REGRIDDING = True ! [Boolean] default = False - ! If True, use the ALE algorithm (regridding/remapping). - ! If False, use the layered isopycnal algorithm. + ! If True, use the ALE algorithm (regridding/remapping). If False, use the + ! layered isopycnal algorithm. THICKNESSDIFFUSE = True ! [Boolean] default = False - ! If true, interface heights are diffused with a - ! coefficient of KHTH. + ! If true, interface heights are diffused with a coefficient of KHTH. THICKNESSDIFFUSE_FIRST = True ! [Boolean] default = False - ! If true, do thickness diffusion before dynamics. - ! This is only used if THICKNESSDIFFUSE is true. + ! If true, do thickness diffusion before dynamics. This is only used if + ! THICKNESSDIFFUSE is true. DT = DT_DYNAM_MOM6 ! [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.) + ! 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 = DT_THERM_MOM6 ! [s] default = 900.0 - ! The thermodynamic and tracer advection time step. - ! Ideally DT_THERM should be an integer multiple of DT - ! and less than the forcing or coupling time-step, unless - ! THERMO_SPANS_COUPLING is true, in which case DT_THERM - ! can be an integer multiple of the coupling timestep. By - ! default DT_THERM is set to DT. -THERMO_SPANS_COUPLING = MOM6_THERMO_SPAN ! [Boolean] default = False - ! If true, the MOM will take thermodynamic and tracer - ! timesteps that can be longer than the coupling timestep. - ! The actual thermodynamic timestep that is used in this - ! case is the largest integer multiple of the coupling - ! timestep that is less than or equal to DT_THERM. + ! The thermodynamic and tracer advection time step. Ideally DT_THERM should be + ! an integer multiple of DT and less than the forcing or coupling time-step, + ! unless THERMO_SPANS_COUPLING is true, in which case DT_THERM can be an integer + ! multiple of the coupling timestep. By default DT_THERM is set to DT. +THERMO_SPANS_COUPLING = MOM6_THERMO_SPAN ! [Boolean] default = False + ! If true, the MOM will take thermodynamic and tracer timesteps that can be + ! longer than the coupling timestep. The actual thermodynamic timestep that is + ! used in this case is the largest integer multiple of the coupling timestep + ! that is less than or equal to DT_THERM. HFREEZE = 20.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. + ! where OBLD is the boundary layer depth. If HFREEZE <= 0 (default) +USE_PSURF_IN_EOS = False ! [Boolean] default = False + ! If true, always include the surface pressure contributions in equation of + ! state calculations. 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 + ! If true, water freezes if it gets too cold, and the accumulated heat deficit + ! is returned in the surface state. FRAZIL is only used if ! ENABLE_THERMODYNAMICS is true. DO_GEOTHERMAL = True ! [Boolean] default = False ! If true, apply geothermal heating. BOUND_SALINITY = True ! [Boolean] default = False - ! If true, limit salinity to being positive. (The sea-ice - ! model may ask for more salt than is available and - ! drive the salinity negative otherwise.) + ! If true, limit salinity to being positive. (The sea-ice model may ask for more + ! salt than is available and drive the salinity negative otherwise.) +MIN_SALINITY = 0.01 ! [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. 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. + ! 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. + ! 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 = 65.0 ! [deg C] default = 45.0, PTripp: changed from 55.0 on 12/28/2017 - ! The value of SST above which a bad value message is - ! triggered, if CHECK_BAD_SURFACE_VALS is true. + ! 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. + ! The value of SST below which a bad value message is triggered, if + ! CHECK_BAD_SURFACE_VALS is true. +DEFAULT_2018_ANSWERS = True ! [Boolean] default = True + ! This sets the default value for the various _2018_ANSWERS parameters. WRITE_GEOM = 2 ! default = 1 - ! If =0, never write the geometry and vertical grid files. - ! If =1, write the geometry and vertical grid files only for - ! a new simulation. If =2, always write the geometry and - ! vertical grid files. Other values are invalid. - -! === module MOM_domains === -TRIPOLAR_N = True ! [Boolean] default = False - ! Use tripolar connectivity at the northern edge of the - ! domain. With TRIPOLAR_N, NIGLOBAL must be even. -NIGLOBAL = NX_GLB ! - ! 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 = NY_GLB ! - ! 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. + ! If =0, never write the geometry and vertical grid files. If =1, write the + ! geometry and vertical grid files only for a new simulation. If =2, always + ! write the geometry and vertical grid files. Other values are invalid. +SAVE_INITIAL_CONDS = True ! [Boolean] default = False + ! If true, write the initial conditions to a file given by IC_OUTPUT_FILE. ! === module MOM_hor_index === ! Sets the horizontal array index types. -! === module MOM_verticalGrid === -! Parameters providing information about the vertical grid. -NK = 75 ! [nondim] - ! The number of model layers. - ! === module MOM_fixed_initialization === INPUTDIR = "INPUT" ! default = "." ! The directory in which input files are found. ! === module MOM_grid_init === GRID_CONFIG = "mosaic" ! - ! A character string that determines the method for - ! defining the horizontal grid. Current options are: + ! 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. @@ -135,8 +139,8 @@ TOPO_CONFIG = "file" ! ! 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. - ! supercritical - flat but with 8.95 degree land mask. ! 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. @@ -147,23 +151,24 @@ TOPO_EDITS_FILE = "All_edits.nc" ! default = "" 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 deeper than MASKING_DEPTH are rounded to MINIMUM_DEPTH. + ! 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. GRID_ROTATION_ANGLE_BUGS = False ! [Boolean] default = True - ! If true, use an older algorithm to calculate the sine and + ! 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 USE_TRIPOLAR_GEOLONB_BUG = False ! [Boolean] default = True - ! If true, use older code that incorrectly sets the longitude + ! If true, use older code that incorrectly sets the longitude ! in some points along the tripolar fold to be off by 360 degrees ! === module MOM_open_boundary === -! Controls where open boundaries are located, what kind of boundary condition to impose, and what data to apply, if any. +! Controls where open boundaries are located, what kind of boundary condition to impose, and what data to apply, +! if any. 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. + ! 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: @@ -178,18 +183,22 @@ CHANNEL_CONFIG = "list" ! default = "none" CHANNEL_LIST_FILE = "MOM_channels_global_025" ! default = "MOM_channel_list" ! The file from which the list of narrowed channels is read. +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. +NK = 75 ! [nondim] + ! The number of model layers. + ! === module MOM_tracer_registry === ! === module MOM_EOS === DTFREEZE_DP = -7.75E-08 ! [deg C Pa-1] default = 0.0 - ! When TFREEZE_FORM=LINEAR, - ! this is the derivative of the freezing potential + ! When TFREEZE_FORM=LINEAR, this is the derivative of the freezing potential ! temperature with pressure. ! === module MOM_restart === PARALLEL_RESTARTFILES = True ! [Boolean] default = False - ! If true, each processor writes its own restart file, - ! otherwise a single restart file is generated + ! If true, each processor writes its own restart file, otherwise a single + ! restart file is generated ! === module MOM_tracer_flow_control === USE_IDEAL_AGE_TRACER = False ! [Boolean] default = False @@ -218,26 +227,26 @@ COORD_CONFIG = "file" ! ! USER - call a user modified routine. COORD_FILE = "layer_coord.nc" ! ! The file from which the coordinate densities are read. +REMAP_UV_USING_OLD_ALG = True ! [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. REGRIDDING_COORDINATE_MODE = "HYCOM1" ! 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 + ! Coordinate mode for vertical regridding. Choose among the following + ! possibilities: LAYER - Isopycnal or stacked shallow water layers + ! ZSTAR, Z* - stretched geopotential z* + ! SIGMA_SHELF_ZSTAR - stretched geopotential z* ignoring shelf ! SIGMA - terrain following coordinates ! RHO - continuous isopycnal ! HYCOM1 - HyCOM-like hybrid coordinate ! SLIGHT - stretched coordinates above continuous isopycnal ! ADAPTIVE - optimize for smooth neutral density surfaces BOUNDARY_EXTRAPOLATION = True ! [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. + ! 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. ALE_COORDINATE_CONFIG = "HYBRID:hycom1_75_800m.nc,sigma2,FNC1:2,4000,4.5,.01" ! default = "UNIFORM" - ! Determines how to specify the coordinate - ! resolution. Valid options are: + ! 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 @@ -257,11 +266,10 @@ ALE_COORDINATE_CONFIG = "HYBRID:hycom1_75_800m.nc,sigma2,FNC1:2,4000,4.5,.01" ! ! thicknesses (in m). In sigma-coordinate mode, the list ! is of non-dimensional fractions of the water column. !TARGET_DENSITIES = 1010.0, 1014.3034, 1017.8088, 1020.843, 1023.5566, 1025.813, 1027.0275, 1027.9114, 1028.6422, 1029.2795, 1029.852, 1030.3762, 1030.8626, 1031.3183, 1031.7486, 1032.1572, 1032.5471, 1032.9207, 1033.2798, 1033.6261, 1033.9608, 1034.2519, 1034.4817, 1034.6774, 1034.8508, 1035.0082, 1035.1533, 1035.2886, 1035.4159, 1035.5364, 1035.6511, 1035.7608, 1035.8661, 1035.9675, 1036.0645, 1036.1554, 1036.2411, 1036.3223, 1036.3998, 1036.4739, 1036.5451, 1036.6137, 1036.68, 1036.7441, 1036.8062, 1036.8526, 1036.8874, 1036.9164, 1036.9418, 1036.9647, 1036.9857, 1037.0052, 1037.0236, 1037.0409, 1037.0574, 1037.0738, 1037.0902, 1037.1066, 1037.123, 1037.1394, 1037.1558, 1037.1722, 1037.1887, 1037.206, 1037.2241, 1037.2435, 1037.2642, 1037.2866, 1037.3112, 1037.3389, 1037.3713, 1037.4118, 1037.475, 1037.6332, 1037.8104, 1038.0 ! [m] - ! HYBRID target densities for itnerfaces -REGRID_COMPRESSIBILITY_FRACTION = 0.01 ! [not defined] default = 0.0 - ! When interpolating potential density profiles we can add - ! some artificial compressibility solely to make homogenous - ! regions appear stratified. + ! HYBRID target densities for interfaces +REGRID_COMPRESSIBILITY_FRACTION = 0.01 ! [nondim] default = 0.0 + ! When interpolating potential density profiles we can add some artificial + ! compressibility solely to make homogeneous regions appear stratified. MAXIMUM_INT_DEPTH_CONFIG = "FNC1:5,8000.0,1.0,.01" ! default = "NONE" ! Determines how to specify the maximum interface depths. ! Valid options are: @@ -285,10 +293,9 @@ MAX_LAYER_THICKNESS_CONFIG = "FNC1:400,31000.0,0.1,.01" ! default = "NONE" !MAX_LAYER_THICKNESS = 400.0, 409.63, 410.32, 410.75, 411.07, 411.32, 411.52, 411.7, 411.86, 412.0, 412.13, 412.24, 412.35, 412.45, 412.54, 412.63, 412.71, 412.79, 412.86, 412.93, 413.0, 413.06, 413.12, 413.18, 413.24, 413.29, 413.34, 413.39, 413.44, 413.49, 413.54, 413.58, 413.62, 413.67, 413.71, 413.75, 413.78, 413.82, 413.86, 413.9, 413.93, 413.97, 414.0, 414.03, 414.06, 414.1, 414.13, 414.16, 414.19, 414.22, 414.24, 414.27, 414.3, 414.33, 414.35, 414.38, 414.41, 414.43, 414.46, 414.48, 414.51, 414.53, 414.55, 414.58, 414.6, 414.62, 414.65, 414.67, 414.69, 414.71, 414.73, 414.75, 414.77, 414.79, 414.83 ! [m] ! The list of maximum thickness for each layer. 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) + ! 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) @@ -300,18 +307,16 @@ REMAPPING_SCHEME = "PPM_H4" ! default = "PLM" ! === 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. + ! 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 = "WOA05_pottemp_salt.nc" ! default = "temp_salt_z.nc" -TEMP_SALT_Z_INIT_FILE = "MOM6_IC_TS.nc" +TEMP_SALT_Z_INIT_FILE = "MOM6_IC_TS.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" +Z_INIT_FILE_PTEMP_VAR = "temp" ! default = "ptemp" ! The name of the potential temperature variable in ! TEMP_Z_INIT_FILE. Z_INIT_FILE_SALT_VAR = "salt" ! default = "salt" @@ -319,6 +324,9 @@ Z_INIT_FILE_SALT_VAR = "salt" ! default = "salt" ! SALT_Z_INIT_FILE. Z_INIT_ALE_REMAPPING = True ! [Boolean] default = False ! If True, then remap straight to model coordinate from file. +Z_INIT_REMAP_OLD_ALG = True ! [Boolean] default = True + ! If false, uses the preferred remapping algorithm for initialization. If true, + ! use an older, less robust algorithm for remapping. ! === module MOM_diag_mediator === !Jiande NUM_DIAG_COORDS = 2 ! default = 1 @@ -332,9 +340,8 @@ DIAG_COORDS = "z Z ZSTAR" ! is of the form "MODULE_SUFFIX,PARAMETER_SUFFIX,COORDINATE_NAME". DIAG_COORD_DEF_Z="FILE:interpolate_zgrid_40L.nc,interfaces=zw" DIAG_MISVAL = -1e34 -!Jiande DIAG_COORD_DEF_RHO2 = "RFNC1:35,999.5,1028,1028.5,8.,1038.,0.0078125" ! default = "WOA09" - ! Determines how to specify the coordinate - ! resolution. Valid options are: +!DIAG_COORD_DEF_RHO2 = "FILE:diag_rho2.nc,interfaces=rho2" ! default = "WOA09" + ! Determines how to specify the coordinate resolution. Valid options are: ! PARAM - use the vector-parameter DIAG_COORD_RES_RHO2 ! UNIFORM[:N] - uniformly distributed ! FILE:string - read from a file. The string specifies @@ -350,115 +357,112 @@ DIAG_MISVAL = -1e34 ! === 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. + ! If true, turns on the MEKE scheme which calculates a sub-grid mesoscale eddy + ! kinetic energy budget. 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. + ! 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_BGSRC = 1.0E-13 ! [W kg-1] default = 0.0 ! A background energy source for MEKE. MEKE_KHMEKE_FAC = 1.0 ! [nondim] default = 0.0 ! A factor that maps MEKE%Kh to Kh for MEKE itself. MEKE_ALPHA_RHINES = 0.15 ! [nondim] default = 0.05 - ! If positive, is a coefficient weighting the Rhines scale - ! in the expression for mixing length used in MEKE-derived diffusiviity. + ! If positive, is a coefficient weighting the Rhines scale in the expression for + ! mixing length used in MEKE-derived diffusivity. MEKE_ALPHA_EADY = 0.15 ! [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. + ! If positive, is a coefficient weighting the Eady length scale in the + ! expression for mixing length used in MEKE-derived diffusivity. ! === 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. + ! 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. + ! 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. + ! 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 + ! The nondimensional coefficient in the Visbeck formula for the epipycnal tracer + ! diffusivity USE_STORED_SLOPES = True ! [Boolean] default = False - ! If true, the isopycnal slopes are calculated once and - ! stored for re-use. This uses more memory but avoids calling - ! the equation of state more times than should be necessary. + ! 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. + ! 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. + ! 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 in front of the beta term in the denominator. Gill's + ! is the more appropriate definition. ! === 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. + ! If true, the bottom drag is exerted directly on each layer proportional to the + ! fraction of the bottom it overlies. PRANDTL_TURB = 1.25 ! [nondim] default = 1.0 - ! The turbulent Prandtl number applied to shear - ! instability. + ! The turbulent Prandtl number applied to shear instability. 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. + ! The thickness of a bottom boundary layer with a viscosity of KVBBL if + ! BOTTOMDRAGLAW is not defined, or the thickness over which near-bottom + ! velocities are averaged for the drag law if BOTTOMDRAGLAW is defined but + ! LINEAR_DRAG is not. DRAG_BG_VEL = 0.1 ! [m s-1] default = 0.0 - ! DRAG_BG_VEL is either the assumed bottom velocity (with - ! LINEAR_DRAG) or an unresolved velocity that is - ! combined with the resolved velocity to estimate the - ! velocity magnitude. DRAG_BG_VEL is only used when - ! BOTTOMDRAGLAW is defined. + ! 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. + ! 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 + ! 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. + ! The background kinematic viscosity in the interior. The molecular value, ~1e-6 + ! m2 s-1, may be used. KV_BBL_MIN = 0.0 ! [m2 s-1] default = 1.0E-04 ! The minimum viscosities in the bottom boundary layer. KV_TBL_MIN = 0.0 ! [m2 s-1] default = 1.0E-04 ! The minimum viscosities in the top boundary layer. +! === module MOM_thickness_diffuse === +KHTH_MAX_CFL = 0.1 ! [nondimensional] default = 0.8 + ! The maximum value of the local diffusive CFL ratio that is permitted for the + ! thickness diffusivity. 1.0 is the marginally unstable value in a pure layered + ! model, but much smaller numbers (e.g. 0.1) seem to work better for ALE-based + ! models. +USE_GM_WORK_BUG = True ! [Boolean] default = True + ! If true, compute the top-layer work tendency on the u-grid with the incorrect + ! sign, for legacy reproducibility. + ! === module MOM_continuity === ! === module MOM_continuity_PPM === 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. + ! 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. 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. + ! 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. ! === module MOM_CoriolisAdv === CORIOLIS_SCHEME = "SADOURNY75_ENSTRO" ! default = "SADOURNY75_ENERGY" - ! CORIOLIS_SCHEME selects the discretization for the - ! Coriolis terms. Valid values are: + ! 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. @@ -466,316 +470,277 @@ CORIOLIS_SCHEME = "SADOURNY75_ENSTRO" ! default = "SADOURNY75_ENERGY" ! 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. + ! 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_PressureForce === ! === module MOM_PressureForce_AFV === 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. + ! If true, use mass weighting when interpolating T/S for integrals near the + ! bathymetry in AFV pressure gradient calculations. ! === module MOM_hor_visc === LAPLACIAN = True ! [Boolean] default = False ! If true, use a Laplacian horizontal viscosity. AH_VEL_SCALE = 0.01 ! [m s-1] default = 0.0 - ! The velocity scale which is multiplied by the cube of - ! the grid spacing to calculate the biharmonic viscosity. - ! The final viscosity is the largest of this scaled - ! viscosity, the Smagorinsky and Leith viscosities, and AH. + ! The velocity scale which is multiplied by the cube of the grid spacing to + ! calculate the biharmonic viscosity. The final viscosity is the largest of this + ! scaled viscosity, the Smagorinsky and Leith viscosities, and AH. SMAGORINSKY_AH = True ! [Boolean] default = False - ! If true, use a biharmonic Smagorinsky nonlinear eddy - ! viscosity. + ! 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. + ! The nondimensional biharmonic Smagorinsky constant, typically 0.015 - 0.06. +USE_LAND_MASK_FOR_HVISC = False ! [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. ! === module MOM_vert_friction === -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. + ! 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. + ! The maximum velocity allowed before the velocity components are truncated. ! === module MOM_PointAccel === +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 maxCFL_BT_cont to be accommodated. + ! 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 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. + ! 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. DYNAMIC_SURFACE_PRESSURE = True ! [Boolean] default = False - ! If true, add a dynamic pressure due to a viscous ice - ! shelf, for instance. + ! If true, add a dynamic pressure due to a viscous ice shelf, for instance. 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. + ! 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. + ! The barotropic time step, in s. DTBT is only used with the split explicit time + ! stepping. To set the time step automatically based the maximum stable value + ! use 0, or a negative value gives the fraction of the stable value. Setting + ! DTBT to 0 is the same as setting it to -0.98. The value of DTBT that will + ! actually be used is an integer fraction of DT, rounding down. BT_USE_OLD_CORIOLIS_BRACKET_BUG = True ! [Boolean] default = False - ! If True, use an order of operations that is not bitwise - ! rotationally symmetric in the meridional Coriolis term of - ! the barotropic solver. - -! === module MOM_thickness_diffuse === -KHTH_MAX_CFL = 0.1 ! [nondimensional] default = 0.8 - ! The maximum value of the local diffusive CFL ratio that - ! is permitted for the thickness diffusivity. 1.0 is the - ! marginally unstable value in a pure layered model, but - ! much smaller numbers (e.g. 0.1) seem to work better for - ! ALE-based models. + ! If True, use an order of operations that is not bitwise rotationally symmetric + ! in the meridional Coriolis term of the barotropic solver. ! === module MOM_mixed_layer_restrat === MIXEDLAYER_RESTRAT = True ! [Boolean] default = False - ! If true, a density-gradient dependent re-stratifying - ! flow is imposed in the mixed layer. Can be used in ALE mode - ! without restriction but in layer mode can only be used if - ! BULKMIXEDLAYER is true. + ! 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) + ! 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 = 500.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. + ! If non-zero, is the frontal-length scale used to calculate the upscaling of + ! buoyancy gradients that is otherwise represented by the parameter + ! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended + ! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. MLE_USE_PBL_MLD = True ! [Boolean] default = False - ! If true, the MLE parameterization will use the mixed-layer - ! depth provided by the active PBL parameterization. If false, - ! MLE will estimate a MLD based on a density difference with the - ! surface using the parameter MLE_DENSITY_DIFF. + ! If true, the MLE parameterization will use the mixed-layer depth provided by + ! the active PBL parameterization. If false, MLE will estimate a MLD based on a + ! density difference with the surface using the parameter MLE_DENSITY_DIFF. MLE_MLD_DECAY_TIME = 2.592E+06 ! [s] default = 0.0 - ! The time-scale for a running-mean filter applied to the mixed-layer - ! depth used in the MLE restratification parameterization. When - ! the MLD deepens below the current running-mean the running-mean - ! is instantaneously set to the current MLD. - -! === module MOM_diag_to_Z === -!Z_OUTPUT_GRID_FILE = "analysis_vgrid_lev35.v1.nc" ! default = "" -!Z_OUTPUT_GRID_FILE = "interpolate_zgrid_40L.nc" - ! The file that specifies the vertical grid for - ! depth-space diagnostics, or blank to disable - ! depth-space output. -!NK_ZSPACE (from file) = 35 ! [nondim] - ! The number of depth-space levels. This is determined - ! from the size of the variable zw in the output grid file. + ! 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_diabatic_driver === ! The following parameters are used for diabatic processes. ENERGETICS_SFC_PBL = True ! [Boolean] default = False - ! If true, use an implied energetics planetary boundary - ! layer scheme to determine the diffusivity and viscosity - ! in the surface boundary layer. + ! If true, use an implied energetics planetary boundary layer scheme to + ! determine the diffusivity and viscosity in the surface boundary layer. EPBL_IS_ADDITIVE = False ! [Boolean] default = True - ! If true, the diffusivity from ePBL is added to all - ! other diffusivities. Otherwise, the larger of kappa- - ! shear and ePBL diffusivities are used. + ! If true, the diffusivity from ePBL is added to all other diffusivities. + ! Otherwise, the larger of kappa-shear and ePBL diffusivities are used. -! === module MOM_KPP === -! This is the MOM wrapper to CVmix:KPP -! See http://code.google.com/p/cvmix/ +! === module MOM_CVMix_KPP === +! This is the MOM wrapper to CVMix:KPP +! See http://cvmix.github.io/ -! === module MOM_diffConvection === -! This module implements enhanced diffusivity as a -! function of static stability, N^2. -CONVECTION% -%CONVECTION +! === module MOM_tidal_mixing === +! Vertical Tidal Mixing Parameterization +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 = "POLZIN_09" ! 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-stretched algebraic + ! decay profile. +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. +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 INT_TIDE_DISSIPATION. +TKE_ITIDE_MAX = 0.1 ! [W m-2] default = 1000.0 + ! The maximum internal tide energy source available to mix above the bottom + ! boundary layer with INT_TIDE_DISSIPATION. +READ_TIDEAMP = 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.v20140616.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_entrain_diffusive === +! === module MOM_CVMix_conv === +! Parameterization of enhanced mixing due to convection via CVMix ! === module MOM_geothermal === GEOTHERMAL_SCALE = 1.0 ! [W m-2 or various] default = 0.0 - ! The constant geothermal heat flux, a rescaling - ! factor for the heat flux read from GEOTHERMAL_FILE, or - ! 0 to disable the geothermal heating. + ! The constant geothermal heat flux, a rescaling factor for the heat flux read + ! from GEOTHERMAL_FILE, or 0 to disable the geothermal heating. GEOTHERMAL_FILE = "geothermal_davies2013_v1.nc" ! default = "" - ! The file from which the geothermal heating is to be - ! read, or blank to use a constant heating rate. + ! The file from which the geothermal heating is to be read, or blank to use a + ! constant heating rate. GEOTHERMAL_VARNAME = "geothermal_hf" ! default = "geo_heat" - ! The name of the geothermal heating variable in - ! GEOTHERMAL_FILE. + ! The name of the geothermal heating variable in GEOTHERMAL_FILE. ! === 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, - ! diffusiviy from the BBL_mixing is simply added. + ! 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. + ! 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. 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. -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. + ! If true, uses a simple estimate of Kd/TKE that will work for arbitrary + ! vertical coordinates. If false, calculates Kd/TKE and bounds based on exact + ! energetics for an isopycnal layer-formulation. + +! === module MOM_bkgnd_mixing === +! Adding static vertical background mixing coefficients KD = 1.5E-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. + ! 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 = 1.5E-07 ! The minimum diapycnal diffusivity. +HENYEY_IGW_BACKGROUND = True ! [Boolean] default = False + ! If true, use a latitude-dependent scaling for the near surface background + ! diffusivity, as described in Harrison & Hallberg, JPO 2008. KD_MAX = 0.1 ! [m2 s-1] default = -1.0 - ! The maximum permitted increment for the diapycnal - ! diffusivity from TKE-based parameterizations, or a - ! negative value for no limit. -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 = "POLZIN_09" ! 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. -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.v20140616.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. + ! The maximum permitted increment for the diapycnal diffusivity from TKE-based + ! parameterizations, or a negative value for no limit. ! === module MOM_kappa_shear === ! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 USE_JACKSON_PARAM = True ! [Boolean] default = False - ! If true, use the Jackson-Hallberg-Legg (JPO 2008) - ! shear mixing parameterization. + ! 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. -VERTEX_SHEAR = True ! [Boolean] default = False + ! The maximum number of iterations that may be used to estimate the Richardson + ! number driven mixing. +VERTEX_SHEAR = False ! [Boolean] default = False ! If true, do the calculations of the shear-driven mixing ! at the cell vertices (i.e., the vorticity points). + +KAPPA_SHEAR_ITER_BUG = True ! [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 = True ! [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_CVMix_shear === ! Parameterization of shear-driven turbulence via CVMix (various options) +! === module MOM_CVMix_ddiff === +! Parameterization of mixing due to double diffusion processes via CVMix + ! === module MOM_diabatic_aux === ! The following parameters are used for auxiliary diabatic processes. -RECLAIM_FRAZIL = True ! [Boolean] default = True - ! If true, try to use any frazil heat deficit to cool any - ! overlying layers down to the freezing point, thereby - ! avoiding the creation of thin ice when the SST is above - ! the freezing point. - PRESSURE_DEPENDENT_FRAZIL = False ! [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. + ! 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. +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-clim-1997-2010.1440x1080.v20180328.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. +CHL_VARNAME = "chlor_a" ! default = "CHL_A" + ! Name of CHL_A variable in CHL_FILE. ! === module MOM_energetic_PBL === -MSTAR_MODE = 2 ! [units=nondim] default = 0 - ! An integer switch for how to compute MSTAR. - ! 0 for constant MSTAR - ! 1 for MSTAR w/ MLD in stabilizing limit - ! 2 for MSTAR w/ L_E/L_O in stabilizing limit. -MSTAR = 0.0 ! [units=nondim] default = 1.2 - ! The ratio of the friction velocity cubed to the TKE - ! input to the mixed layer. -MIX_LEN_EXPONENT = 1.0 ! [units=nondim] default = 2.0 - ! The exponent applied to the ratio of the distance to the MLD - ! and the MLD depth which determines the shape of the mixing length. -MSTAR_CAP = 10.0 ! [units=nondim] default = -1.0 - ! Maximum value of mstar allowed in model if non-negative - ! (used if MSTAR_MODE>0). -MSTAR_CONV_ADJ = 0.667 ! [units=nondim] default = 0.0 - ! Factor used for reducing mstar during convection - ! due to reduction of stable density gradient. -MSTAR2_COEF1 = 0.29 ! [units=nondim] default = 0.3 - ! Coefficient in computing mstar when rotation and - ! stabilizing effects are both important (used if MSTAR_MODE=2) -MSTAR2_COEF2 = 0.152 ! [units=nondim] default = 0.085 - ! Coefficient in computing mstar when only rotation limits - ! the total mixing. (used only if MSTAR_MODE=2) -NSTAR = 0.06 ! [nondim] default = 0.2 - ! The portion of the buoyant potential energy imparted by - ! surface fluxes that is available to drive entrainment - ! at the base of mixed layer when that energy is positive. -TKE_DECAY = 0.01 ! [nondim] default = 2.5 - ! TKE_DECAY relates the vertical rate of decay of the - ! TKE available for mechanical entrainment to the natural - ! Ekman depth. ML_OMEGA_FRAC = 0.001 ! [nondim] default = 0.0 - ! When setting the decay scale for turbulence, use this - ! fraction of the absolute rotation rate blended with the - ! local value of f, as sqrt((1-of)*f^2 + of*4*omega^2). + ! When setting the decay scale for turbulence, use this fraction of the absolute + ! rotation rate blended with the local value of f, as sqrt((1-of)*f^2 + + ! of*4*omega^2). +TKE_DECAY = 0.01 ! [nondim] default = 2.5 + ! TKE_DECAY relates the vertical rate of decay of the TKE available for + ! mechanical entrainment to the natural Ekman depth. +EPBL_MSTAR_SCHEME = "OM4" ! default = "CONSTANT" + ! EPBL_MSTAR_SCHEME selects the method for setting mstar. Valid values are: + ! CONSTANT - Use a fixed mstar given by MSTAR + ! OM4 - Use L_Ekman/L_Obukhov in the sabilizing limit, as in OM4 + ! REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018. +MSTAR_CAP = 10.0 ! [nondim] default = -1.0 + ! If this value is positive, it sets the maximum value of mstar allowed in ePBL. + ! (This is not used if EPBL_MSTAR_SCHEME = CONSTANT). +MSTAR2_COEF1 = 0.29 ! [nondim] default = 0.3 + ! Coefficient in computing mstar when rotation and stabilizing effects are both + ! important (used if EPBL_MSTAR_SCHEME = OM4). +MSTAR2_COEF2 = 0.152 ! [nondim] default = 0.085 + ! Coefficient in computing mstar when only rotation limits the total mixing + ! (used if EPBL_MSTAR_SCHEME = OM4) +NSTAR = 0.06 ! [nondim] default = 0.2 + ! The portion of the buoyant potential energy imparted by surface fluxes that is + ! available to drive entrainment at the base of mixed layer when that energy is + ! positive. +MSTAR_CONV_ADJ = 0.667 ! [nondim] default = 0.0 + ! Coefficient used for reducing mstar during convection due to reduction of + ! stable density gradient. USE_MLD_ITERATION = True ! [Boolean] default = False - ! A logical that specifies whether or not to use the - ! distance to the bottom of the actively turblent boundary - ! layer to help set the EPBL length scale. -ORIG_MLD_ITERATION = False ! [Boolean] default = True - ! A logical that specifies whether or not to use the - ! old method for determining MLD depth in iteration, which - ! is limited to resolution. + ! A logical that specifies whether or not to use the distance to the bottom of + ! the actively turbulent boundary layer to help set the EPBL length scale. EPBL_TRANSITION_SCALE = 0.01 ! [nondim] default = 0.1 - ! A scale for the mixing length in the transition layer - ! at the edge of the boundary layer as a fraction of the - ! boundary layer thickness. The default is 0.1. + ! A scale for the mixing length in the transition layer at the edge of the + ! boundary layer as a fraction of the boundary layer thickness. +MIX_LEN_EXPONENT = 1.0 ! [nondim] default = 2.0 + ! The exponent applied to the ratio of the distance to the MLD and the MLD depth + ! which determines the shape of the mixing length. This is only used if + ! USE_MLD_ITERATION is True. USE_LA_LI2016 = MOM6_REPRO_LA ! [nondim] default = False - ! A logical to use the Li et al. 2016 (submitted) formula to - ! determine the Langmuir number. + ! A logical to use the Li et al. 2016 (submitted) formula to determine the + ! Langmuir number. LT_ENHANCE = 3 ! [nondim] default = 0 ! Integer for Langmuir number mode. ! *Requires USE_LA_LI2016 to be set to True. @@ -785,6 +750,7 @@ LT_ENHANCE = 3 ! [nondim] default = 0 ! 3 - Added w/ adjusted La. USE_WAVES = MOM6_USE_WAVES ! [Boolean] default = False ! If true, enables surface wave modules. + WAVE_METHOD = "SURFACE_BANDS" ! default = "EMPTY" ! Choice of wave method, valid options include: ! TEST_PROFILE - Prescribed from surface Stokes drift @@ -795,45 +761,44 @@ WAVE_METHOD = "SURFACE_BANDS" ! default = "EMPTY" ! wave spectrum with prescribed values. ! LF17 - Infers Stokes drift profile from wind ! speed following Li and Fox-Kemper 2017. + SURFBAND_SOURCE = "COUPLER" ! default = "EMPTY" ! Choice of SURFACE_BANDS data mode, valid options include: ! DATAOVERRIDE - Read from NetCDF using FMS DataOverride. ! COUPLER - Look for variables from coupler pass ! INPUT - Testing with fixed values. + STK_BAND_COUPLER = 3 ! default = 1 ! STK_BAND_COUPLER is the number of Stokes drift bands in the coupler. This has ! to be consistent with the number of Stokes drift bands in WW3, or the model ! will fail. + SURFBAND_WAVENUMBERS = 0.04, 0.11, 0.3305 ! [rad/m] default = 0.12566 - ! Central wavenumbers for surface Stokes drift bands. +EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" + ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence. + ! Valid values are: + ! NONE - Do not do any extra mixing due to Langmuir turbulence + ! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir + ! turbulence + ! ADDITIVE - Add a Langmuir turblence contribution to mstar to other + ! contributions LT_ENHANCE_COEF = 0.044 ! [nondim] default = 0.447 - ! Coefficient for Langmuir enhancement if LT_ENHANCE > 1 + ! Coefficient for Langmuir enhancement of mstar LT_ENHANCE_EXP = -1.5 ! [nondim] default = -1.33 - ! Exponent for Langmuir enhancement if LT_ENHANCE > 1 + ! Exponent for Langmuir enhancementt of mstar LT_MOD_LAC1 = 0.0 ! [nondim] default = -0.87 - ! Coefficient for modification of Langmuir number due to - ! MLD approaching Ekman depth if LT_ENHANCE=2. + ! Coefficient for modification of Langmuir number due to MLD approaching Ekman + ! depth. LT_MOD_LAC4 = 0.0 ! [nondim] default = 0.95 - ! Coefficient for modification of Langmuir number due to - ! ratio of Ekman to stable Obukhov depth if LT_ENHANCE=2. + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! stable Obukhov depth. LT_MOD_LAC5 = 0.22 ! [nondim] default = 0.95 - ! Coefficient for modification of Langmuir number due to - ! ratio of Ekman to unstable Obukhov depth if LT_ENHANCE=2. -EPBL_USTAR_MIN = 1.45842E-18 ! [m s-1] - ! The (tiny) minimum friction velocity used within the - ! ePBL code, derived from OMEGA and ANGSTROM. + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! unstable Obukhov depth. ! === 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 = CHLCLIM ! 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. -CHL_VARNAME = "chlor_a" ! default = "CHL_A" PEN_SW_NBANDS = 3 ! default = 1 ! The number of bands of penetrating shortwave radiation. @@ -846,37 +811,38 @@ TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM" ! === 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. + ! 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 +! === module MOM_lateral_boundary_diffusion === +! This module implements lateral diffusion of tracers near boundaries + +! === 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. +ENERGYSAVEDAYS = 1.00 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between saves of the energies of the run and + ! other globally summed diagnostics. + ! === module ocean_model_init === OCEAN_SURFACE_STAGGER = "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'. -ENERGYSAVEDAYS = 1.00 ! [days] default = 1.0 - ! The interval in units of TIMEUNIT between saves of the - ! energies of the run and other globally summed diagnostics. - -! === module ocean_model_init === -ICE_SHELF = False ! [Boolean] default = False - ! If true, enables the ice shelf model. -ICEBERGS_APPLY_RIGID_BOUNDARY = False ! [Boolean] default = False - ! If true, allows icebergs to change boundary condition felt by ocean - ! === module MOM_surface_forcing === MAX_P_SURF = 0.0 ! [Pa] default = -1.0 - ! The maximum surface pressure that can be exerted by the - ! atmosphere and floating sea-ice or ice shelves. This is - ! needed because the FMS coupling structure does not - ! limit the water that can be frozen out of the ocean and - ! the ice-ocean heat fluxes are treated explicitly. No - ! limit is applied if a negative value is used. + ! 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. WIND_STAGGER = "A" ! default = "C" ! A case-insensitive character string to indicate the ! staggering of the input wind stress field. Valid @@ -885,26 +851,18 @@ CD_TIDES = 0.0018 ! [nondim] default = 1.0E-04 ! The drag coefficient that applies to the tides. GUST_CONST = 0.0 ! [Pa] default = 0.02 ! The background gustiness in the winds. +FIX_USTAR_GUSTLESS_BUG = False ! [Boolean] default = False + ! If true correct a bug in the time-averaging of the gustless wind friction + ! velocity USE_RIGID_SEA_ICE = True ! [Boolean] default = False - ! If true, sea-ice is rigid enough to exert a - ! nonhydrostatic pressure that resist vertical motion. + ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that + ! resist vertical motion. SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0 - ! The mass of sea-ice per unit area at which the sea-ice - ! starts to exhibit rigidity + ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit + ! rigidity LIQUID_RUNOFF_FROM_DATA = MOM6_RIVER_RUNOFF ! [Boolean] default = False ! If true, allows liquid river runoff to be specified via ! the data_table using the component name 'OCN'. ! === module MOM_restart === RESTART_CHECKSUMS_REQUIRED = False -! === module MOM_sum_output === -CALCULATE_APE = False ! [Boolean] default = True - ! If true, calculate the available potential energy of - ! the interfaces. Setting this to false reduces the - ! memory footprint of high-PE-count models dramatically. -MAXTRUNC = 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. - ! === module MOM_file_parser === diff --git a/parm/mom6/MOM_input_template_050 b/parm/mom6/MOM_input_template_050 index 481dcb24549..46780dfc822 100644 --- a/parm/mom6/MOM_input_template_050 +++ b/parm/mom6/MOM_input_template_050 @@ -1,116 +1,117 @@ -/* This input file provides the adjustable run-time parameters for version 6 of - the Modular Ocean Model (MOM6), a numerical ocean model developed at NOAA-GFDL. - Where appropriate, parameters use usually given in MKS units. +! This input file provides the adjustable run-time parameters for version 6 of the Modular Ocean Model (MOM6). +! Where appropriate, parameters use usually given in MKS units. - This particular file is for the example in OM4_05. +! This particular file is for the example in ice_ocean_SIS2/OM4_05. - This MOM_input file typically contains only the non-default values that are - needed to reproduce this example. A full list of parameters for this example - can be found in the corresponding MOM_parameter_doc.all file which is - generated by the model at run-time. */ +! This MOM_input file typically contains only the non-default values that are needed to reproduce this example. +! A full list of parameters for this example can be found in the corresponding MOM_parameter_doc.all file +! which is generated by the model at run-time. + +! === module MOM_domains === +TRIPOLAR_N = True ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the domain. With + ! TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = NX_GLB ! + ! 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 = NY_GLB ! + ! The total number of thickness grid points in the y-direction in the physical + ! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +NIHALO = 4 ! default = 4 + ! The number of halo points on each side in the x-direction. 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 = 4 + ! 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. +! LAYOUT = 21, 20 ! + ! The processor layout that was actually used. +! IO_LAYOUT = 1, 1 ! default = 1 + ! The processor layout to be used, or 0,0 to automatically set the io_layout to + ! be the same as the layout. ! === module MOM === USE_REGRIDDING = True ! [Boolean] default = False - ! If True, use the ALE algorithm (regridding/remapping). - ! If False, use the layered isopycnal algorithm. + ! If True, use the ALE algorithm (regridding/remapping). If False, use the + ! layered isopycnal algorithm. THICKNESSDIFFUSE = True ! [Boolean] default = False - ! If true, interface heights are diffused with a - ! coefficient of KHTH. + ! If true, interface heights are diffused with a coefficient of KHTH. THICKNESSDIFFUSE_FIRST = True ! [Boolean] default = False - ! If true, do thickness diffusion before dynamics. - ! This is only used if THICKNESSDIFFUSE is true. + ! If true, do thickness diffusion before dynamics. This is only used if + ! THICKNESSDIFFUSE is true. DT = DT_DYNAM_MOM6 ! [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.) + ! 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 = DT_THERM_MOM6 ! [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. + ! The thermodynamic and tracer advection time step. Ideally DT_THERM should be + ! an integer multiple of DT and less than the forcing or coupling time-step, + ! unless THERMO_SPANS_COUPLING is true, in which case DT_THERM can be an integer + ! multiple of the coupling timestep. By default DT_THERM is set to DT. THERMO_SPANS_COUPLING = MOM6_THERMO_SPAN ! [Boolean] default = False - ! If true, the MOM will take thermodynamic and tracer - ! timesteps that can be longer than the coupling timestep. - ! The actual thermodynamic timestep that is used in this - ! case is the largest integer multiple of the coupling - ! timestep that is less than or equal to DT_THERM. + ! If true, the MOM will take thermodynamic and tracer timesteps that can be + ! longer than the coupling timestep. The actual thermodynamic timestep that is + ! used in this case is the largest integer multiple of the coupling timestep + ! that is less than or equal to DT_THERM. HFREEZE = 20.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. +USE_PSURF_IN_EOS = False ! [Boolean] default = False + ! If true, always include the surface pressure contributions in equation of + ! state calculations. 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 + ! If true, water freezes if it gets too cold, and the accumulated heat deficit + ! is returned in the surface state. FRAZIL is only used if ! ENABLE_THERMODYNAMICS is true. DO_GEOTHERMAL = True ! [Boolean] default = False ! If true, apply geothermal heating. BOUND_SALINITY = True ! [Boolean] default = False - ! If true, limit salinity to being positive. (The sea-ice - ! model may ask for more salt than is available and - ! drive the salinity negative otherwise.) + ! If true, limit salinity to being positive. (The sea-ice model may ask for more + ! salt than is available and drive the salinity negative otherwise.) +MIN_SALINITY = 0.01 ! [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. 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. + ! 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. + ! 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. + ! 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. + ! 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. + ! The value of SST below which a bad value message is triggered, if + ! CHECK_BAD_SURFACE_VALS is true. +DEFAULT_2018_ANSWERS = True ! [Boolean] default = True + ! This sets the default value for the various _2018_ANSWERS parameters. WRITE_GEOM = 2 ! default = 1 - ! If =0, never write the geometry and vertical grid files. - ! If =1, write the geometry and vertical grid files only for - ! a new simulation. If =2, always write the geometry and - ! vertical grid files. Other values are invalid. + ! If =0, never write the geometry and vertical grid files. If =1, write the + ! geometry and vertical grid files only for a new simulation. If =2, always + ! write the geometry and vertical grid files. Other values are invalid. SAVE_INITIAL_CONDS = True ! [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_domains === -TRIPOLAR_N = True ! [Boolean] default = False - ! Use tripolar connectivity at the northern edge of the - ! domain. With TRIPOLAR_N, NIGLOBAL must be even. -NIGLOBAL = NX_GLB ! - ! 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 = NY_GLB ! - ! 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_hor_index === ! Sets the horizontal array index types. -! === module MOM_verticalGrid === -! Parameters providing information about the vertical grid. -NK = 75 ! [nondim] - ! The number of model layers. - ! === module MOM_fixed_initialization === INPUTDIR = "INPUT" ! default = "." ! The directory in which input files are found. ! === module MOM_grid_init === GRID_CONFIG = "mosaic" ! - ! A character string that determines the method for - ! defining the horizontal grid. Current options are: + ! 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. @@ -141,7 +142,6 @@ TOPO_CONFIG = "file" ! ! seamount - Gaussian bump for spontaneous motion test case. ! dumbbell - Sloshing channel with reservoirs on both ends. ! shelfwave - exponential slope for shelfwave test case. - ! supercritical - flat but with 8.95 degree land mask. ! 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. @@ -150,22 +150,24 @@ TOPO_FILE = "ocean_topog.nc" ! default = "topog.nc" 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 deeper than MASKING_DEPTH are rounded to MINIMUM_DEPTH. + ! 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. 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 -USE_TRIPOLAR_GEOLONB_BUG = False ! [Boolean] default = True - ! If true, use older code that incorrectly sets the longitude - ! in some points along the tripolar fold to be off by 360 degrees + +USE_TRIPOLAR_GEOLONB_BUG = False ! [Boolean] default = True + ! If true, use older code that incorrectly sets the longitude in some points + ! along the tripolar fold to be off by 360 degrees. ! === module MOM_open_boundary === -! Controls where open boundaries are located, what kind of boundary condition to impose, and what data to apply, if any. +! Controls where open boundaries are located, what kind of boundary condition to impose, and what data to apply, +! if any. 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. + ! 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: @@ -179,19 +181,23 @@ CHANNEL_CONFIG = "list" ! default = "none" ! 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. +PARALLEL_RESTARTFILES = True ! [Boolean] default = False + ! If true, each processor writes its own restart file, otherwise a single + ! restart file is generated + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. +NK = 75 ! [nondim] + ! The number of model layers. ! === module MOM_tracer_registry === ! === module MOM_EOS === DTFREEZE_DP = -7.75E-08 ! [deg C Pa-1] default = 0.0 - ! When TFREEZE_FORM=LINEAR, - ! this is the derivative of the freezing potential + ! When TFREEZE_FORM=LINEAR, this is the derivative of the freezing potential ! temperature with pressure. ! === module MOM_restart === -PARALLEL_RESTARTFILES = True ! [Boolean] default = False - ! If true, each processor writes its own restart file, - ! otherwise a single restart file is generated ! === module MOM_tracer_flow_control === USE_IDEAL_AGE_TRACER = False ! [Boolean] default = False @@ -220,26 +226,26 @@ COORD_CONFIG = "file" ! ! USER - call a user modified routine. COORD_FILE = "layer_coord.nc" ! ! The file from which the coordinate densities are read. +REMAP_UV_USING_OLD_ALG = True ! [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. REGRIDDING_COORDINATE_MODE = "HYCOM1" ! 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 + ! Coordinate mode for vertical regridding. Choose among the following + ! possibilities: LAYER - Isopycnal or stacked shallow water layers + ! ZSTAR, Z* - stretched geopotential z* + ! SIGMA_SHELF_ZSTAR - stretched geopotential z* ignoring shelf ! SIGMA - terrain following coordinates ! RHO - continuous isopycnal ! HYCOM1 - HyCOM-like hybrid coordinate ! SLIGHT - stretched coordinates above continuous isopycnal ! ADAPTIVE - optimize for smooth neutral density surfaces BOUNDARY_EXTRAPOLATION = True ! [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. + ! 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. ALE_COORDINATE_CONFIG = "HYBRID:hycom1_75_800m.nc,sigma2,FNC1:2,4000,4.5,.01" ! default = "UNIFORM" - ! Determines how to specify the coordinate - ! resolution. Valid options are: + ! 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 @@ -259,11 +265,10 @@ ALE_COORDINATE_CONFIG = "HYBRID:hycom1_75_800m.nc,sigma2,FNC1:2,4000,4.5,.01" ! ! thicknesses (in m). In sigma-coordinate mode, the list ! is of non-dimensional fractions of the water column. !TARGET_DENSITIES = 1010.0, 1014.3034, 1017.8088, 1020.843, 1023.5566, 1025.813, 1027.0275, 1027.9114, 1028.6422, 1029.2795, 1029.852, 1030.3762, 1030.8626, 1031.3183, 1031.7486, 1032.1572, 1032.5471, 1032.9207, 1033.2798, 1033.6261, 1033.9608, 1034.2519, 1034.4817, 1034.6774, 1034.8508, 1035.0082, 1035.1533, 1035.2886, 1035.4159, 1035.5364, 1035.6511, 1035.7608, 1035.8661, 1035.9675, 1036.0645, 1036.1554, 1036.2411, 1036.3223, 1036.3998, 1036.4739, 1036.5451, 1036.6137, 1036.68, 1036.7441, 1036.8062, 1036.8526, 1036.8874, 1036.9164, 1036.9418, 1036.9647, 1036.9857, 1037.0052, 1037.0236, 1037.0409, 1037.0574, 1037.0738, 1037.0902, 1037.1066, 1037.123, 1037.1394, 1037.1558, 1037.1722, 1037.1887, 1037.206, 1037.2241, 1037.2435, 1037.2642, 1037.2866, 1037.3112, 1037.3389, 1037.3713, 1037.4118, 1037.475, 1037.6332, 1037.8104, 1038.0 ! [m] - ! HYBRID target densities for itnerfaces -REGRID_COMPRESSIBILITY_FRACTION = 0.01 ! [not defined] default = 0.0 - ! When interpolating potential density profiles we can add - ! some artificial compressibility solely to make homogenous - ! regions appear stratified. + ! HYBRID target densities for interfaces +REGRID_COMPRESSIBILITY_FRACTION = 0.01 ! [nondim] default = 0.0 + ! When interpolating potential density profiles we can add some artificial + ! compressibility solely to make homogeneous regions appear stratified. MAXIMUM_INT_DEPTH_CONFIG = "FNC1:5,8000.0,1.0,.01" ! default = "NONE" ! Determines how to specify the maximum interface depths. ! Valid options are: @@ -287,10 +292,9 @@ MAX_LAYER_THICKNESS_CONFIG = "FNC1:400,31000.0,0.1,.01" ! default = "NONE" !MAX_LAYER_THICKNESS = 400.0, 409.63, 410.32, 410.75, 411.07, 411.32, 411.52, 411.7, 411.86, 412.0, 412.13, 412.24, 412.35, 412.45, 412.54, 412.63, 412.71, 412.79, 412.86, 412.93, 413.0, 413.06, 413.12, 413.18, 413.24, 413.29, 413.34, 413.39, 413.44, 413.49, 413.54, 413.58, 413.62, 413.67, 413.71, 413.75, 413.78, 413.82, 413.86, 413.9, 413.93, 413.97, 414.0, 414.03, 414.06, 414.1, 414.13, 414.16, 414.19, 414.22, 414.24, 414.27, 414.3, 414.33, 414.35, 414.38, 414.41, 414.43, 414.46, 414.48, 414.51, 414.53, 414.55, 414.58, 414.6, 414.62, 414.65, 414.67, 414.69, 414.71, 414.73, 414.75, 414.77, 414.79, 414.83 ! [m] ! The list of maximum thickness for each layer. 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) + ! 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) @@ -302,13 +306,11 @@ REMAPPING_SCHEME = "PPM_H4" ! default = "PLM" ! === 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. + ! 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 = "WOA05_pottemp_salt.nc" ! default = "temp_salt_z.nc" -TEMP_SALT_Z_INIT_FILE = "MOM6_IC_TS.nc" +TEMP_SALT_Z_INIT_FILE = "MOM6_IC_TS.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 @@ -319,8 +321,12 @@ Z_INIT_FILE_PTEMP_VAR = "temp" ! default = "ptemp" Z_INIT_FILE_SALT_VAR = "salt" ! default = "salt" ! The name of the salinity variable in ! SALT_Z_INIT_FILE. + Z_INIT_ALE_REMAPPING = True ! [Boolean] default = False ! If True, then remap straight to model coordinate from file. +Z_INIT_REMAP_OLD_ALG = True ! [Boolean] default = True + ! If false, uses the preferred remapping algorithm for initialization. If true, + ! use an older, less robust algorithm for remapping. ! === module MOM_diag_mediator === !Jiande NUM_DIAG_COORDS = 2 ! default = 1 @@ -334,9 +340,8 @@ DIAG_COORDS = "z Z ZSTAR" ! is of the form "MODULE_SUFFIX,PARAMETER_SUFFIX,COORDINATE_NAME". DIAG_COORD_DEF_Z="FILE:interpolate_zgrid_40L.nc,interfaces=zw" DIAG_MISVAL = -1e34 -!Jiande DIAG_COORD_DEF_RHO2 = "RFNC1:35,999.5,1028,1028.5,8.,1038.,0.0078125" ! default = "WOA09" - ! Determines how to specify the coordinate - ! resolution. Valid options are: +!DIAG_COORD_DEF_RHO2 = "RFNC1:35,999.5,1028,1028.5,8.,1038.,0.0078125" ! default = "WOA09" + ! Determines how to specify the coordinate resolution. Valid options are: ! PARAM - use the vector-parameter DIAG_COORD_RES_RHO2 ! UNIFORM[:N] - uniformly distributed ! FILE:string - read from a file. The string specifies @@ -352,13 +357,12 @@ DIAG_MISVAL = -1e34 ! === 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. + ! If true, turns on the MEKE scheme which calculates a sub-grid mesoscale eddy + ! kinetic energy budget. 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. + ! 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_BGSRC = 1.0E-13 ! [W kg-1] default = 0.0 ! A background energy source for MEKE. MEKE_KHTH_FAC = 0.5 ! [nondim] default = 0.0 @@ -368,116 +372,118 @@ MEKE_KHTR_FAC = 0.5 ! [nondim] default = 0.0 MEKE_KHMEKE_FAC = 1.0 ! [nondim] default = 0.0 ! A factor that maps MEKE%Kh to Kh for MEKE itself. MEKE_VISCOSITY_COEFF_KU = 1.0 ! [nondim] default = 0.0 - ! If non-zero, is the scaling coefficient in the expression for - ! viscosity used to parameterize lateral momentum mixing by - ! unresolved eddies represented by MEKE. Can be negative to - ! represent backscatter from the unresolved eddies. + ! 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_RHINES = 0.15 ! [nondim] default = 0.05 - ! If positive, is a coefficient weighting the Rhines scale - ! in the expression for mixing length used in MEKE-derived diffusiviity. + ! If positive, is a coefficient weighting the Rhines scale in the expression for + ! mixing length used in MEKE-derived diffusivity. MEKE_ALPHA_EADY = 0.15 ! [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. + ! If positive, is a coefficient weighting the Eady length scale in the + ! expression for mixing length used in MEKE-derived diffusivity. ! === 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. + ! 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. + ! 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. + ! 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. + ! If true, uses the equivalent barotropic structure as the vertical structure of + ! thickness diffusivity. KHTR_SLOPE_CFF = 0.25 ! [nondim] default = 0.0 - ! The nondimensional coefficient in the Visbeck formula - ! for the epipycnal tracer diffusivity + ! The nondimensional coefficient in the Visbeck formula for the epipycnal tracer + ! diffusivity USE_STORED_SLOPES = True ! [Boolean] default = False - ! If true, the isopycnal slopes are calculated once and - ! stored for re-use. This uses more memory but avoids calling - ! the equation of state more times than should be necessary. + ! 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_FN_POWER = 100 ! [nondim] default = 2 - ! The power of dx/Ld in the Kh 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. + ! The power of dx/Ld in the Kh 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. 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. + ! 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. + ! 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 in front of the beta term in the denominator. Gill's + ! is the more appropriate definition. ! === 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. + ! If true, the bottom drag is exerted directly on each layer proportional to the + ! fraction of the bottom it overlies. PRANDTL_TURB = 1.25 ! [nondim] default = 1.0 - ! The turbulent Prandtl number applied to shear - ! instability. + ! The turbulent Prandtl number applied to shear instability. 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. + ! The thickness of a bottom boundary layer with a viscosity of KVBBL if + ! BOTTOMDRAGLAW is not defined, or the thickness over which near-bottom + ! velocities are averaged for the drag law if BOTTOMDRAGLAW is defined but + ! LINEAR_DRAG is not. DRAG_BG_VEL = 0.1 ! [m s-1] default = 0.0 - ! DRAG_BG_VEL is either the assumed bottom velocity (with - ! LINEAR_DRAG) or an unresolved velocity that is - ! combined with the resolved velocity to estimate the - ! velocity magnitude. DRAG_BG_VEL is only used when - ! BOTTOMDRAGLAW is defined. + ! 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. + ! 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 + ! 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. + ! The background kinematic viscosity in the interior. The molecular value, ~1e-6 + ! m2 s-1, may be used. KV_BBL_MIN = 0.0 ! [m2 s-1] default = 1.0E-04 ! The minimum viscosities in the bottom boundary layer. KV_TBL_MIN = 0.0 ! [m2 s-1] default = 1.0E-04 ! The minimum viscosities in the top boundary layer. +! === module MOM_thickness_diffuse === +KHTH_MAX_CFL = 0.1 ! [nondimensional] default = 0.8 + ! The maximum value of the local diffusive CFL ratio that is permitted for the + ! thickness diffusivity. 1.0 is the marginally unstable value in a pure layered + ! model, but much smaller numbers (e.g. 0.1) seem to work better for ALE-based + ! models. +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_FILTER_SCALE = 0.1 ! [nondim] default = 1.0 + ! A coefficient scaling the vertical smoothing term in the Ferrari et al., 2010, + ! streamfunction formulation. +USE_GM_WORK_BUG = True ! [Boolean] default = True + ! If true, compute the top-layer work tendency on the u-grid with the incorrect + ! sign, for legacy reproducibility. + ! === module MOM_continuity === ! === module MOM_continuity_PPM === 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. + ! 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. 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. + ! 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. ! === module MOM_CoriolisAdv === CORIOLIS_SCHEME = "SADOURNY75_ENSTRO" ! default = "SADOURNY75_ENERGY" - ! CORIOLIS_SCHEME selects the discretization for the - ! Coriolis terms. Valid values are: + ! 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. @@ -485,327 +491,286 @@ CORIOLIS_SCHEME = "SADOURNY75_ENSTRO" ! default = "SADOURNY75_ENERGY" ! 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. + ! 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_PressureForce === ! === module MOM_PressureForce_AFV === MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False - ! If true, use mass weighting when interpolating T/S for - ! integrals near the bathymetry in AFV pressure gradient - ! calculations. + ! If true, use mass weighting when interpolating T/S for integrals near the + ! bathymetry in AFV pressure gradient calculations. ! === module MOM_hor_visc === LAPLACIAN = True ! [Boolean] default = False ! If true, use a Laplacian horizontal viscosity. KH_VEL_SCALE = 0.01 ! [m s-1] default = 0.0 - ! The velocity scale which is multiplied by the grid - ! spacing to calculate the Laplacian viscosity. - ! The final viscosity is the largest of this scaled + ! The velocity scale which is multiplied by the grid spacing to calculate the + ! Laplacian viscosity. The final viscosity is the largest of this scaled ! viscosity, the Smagorinsky and Leith viscosities, and KH. KH_SIN_LAT = 2000.0 ! [m2 s-1] default = 0.0 - ! The amplitude of a latidutinally-dependent background - ! viscosity of the form KH_SIN_LAT*(SIN(LAT)**KH_PWR_OF_SINE). + ! The amplitude of a latitudinally-dependent background viscosity of the form + ! KH_SIN_LAT*(SIN(LAT)**KH_PWR_OF_SINE). SMAGORINSKY_KH = True ! [Boolean] default = False ! If true, use a Smagorinsky nonlinear eddy viscosity. SMAG_LAP_CONST = 0.15 ! [nondim] default = 0.0 - ! The nondimensional Laplacian Smagorinsky constant, - ! often 0.15. + ! The nondimensional Laplacian Smagorinsky constant, often 0.15. AH_VEL_SCALE = 0.01 ! [m s-1] default = 0.0 - ! The velocity scale which is multiplied by the cube of - ! the grid spacing to calculate the biharmonic viscosity. - ! The final viscosity is the largest of this scaled - ! viscosity, the Smagorinsky and Leith viscosities, and AH. + ! The velocity scale which is multiplied by the cube of the grid spacing to + ! calculate the biharmonic viscosity. The final viscosity is the largest of this + ! scaled viscosity, the Smagorinsky and Leith viscosities, and AH. SMAGORINSKY_AH = True ! [Boolean] default = False - ! If true, use a biharmonic Smagorinsky nonlinear eddy - ! viscosity. + ! 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. + ! The nondimensional biharmonic Smagorinsky constant, typically 0.015 - 0.06. +USE_LAND_MASK_FOR_HVISC = False ! [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. ! === module MOM_vert_friction === -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. + ! 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. + ! The maximum velocity allowed before the velocity components are truncated. ! === module MOM_PointAccel === +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 maxCFL_BT_cont to be accommodated. + ! 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 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. + ! 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. DYNAMIC_SURFACE_PRESSURE = True ! [Boolean] default = False - ! If true, add a dynamic pressure due to a viscous ice - ! shelf, for instance. + ! If true, add a dynamic pressure due to a viscous ice shelf, for instance. 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. + ! 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. + ! The barotropic time step, in s. DTBT is only used with the split explicit time + ! stepping. To set the time step automatically based the maximum stable value + ! use 0, or a negative value gives the fraction of the stable value. Setting + ! DTBT to 0 is the same as setting it to -0.98. The value of DTBT that will + ! actually be used is an integer fraction of DT, rounding down. BT_USE_OLD_CORIOLIS_BRACKET_BUG = True ! [Boolean] default = False - ! If True, use an order of operations that is not bitwise - ! rotationally symmetric in the meridional Coriolis term of - ! the barotropic solver. - -! === module MOM_thickness_diffuse === -KHTH_MAX_CFL = 0.1 ! [nondimensional] default = 0.8 - ! The maximum value of the local diffusive CFL ratio that - ! is permitted for the thickness diffusivity. 1.0 is the - ! marginally unstable value in a pure layered model, but - ! much smaller numbers (e.g. 0.1) seem to work better for - ! ALE-based models. -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_FILTER_SCALE = 0.1 ! [not defined] default = 1.0 - ! A coefficient scaling the vertical smoothing term in the - ! Ferrari et al., 2010, streamfunction formulation. + ! If True, use an order of operations that is not bitwise rotationally symmetric + ! in the meridional Coriolis term of the barotropic solver. ! === module MOM_mixed_layer_restrat === MIXEDLAYER_RESTRAT = True ! [Boolean] default = False - ! If true, a density-gradient dependent re-stratifying - ! flow is imposed in the mixed layer. Can be used in ALE mode - ! without restriction but in layer mode can only be used if - ! BULKMIXEDLAYER is true. + ! 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) + ! 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 = 200.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. + ! If non-zero, is the frontal-length scale used to calculate the upscaling of + ! buoyancy gradients that is otherwise represented by the parameter + ! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended + ! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. MLE_USE_PBL_MLD = True ! [Boolean] default = False - ! If true, the MLE parameterization will use the mixed-layer - ! depth provided by the active PBL parameterization. If false, - ! MLE will estimate a MLD based on a density difference with the - ! surface using the parameter MLE_DENSITY_DIFF. + ! If true, the MLE parameterization will use the mixed-layer depth provided by + ! the active PBL parameterization. If false, MLE will estimate a MLD based on a + ! density difference with the surface using the parameter MLE_DENSITY_DIFF. MLE_MLD_DECAY_TIME = 2.592E+06 ! [s] default = 0.0 - ! The time-scale for a running-mean filter applied to the mixed-layer - ! depth used in the MLE restratification parameterization. When - ! the MLD deepens below the current running-mean the running-mean - ! is instantaneously set to the current MLD. + ! 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_diabatic_driver === ! The following parameters are used for diabatic processes. ENERGETICS_SFC_PBL = True ! [Boolean] default = False - ! If true, use an implied energetics planetary boundary - ! layer scheme to determine the diffusivity and viscosity - ! in the surface boundary layer. + ! If true, use an implied energetics planetary boundary layer scheme to + ! determine the diffusivity and viscosity in the surface boundary layer. EPBL_IS_ADDITIVE = False ! [Boolean] default = True - ! If true, the diffusivity from ePBL is added to all - ! other diffusivities. Otherwise, the larger of kappa- - ! shear and ePBL diffusivities are used. + ! If true, the diffusivity from ePBL is added to all other diffusivities. + ! Otherwise, the larger of kappa-shear and ePBL diffusivities are used. -! === module MOM_KPP === -! This is the MOM wrapper to CVmix:KPP -! See http://code.google.com/p/cvmix/ +! === module MOM_CVMix_KPP === +! This is the MOM wrapper to CVMix:KPP +! See http://cvmix.github.io/ -! === module MOM_diffConvection === -! This module implements enhanced diffusivity as a -! function of static stability, N^2. -CONVECTION% -%CONVECTION +! === module MOM_tidal_mixing === +! Vertical Tidal Mixing Parameterization +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 = "POLZIN_09" ! 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-stretched algebraic + ! decay profile. +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. +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 INT_TIDE_DISSIPATION. +TKE_ITIDE_MAX = 0.1 ! [W m-2] default = 1000.0 + ! The maximum internal tide energy source available to mix above the bottom + ! boundary layer with INT_TIDE_DISSIPATION. +READ_TIDEAMP = 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.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_entrain_diffusive === +! === module MOM_CVMix_conv === +! Parameterization of enhanced mixing due to convection via CVMix ! === module MOM_geothermal === GEOTHERMAL_SCALE = 1.0 ! [W m-2 or various] default = 0.0 - ! The constant geothermal heat flux, a rescaling - ! factor for the heat flux read from GEOTHERMAL_FILE, or - ! 0 to disable the geothermal heating. + ! The constant geothermal heat flux, a rescaling factor for the heat flux read + ! from GEOTHERMAL_FILE, or 0 to disable the geothermal heating. GEOTHERMAL_FILE = "geothermal_davies2013_v1.nc" ! default = "" - ! The file from which the geothermal heating is to be - ! read, or blank to use a constant heating rate. + ! The file from which the geothermal heating is to be read, or blank to use a + ! constant heating rate. GEOTHERMAL_VARNAME = "geothermal_hf" ! default = "geo_heat" - ! The name of the geothermal heating variable in - ! GEOTHERMAL_FILE. + ! The name of the geothermal heating variable in GEOTHERMAL_FILE. ! === 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, - ! diffusiviy from the BBL_mixing is simply added. + ! 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. + ! 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. 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. -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. + ! If true, uses a simple estimate of Kd/TKE that will work for arbitrary + ! vertical coordinates. If false, calculates Kd/TKE and bounds based on exact + ! energetics for an isopycnal layer-formulation. + +! === module MOM_bkgnd_mixing === +! Adding static vertical background mixing coefficients KD = 1.5E-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. + ! 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 = 1.5E-07 ! The minimum diapycnal diffusivity. +HENYEY_IGW_BACKGROUND = True ! [Boolean] default = False + ! If true, use a latitude-dependent scaling for the near surface background + ! diffusivity, as described in Harrison & Hallberg, JPO 2008. KD_MAX = 0.1 ! [m2 s-1] default = -1.0 - ! The maximum permitted increment for the diapycnal - ! diffusivity from TKE-based parameterizations, or a - ! negative value for no limit. -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 = "POLZIN_09" ! 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. -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.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. + ! The maximum permitted increment for the diapycnal diffusivity from TKE-based + ! parameterizations, or a negative value for no limit. ! === module MOM_kappa_shear === ! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 USE_JACKSON_PARAM = True ! [Boolean] default = False - ! If true, use the Jackson-Hallberg-Legg (JPO 2008) - ! shear mixing parameterization. + ! 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. -VERTEX_SHEAR = True ! [Boolean] default = False + ! The maximum number of iterations that may be used to estimate the Richardson + ! number driven mixing. +VERTEX_SHEAR = False ! [Boolean] default = False ! If true, do the calculations of the shear-driven mixing ! at the cell vertices (i.e., the vorticity points). +KAPPA_SHEAR_ITER_BUG = True ! [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 = True ! [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_CVMix_shear === ! Parameterization of shear-driven turbulence via CVMix (various options) +! === module MOM_CVMix_ddiff === +! Parameterization of mixing due to double diffusion processes via CVMix + ! === module MOM_diabatic_aux === ! The following parameters are used for auxiliary diabatic processes. -RECLAIM_FRAZIL = True ! [Boolean] default = True - ! If true, try to use any frazil heat deficit to cool any - ! overlying layers down to the freezing point, thereby - ! avoiding the creation of thin ice when the SST is above - ! the freezing point. - PRESSURE_DEPENDENT_FRAZIL = False ! [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. + ! 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. +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 = CHLCLIM ! 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. +CHL_VARNAME = "chlor_a" ! default = "CHL_A" + ! Name of CHL_A variable in CHL_FILE. ! === module MOM_energetic_PBL === -MSTAR_MODE = 2 ! [units=nondim] default = 0 - ! An integer switch for how to compute MSTAR. - ! 0 for constant MSTAR - ! 1 for MSTAR w/ MLD in stabilizing limit - ! 2 for MSTAR w/ L_E/L_O in stabilizing limit. -MSTAR = 0.0 ! [units=nondim] default = 1.2 - ! The ratio of the friction velocity cubed to the TKE - ! input to the mixed layer. -MIX_LEN_EXPONENT = 1.0 ! [units=nondim] default = 2.0 - ! The exponent applied to the ratio of the distance to the MLD - ! and the MLD depth which determines the shape of the mixing length. -MSTAR_CAP = 10.0 ! [units=nondim] default = -1.0 - ! Maximum value of mstar allowed in model if non-negative - ! (used if MSTAR_MODE>0). -MSTAR_CONV_ADJ = 0.667 ! [units=nondim] default = 0.0 - ! Factor used for reducing mstar during convection - ! due to reduction of stable density gradient. -MSTAR2_COEF1 = 0.29 ! [units=nondim] default = 0.3 - ! Coefficient in computing mstar when rotation and - ! stabilizing effects are both important (used if MSTAR_MODE=2) -MSTAR2_COEF2 = 0.152 ! [units=nondim] default = 0.085 - ! Coefficient in computing mstar when only rotation limits - ! the total mixing. (used only if MSTAR_MODE=2) -NSTAR = 0.06 ! [nondim] default = 0.2 - ! The portion of the buoyant potential energy imparted by - ! surface fluxes that is available to drive entrainment - ! at the base of mixed layer when that energy is positive. -TKE_DECAY = 0.01 ! [nondim] default = 2.5 - ! TKE_DECAY relates the vertical rate of decay of the - ! TKE available for mechanical entrainment to the natural - ! Ekman depth. ML_OMEGA_FRAC = 0.001 ! [nondim] default = 0.0 - ! When setting the decay scale for turbulence, use this - ! fraction of the absolute rotation rate blended with the - ! local value of f, as sqrt((1-of)*f^2 + of*4*omega^2). + ! When setting the decay scale for turbulence, use this fraction of the absolute + ! rotation rate blended with the local value of f, as sqrt((1-of)*f^2 + + ! of*4*omega^2). +TKE_DECAY = 0.01 ! [nondim] default = 2.5 + ! TKE_DECAY relates the vertical rate of decay of the TKE available for + ! mechanical entrainment to the natural Ekman depth. +EPBL_MSTAR_SCHEME = "OM4" ! default = "CONSTANT" + ! EPBL_MSTAR_SCHEME selects the method for setting mstar. Valid values are: + ! CONSTANT - Use a fixed mstar given by MSTAR + ! OM4 - Use L_Ekman/L_Obukhov in the sabilizing limit, as in OM4 + ! REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018. +MSTAR_CAP = 10.0 ! [nondim] default = -1.0 + ! If this value is positive, it sets the maximum value of mstar allowed in ePBL. + ! (This is not used if EPBL_MSTAR_SCHEME = CONSTANT). +MSTAR2_COEF1 = 0.29 ! [nondim] default = 0.3 + ! Coefficient in computing mstar when rotation and stabilizing effects are both + ! important (used if EPBL_MSTAR_SCHEME = OM4). +MSTAR2_COEF2 = 0.152 ! [nondim] default = 0.085 + ! Coefficient in computing mstar when only rotation limits the total mixing + ! (used if EPBL_MSTAR_SCHEME = OM4) +NSTAR = 0.06 ! [nondim] default = 0.2 + ! The portion of the buoyant potential energy imparted by surface fluxes that is + ! available to drive entrainment at the base of mixed layer when that energy is + ! positive. +MSTAR_CONV_ADJ = 0.667 ! [nondim] default = 0.0 + ! Coefficient used for reducing mstar during convection due to reduction of + ! stable density gradient. USE_MLD_ITERATION = True ! [Boolean] default = False - ! A logical that specifies whether or not to use the - ! distance to the bottom of the actively turblent boundary - ! layer to help set the EPBL length scale. -ORIG_MLD_ITERATION = False ! [Boolean] default = True - ! A logical that specifies whether or not to use the - ! old method for determining MLD depth in iteration, which - ! is limited to resolution. + ! A logical that specifies whether or not to use the distance to the bottom of + ! the actively turbulent boundary layer to help set the EPBL length scale. EPBL_TRANSITION_SCALE = 0.01 ! [nondim] default = 0.1 - ! A scale for the mixing length in the transition layer - ! at the edge of the boundary layer as a fraction of the - ! boundary layer thickness. The default is 0.1. + ! A scale for the mixing length in the transition layer at the edge of the + ! boundary layer as a fraction of the boundary layer thickness. +MIX_LEN_EXPONENT = 1.0 ! [nondim] default = 2.0 + ! The exponent applied to the ratio of the distance to the MLD and the MLD depth + ! which determines the shape of the mixing length. This is only used if + ! USE_MLD_ITERATION is True. USE_LA_LI2016 = MOM6_REPRO_LA ! [nondim] default = False - ! A logical to use the Li et al. 2016 (submitted) formula to - ! determine the Langmuir number. + ! A logical to use the Li et al. 2016 (submitted) formula to determine the + ! Langmuir number. LT_ENHANCE = 3 ! [nondim] default = 0 ! Integer for Langmuir number mode. ! *Requires USE_LA_LI2016 to be set to True. @@ -836,22 +801,27 @@ STK_BAND_COUPLER = 3 ! default = 1 ! will fail. SURFBAND_WAVENUMBERS = 0.04, 0.11, 0.3305 ! [rad/m] default = 0.12566 ! Central wavenumbers for surface Stokes drift bands. +EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" + ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence. + ! Valid values are: + ! NONE - Do not do any extra mixing due to Langmuir turbulence + ! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir + ! turbulence + ! ADDITIVE - Add a Langmuir turblence contribution to mstar to other + ! contributions LT_ENHANCE_COEF = 0.044 ! [nondim] default = 0.447 - ! Coefficient for Langmuir enhancement if LT_ENHANCE > 1 + ! Coefficient for Langmuir enhancement of mstar LT_ENHANCE_EXP = -1.5 ! [nondim] default = -1.33 - ! Exponent for Langmuir enhancement if LT_ENHANCE > 1 + ! Exponent for Langmuir enhancementt of mstar LT_MOD_LAC1 = 0.0 ! [nondim] default = -0.87 - ! Coefficient for modification of Langmuir number due to - ! MLD approaching Ekman depth if LT_ENHANCE=2. + ! Coefficient for modification of Langmuir number due to MLD approaching Ekman + ! depth. LT_MOD_LAC4 = 0.0 ! [nondim] default = 0.95 - ! Coefficient for modification of Langmuir number due to - ! ratio of Ekman to stable Obukhov depth if LT_ENHANCE=2. + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! stable Obukhov depth. LT_MOD_LAC5 = 0.22 ! [nondim] default = 0.95 - ! Coefficient for modification of Langmuir number due to - ! ratio of Ekman to unstable Obukhov depth if LT_ENHANCE=2. -EPBL_USTAR_MIN = 1.45842E-18 ! [m s-1] - ! The (tiny) minimum friction velocity used within the - ! ePBL code, derived from OMEGA and ANGSTROM. + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! unstable Obukhov depth. ! === module MOM_regularize_layers === @@ -860,7 +830,7 @@ 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 = CHLCLIM ! CHL_FILE is the file containing chl_a concentrations in +CHL_FILE = CHLCLIM ! 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. CHL_VARNAME = "chlor_a" ! default = "CHL_A" @@ -879,19 +849,19 @@ TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM" KHTR = 50.0 ! [m2 s-1] default = 0.0 ! The background 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 1 iteration. + ! 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. + ! 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_neutral_diffusion === ! This module implements neutral diffusion of tracers USE_NEUTRAL_DIFFUSION = True ! [Boolean] default = False ! If true, enables the neutral diffusion module. + ! === module ocean_model_init === OCEAN_SURFACE_STAGGER = "A" ! default = "C" ! A case-insensitive character string to indicate the @@ -899,32 +869,31 @@ OCEAN_SURFACE_STAGGER = "A" ! default = "C" ! returned to the coupler. Valid values include ! 'A', 'B', or 'C'. RESTART_CHECKSUMS_REQUIRED = False +! === module MOM_lateral_boundary_diffusion === +! This module implements lateral diffusion of tracers near boundaries + ! === module MOM_sum_output === -CALCULATE_APE = False ! [Boolean] default = True - ! If true, calculate the available potential energy of - ! the interfaces. Setting this to false reduces the - ! memory footprint of high-PE-count models dramatically. MAXTRUNC = 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 + ! 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.00 ! [days] default = 1.0 - ! The interval in units of TIMEUNIT between saves of the - ! energies of the run and other globally summed diagnostics. +ENERGYSAVEDAYS = 1.0 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between saves of the energies of the run and + ! other globally summed diagnostics. ENERGYSAVEDAYS_GEOMETRIC = 0.25 ! [days] default = 0.0 - ! The starting interval in units of TIMEUNIT for the first call - ! to save the energies of the run and other globally summed diagnostics. - ! The interval increases by a factor of 2. after each call to write_energy. + ! The starting interval in units of TIMEUNIT for the first call to save the + ! energies of the run and other globally summed diagnostics. The interval + ! increases by a factor of 2. after each call to write_energy. + +! === module ocean_model_init === ! === module MOM_surface_forcing === MAX_P_SURF = 0.0 ! [Pa] default = -1.0 - ! The maximum surface pressure that can be exerted by the - ! atmosphere and floating sea-ice or ice shelves. This is - ! needed because the FMS coupling structure does not - ! limit the water that can be frozen out of the ocean and - ! the ice-ocean heat fluxes are treated explicitly. No - ! limit is applied if a negative value is used. + ! 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. WIND_STAGGER = "A" ! default = "C" ! A case-insensitive character string to indicate the ! staggering of the input wind stress field. Valid @@ -933,12 +902,15 @@ CD_TIDES = 0.0018 ! [nondim] default = 1.0E-04 ! The drag coefficient that applies to the tides. GUST_CONST = 0.0 ! [Pa] default = 0.02 ! The background gustiness in the winds. +FIX_USTAR_GUSTLESS_BUG = False ! [Boolean] default = False + ! If true correct a bug in the time-averaging of the gustless wind friction + ! velocity USE_RIGID_SEA_ICE = True ! [Boolean] default = False - ! If true, sea-ice is rigid enough to exert a - ! nonhydrostatic pressure that resist vertical motion. + ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that + ! resist vertical motion. SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0 - ! The mass of sea-ice per unit area at which the sea-ice - ! starts to exhibit rigidity + ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit + ! rigidity LIQUID_RUNOFF_FROM_DATA = MOM6_RIVER_RUNOFF ! [Boolean] default = False ! If true, allows liquid river runoff to be specified via ! the data_table using the component name 'OCN'. diff --git a/parm/mom6/MOM_input_template_100 b/parm/mom6/MOM_input_template_100 index 976b5d69bc4..d5af4cccd21 100644 --- a/parm/mom6/MOM_input_template_100 +++ b/parm/mom6/MOM_input_template_100 @@ -72,15 +72,17 @@ WRITE_GEOM = 2 ! default = 1 ! If =0, never write the geometry and vertical grid files. If =1, write the ! geometry and vertical grid files only for a new simulation. If =2, always ! write the geometry and vertical grid files. Other values are invalid. +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. -NIGLOBAL = NX_GLB ! +NIGLOBAL = NX_GLB ! ! 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 = NY_GLB ! +NJGLOBAL = NY_GLB ! ! 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. @@ -106,7 +108,7 @@ 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 -USE_TRIPOLAR_GEOLONB_BUG = False ! [Boolean] default = False +USE_TRIPOLAR_GEOLONB_BUG = False ! [Boolean] default = True ! If true, use older code that incorrectly sets the longitude in some points ! along the tripolar fold to be off by 360 degrees. TOPO_CONFIG = "file" ! @@ -165,6 +167,13 @@ CHANNEL_CONFIG = "list" ! default = "none" ! NetCDF file on the model grid. CHANNEL_LIST_FILE = "MOM_channels_SPEAR" ! default = "MOM_channel_list" ! The file from which the list of narrowed channels is read. +GRID_ROTATION_ANGLE_BUGS = False ! [Boolean] default = False + ! If true, use an older algorithm to calculate the sine and cosines needed + ! rotate between grid-oriented directions and true north and east. Differences + ! arise at the tripolar fold. +USE_TRIPOLAR_GEOLONB_BUG = False ! [Boolean] default = False + ! If true, use older code that incorrectly sets the longitude in some points + ! along the tripolar fold to be off by 360 degrees. ! === module MOM_verticalGrid === ! Parameters providing information about the vertical grid. @@ -291,12 +300,12 @@ INIT_LAYERS_FROM_Z_FILE = True ! [Boolean] default = False ! Z-space file on a latitude-longitude grid. ! === module MOM_initialize_layers_from_Z === -TEMP_SALT_Z_INIT_FILE = "MOM6_IC_TS.nc" +TEMP_SALT_Z_INIT_FILE = "MOM6_IC_TS.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" +Z_INIT_FILE_PTEMP_VAR = "temp" ! default = "ptemp" ! The name of the potential temperature variable in ! TEMP_Z_INIT_FILE. Z_INIT_FILE_SALT_VAR = "salt" ! default = "salt" @@ -304,6 +313,9 @@ Z_INIT_FILE_SALT_VAR = "salt" ! default = "salt" ! SALT_Z_INIT_FILE. Z_INIT_ALE_REMAPPING = True ! [Boolean] default = False ! If True, then remap straight to model coordinate from file. +Z_INIT_REMAP_OLD_ALG = True ! [Boolean] default = False + ! If false, uses the preferred remapping algorithm for initialization. If true, + ! use an older, less robust algorithm for remapping. ! === module MOM_diag_mediator === !Jiande NUM_DIAG_COORDS = 2 ! default = 1 @@ -317,9 +329,25 @@ DIAG_COORDS = "z Z ZSTAR" ! is of the form "MODULE_SUFFIX,PARAMETER_SUFFIX,COORDINATE_NAME". DIAG_COORD_DEF_Z="FILE:interpolate_zgrid_40L.nc,interfaces=zw" DIAG_MISVAL = -1e34 -!Jiande DIAG_COORD_DEF_RHO2 = "RFNC1:35,999.5,1028,1028.5,8.,1038.,0.0078125" ! default = "WOA09" - ! Determines how to specify the coordinate - ! resolution. Valid options are: +!AVAILABLE_DIAGS_FILE = "available_diags.002160" ! default = "available_diags.000000" + ! A file into which to write a list of all available ocean diagnostics that can + ! be included in a diag_table. +!DIAG_COORD_DEF_Z = "FILE:vgrid_75_2m.nc,dz" ! default = "WOA09" + ! Determines how to specify the coordinate resolution. Valid options are: + ! PARAM - use the vector-parameter DIAG_COORD_RES_Z + ! UNIFORM[:N] - uniformly distributed + ! FILE:string - read from a file. The string specifies + ! the filename and variable name, separated + ! by a comma or space, e.g. FILE:lev.nc,dz + ! or FILE:lev.nc,interfaces=zw + ! WOA09[:N] - the WOA09 vertical grid (approximately) + ! FNC1:string - FNC1:dz_min,H_total,power,precision + ! HYBRID:string - read from a file. The string specifies + ! the filename and two variable names, separated + ! by a comma or space, for sigma-2 and dz. e.g. + ! HYBRID:vgrid.nc,sigma2,dz +!DIAG_COORD_DEF_RHO2 = "RFNC1:35,999.5,1028,1028.5,8.,1038.,0.0078125" ! default = "WOA09" + ! Determines how to specify the coordinate resolution. Valid options are: ! PARAM - use the vector-parameter DIAG_COORD_RES_RHO2 ! UNIFORM[:N] - uniformly distributed ! FILE:string - read from a file. The string specifies @@ -377,7 +405,7 @@ KH_RES_FN_POWER = 100 ! [nondim] default = 2 ! The power of dx/Ld in the Kh 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. -!JW VISC_RES_FN_POWER = 2 ! [nondim] default = 100 +VISC_RES_FN_POWER = 2 ! [nondim] default = 100 ! The power of dx/Ld in the Kh 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. This function affects @@ -616,7 +644,7 @@ USE_JACKSON_PARAM = True ! [Boolean] default = False MAX_RINO_IT = 25 ! [nondim] default = 50 ! The maximum number of iterations that may be used to estimate the Richardson ! number driven mixing. -VERTEX_SHEAR = True ! [Boolean] default = False +VERTEX_SHEAR = False ! [Boolean] default = False ! If true, do the calculations of the shear-driven mixing ! at the cell vertices (i.e., the vorticity points). KD_TRUNC_KAPPA_SHEAR = 2.0E-07 ! [m2 s-1] default = 2.0E-07 @@ -639,14 +667,14 @@ KAPPA_SHEAR_ALL_LAYER_TKE_BUG = True ! [Boolean] default = False ! === module MOM_diabatic_aux === ! The following parameters are used for auxiliary diabatic processes. -PRESSURE_DEPENDENT_FRAZIL = false ! [Boolean] default = False +PRESSURE_DEPENDENT_FRAZIL = False ! [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. 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 = CHLCLIM +CHL_FILE = CHLCLIM ! ! 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. @@ -692,14 +720,6 @@ MIX_LEN_EXPONENT = 1.0 ! [nondim] default = 2.0 USE_LA_LI2016 = MOM6_REPRO_LA ! [nondim] default = False ! A logical to use the Li et al. 2016 (submitted) formula to determine the ! Langmuir number. -EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" - ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence. - ! Valid values are: - ! NONE - Do not do any extra mixing due to Langmuir turbulence - ! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir - ! turbulence - ! ADDITIVE - Add a Langmuir turblence contribution to mstar to other - ! contributions USE_WAVES = MOM6_USE_WAVES ! [Boolean] default = False ! If true, enables surface wave modules. WAVE_METHOD = "SURFACE_BANDS" ! default = "EMPTY" @@ -723,6 +743,14 @@ STK_BAND_COUPLER = 3 ! default = 1 ! will fail. SURFBAND_WAVENUMBERS = 0.04, 0.11, 0.3305 ! [rad/m] default = 0.12566 ! Central wavenumbers for surface Stokes drift bands. +EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" + ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence. + ! Valid values are: + ! NONE - Do not do any extra mixing due to Langmuir turbulence + ! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir + ! turbulence + ! ADDITIVE - Add a Langmuir turblence contribution to mstar to other + ! contributions LT_ENHANCE_COEF = 0.044 ! [nondim] default = 0.447 ! Coefficient for Langmuir enhancement of mstar LT_ENHANCE_EXP = -1.5 ! [nondim] default = -1.33 @@ -778,13 +806,14 @@ ENERGYSAVEDAYS = 0.25 ! [days] default = 1.0 ! other globally summed diagnostics. ! === module ocean_model_init === + +! === module MOM_surface_forcing === 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'. -! === module MOM_surface_forcing === MAX_P_SURF = 0.0 ! [Pa] default = -1.0 ! The maximum surface pressure that can be exerted by the atmosphere and ! floating sea-ice or ice shelves. This is needed because the FMS coupling diff --git a/sorc/checkout.sh b/sorc/checkout.sh index d4c3fdbe1a3..cb2b1df7acf 100755 --- a/sorc/checkout.sh +++ b/sorc/checkout.sh @@ -17,8 +17,8 @@ if [[ ! -d ufs_coupled.fd ]] ; then git clone https://github.com/ufs-community/ufs-weather-model ufs_coupled.fd >> ${topdir}/checkout-ufs_coupled.log 2>&1 cd ufs_coupled.fd #git checkout develop - #checkout develop branch hash from 11/9/2020: - git checkout 4e8ef6a879ceefb719cc9cebd8ac9c2208a58b16 + #checkout develop branch hash from 12/7/2020: + git checkout 0cf031edc217707f3b5c912e0844e2c2b885ff82 git submodule update --init --recursive cd ${topdir} else diff --git a/ush/cplvalidate.sh b/ush/cplvalidate.sh index ba5ec7b88a5..96186bebbb2 100755 --- a/ush/cplvalidate.sh +++ b/ush/cplvalidate.sh @@ -14,22 +14,24 @@ case $confignamevarfornems in 'atm') combination=.false..false..false..false..false.;; 'datm') combination=.true..true..false..false..false.;; 'med_atm_ocn_ice') combination=.true..true..true..false..false.;; + 'cpld') combination=.true..true..true..false..false.;; 'blocked_atm_wav') combination=.true..false..false..true..false.;; 'leapfrog_atm_wav')combination=.true..false..false..true..false.;; 'med_atm_ocn_ice_wav') combination=.true..true..true..true..false.;; + 'cpld_wave') combination=.true..true..true..true..false.;; 'medcold_atm_ocn_ice_wav') combination=.true..true..true..true..false.;; 'med_atm_ocn_ice_wav1way') combination=.true..true..true..true..false.;; 'med_atm_ocn_ice_wav1waywcurr') combination=.true..true..true..true..false.;; 'medcold_atm_ocn_ice_wav') combination=.true..true..true..true..false.;; 'medcold_atm_ocn_ice') combination=.true..true..true..false..false.;; *) echo "SUB cplvalidate: Combination not supported" - exit ;; + exit 1 ;; esac control=$cpl$cplflx$cplice$cplwav$cplchem #echo $control if [ $control != $combination ]; then echo "SUB cplvalidate: inconsistent cpl setting!" - exit 1 + exit 2 else echo "SUB cplvalidate: cpl settings validated!" fi diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index 569bfc90103..85e159d289e 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -591,7 +591,7 @@ MOM6_postdet() # Copy mediator restart files to RUNDIR if [ $inistep = 'restart' ]; then - $NCP $ROTDIR/$CDUMP.$PDY/$cyc/ufs.s2s*.nc $DATA/ + $NCP $ROTDIR/$CDUMP.$PDY/$cyc/ufs.cpld*.nc $DATA/ $NCP $ROTDIR/$CDUMP.$PDY/$cyc/rpointer.cpl $DATA/ fi @@ -623,7 +623,7 @@ MOM6_out() [[ ! -d $COMOUT ]] && mkdir -m 775 -p $COMOUT if [ $inistep = 'cold' ]; then - cp $DATA/ufs.s2s.cold.cpl.r.*.nc $COMOUT/ + cp $DATA/ufs.cpld.cold.cpl.r.*.nc $COMOUT/ cp $DATA/rpointer.cpl $COMOUT/ status=$? exit $status diff --git a/ush/nems.configure.med_atm_ocn_ice.IN b/ush/nems.configure.cpld.IN old mode 100755 new mode 100644 similarity index 85% rename from ush/nems.configure.med_atm_ocn_ice.IN rename to ush/nems.configure.cpld.IN index fc5e4c2ac90..e430f370f61 --- a/ush/nems.configure.med_atm_ocn_ice.IN +++ b/ush/nems.configure.cpld.IN @@ -31,7 +31,6 @@ OCN_attributes:: DumpFields = @[DumpFields] ProfileMemory = false OverwriteSlice = true - dbug_flag = 0 :: # ICE # @@ -43,18 +42,18 @@ ICE_attributes:: ProfileMemory = false OverwriteSlice = true mesh_ice = @[MESHICE] - stop_n = @[FHMAX] + stop_n = @[RESTART_N] stop_option = nhours stop_ymd = -999 :: # CMEPS warm run sequence runSeq:: -@@[CPL_SLOW] +@@[coupling_interval_slow_sec] MED med_phases_prep_ocn_accum_avg MED -> OCN :remapMethod=redist OCN - @@[CPL_FAST] + @@[coupling_interval_fast_sec] MED med_phases_prep_atm MED med_phases_prep_ice MED -> ATM :remapMethod=redist @@ -77,7 +76,7 @@ runSeq:: # CMEPS variables DRIVER_attributes:: - mediator_read_restart = @[read_mediator] + mediator_read_restart = @[use_coldstart] :: MED_attributes:: ATM_model = @[atm_model] @@ -86,18 +85,18 @@ MED_attributes:: history_n = 0 history_option = nhours history_ymd = -999 - coupling_mode = nems_orig + coupling_mode = @[CPLMODE] :: ALLCOMP_attributes:: ScalarFieldCount = 2 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 ScalarFieldName = cpl_scalars - start_type = startup - case_name = ufs.s2s - restart_n = @[restart_interval_hours] + start_type = @[RUNTYPE] + case_name = ./RESTART/ufs.cpld + restart_n = @[RESTART_N] restart_option = nhours restart_ymd = -999 - dbug_flag = 0 - use_coldstart = @[read_mediator] + dbug_flag = @[cap_dbug_flag] + use_coldstart = @[use_coldstart] :: diff --git a/ush/nems.configure.med_atm_ocn_ice_wav.IN b/ush/nems.configure.cpld_wave.IN similarity index 86% rename from ush/nems.configure.med_atm_ocn_ice_wav.IN rename to ush/nems.configure.cpld_wave.IN index b1fa27e848e..9d4d6dde028 100644 --- a/ush/nems.configure.med_atm_ocn_ice_wav.IN +++ b/ush/nems.configure.cpld_wave.IN @@ -42,9 +42,9 @@ ICE_attributes:: ProfileMemory = false OverwriteSlice = true mesh_ice = @[MESHICE] - stop_n = @[FHMAX] + stop_n = @[RESTART_N] stop_option = nhours - stop_ymd = -999 + stop_ymd = -999 :: # WAV # @@ -57,13 +57,13 @@ WAV_attributes:: # CMEPS warm run sequence runSeq:: -@@[CPL_SLOW] +@@[coupling_interval_slow_sec] MED med_phases_prep_ocn_accum_avg MED -> OCN :remapMethod=redist OCN -> WAV WAV -> OCN :srcMaskValues=1 OCN - @@[CPL_FAST] + @@[coupling_interval_fast_sec] MED med_phases_prep_atm MED med_phases_prep_ice MED -> ATM :remapMethod=redist @@ -90,7 +90,7 @@ runSeq:: # CMEPS variables DRIVER_attributes:: - mediator_read_restart = @[read_mediator] + mediator_read_restart = @[use_coldstart] :: MED_attributes:: ATM_model = @[atm_model] @@ -99,18 +99,18 @@ MED_attributes:: history_n = 0 history_option = nhours history_ymd = -999 - coupling_mode = nems_orig + coupling_mode = @[CPLMODE] :: ALLCOMP_attributes:: ScalarFieldCount = 2 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 ScalarFieldName = cpl_scalars - start_type = startup - case_name = ufs.s2s - restart_n = @[restart_interval_hours] + start_type = @[RUNTYPE] + case_name = ./RESTART/ufs.cpld + restart_n = @[RESTART_N] restart_option = nhours restart_ymd = -999 - dbug_flag = 0 - use_coldstart = @[read_mediator] + dbug_flag = @[cap_dbug_flag] + use_coldstart = @[use_coldstart] :: diff --git a/ush/nems.configure.medcold_atm_ocn_ice.IN b/ush/nems.configure.medcold_atm_ocn_ice.IN index 5c9e736c429..d54f6596a6f 100644 --- a/ush/nems.configure.medcold_atm_ocn_ice.IN +++ b/ush/nems.configure.medcold_atm_ocn_ice.IN @@ -51,8 +51,8 @@ ICE_attributes:: # CMEPS cold run sequence runSeq:: - @@[CPL_SLOW] - @@[CPL_FAST] + @@[coupling_interval_slow_sec] + @@[coupling_interval_fast_sec] MED med_phases_prep_atm MED -> ATM :remapMethod=redist ATM @@ -94,7 +94,7 @@ ALLCOMP_attributes:: ScalarFieldIdxGridNY = 2 ScalarFieldName = cpl_scalars start_type = startup - case_name = ufs.s2s.cold + case_name = ufs.cpld.cold restart_n = 1 restart_option = nhours restart_ymd = -999 diff --git a/ush/nems.configure.medcold_atm_ocn_ice_wav.IN b/ush/nems.configure.medcold_atm_ocn_ice_wav.IN index cd011889e3e..53cfc8c09d4 100644 --- a/ush/nems.configure.medcold_atm_ocn_ice_wav.IN +++ b/ush/nems.configure.medcold_atm_ocn_ice_wav.IN @@ -58,10 +58,10 @@ WAV_attributes:: # CMEPS cold run sequence runSeq:: - @@[CPL_SLOW] + @@[coupling_interval_slow_sec] OCN -> WAV WAV -> OCN ::srcMaskValues=1 - @@[CPL_FAST] + @@[coupling_interval_fast_sec] MED med_phases_prep_atm MED -> ATM :remapMethod=redist WAV -> ATM :srcMaskValues=1 @@ -107,7 +107,7 @@ ALLCOMP_attributes:: ScalarFieldIdxGridNY = 2 ScalarFieldName = cpl_scalars start_type = startup - case_name = ufs.s2s.cold + case_name = ufs.cpld.cold restart_n = 1 restart_option = nhours restart_ymd = -999 diff --git a/ush/nems_configure.sh b/ush/nems_configure.sh index 9628b21f08a..ce9ae44ed5c 100755 --- a/ush/nems_configure.sh +++ b/ush/nems_configure.sh @@ -18,6 +18,12 @@ fi # Setup nems.configure DumpFields=${NEMSDumpFields:-false} +cap_dbug_flag=${cap_dbug_flag:-0} +if [ $warm_start = ".true." ]; then + cmeps_run_type='continue' +else + cmeps_run_type='startup' +fi if [[ $inistep = "cold" ]]; then restart_interval=0 coldstart=true # this is the correct setting @@ -61,11 +67,15 @@ if [ $cplflx = .true. ]; then sed -i -e "s;@\[ocn_model\];$OCN_model;g" tmp1 sed -i -e "s;@\[ocn_petlist_bounds\];$ocn_petlist_bounds;g" tmp1 sed -i -e "s;@\[DumpFields\];$DumpFields;g" tmp1 + sed -i -e "s;@\[cap_dbug_flag\];$cap_dbug_flag;g" tmp1 sed -i -e "s;@\[coldstart\];$coldstart;g" tmp1 + sed -i -e "s;@\[use_coldstart\];$use_coldstart;g" tmp1 + sed -i -e "s;@\[RUNTYPE\];$cmeps_run_type;g" tmp1 + sed -i -e "s;@\[CPLMODE\];$cplmode;g" tmp1 sed -i -e "s;@\[restart_interval\];$restart_interval;g" tmp1 - sed -i -e "s;@\[CPL_SLOW\];$CPL_SLOW;g" tmp1 - sed -i -e "s;@\[CPL_FAST\];$CPL_FAST;g" tmp1 - sed -i -e "s;@\[restart_interval_hours\];$restart_interval_nems;g" tmp1 + sed -i -e "s;@\[coupling_interval_slow_sec\];$CPL_SLOW;g" tmp1 + sed -i -e "s;@\[coupling_interval_fast_sec\];$CPL_FAST;g" tmp1 + sed -i -e "s;@\[RESTART_N\];$restart_interval_nems;g" tmp1 fi if [ $cplwav = .true. ]; then sed -i -e "s;@\[wav_model\];ww3;g" tmp1 @@ -81,10 +91,6 @@ if [ $cplchem = .true. ]; then sed -i -e "s;@\[chem_model\];gsd;g" tmp1 fi -sed -i -e "s;@\[read_mediator\];$read_mediator;g" tmp1 - -read_mediator - mv tmp1 nems.configure echo "$(cat nems.configure)" diff --git a/ush/parsing_namelists_CICE.sh b/ush/parsing_namelists_CICE.sh index 98b8d1ba287..60baa023e39 100644 --- a/ush/parsing_namelists_CICE.sh +++ b/ush/parsing_namelists_CICE.sh @@ -2,6 +2,13 @@ CICE_namelists(){ +if [ $warm_start = ".true." ]; then + cmeps_run_type='continue' +else + cmeps_run_type='startup' +fi + + cat > ice_in < ice_in < ice_in < ice_in < ice_in <> input.nml <> input.nml <