diff --git a/.gitmodules b/.gitmodules index 09afaaa2e6..b8da2f48c8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,7 +3,7 @@ url = git@github.com:NOAA-GFDL/FMS.git [submodule "src/MOM6"] path = src/MOM6 - url = git@github.com:NOAA-GFDL/MOM6.git + url = git@github.com:suyashbire1/MOM6.git [submodule "src/SIS2"] path = src/SIS2 url = git@github.com:NOAA-GFDL/SIS2.git diff --git a/ocean_only/buoy_forced_basin/CPU_stats b/ocean_only/buoy_forced_basin/CPU_stats new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ocean_only/buoy_forced_basin/MOM_input b/ocean_only/buoy_forced_basin/MOM_input new file mode 100644 index 0000000000..787abec743 --- /dev/null +++ b/ocean_only/buoy_forced_basin/MOM_input @@ -0,0 +1,322 @@ +/* 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 particular file is for the example in BFB. + + 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. */ + +REENTRANT_X = False ! [Boolean] default = True + ! If true, the domain is zonally reentrant. +NIHALO = 4 ! default = 2 + ! The number of halo points on each side in the + ! x-direction. With STATIC_MEMORY_ this is set as NIHALO_ + ! in MOM_memory.h at compile time; without STATIC_MEMORY_ + ! the default is NIHALO_ in MOM_memory.h (if defined) or 2. +NJHALO = 4 ! default = 2 + ! The number of halo points on each side in the + ! y-direction. With STATIC_MEMORY_ this is set as NJHALO_ + ! in MOM_memory.h at compile time; without STATIC_MEMORY_ + ! the default is NJHALO_ in MOM_memory.h (if defined) or 2. +NIGLOBAL = 40 ! + ! 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 = 80 ! + ! 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. +NIPROC = 2 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +NJPROC = 3 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +IO_LAYOUT = 1, 1 ! default = 0 + ! The processor layout to be used, or 0,0 to automatically + ! set the io_layout to be the same as the layout. + +! === module MOM_grid === +! Parameters providing information about the vertical grid. +RHO_0 = 1031.0 ! [kg m-3] default = 1035.0 + ! The mean ocean density used with BOUSSINESQ true to + ! calculate accelerations and the mass for conservation + ! properties, or with BOUSSINSEQ false to convert some + ! parameters from vertical units of m to kg m-2. +NK = 10 ! [nondim] + ! The number of model layers. + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. + +! === module MOM === +ENABLE_THERMODYNAMICS = False ! [Boolean] default = True + ! If true, Temperature and salinity are used as state + ! variables. +DT = 1800.0 ! [s] + ! The (baroclinic) dynamics time step. The time-step that + ! is actually used will be an integer fraction of the + ! forcing time-step (DT_FORCING in ocean-only mode or the + ! coupling timestep in coupled mode.) +DTBT_RESET_PERIOD = 0.0 ! [s] default = 1800.0 + ! The period between recalculations of DTBT (if DTBT <= 0). + ! If DTBT_RESET_PERIOD is negative, DTBT is set based + ! only on information available at initialization. If + ! dynamic, DTBT will be set at least every forcing time + ! step, and if 0, every dynamics time step. The default is + ! set by DT_THERM. This is only used if SPLIT is true. +SAVE_INITIAL_CONDS = True ! [Boolean] default = False + ! If true, write the initial conditions to a file given + ! by IC_OUTPUT_FILE. + +! === module MOM_tracer_registry === + +! === module MOM_tracer_flow_control === + +! === module MOM_grid_init === +GRID_CONFIG = "mercator" ! + ! A character string that determines the method for + ! defining the horizontal grid. Current options are: + ! mosaic - read the grid from a mosaic (supergrid) + ! file set by GRID_FILE. + ! cartesian - use a (flat) Cartesian grid. + ! spherical - use a simple spherical grid. + ! mercator - use a Mercator spherical grid. +SOUTHLAT = 10.0 ! [degrees] + ! The southern latitude of the domain. +LENLAT = 50.0 ! [degrees] + ! The latitudinal length of the domain. +WESTLON = -25.0 ! [degrees] default = 0.0 + ! The western longitude of the domain. +LENLON = 25.0 ! [degrees] + ! The longitudinal length of the domain. +TOPO_CONFIG = "flat" ! + ! This specifies how bathymetry is specified: + ! file - read bathymetric information from the file + ! specified by (TOPO_FILE). + ! flat - flat bottom set to MAXIMUM_DEPTH. + ! bowl - an analytically specified bowl-shaped basin + ! ranging between MAXIMUM_DEPTH and MINIMUM_DEPTH. + ! spoon - a similar shape to 'bowl', but with an vertical + ! wall at the southern face. + ! halfpipe - a zonally uniform channel with a half-sine + ! profile in the meridional direction. + ! benchmark - use the benchmark test case topography. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! DOME2D - use a shelf and slope configuration for the + ! DOME2D gravity current/overflow test case. + ! seamount - Gaussian bump for spontaneous motion test case. + ! Phillips - ACC-like idealized topography used in the Phillips config. + ! USER - call a user modified routine. +MINIMUM_DEPTH = 1.0 ! [m] default = 0.0 + ! The minimum depth of the ocean. +MAXIMUM_DEPTH = 2000.0 ! [m] + ! The maximum depth of the ocean. +COORD_CONFIG = "BFB" ! + ! This specifies how layers are to be defined: + ! file - read coordinate information from the file + ! specified by (COORD_FILE). + ! BFB - Custom coords for buoyancy-forced basin case + ! based on SST_S, T_BOT and DRHO_DT. + ! linear - linear based on interfaces not layers + ! layer_ref - linear based on layer densities + ! ts_ref - use reference temperature and salinity + ! ts_range - use range of temperature and salinity + ! (T_REF and S_REF) to determine surface density + ! and GINT calculate internal densities. + ! gprime - use reference density (RHO_0) for surface + ! density and GINT calculate internal densities. + ! ts_profile - use temperature and salinity profiles + ! (read from COORD_FILE) to set layer densities. + ! USER - call a user modified routine. + +T_BOT = 7.0 ! [C] default = 5.0 + ! Bottom Temp +THICKNESS_CONFIG = "uniform" ! + ! A string that determines how the initial layer + ! thicknesses are specified for a new run: + ! file - read interface heights from the file specified + ! thickness_file - read thicknesses from the file specified + ! by (THICKNESS_FILE). + ! coord - determined by ALE coordinate. + ! uniform - uniform thickness layers evenly distributed + ! between the surface and MAXIMUM_DEPTH. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! benchmark - use the benchmark test case thicknesses. + ! search - search a density profile for the interface + ! densities. This is not yet implemented. + ! circle_obcs - the circle_obcs test case is used. + ! DOME2D - 2D version of DOME initialization. + ! adjustment2d - TBD AJA. + ! sloshing - TBD AJA. + ! seamount - TBD AJA. + ! rossby_front - a mixed layer front in thermal wind balance. + ! USER - call a user modified routine. +SPONGE = True ! [Boolean] default = False + ! If true, sponges may be applied anywhere in the domain. + ! The exact location and properties of those sponges are + ! specified via SPONGE_CONFIG. +SPONGE_CONFIG = "BFB" ! default = "file" + ! A string that sets how the sponges are configured: + ! file - read sponge properties from the file + ! specified by (SPONGE_FILE). + ! ISOMIP - apply ale sponge in the ISOMIP case + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! BFB - Sponge at the southern boundary of the domain + ! for buoyancy-forced basin case. + ! USER - call a user modified routine. + +! === module MOM_MEKE === + +! === module MOM_wave_speed === + +! === module MOM_lateral_mixing_coeffs === + +! === module MOM_set_visc === +BOTTOMDRAGLAW = False ! [Boolean] default = True + ! If true, the bottom stress is calculated with a drag + ! law of the form c_drag*|u|*u. The velocity magnitude + ! may be an assumed value or it may be based on the + ! actual velocity in the bottommost HBBL, depending on + ! LINEAR_DRAG. +HBBL = 20.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. +BBL_THICK_MIN = 0.1 ! [m] default = 0.0 + ! The minimum bottom boundary layer thickness that can be + ! used with BOTTOMDRAGLAW. This might be + ! Kv / (cdrag * drag_bg_vel) to give Kv as the minimum + ! near-bottom viscosity. + +! === module MOM_hor_visc === +LAPLACIAN = True ! [Boolean] default = False + ! If true, use a Laplacian horizontal viscosity. +KH = 1000.0 ! [m2 s-1] default = 0.0 + ! The background Laplacian horizontal viscosity. +SMAGORINSKY_AH = True ! [Boolean] default = False + ! If true, use a biharmonic Smagorinsky nonlinear eddy + ! viscosity. +SMAG_BI_CONST = 0.05 ! [nondim] default = 0.0 + ! The nondimensional biharmonic Smagorinsky constant, + ! typically 0.015 - 0.06. + +! === module MOM_vert_friction === +HMIX_FIXED = 20.0 ! [m] + ! The prescribed depth over which the near-surface + ! viscosity and diffusivity are elevated when the bulk + ! mixed layer is not used. +KV = 1.0E-04 ! [m2 s-1] + ! The background kinematic viscosity in the interior. + ! The molecular value, ~1e-6 m2 s-1, may be used. +KVML = 0.01 ! [m2 s-1] default = 1.0E-04 + ! The kinematic viscosity in the mixed layer. A typical + ! value is ~1e-2 m2 s-1. KVML is not used if + ! BULKMIXEDLAYER is true. The default is set by KV. +MAXVEL = 10.0 ! [m s-1] default = 3.0E+08 + ! The maximum velocity allowed before the velocity + ! components are truncated. + +! === module MOM_barotropic === + +! === module MOM_thickness_diffuse === + +! === module MOM_mixed_layer_restrat === + +! === module MOM_diabatic_driver === +! The following parameters are used for diabatic processes. + +! === module MOM_KPP === +! This is the MOM wrapper to CVmix:KPP +! See http://code.google.com/p/cvmix/ + +! === module MOM_diffConvection === +! This module implements enhanced diffusivity as a +! function of static stability, N^2. +CONVECTION% +%CONVECTION + +! === module MOM_entrain_diffusive === +KD = 1.0E-04 ! [m2 s-1] + ! The background diapycnal diffusivity of density in the + ! interior. Zero or the molecular value, ~1e-7 m2 s-1, + ! may be used. + +! === module MOM_kappa_shear === +! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 + +! === module MOM_diabatic_aux === +! The following parameters are used for auxiliary diabatic processes. + +! === module MOM_regularize_layers === + +! === module MOM_tracer_advect === + +! === module MOM_tracer_hor_diff === + +! === module MOM_neutral_diffusion === +! This module implements neutral diffusion of tracers + +! === module MOM_surface_forcing === +VARIABLE_WINDS = False ! [Boolean] default = True + ! If true, the winds vary in time after the initialization. +BUOY_CONFIG = "BFB" ! + ! The character string that indicates how buoyancy forcing + ! is specified. Valid options include (file), (zero), + ! (linear), (USER), (BFB) and (NONE). +WIND_CONFIG = "zero" ! + ! The character string that indicates how wind forcing + ! is specified. Valid options include (file), (2gyre), + ! (1gyre), (gyres), (zero), and (USER). +RESTOREBUOY = True ! [Boolean] default = False + ! If true, the buoyancy fluxes drive the model back + ! toward some specified surface state with a rate + ! given by FLUXCONST. +FLUXCONST = 4.0 ! [m day-1] + ! The constant that relates the restoring surface fluxes + ! to the relative surface anomalies (akin to a piston + ! velocity). Note the non-MKS units. + +! === module user_surface_forcing === + +! === module MOM_sum_output === +MAXTRUNC = 400 ! [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_main (MOM_driver) === +DT_FORCING = 8.64E+04 ! [s] default = 1800.0 + ! The time step for changing forcing, coupling with other + ! components, or potentially writing certain diagnostics. + ! The default value is given by DT. +DAYMAX = 3.65E+04 ! [days] + ! The final time of the whole simulation, in units of + ! TIMEUNIT seconds. This also sets the potential end + ! time of the present run segment if the end time is + ! not set via ocean_solo_nml in input.nml. +RESTART_CONTROL = 3 ! default = 1 + ! An integer whose bits encode which restart files are + ! written. Add 2 (bit 1) for a time-stamped file, and odd + ! (bit 0) for a non-time-stamped file. A non-time-stamped + ! restart file is saved at the end of the run segment + ! for any non-negative value. +RESTINT = 100.0 ! [days] default = 0.0 + ! The interval between saves of the restart file in units + ! of TIMEUNIT. Use 0 (the default) to not save + ! incremental restart files at all. +ENERGYSAVEDAYS = 1.0 ! [days] default = 8.64E+04 + ! The interval in units of TIMEUNIT between saves of the + ! energies of the run and other globally summed diagnostics. +REPORT_UNUSED_PARAMS = True ! [Boolean] default = False + ! If true, report any parameter lines that are not used + ! in the run. diff --git a/ocean_only/buoy_forced_basin/MOM_override b/ocean_only/buoy_forced_basin/MOM_override new file mode 100644 index 0000000000..5d67420dc4 --- /dev/null +++ b/ocean_only/buoy_forced_basin/MOM_override @@ -0,0 +1 @@ +! Blank file in which we can put "overrides" for parameters diff --git a/ocean_only/buoy_forced_basin/MOM_parameter_doc.all b/ocean_only/buoy_forced_basin/MOM_parameter_doc.all new file mode 100644 index 0000000000..4dbc250731 --- /dev/null +++ b/ocean_only/buoy_forced_basin/MOM_parameter_doc.all @@ -0,0 +1,1318 @@ +! This file was written by the model and records all non-layout parameters used at run-time. + +! === module MOM === +VERBOSITY = 2 ! default = 2 + ! Integer controlling level of messaging + ! 0 = Only FATAL messages + ! 2 = Only FATAL, WARNING, NOTE [default] + ! 9 = All) +SPLIT = True ! [Boolean] default = True + ! Use the split time stepping if true. +USE_LEGACY_SPLIT = False ! [Boolean] default = False + ! If true, use the full range of options available from + ! the older GOLD-derived split time stepping code. +ENABLE_THERMODYNAMICS = False ! [Boolean] default = True + ! If true, Temperature and salinity are used as state + ! variables. +USE_EOS = False ! [Boolean] default = False + ! If true, density is calculated from temperature and + ! salinity with an equation of state. If USE_EOS is + ! true, ENABLE_THERMODYNAMICS must be true as well. +DIABATIC_FIRST = False ! [Boolean] default = False + ! If true, apply diabatic and thermodynamic processes, + ! including buoyancy forcing and mass gain or loss, + ! before stepping the dynamics forward. +ADIABATIC = False ! [Boolean] default = False + ! There are no diapycnal mass fluxes if ADIABATIC is + ! true. This assumes that KD = KDML = 0.0 and that + ! there is no buoyancy forcing, but makes the model + ! faster by eliminating subroutine calls. +USE_REGRIDDING = False ! [Boolean] default = False + ! If True, use the ALE algorithm (regridding/remapping). + ! If False, use the layered isopycnal algorithm. +BULKMIXEDLAYER = False ! [Boolean] default = False + ! If true, use a Kraus-Turner-like bulk mixed layer + ! with transitional buffer layers. Layers 1 through + ! NKML+NKBL have variable densities. There must be at + ! least NKML+NKBL+1 layers if BULKMIXEDLAYER is true. + ! BULKMIXEDLAYER can not be used with USE_REGRIDDING. + ! The default is influenced by ENABLE_THERMODYNAMICS. +THICKNESSDIFFUSE = False ! [Boolean] default = False + ! If true, interface heights are diffused with a + ! coefficient of KHTH. +THICKNESSDIFFUSE_FIRST = False ! [Boolean] default = False + ! If true, do thickness diffusion before dynamics. + ! This is only used if THICKNESSDIFFUSE is true. +BATHYMETRY_AT_VEL = False ! [Boolean] default = False + ! If true, there are separate values for the basin depths + ! at velocity points. Otherwise the effects of topography + ! are entirely determined from thickness points. +DEBUG = False ! [Boolean] default = False + ! If true, write out verbose debugging data. +DEBUG_TRUNCATIONS = False ! [Boolean] default = False + ! If true, calculate all diagnostics that are useful for + ! debugging truncations. +DT = 1800.0 ! [s] + ! The (baroclinic) dynamics time step. The time-step that + ! is actually used will be an integer fraction of the + ! forcing time-step (DT_FORCING in ocean-only mode or the + ! coupling timestep in coupled mode.) +DT_THERM = 1800.0 ! [s] default = 1800.0 + ! The thermodynamic and tracer advection time step. + ! Ideally DT_THERM should be an integer multiple of DT + ! and less than the forcing or coupling time-step, unless + ! THERMO_SPANS_COUPLING is true, in which case DT_THERM + ! can be an integer multiple of the coupling timestep. By + ! default DT_THERM is set to DT. +THERMO_SPANS_COUPLING = False ! [Boolean] default = False + ! If true, the MOM will take thermodynamic and tracer + ! timesteps that can be longer than the coupling timestep. + ! The actual thermodynamic timestep that is used in this + ! case is the largest integer multiple of the coupling + ! timestep that is less than or equal to DT_THERM. +HMIX_SFC_PROP = 1.0 ! [m] default = 1.0 + ! If BULKMIXEDLAYER is false, HMIX_SFC_PROP is the depth + ! over which to average to find surface properties like + ! SST and SSS or density (but not surface velocities). +MIN_Z_DIAG_INTERVAL = 0.0 ! [s] default = 0.0 + ! The minimum amount of time in seconds between + ! calculations of depth-space diagnostics. Making this + ! larger than DT_THERM reduces the performance penalty + ! of regridding to depth online. +INTERPOLATE_P_SURF = False ! [Boolean] default = False + ! If true, linearly interpolate the surface pressure + ! over the coupling time step, using the specified value + ! at the end of the step. +DTBT_RESET_PERIOD = 0.0 ! [s] default = 1800.0 + ! The period between recalculations of DTBT (if DTBT <= 0). + ! If DTBT_RESET_PERIOD is negative, DTBT is set based + ! only on information available at initialization. If + ! dynamic, DTBT will be set at least every forcing time + ! step, and if 0, every dynamics time step. The default is + ! set by DT_THERM. This is only used if SPLIT is true. +FIRST_DIRECTION = 0 ! default = 0 + ! An integer that indicates which direction goes first + ! in parts of the code that use directionally split + ! updates, with even numbers (or 0) used for x- first + ! and odd numbers used for y-first. +CHECK_BAD_SURFACE_VALS = False ! [Boolean] default = False + ! If true, check the surface state for ridiculous values. +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. +WRITE_GEOM = 1 ! default = 1 + ! If =0, never write the geometry and vertical grid files. + ! If =1, write the geometry and vertical grid files only for + ! a new simulation. If =2, always write the geometry and + ! vertical grid files. Other values are invalid. + +! === module MOM_domains === +REENTRANT_X = False ! [Boolean] default = True + ! If true, the domain is zonally reentrant. +REENTRANT_Y = False ! [Boolean] default = False + ! If true, the domain is meridionally reentrant. +TRIPOLAR_N = False ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the + ! domain. With TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = 40 ! + ! 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 = 80 ! + ! 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. +G_EARTH = 9.8 ! [m s-2] default = 9.8 + ! The gravitational acceleration of the Earth. +RHO_0 = 1031.0 ! [kg m-3] default = 1035.0 + ! The mean ocean density used with BOUSSINESQ true to + ! calculate accelerations and the mass for conservation + ! properties, or with BOUSSINSEQ false to convert some + ! parameters from vertical units of m to kg m-2. +BOUSSINESQ = True ! [Boolean] default = True + ! If true, make the Boussinesq approximation. +ANGSTROM = 1.0E-10 ! [m] default = 1.0E-10 + ! The minumum layer thickness, usually one-Angstrom. +H_TO_M = 1.0 ! [m H-1] default = 1.0 + ! A constant that translates the model's internal + ! units of thickness into m. +NK = 10 ! [nondim] + ! The number of model layers. + +! === module MOM_tracer_registry === + +! === module MOM_restart === +PARALLEL_RESTARTFILES = False ! [Boolean] default = False + ! If true, each processor writes its own restart file, + ! otherwise a single restart file is generated +RESTARTFILE = "MOM.res" ! default = "MOM.res" + ! The name-root of the restart file. +LARGE_FILE_SUPPORT = True ! [Boolean] default = True + ! If true, use the file-size limits with NetCDF large + ! file support (4Gb), otherwise the limit is 2Gb. +MAX_FIELDS = 100 ! default = 100 + ! The maximum number of restart fields that can be used. + +! === module MOM_tracer_flow_control === +USE_USER_TRACER_EXAMPLE = False ! [Boolean] default = False + ! If true, use the USER_tracer_example tracer package. +USE_DOME_TRACER = False ! [Boolean] default = False + ! If true, use the DOME_tracer tracer package. +USE_ISOMIP_TRACER = False ! [Boolean] default = False + ! If true, use the ISOMIP_tracer tracer package. +USE_IDEAL_AGE_TRACER = False ! [Boolean] default = False + ! If true, use the ideal_age_example tracer package. +USE_REGIONAL_DYES = False ! [Boolean] default = False + ! If true, use the regional_dyes tracer package. +USE_OIL_TRACER = False ! [Boolean] default = False + ! If true, use the oil_tracer tracer package. +USE_ADVECTION_TEST_TRACER = False ! [Boolean] default = False + ! If true, use the advection_test_tracer tracer package. +USE_OCMIP2_CFC = False ! [Boolean] default = False + ! If true, use the MOM_OCMIP2_CFC tracer package. +USE_generic_tracer = False ! [Boolean] default = False + ! If true and _USE_GENERIC_TRACER is defined as a + ! preprocessor macro, use the MOM_generic_tracer packages. + +! === module MOM_fixed_initialization === +INPUTDIR = "." ! default = "." + ! The directory in which input files are found. + +! === module MOM_grid_init === +GRID_CONFIG = "mercator" ! + ! A character string that determines the method for + ! defining the horizontal grid. Current options are: + ! mosaic - read the grid from a mosaic (supergrid) + ! file set by GRID_FILE. + ! cartesian - use a (flat) Cartesian grid. + ! spherical - use a simple spherical grid. + ! mercator - use a Mercator spherical grid. +SOUTHLAT = 10.0 ! [degrees] + ! The southern latitude of the domain. +LENLAT = 50.0 ! [degrees] + ! The latitudinal length of the domain. +WESTLON = -25.0 ! [degrees] default = 0.0 + ! The western longitude of the domain. +LENLON = 25.0 ! [degrees] + ! The longitudinal length of the domain. +RAD_EARTH = 6.378E+06 ! [m] default = 6.378E+06 + ! The radius of the Earth. +ISOTROPIC = False ! [Boolean] default = False + ! If true, an isotropic grid on a sphere (also known as + ! a Mercator grid) is used. With an isotropic grid, the + ! meridional extent of the domain (LENLAT), the zonal + ! extent (LENLON), and the number of grid points in each + ! direction are _not_ independent. In MOM the meridional + ! extent is determined to fit the zonal extent and the + ! number of grid points, while grid is perfectly isotropic. +EQUATOR_REFERENCE = True ! [Boolean] default = True + ! If true, the grid is defined to have the equator at the + ! nearest q- or h- grid point to (-LOWLAT*NJGLOBAL/LENLAT). +LAT_ENHANCE_FACTOR = 1.0 ! [nondim] default = 1.0 + ! The amount by which the meridional resolution is + ! enhanced within LAT_EQ_ENHANCE of the equator. +LAT_EQ_ENHANCE = 0.0 ! [degrees] default = 0.0 + ! The latitude range to the north and south of the equator + ! over which the resolution is enhanced. +TOPO_CONFIG = "flat" ! + ! This specifies how bathymetry is specified: + ! file - read bathymetric information from the file + ! specified by (TOPO_FILE). + ! flat - flat bottom set to MAXIMUM_DEPTH. + ! bowl - an analytically specified bowl-shaped basin + ! ranging between MAXIMUM_DEPTH and MINIMUM_DEPTH. + ! spoon - a similar shape to 'bowl', but with an vertical + ! wall at the southern face. + ! halfpipe - a zonally uniform channel with a half-sine + ! profile in the meridional direction. + ! benchmark - use the benchmark test case topography. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! ISOMIP - use a slope and channel configuration for the + ! ISOMIP test case. + ! DOME2D - use a shelf and slope configuration for the + ! DOME2D gravity current/overflow test case. + ! seamount - Gaussian bump for spontaneous motion test case. + ! Phillips - ACC-like idealized topography used in the Phillips config. + ! USER - call a user modified routine. +MINIMUM_DEPTH = 1.0 ! [m] default = 0.0 + ! The minimum depth of the ocean. +MAXIMUM_DEPTH = 2000.0 ! [m] + ! The maximum depth of the ocean. + +! === module MOM_open_boundary === +! Controls where open boundaries are located, what kind of boundary condition to impose, and what data to apply, if any. +APPLY_OBC_U = False ! [Boolean] default = False + ! If true, open boundary conditions may be set at some + ! u-points, with the configuration controlled by OBC_CONFIG +APPLY_OBC_V = False ! [Boolean] default = False + ! If true, open boundary conditions may be set at some + ! v-points, with the configuration controlled by OBC_CONFIG +APPLY_OBC_U_FLATHER_EAST = False ! [Boolean] default = False + ! Apply a Flather open boundary condition on the eastern + ! side of the global domain +APPLY_OBC_U_FLATHER_WEST = False ! [Boolean] default = False + ! Apply a Flather open boundary condition on the western + ! side of the global domain +APPLY_OBC_V_FLATHER_NORTH = False ! [Boolean] default = False + ! Apply a Flather open boundary condition on the northern + ! side of the global domain +APPLY_OBC_V_FLATHER_SOUTH = False ! [Boolean] default = False + ! Apply a Flather open boundary condition on the southern + ! side of the global domain +MASKING_DEPTH = -9999.0 ! [m] default = -9999.0 + ! The depth below which to mask points as land points, for which all + ! fluxes are zeroed out. MASKING_DEPTH is ignored if negative. +CHANNEL_CONFIG = "none" ! default = "none" + ! A parameter that determines which set of channels are + ! restricted to specific widths. Options are: + ! none - All channels have the grid width. + ! global_1deg - Sets 16 specific channels appropriate + ! for a 1-degree model, as used in CM2G. + ! list - Read the channel locations and widths from a + ! text file, like MOM_channel_list in the MOM_SIS + ! test case. + ! file - Read open face widths everywhere from a + ! NetCDF file on the model grid. +ROTATION = "2omegasinlat" ! default = "2omegasinlat" + ! This specifies how the Coriolis parameter is specified: + ! 2omegasinlat - Use twice the planetary rotation rate + ! times the sine of latitude. + ! betaplane - Use a beta-plane or f-plane. + ! USER - call a user modified routine. +OMEGA = 7.2921E-05 ! [s-1] default = 7.2921E-05 + ! The rotation rate of the earth. + +! === module MOM_coord_initialization === +COORD_CONFIG = "BFB" ! + ! This specifies how layers are to be defined: + ! file - read coordinate information from the file + ! specified by (COORD_FILE). + ! BFB - Custom coords for buoyancy-forced basin case + ! based on SST_S, T_BOT and DRHO_DT. + ! linear - linear based on interfaces not layers + ! layer_ref - linear based on layer densities + ! ts_ref - use reference temperature and salinity + ! ts_range - use range of temperature and salinity + ! (T_REF and S_REF) to determine surface density + ! and GINT calculate internal densities. + ! gprime - use reference density (RHO_0) for surface + ! density and GINT calculate internal densities. + ! ts_profile - use temperature and salinity profiles + ! (read from COORD_FILE) to set layer densities. + ! USER - call a user modified routine. +DRHO_DT = -0.2 ! [kg m-3 K-1] default = -0.2 + ! Rate of change of density with temperature. +SST_S = 20.0 ! [C] default = 20.0 + ! SST at the suothern edge of the domain. +T_BOT = 7.0 ! [C] default = 5.0 + ! Bottom Temp + +! === module MOM_grid === +! Parameters providing information about the lateral grid. + +! === module MOM_state_initialization === +INIT_LAYERS_FROM_Z_FILE = False ! [Boolean] default = False + ! If true, intialize the layer thicknesses, temperatures, + ! and salnities from a Z-space file on a latitude- + ! longitude grid. +THICKNESS_CONFIG = "uniform" ! + ! A string that determines how the initial layer + ! thicknesses are specified for a new run: + ! file - read interface heights from the file specified + ! thickness_file - read thicknesses from the file specified + ! by (THICKNESS_FILE). + ! coord - determined by ALE coordinate. + ! uniform - uniform thickness layers evenly distributed + ! between the surface and MAXIMUM_DEPTH. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! ISOMIP - use a configuration for the + ! ISOMIP test case. + ! benchmark - use the benchmark test case thicknesses. + ! search - search a density profile for the interface + ! densities. This is not yet implemented. + ! circle_obcs - the circle_obcs test case is used. + ! DOME2D - 2D version of DOME initialization. + ! adjustment2d - TBD AJA. + ! sloshing - TBD AJA. + ! seamount - TBD AJA. + ! rossby_front - a mixed layer front in thermal wind balance. + ! USER - call a user modified routine. +VELOCITY_CONFIG = "zero" ! default = "zero" + ! A string that determines how the initial velocities + ! are specified for a new run: + ! file - read velocities from the file specified + ! by (VELOCITY_FILE). + ! zero - the fluid is initially at rest. + ! uniform - the flow is uniform (determined by + ! parameters INITIAL_U_CONST and INITIAL_V_CONST). + ! rossby_front - a mixed layer front in thermal wind balance. + ! USER - call a user modified routine. +CONVERT_THICKNESS_UNITS = False ! [Boolean] default = False + ! If true, convert the thickness initial conditions from + ! units of m to kg m-2 or vice versa, depending on whether + ! BOUSSINESQ is defined. This does not apply if a restart + ! file is read. +DEPRESS_INITIAL_SURFACE = False ! [Boolean] default = False + ! If true, depress the initial surface to avoid huge + ! tsunamis when a large surface pressure is applied. +TRIM_IC_FOR_P_SURF = False ! [Boolean] default = False + ! If true, cuts way the top of the column for initial conditions + ! at the depth where the hydrostatic presure matches the imposed + ! surface pressure which is read from file. +SPONGE = True ! [Boolean] default = False + ! If true, sponges may be applied anywhere in the domain. + ! The exact location and properties of those sponges are + ! specified via SPONGE_CONFIG. +SPONGE_CONFIG = "BFB" ! default = "file" + ! A string that sets how the sponges are configured: + ! file - read sponge properties from the file + ! specified by (SPONGE_FILE). + ! ISOMIP - apply ale sponge in the ISOMIP case + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! BFB - Sponge at the southern boundary of the domain + ! for buoyancy-forced basin case. + ! USER - call a user modified routine. +!Total sponge columns = 240 ! + ! The total number of columns where sponges are applied. +AVAILABLE_DIAGS_FILE = "available_diags.000000" ! default = "available_diags.000000" + ! A file into which to write a list of all available + ! ocean diagnostics that can be included in a diag_table. + +! === module MOM_diag_mediator === +DIAG_REMAP_Z_GRID_DEF = "" ! default = "" + ! This sets the file and variable names that define the + ! vertical grid used for diagnostic output remapping to + ! Z space. It should look like: + ! FILE:, - where is a file within + ! the INPUTDIR, is + ! the name of the variable that + ! contains interface positions. + ! UNIFORM - vertical grid is uniform + ! between surface and max depth. + +! === module MOM_MEKE === +USE_MEKE = False ! [Boolean] default = False + ! If true, turns on the MEKE scheme which calculates + ! a sub-grid mesoscale eddy kinetic energy budget. + +! === module MOM_wave_speed === + +! === module MOM_lateral_mixing_coeffs === +USE_VARIABLE_MIXING = False ! [Boolean] default = False + ! If true, the variable mixing code will be called. This + ! allows diagnostics to be created even if the scheme is + ! not used. If KHTR_SLOPE_CFF>0 or KhTh_Slope_Cff>0, + ! this is set to true regardless of what is in the + ! parameter file. +RESOLN_SCALED_KH = False ! [Boolean] default = False + ! If true, the Laplacian lateral viscosity is scaled away + ! when the first baroclinic deformation radius is well + ! resolved. +RESOLN_SCALED_KHTH = False ! [Boolean] default = False + ! If true, the interface depth diffusivity is scaled away + ! when the first baroclinic deformation radius is well + ! resolved. +RESOLN_SCALED_KHTR = False ! [Boolean] default = False + ! If true, the epipycnal tracer diffusivity is scaled + ! away when the first baroclinic deformation radius is + ! well resolved. +KHTH_SLOPE_CFF = 0.0 ! [nondim] default = 0.0 + ! The nondimensional coefficient in the Visbeck formula + ! for the interface depth diffusivity +KHTR_SLOPE_CFF = 0.0 ! [nondim] default = 0.0 + ! The nondimensional coefficient in the Visbeck formula + ! for the epipycnal tracer diffusivity +USE_STORED_SLOPES = False ! [Boolean] default = False + ! If true, the isopycnal slopes are calculated once and + ! stored for re-use. This uses more memory but avoids calling + ! the equation of state more times than should be necessary. + +! === module MOM_set_visc === +BOTTOMDRAGLAW = False ! [Boolean] default = True + ! If true, the bottom stress is calculated with a drag + ! law of the form c_drag*|u|*u. The velocity magnitude + ! may be an assumed value or it may be based on the + ! actual velocity in the bottommost HBBL, depending on + ! LINEAR_DRAG. +CHANNEL_DRAG = False ! [Boolean] default = False + ! If true, the bottom drag is exerted directly on each + ! layer proportional to the fraction of the bottom it + ! overlies. +LINEAR_DRAG = False ! [Boolean] default = False + ! If LINEAR_DRAG and BOTTOMDRAGLAW are defined the drag + ! law is cdrag*DRAG_BG_VEL*u. +DOUBLE_DIFFUSION = False ! [Boolean] default = False + ! If true, increase diffusivitives for temperature or salt + ! based on double-diffusive paramaterization from MOM4/KPP. +PRANDTL_TURB = 1.0 ! [nondim] default = 1.0 + ! The turbulent Prandtl number applied to shear + ! instability. +DYNAMIC_VISCOUS_ML = False ! [Boolean] default = False + ! If true, use a bulk Richardson number criterion to + ! determine the mixed layer thickness for viscosity. +HBBL = 20.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. +BBL_THICK_MIN = 0.1 ! [m] default = 0.0 + ! The minimum bottom boundary layer thickness that can be + ! used with BOTTOMDRAGLAW. This might be + ! Kv / (cdrag * drag_bg_vel) to give Kv as the minimum + ! near-bottom viscosity. +HTBL_SHELF_MIN = 0.1 ! [m] default = 0.1 + ! The minimum top boundary layer thickness that can be + ! used with BOTTOMDRAGLAW. This might be + ! Kv / (cdrag * drag_bg_vel) to give Kv as the minimum + ! near-top viscosity. +HTBL_SHELF = 20.0 ! [m] default = 20.0 + ! The thickness over which near-surface velocities are + ! averaged for the drag law under an ice shelf. By + ! default this is the same as HBBL +KV = 1.0E-04 ! [m2 s-1] + ! The background kinematic viscosity in the interior. + ! The molecular value, ~1e-6 m2 s-1, may be used. +KV_BBL_MIN = 1.0E-04 ! [m2 s-1] default = 1.0E-04 + ! The minimum viscosities in the bottom boundary layer. +KV_TBL_MIN = 1.0E-04 ! [m2 s-1] default = 1.0E-04 + ! The minimum viscosities in the top boundary layer. +TIDES = False ! [Boolean] default = False + ! If true, apply tidal momentum forcing. +BE = 0.6 ! [nondim] default = 0.6 + ! If SPLIT is true, BE determines the relative weighting + ! of a 2nd-order Runga-Kutta baroclinic time stepping + ! scheme (0.5) and a backward Euler scheme (1) that is + ! used for the Coriolis and inertial terms. BE may be + ! from 0.5 to 1, but instability may occur near 0.5. + ! BE is also applicable if SPLIT is false and USE_RK2 + ! is true. +BEGW = 0.0 ! [nondim] default = 0.0 + ! If SPILT is true, BEGW is a number from 0 to 1 that + ! controls the extent to which the treatment of gravity + ! waves is forward-backward (0) or simulated backward + ! Euler (1). 0 is almost always used. + ! If SPLIT is false and USE_RK2 is true, BEGW can be + ! between 0 and 0.5 to damp gravity waves. +SPLIT_BOTTOM_STRESS = False ! [Boolean] default = False + ! If true, provide the bottom stress calculated by the + ! vertical viscosity to the barotropic solver. +BT_USE_LAYER_FLUXES = True ! [Boolean] default = True + ! If true, use the summed layered fluxes plus an + ! adjustment due to the change in the barotropic velocity + ! in the barotropic continuity equation. + +! === module MOM_continuity === +CONTINUITY_SCHEME = "PPM" ! default = "PPM" + ! CONTINUITY_SCHEME selects the discretization for the + ! continuity solver. The only valid value currently is: + ! PPM - use a positive-definite (or monotonic) + ! piecewise parabolic reconstruction solver. + +! === module MOM_continuity_PPM === +MONOTONIC_CONTINUITY = False ! [Boolean] default = False + ! If true, CONTINUITY_PPM uses the Colella and Woodward + ! monotonic limiter. The default (false) is to use a + ! simple positive definite limiter. +SIMPLE_2ND_PPM_CONTINUITY = False ! [Boolean] default = False + ! If true, CONTINUITY_PPM uses a simple 2nd order + ! (arithmetic mean) interpolation of the edge values. + ! This may give better PV conservation propterties. While + ! it formally reduces the accuracy of the continuity + ! solver itself in the strongly advective limit, it does + ! not reduce the overall order of accuracy of the dynamic + ! core. +UPWIND_1ST_CONTINUITY = False ! [Boolean] default = False + ! If true, CONTINUITY_PPM becomes a 1st-order upwind + ! continuity solver. This scheme is highly diffusive + ! but may be useful for debugging or in single-column + ! mode where its minimal stensil is useful. +ETA_TOLERANCE = 5.0E-10 ! [m] default = 5.0E-10 + ! The tolerance for the differences between the + ! barotropic and baroclinic estimates of the sea surface + ! height due to the fluxes through each face. The total + ! tolerance for SSH is 4 times this value. The default + ! is 0.5*NK*ANGSTROM, and this should not be set less x + ! than about 10^-15*MAXIMUM_DEPTH. +ETA_TOLERANCE_AUX = 5.0E-10 ! [m] default = 5.0E-10 + ! The tolerance for free-surface height discrepancies + ! between the barotropic solution and the sum of the + ! layer thicknesses when calculating the auxiliary + ! corrected velocities. By default, this is the same as + ! ETA_TOLERANCE, but can be made larger for efficiency. +VELOCITY_TOLERANCE = 3.0E+08 ! [m s-1] default = 3.0E+08 + ! The tolerance for barotropic velocity discrepancies + ! between the barotropic solution and the sum of the + ! layer thicknesses. +CONT_PPM_AGGRESS_ADJUST = False ! [Boolean] default = False + ! If true, allow the adjusted velocities to have a + ! relative CFL change up to 0.5. +CONT_PPM_VOLUME_BASED_CFL = False ! [Boolean] default = False + ! If true, use the ratio of the open face lengths to the + ! tracer cell areas when estimating CFL numbers. The + ! default is set by CONT_PPM_AGGRESS_ADJUST. +CONTINUITY_CFL_LIMIT = 0.5 ! [nondim] default = 0.5 + ! The maximum CFL of the adjusted velocities. +CONT_PPM_BETTER_ITER = True ! [Boolean] default = True + ! If true, stop corrective iterations using a velocity + ! based criterion and only stop if the iteration is + ! better than all predecessors. +CONT_PPM_USE_VISC_REM_MAX = True ! [Boolean] default = True + ! If true, use more appropriate limiting bounds for + ! corrections in strongly viscous columns. +CONT_PPM_MARGINAL_FACE_AREAS = True ! [Boolean] default = True + ! If true, use the marginal face areas from the continuity + ! solver for use as the weights in the barotropic solver. + ! Otherwise use the transport averaged areas. + +! === module MOM_CoriolisAdv === +NOSLIP = False ! [Boolean] default = False + ! If true, no slip boundary conditions are used; otherwise + ! free slip boundary conditions are assumed. The + ! implementation of the free slip BCs on a C-grid is much + ! cleaner than the no slip BCs. The use of free slip BCs + ! is strongly encouraged, and no slip BCs are not used with + ! the biharmonic viscosity. +CORIOLIS_EN_DIS = False ! [Boolean] default = False + ! If true, two estimates of the thickness fluxes are used + ! to estimate the Coriolis term, and the one that + ! dissipates energy relative to the other one is used. +CORIOLIS_SCHEME = "SADOURNY75_ENERGY" ! default = "SADOURNY75_ENERGY" + ! CORIOLIS_SCHEME selects the discretization for the + ! Coriolis terms. Valid values are: + ! SADOURNY75_ENERGY - Sadourny, 1975; energy cons. + ! ARAKAWA_HSU90 - Arakawa & Hsu, 1990 + ! SADOURNY75_ENSTRO - Sadourny, 1975; enstrophy cons. + ! ARAKAWA_LAMB81 - Arakawa & Lamb, 1981; En. + Enst. + ! ARAKAWA_LAMB_BLEND - A blend of Arakawa & Lamb with + ! Arakawa & Hsu and Sadourny energy +BOUND_CORIOLIS = False ! [Boolean] default = False + ! If true, the Coriolis terms at u-points are bounded by + ! the four estimates of (f+rv)v from the four neighboring + ! v-points, and similarly at v-points. This option would + ! have no effect on the SADOURNY Coriolis scheme if it + ! were possible to use centered difference thickness fluxes. +KE_SCHEME = "KE_ARAKAWA" ! default = "KE_ARAKAWA" + ! KE_SCHEME selects the discretization for acceleration + ! due to the kinetic energy gradient. Valid values are: + ! KE_ARAKAWA, KE_SIMPLE_GUDONOV, KE_GUDONOV +PV_ADV_SCHEME = "PV_ADV_CENTERED" ! default = "PV_ADV_CENTERED" + ! PV_ADV_SCHEME selects the discretization for PV + ! advection. Valid values are: + ! PV_ADV_CENTERED - centered (aka Sadourny, 75) + ! PV_ADV_UPWIND1 - upwind, first order + +! === module MOM_PressureForce === +ANALYTIC_FV_PGF = True ! [Boolean] default = True + ! If true the pressure gradient forces are calculated + ! with a finite volume form that analytically integrates + ! the equations of state in pressure to avoid any + ! possibility of numerical thermobaric instability, as + ! described in Adcroft et al., O. Mod. (2008). + +! === module MOM_PressureForce_AFV === +MASS_WEIGHT_IN_PRESSURE_GRADIENT = False ! [Boolean] default = False + ! If true, use mass weighting when interpolation T/S for + ! top/bottom integrals in AFV pressure gradient calculation. + +! === module MOM_hor_visc === +LAPLACIAN = True ! [Boolean] default = False + ! If true, use a Laplacian horizontal viscosity. +KH = 1000.0 ! [m2 s-1] default = 0.0 + ! The background Laplacian horizontal viscosity. +KH_VEL_SCALE = 0.0 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the grid + ! spacing to calculate the Laplacian viscosity. + ! The final viscosity is the largest of this scaled + ! viscosity, the Smagorinsky viscosity and KH. +SMAGORINSKY_KH = False ! [Boolean] default = False + ! If true, use a Smagorinsky nonlinear eddy viscosity. +BOUND_KH = True ! [Boolean] default = True + ! If true, the Laplacian coefficient is locally limited + ! to be stable. +BETTER_BOUND_KH = True ! [Boolean] default = True + ! If true, the Laplacian coefficient is locally limited + ! to be stable with a better bounding than just BOUND_KH. +BIHARMONIC = True ! [Boolean] default = True + ! If true, use a biharmonic horizontal viscosity. + ! BIHARMONIC may be used with LAPLACIAN. +AH = 0.0 ! [m4 s-1] default = 0.0 + ! The background biharmonic horizontal viscosity. +AH_VEL_SCALE = 0.0 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the cube of + ! the grid spacing to calculate the biharmonic viscosity. + ! The final viscosity is the largest of this scaled + ! viscosity, the Smagorinsky viscosity and AH. +SMAGORINSKY_AH = True ! [Boolean] default = False + ! If true, use a biharmonic Smagorinsky nonlinear eddy + ! viscosity. +BOUND_AH = True ! [Boolean] default = True + ! If true, the biharmonic coefficient is locally limited + ! to be stable. +BETTER_BOUND_AH = True ! [Boolean] default = True + ! If true, the biharmonic coefficient is locally limited + ! to be stable with a better bounding than just BOUND_AH. +SMAG_BI_CONST = 0.05 ! [nondim] default = 0.0 + ! The nondimensional biharmonic Smagorinsky constant, + ! typically 0.015 - 0.06. +BOUND_CORIOLIS_BIHARM = False ! [Boolean] default = False + ! If true use a viscosity that increases with the square + ! of the velocity shears, so that the resulting viscous + ! drag is of comparable magnitude to the Coriolis terms + ! when the velocity differences between adjacent grid + ! points is 0.5*BOUND_CORIOLIS_VEL. The default is the + ! value of BOUND_CORIOLIS (or false). +HORVISC_BOUND_COEF = 0.8 ! [nondim] default = 0.8 + ! The nondimensional coefficient of the ratio of the + ! viscosity bounds to the theoretical maximum for + ! stability without considering other terms. + +! === module MOM_vert_friction === +DIRECT_STRESS = False ! [Boolean] default = False + ! If true, the wind stress is distributed over the + ! topmost HMIX_STRESS of fluid (like in HYCOM), and KVML + ! may be set to a very small value. +U_TRUNC_FILE = "" ! default = "" + ! The absolute path to a file into which the accelerations + ! leading to zonal velocity truncations are written. + ! Undefine this for efficiency if this diagnostic is not + ! needed. +V_TRUNC_FILE = "" ! default = "" + ! The absolute path to a file into which the accelerations + ! leading to meridional velocity truncations are written. + ! Undefine this for efficiency if this diagnostic is not + ! needed. +HARMONIC_VISC = False ! [Boolean] default = False + ! If true, use the harmonic mean thicknesses for + ! calculating the vertical viscosity. +HARMONIC_BL_SCALE = 0.0 ! [nondim] default = 0.0 + ! A scale to determine when water is in the boundary + ! layers based solely on harmonic mean thicknesses for + ! the purpose of determining the extent to which the + ! thicknesses used in the viscosities are upwinded. +HMIX_FIXED = 20.0 ! [m] + ! The prescribed depth over which the near-surface + ! viscosity and diffusivity are elevated when the bulk + ! mixed layer is not used. +KVML = 0.01 ! [m2 s-1] default = 1.0E-04 + ! The kinematic viscosity in the mixed layer. A typical + ! value is ~1e-2 m2 s-1. KVML is not used if + ! BULKMIXEDLAYER is true. The default is set by KV. +KVBBL = 1.0E-04 ! [m2 s-1] default = 1.0E-04 + ! The kinematic viscosity in the benthic boundary layer. + ! A typical value is ~1e-2 m2 s-1. KVBBL is not used if + ! BOTTOMDRAGLAW is true. The default is set by KV. +MAXVEL = 10.0 ! [m s-1] default = 3.0E+08 + ! The maximum velocity allowed before the velocity + ! components are truncated. +CFL_BASED_TRUNCATIONS = True ! [Boolean] default = True + ! If true, base truncations on the CFL number, and not an + ! absolute speed. +CFL_TRUNCATE = 0.5 ! [nondim] default = 0.5 + ! The value of the CFL number that will cause velocity + ! components to be truncated; instability can occur past 0.5. +CFL_REPORT = 0.5 ! [nondim] default = 0.5 + ! The value of the CFL number that causes accelerations + ! to be reported; the default is CFL_TRUNCATE. +CFL_TRUNCATE_RAMP_TIME = 0.0 ! [s] default = 0.0 + ! The time over which the CFL trunction value is ramped + ! up at the beginning of the run. +CFL_TRUNCATE_START = 0.0 ! [nondim] default = 0.0 + ! The start value of the truncation CFL number used when + ! ramping up CFL_TRUNC. + +! === module MOM_barotropic === +BOUND_BT_CORRECTION = False ! [Boolean] default = False + ! If true, the corrective pseudo mass-fluxes into the + ! barotropic solver are limited to values that require + ! less than maxCFL_BT_cont to be accommodated. +BT_CONT_CORR_BOUNDS = True ! [Boolean] default = True + ! If true, and BOUND_BT_CORRECTION is true, use the + ! BT_cont_type variables to set limits determined by + ! MAXCFL_BT_CONT on the CFL number of the velocites + ! that are likely to be driven by the corrective mass fluxes. +ADJUST_BT_CONT = False ! [Boolean] default = False + ! If true, adjust the curve fit to the BT_cont type + ! that is used by the barotropic solver to match the + ! transport about which the flow is being linearized. +GRADUAL_BT_ICS = False ! [Boolean] default = False + ! If true, adjust the initial conditions for the + ! barotropic solver to the values from the layered + ! solution over a whole timestep instead of instantly. + ! This is a decent approximation to the inclusion of + ! sum(u dh_dt) while also correcting for truncation errors. +BT_USE_VISC_REM_U_UH0 = False ! [Boolean] default = False + ! If true, use the viscous remnants when estimating the + ! barotropic velocities that were used to calculate uh0 + ! and vh0. False is probably the better choice. +USE_BT_CONT_TYPE = True ! [Boolean] default = True + ! If true, use a structure with elements that describe + ! effective face areas from the summed continuity solver + ! as a function the barotropic flow in coupling between + ! the barotropic and baroclinic flow. This is only used + ! if SPLIT is true. +NONLINEAR_BT_CONTINUITY = False ! [Boolean] default = False + ! If true, use nonlinear transports in the barotropic + ! continuity equation. This does not apply if + ! USE_BT_CONT_TYPE is true. +BT_MASS_SOURCE_LIMIT = 0.0 ! [nondim] default = 0.0 + ! The fraction of the initial depth of the ocean that can + ! be added to or removed from the bartropic solution + ! within a thermodynamic time step. By default this is 0 + ! for no correction. +BT_PROJECT_VELOCITY = False ! [Boolean] default = False + ! If true, step the barotropic velocity first and project + ! out the velocity tendancy by 1+BEBT when calculating the + ! transport. The default (false) is to use a predictor + ! continuity step to find the pressure field, and then + ! to do a corrector continuity step using a weighted + ! average of the old and new velocities, with weights + ! of (1-BEBT) and BEBT. +DYNAMIC_SURFACE_PRESSURE = False ! [Boolean] default = False + ! If true, add a dynamic pressure due to a viscous ice + ! shelf, for instance. +SADOURNY = True ! [Boolean] default = True + ! If true, the Coriolis terms are discretized with the + ! Sadourny (1975) energy conserving scheme, otherwise + ! the Arakawa & Hsu scheme is used. If the internal + ! deformation radius is not resolved, the Sadourny scheme + ! should probably be used. +BT_THICK_SCHEME = "FROM_BT_CONT" ! default = "FROM_BT_CONT" + ! A string describing the scheme that is used to set the + ! open face areas used for barotropic transport and the + ! relative weights of the accelerations. Valid values are: + ! ARITHMETIC - arithmetic mean layer thicknesses + ! HARMONIC - harmonic mean layer thicknesses + ! HYBRID (the default) - use arithmetic means for + ! layers above the shallowest bottom, the harmonic + ! mean for layers below, and a weighted average for + ! layers that straddle that depth + ! FROM_BT_CONT - use the average thicknesses kept + ! in the h_u and h_v fields of the BT_cont_type +BT_STRONG_DRAG = False ! [Boolean] default = False + ! If true, use a stronger estimate of the retarding + ! effects of strong bottom drag, by making it implicit + ! with the barotropic time-step instead of implicit with + ! the baroclinic time-step and dividing by the number of + ! barotropic steps. +CLIP_BT_VELOCITY = False ! [Boolean] default = False + ! If true, limit any velocity components that exceed + ! CFL_TRUNCATE. This should only be used as a desperate + ! debugging measure. +MAXCFL_BT_CONT = 0.25 ! [nondim] default = 0.25 + ! The maximum permitted CFL number associated with the + ! barotropic accelerations from the summed velocities + ! times the time-derivatives of thicknesses. +DT_BT_FILTER = -0.25 ! [sec or nondim] default = -0.25 + ! A time-scale over which the barotropic mode solutions + ! are filtered, in seconds if positive, or as a fraction + ! of DT if negative. When used this can never be taken to + ! be longer than 2*dt. Set this to 0 to apply no filtering. +G_BT_EXTRA = 0.0 ! [nondim] default = 0.0 + ! A nondimensional factor by which gtot is enhanced. +SSH_EXTRA = 10.0 ! [m] default = 10.0 + ! An estimate of how much higher SSH might get, for use + ! in calculating the safe external wave speed. The + ! default is the minimum of 10 m or 5% of MAXIMUM_DEPTH. +DEBUG_BT = False ! [Boolean] default = False + ! If true, write out verbose debugging data within the + ! barotropic time-stepping loop. The data volume can be + ! quite large if this is true. +BEBT = 0.1 ! [nondim] default = 0.1 + ! BEBT determines whether the barotropic time stepping + ! uses the forward-backward time-stepping scheme or a + ! backward Euler scheme. BEBT is valid in the range from + ! 0 (for a forward-backward treatment of nonrotating + ! gravity waves) to 1 (for a backward Euler treatment). + ! In practice, BEBT must be greater than about 0.05. +DTBT = -0.98 ! [s or nondim] default = -0.98 + ! The barotropic time step, in s. DTBT is only used with + ! the split explicit time stepping. To set the time step + ! automatically based the maximum stable value use 0, or + ! a negative value gives the fraction of the stable value. + ! Setting DTBT to 0 is the same as setting it to -0.98. + ! The value of DTBT that will actually be used is an + ! integer fraction of DT, rounding down. + +! === module MOM_thickness_diffuse === +KHTH = 0.0 ! [m2 s-1] default = 0.0 + ! The background horizontal thickness diffusivity. +KHTH_MIN = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum horizontal thickness diffusivity. +KHTH_MAX = 0.0 ! [m2 s-1] default = 0.0 + ! The maximum horizontal thickness diffusivity. +KHTH_MAX_CFL = 0.8 ! [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. +DETANGLE_INTERFACES = False ! [Boolean] default = False + ! If defined add 3-d structured enhanced interface height + ! diffusivities to horizonally smooth jagged layers. +KHTH_SLOPE_MAX = 0.01 ! [nondim] default = 0.01 + ! A slope beyond which the calculated isopycnal slope is + ! not reliable and is scaled away. +KD_SMOOTH = 1.0E-06 ! [not defined] default = 1.0E-06 + ! A diapycnal diffusivity that is used to interpolate + ! more sensible values of T & S into thin layers. + +! === module MOM_mixed_layer_restrat === +MIXEDLAYER_RESTRAT = False ! [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. + +! === module MOM_diag_to_Z === +Z_OUTPUT_GRID_FILE = "" ! default = "" + ! The file that specifies the vertical grid for + ! depth-space diagnostics, or blank to disable + ! depth-space output. + +! === module MOM_diabatic_driver === +! The following parameters are used for diabatic processes. +ENERGETICS_SFC_PBL = False ! [Boolean] default = False + ! If true, use an implied energetics planetary boundary + ! layer scheme to determine the diffusivity and viscosity + ! in the surface boundary layer. +EPBL_IS_ADDITIVE = True ! [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. +INTERNAL_TIDES = False ! [Boolean] default = False + ! If true, use the code that advances a separate set of + ! equations for the internal tide energy density. +MASSLESS_MATCH_TARGETS = True ! [Boolean] default = True + ! If true, the temperature and salinity of massless layers + ! are kept consistent with their target densities. + ! Otherwise the properties of massless layers evolve + ! diffusively to match massive neighboring layers. +AGGREGATE_FW_FORCING = True ! [Boolean] default = True + ! If true, the net incoming and outgoing fresh water fluxes are combined + ! and applied as either incoming or outgoing depending on the sign of the net. + ! If false, the net incoming fresh water flux is added to the model and + ! thereafter the net outgoing is removed from the updated state.into the first non-vanished layer for which the column remains stable +DEBUG_CONSERVATION = False ! [Boolean] default = False + ! If true, monitor conservation and extrema. +MIX_BOUNDARY_TRACERS = True ! [Boolean] default = True + ! If true, mix the passive tracers in massless layers at + ! the bottom into the interior as though a diffusivity of + ! KD_MIN_TR were operating. +KD_MIN_TR = 1.0E-05 ! [m2 s-1] default = 1.0E-05 + ! A minimal diffusivity that should always be applied to + ! tracers, especially in massless layers near the bottom. + ! The default is 0.1*KD. +KD_BBL_TR = 0.0 ! [m2 s-1] default = 0.0 + ! A bottom boundary layer tracer diffusivity that will + ! allow for explicitly specified bottom fluxes. The + ! entrainment at the bottom is at least sqrt(Kd_BBL_tr*dt) + ! over the same distance. +DIAG_MLD_DENSITY_DIFF = 0.1 ! [kg/m3] default = 0.1 + ! The density difference used to determine a diagnostic mixed + ! layer depth, MLD_user, following the definition of Levitus 1982. + ! The MLD is the depth at which the density is larger than the + ! surface density by the specified amount. + +! === module MOM_KPP === +! This is the MOM wrapper to CVmix:KPP +! See http://code.google.com/p/cvmix/ +USE_KPP = False ! [Boolean] default = False + ! If true, turns on the [CVmix] KPP scheme of Large et al., 1994, + ! to calculate diffusivities and non-local transport in the OBL. +SALT_REJECT_BELOW_ML = False ! [Boolean] default = False + ! If true, place salt from brine rejection below the mixed layer, + ! into the first non-vanished layer for which the column remains stable + +! === module MOM_diffConvection === +! This module implements enhanced diffusivity as a +! function of static stability, N^2. +USE_CONVECTION = False ! [Boolean] default = False + ! If true, turns on the diffusive convection scheme that + ! increases diapycnal diffusivities at statically unstable + ! interfaces. Relevant parameters are contained in the + ! CONVECTION% parameter block. +CONVECTION% +PASSIVE = False ! [Boolean] default = False + ! If True, puts KPP into a passive-diagnostic mode. +KD_CONV = 1.0 ! [m2/s] default = 1.0 + ! DIffusivity used in statically unstable regions of column. +%CONVECTION + +! === module MOM_entrain_diffusive === +CORRECT_DENSITY = True ! [Boolean] default = True + ! If true, and USE_EOS is true, the layer densities are + ! restored toward their target values by the diapycnal + ! mixing, as described in Hallberg (MWR, 2000). +MAX_ENT_IT = 5 ! default = 5 + ! The maximum number of iterations that may be used to + ! calculate the interior diapycnal entrainment. +TOLERANCE_ENT = 4.242640687119286E-05 ! [m] default = 4.242640687119286E-05 + ! The tolerance with which to solve for entrainment values. + +! === module MOM_set_diffusivity === +FLUX_RI_MAX = 0.2 ! [not defined] default = 0.2 + ! The flux Richardson number where the stratification is + ! large enough that N2 > omega2. The full expression for + ! the Flux Richardson number is usually + ! FLUX_RI_MAX*N2/(N2+OMEGA2). +ML_RADIATION = False ! [Boolean] default = False + ! If true, allow a fraction of TKE available from wind + ! work to penetrate below the base of the mixed layer + ! with a vertical decay scale determined by the minimum + ! of: (1) The depth of the mixed layer, (2) an Ekman + ! length scale. +SIMPLE_TKE_TO_KD = False ! [Boolean] default = False + ! If true, uses a simple estimate of Kd/TKE that will + ! work for arbitrary vertical coordinates. If false, + ! calculates Kd/TKE and bounds based on exact energetics/nfor an isopycnal layer-formulation. +BRYAN_LEWIS_DIFFUSIVITY = False ! [Boolean] default = False + ! If true, use a Bryan & Lewis (JGR 1979) like tanh + ! profile of background diapycnal diffusivity with depth. +HENYEY_IGW_BACKGROUND = False ! [Boolean] default = False + ! If true, use a latitude-dependent scaling for the near + ! surface background diffusivity, as described in + ! Harrison & Hallberg, JPO 2008. +HENYEY_IGW_BACKGROUND_NEW = False ! [Boolean] default = False + ! If true, use a better latitude-dependent scaling for the + ! background diffusivity, as described in + ! Harrison & Hallberg, JPO 2008. +N2_FLOOR_IOMEGA2 = 1.0 ! [nondim] default = 1.0 + ! The floor applied to N2(k) scaled by Omega^2: + ! If =0., N2(k) is simply positive definite. + ! If =1., N2(k) > Omega^2 everywhere. +KD_TANH_LAT_FN = False ! [Boolean] default = False + ! If true, use a tanh dependence of Kd_sfc on latitude, + ! like CM2.1/CM2M. There is no physical justification + ! for this form, and it can not be used with + ! HENYEY_IGW_BACKGROUND. +KD = 1.0E-04 ! [m2 s-1] + ! The background diapycnal diffusivity of density in the + ! interior. Zero or the molecular value, ~1e-7 m2 s-1, + ! may be used. +KD_MIN = 1.0E-06 ! [m2 s-1] default = 1.0E-06 + ! The minimum diapycnal diffusivity. +KD_MAX = -1.0 ! [m2 s-1] default = -1.0 + ! The maximum permitted increment for the diapycnal + ! diffusivity from TKE-based parameterizations, or a + ! negative value for no limit. +KD_ADD = 0.0 ! [m2 s-1] default = 0.0 + ! A uniform diapycnal diffusivity that is added + ! everywhere without any filtering or scaling. +KDML = 1.0E-04 ! [m2 s-1] default = 1.0E-04 + ! If BULKMIXEDLAYER is false, KDML is the elevated + ! diapycnal diffusivity in the topmost HMIX of fluid. + ! KDML is only used if BULKMIXEDLAYER is false. +INT_TIDE_DISSIPATION = False ! [Boolean] default = False + ! If true, use an internal tidal dissipation scheme to + ! drive diapycnal mixing, along the lines of St. Laurent + ! et al. (2002) and Simmons et al. (2004). +LEE_WAVE_DISSIPATION = False ! [Boolean] default = False + ! If true, use an lee wave driven dissipation scheme to + ! drive diapycnal mixing, along the lines of Nikurashin + ! (2010) and using the St. Laurent et al. (2002) + ! and Simmons et al. (2004) vertical profile +INT_TIDE_LOWMODE_DISSIPATION = False ! [Boolean] default = False + ! If true, consider mixing due to breaking low modes that + ! have been remotely generated; as with itidal drag on the + ! barotropic tide, use an internal tidal dissipation scheme to + ! drive diapycnal mixing, along the lines of St. Laurent + ! et al. (2002) and Simmons et al. (2004). +USER_CHANGE_DIFFUSIVITY = False ! [Boolean] default = False + ! If true, call user-defined code to change the diffusivity. +DISSIPATION_MIN = 0.0 ! [W m-3] default = 0.0 + ! The minimum dissipation by which to determine a lower + ! bound of Kd (a floor). +DISSIPATION_N0 = 0.0 ! [W m-3] default = 0.0 + ! The intercept when N=0 of the N-dependent expression + ! used to set a minimum dissipation by which to determine + ! a lower bound of Kd (a floor): A in eps_min = A + B*N. +DISSIPATION_N1 = 0.0 ! [J m-3] default = 0.0 + ! The coefficient multiplying N, following Gargett, used to + ! set a minimum dissipation by which to determine a lower + ! bound of Kd (a floor): B in eps_min = A + B*N +DISSIPATION_KD_MIN = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum vertical diffusivity applied as a floor. + +! === module MOM_kappa_shear === +! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 +USE_JACKSON_PARAM = False ! [Boolean] default = False + ! If true, use the Jackson-Hallberg-Legg (JPO 2008) + ! shear mixing parameterization. +RINO_CRIT = 0.25 ! [nondim] default = 0.25 + ! The critical Richardson number for shear mixing. +SHEARMIX_RATE = 0.089 ! [nondim] default = 0.089 + ! A nondimensional rate scale for shear-driven entrainment. + ! Jackson et al find values in the range of 0.085-0.089. +MAX_RINO_IT = 50 ! [nondim] default = 50 + ! The maximum number of iterations that may be used to + ! estimate the Richardson number driven mixing. +KD_KAPPA_SHEAR_0 = 1.0E-04 ! [m2 s-1] default = 1.0E-04 + ! The background diffusivity that is used to smooth the + ! density and shear profiles before solving for the + ! diffusivities. Defaults to value of KD. +FRI_CURVATURE = -0.97 ! [nondim] default = -0.97 + ! The nondimensional curvature of the function of the + ! Richardson number in the kappa source term in the + ! Jackson et al. scheme. +TKE_N_DECAY_CONST = 0.24 ! [nondim] default = 0.24 + ! The coefficient for the decay of TKE due to + ! stratification (i.e. proportional to N*tke). + ! The values found by Jackson et al. are 0.24-0.28. +TKE_SHEAR_DECAY_CONST = 0.14 ! [nondim] default = 0.14 + ! The coefficient for the decay of TKE due to shear (i.e. + ! proportional to |S|*tke). The values found by Jackson + ! et al. are 0.14-0.12. +KAPPA_BUOY_SCALE_COEF = 0.82 ! [nondim] default = 0.82 + ! The coefficient for the buoyancy length scale in the + ! kappa equation. The values found by Jackson et al. are + ! in the range of 0.81-0.86. +KAPPA_N_OVER_S_SCALE_COEF2 = 0.0 ! [nondim] default = 0.0 + ! The square of the ratio of the coefficients of the + ! buoyancy and shear scales in the diffusivity equation, + ! Set this to 0 (the default) to eliminate the shear scale. + ! This is only used if USE_JACKSON_PARAM is true. +KAPPA_SHEAR_TOL_ERR = 0.1 ! [nondim] default = 0.1 + ! The fractional error in kappa that is tolerated. + ! Iteration stops when changes between subsequent + ! iterations are smaller than this everywhere in a + ! column. The peak diffusivities usually converge most + ! rapidly, and have much smaller errors than this. +TKE_BACKGROUND = 0.0 ! [m2 s-2] default = 0.0 + ! A background level of TKE used in the first iteration + ! of the kappa equation. TKE_BACKGROUND could be 0. +KAPPA_SHEAR_ELIM_MASSLESS = True ! [Boolean] default = True + ! If true, massless layers are merged with neighboring + ! massive layers in this calculation. The default is + ! true and I can think of no good reason why it should + ! be false. This is only used if USE_JACKSON_PARAM is true. +MAX_KAPPA_SHEAR_IT = 13 ! [nondim] default = 13 + ! The maximum number of iterations that may be used to + ! estimate the time-averaged diffusivity. +DEBUG_KAPPA_SHEAR = False ! [Boolean] default = False + ! If true, write debugging data for the kappa-shear code. + ! Caution: this option is _very_ verbose and should only + ! be used in single-column mode! + +! === module MOM_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. +MINIMUM_FORCING_DEPTH = 0.001 ! [m] default = 0.001 + ! The smallest depth over which forcing can be applied. This + ! only takes effect when near-surface layers become thin + ! relative to this scale, in which case the forcing tendencies + ! scaled down by distributing the forcing over this depth scale. +EVAP_CFL_LIMIT = 0.8 ! [nondim] default = 0.8 + ! The largest fraction of a layer than can be lost to forcing + ! (e.g. evaporation, sea-ice formation) in one time-step. The unused + ! mass loss is passed down through the column. +USE_RIVER_HEAT_CONTENT = False ! [Boolean] default = False + ! If true, use the fluxes%runoff_Hflx field to set the + ! heat carried by runoff, instead of using SST*CP*liq_runoff. +USE_CALVING_HEAT_CONTENT = False ! [Boolean] default = False + ! If true, use the fluxes%calving_Hflx field to set the + ! heat carried by runoff, instead of using SST*CP*froz_runoff. + +! === module MOM_regularize_layers === +REGULARIZE_SURFACE_LAYERS = False ! [Boolean] default = False + ! If defined, vertically restructure the near-surface + ! layers when they have too much lateral variations to + ! allow for sensible lateral barotropic transports. +HMIX_MIN = 0.0 ! [m] default = 0.0 + ! The minimum mixed layer depth if the mixed layer depth + ! is determined dynamically. +REG_SFC_DEFICIT_TOLERANCE = 0.5 ! [nondim] default = 0.5 + ! The value of the relative thickness deficit at which + ! to start modifying the layer structure when + ! REGULARIZE_SURFACE_LAYERS is true. +ALLOW_CLOCKS_IN_OMP_LOOPS = True ! [Boolean] default = True + ! If true, clocks can be called from inside loops that can + ! be threaded. To run with multiple threads, set to False. + +! === module MOM_tracer_advect === +TRACER_ADVECTION_SCHEME = "PLM" ! default = "PLM" + ! The horizontal transport scheme for tracers: + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) + +! === module MOM_tracer_hor_diff === +KHTR = 0.0 ! [m2 s-1] default = 0.0 + ! The background along-isopycnal tracer diffusivity. +KHTR_MIN = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum along-isopycnal tracer diffusivity. +KHTR_MAX = 0.0 ! [m2 s-1] default = 0.0 + ! The maximum along-isopycnal tracer diffusivity. +KHTR_PASSIVITY_COEFF = 0.0 ! [nondim] default = 0.0 + ! The coefficient that scales deformation radius over + ! grid-spacing in passivity, where passiviity is the ratio + ! between along isopycnal mxiing of tracers to thickness mixing. + ! A non-zero value enables this parameterization. +KHTR_PASSIVITY_MIN = 0.5 ! [nondim] default = 0.5 + ! The minimum passivity which is the ratio between + ! along isopycnal mxiing of tracers to thickness mixing. +DIFFUSE_ML_TO_INTERIOR = False ! [Boolean] default = False + ! If true, enable epipycnal mixing between the surface + ! boundary layer and the interior. +CHECK_DIFFUSIVE_CFL = False ! [Boolean] default = False + ! If true, use enough iterations the diffusion to ensure + ! that the diffusive equivalent of the CFL limit is not + ! violated. If false, always use 1 iteration. + +! === module MOM_neutral_diffusion === +! This module implements neutral diffusion of tracers +USE_NEUTRAL_DIFFUSION = False ! [Boolean] default = False + ! If true, enables the neutral diffusion module. +OBSOLETE_DIAGNOSTIC_IS_FATAL = True ! [Boolean] default = True + ! If an obsolete diagnostic variable appears in the diag_table + ! then cause a FATAL error rather than issue a WARNING. + +! === module MOM_surface_forcing === +VARIABLE_WINDS = False ! [Boolean] default = True + ! If true, the winds vary in time after the initialization. +VARIABLE_BUOYFORCE = True ! [Boolean] default = True + ! If true, the buoyancy forcing varies in time after the + ! initialization of the model. +BUOY_CONFIG = "BFB" ! + ! The character string that indicates how buoyancy forcing + ! is specified. Valid options include (file), (zero), + ! (linear), (USER), (BFB) and (NONE). +WIND_CONFIG = "zero" ! + ! The character string that indicates how wind forcing + ! is specified. Valid options include (file), (2gyre), + ! (1gyre), (gyres), (zero), and (USER). +RESTOREBUOY = True ! [Boolean] default = False + ! If true, the buoyancy fluxes drive the model back + ! toward some specified surface state with a rate + ! given by FLUXCONST. +LATENT_HEAT_FUSION = 3.34E+05 ! [J/kg] default = 3.34E+05 + ! The latent heat of fusion. +LATENT_HEAT_VAPORIZATION = 2.5E+06 ! [J/kg] default = 2.5E+06 + ! The latent heat of fusion. +FLUXCONST = 4.0 ! [m day-1] + ! The constant that relates the restoring surface fluxes + ! to the relative surface anomalies (akin to a piston + ! velocity). Note the non-MKS units. +GUST_CONST = 0.02 ! [Pa] default = 0.02 + ! The background gustiness in the winds. +READ_GUST_2D = False ! [Boolean] default = False + ! If true, use a 2-dimensional gustiness supplied from + ! an input file + +! === module BFB_surface_forcing === +LFR_SLAT = 20.0 ! [degrees] default = 20.0 + ! Southern latitude where the linear forcing ramp begins. +LFR_NLAT = 40.0 ! [degrees] default = 40.0 + ! Northern latitude where the linear forcing ramp ends. +SST_N = 10.0 ! [C] default = 10.0 + ! SST at the northern edge of the linear forcing ramp. + +! === module MOM_restart === +ICE_SHELF = False ! [Boolean] default = False + ! If true, enables the ice shelf model. + +! === module MOM_sum_output === +CALCULATE_APE = True ! [Boolean] default = True + ! If true, calculate the available potential energy of + ! the interfaces. Setting this to false reduces the + ! memory footprint of high-PE-count models dramatically. +WRITE_STOCKS = True ! [Boolean] default = True + ! If true, write the integrated tracer amounts to stdout + ! when the energy files are written. +MAXTRUNC = 400 ! [truncations save_interval-1] default = 0 + ! The run will be stopped, and the day set to a very + ! large value if the velocity is truncated more than + ! MAXTRUNC times between energy saves. Set MAXTRUNC to 0 + ! to stop if there is any truncation of velocities. +MAX_ENERGY = 0.0 ! [m2 s-2] default = 0.0 + ! The maximum permitted average energy per unit mass; the + ! model will be stopped if there is more energy than + ! this. If zero or negative, this is set to 10*MAXVEL^2. +ENERGYFILE = "ocean.stats" ! default = "ocean.stats" + ! The file to use to write the energies and globally + ! summed diagnostics. +DATE_STAMPED_STDOUT = True ! [Boolean] default = True + ! If true, use dates (not times) in messages to stdout +TIMEUNIT = 8.64E+04 ! [s] default = 8.64E+04 + ! The time unit in seconds a number of input fields +READ_DEPTH_LIST = False ! [Boolean] default = False + ! Read the depth list from a file if it exists or + ! create that file otherwise. +DEPTH_LIST_MIN_INC = 1.0E-10 ! [m] default = 1.0E-10 + ! The minimum increment between the depths of the + ! entries in the depth-list file. + +! === module MOM_write_cputime === +MAXCPU = -1.0 ! [wall-clock seconds] default = -1.0 + ! The maximum amount of cpu time per processor for which + ! MOM should run before saving a restart file and + ! quitting with a return value that indicates that a + ! further run is required to complete the simulation. + ! If automatic restarts are not desired, use a negative + ! value for MAXCPU. MAXCPU has units of wall-clock + ! seconds, so the actual CPU time used is larger by a + ! factor of the number of processors used. +CPU_TIME_FILE = "CPU_stats" ! default = "CPU_stats" + ! The file into which CPU time is written. + +! === module MOM_main (MOM_driver) === +DT_FORCING = 8.64E+04 ! [s] default = 1800.0 + ! The time step for changing forcing, coupling with other + ! components, or potentially writing certain diagnostics. + ! The default value is given by DT. +DAYMAX = 3.65E+04 ! [days] + ! The final time of the whole simulation, in units of + ! TIMEUNIT seconds. This also sets the potential end + ! time of the present run segment if the end time is + ! not set via ocean_solo_nml in input.nml. +RESTART_CONTROL = 3 ! default = 1 + ! An integer whose bits encode which restart files are + ! written. Add 2 (bit 1) for a time-stamped file, and odd + ! (bit 0) for a non-time-stamped file. A non-time-stamped + ! restart file is saved at the end of the run segment + ! for any non-negative value. +RESTINT = 100.0 ! [days] default = 0.0 + ! The interval between saves of the restart file in units + ! of TIMEUNIT. Use 0 (the default) to not save + ! incremental restart files at all. +ENERGYSAVEDAYS = 1.0 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between saves of the + ! energies of the run and other globally summed diagnostics. + +! === module MOM_file_parser === +SEND_LOG_TO_STDOUT = False ! [Boolean] default = False + ! If true, all log messages are also sent to stdout. +REPORT_UNUSED_PARAMS = True ! [Boolean] default = False + ! If true, report any parameter lines that are not used + ! in the run. +FATAL_UNUSED_PARAMS = False ! [Boolean] default = False + ! If true, kill the run if there are any unused + ! parameters. +DOCUMENT_FILE = "MOM_parameter_doc" ! default = "MOM_parameter_doc" + ! The basename for files where run-time parameters, their + ! settings, units and defaults are documented. Blank will + ! disable all parameter documentation. +COMPLETE_DOCUMENTATION = True ! [Boolean] default = True + ! If true, all run-time parameters are + ! documented in MOM_parameter_doc.all . +MINIMAL_DOCUMENTATION = True ! [Boolean] default = True + ! If true, non-default run-time parameters are + ! documented in MOM_parameter_doc.short . diff --git a/ocean_only/buoy_forced_basin/MOM_parameter_doc.layout b/ocean_only/buoy_forced_basin/MOM_parameter_doc.layout new file mode 100644 index 0000000000..0eaf73db53 --- /dev/null +++ b/ocean_only/buoy_forced_basin/MOM_parameter_doc.layout @@ -0,0 +1,70 @@ +! This file was written by the model and records the layout parameters used at run-time. +GLOBAL_INDEXING = False ! [Boolean] default = False + ! If true, use a global lateral indexing convention, so + ! that corresponding points on different processors have + ! the same index. This does not work with static memory. +!SYMMETRIC_MEMORY_ = False ! [Boolean] + ! If defined, the velocity point data domain includes + ! every face of the thickness points. In other words, + ! some arrays are larger than others, depending on where + ! they are on the staggered grid. Also, the starting + ! index of the velocity-point arrays is usually 0, not 1. + ! This can only be set at compile time. +NONBLOCKING_UPDATES = False ! [Boolean] default = False + ! If true, non-blocking halo updates may be used. +!STATIC_MEMORY_ = False ! [Boolean] + ! If STATIC_MEMORY_ is defined, the principle variables + ! will have sizes that are statically determined at + ! compile time. Otherwise the sizes are not determined + ! until run time. The STATIC option is substantially + ! faster, but does not allow the PE count to be changed + ! at run time. This can only be set at compile time. +NIHALO = 4 ! default = 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. +MASKTABLE = "MOM_mask_table" ! default = "MOM_mask_table" + ! A text file to specify n_mask, layout and mask_list. + ! This feature masks out processors that contain only land points. + ! The first line of mask_table is the number of regions to be masked out. + ! The second line is the layout of the model and must be + ! consistent with the actual model layout. + ! The following (n_mask) lines give the logical positions + ! of the processors that are masked out. The mask_table + ! can be created by tools like check_mask. The + ! following example of mask_table masks out 2 processors, + ! (1,2) and (3,6), out of the 24 in a 4x6 layout: + ! 2 + ! 4,6 + ! 1,2 + ! 3,6 +NIPROC = 2 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +NJPROC = 3 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +LAYOUT = 2, 3 ! + ! The processor layout that was acutally used. +IO_LAYOUT = 1, 1 ! default = 0 + ! The processor layout to be used, or 0,0 to automatically + ! set the io_layout to be the same as the layout. +NIBLOCK = 1 ! default = 1 + ! The number of blocks in the x-direction on each processor (for openmp). +NJBLOCK = 1 ! default = 1 + ! The number of blocks in the y-direction on each processor (for openmp). +BT_USE_WIDE_HALOS = True ! [Boolean] default = True + ! If true, use wide halos and march in during the + ! barotropic time stepping for efficiency. +BTHALO = 0 ! default = 0 + ! The minimum halo size for the barotropic solver. +!BT x-halo = 0 ! + ! The barotropic x-halo size that is actually used. +!BT y-halo = 0 ! + ! The barotropic y-halo size that is actually used. diff --git a/ocean_only/buoy_forced_basin/MOM_parameter_doc.short b/ocean_only/buoy_forced_basin/MOM_parameter_doc.short new file mode 100644 index 0000000000..5c8e2e48be --- /dev/null +++ b/ocean_only/buoy_forced_basin/MOM_parameter_doc.short @@ -0,0 +1,333 @@ +! This file was written by the model and records the non-default parameters used at run-time. + +! === module MOM === +ENABLE_THERMODYNAMICS = False ! [Boolean] default = True + ! If true, Temperature and salinity are used as state + ! variables. +DT = 1800.0 ! [s] + ! The (baroclinic) dynamics time step. The time-step that + ! is actually used will be an integer fraction of the + ! forcing time-step (DT_FORCING in ocean-only mode or the + ! coupling timestep in coupled mode.) +DTBT_RESET_PERIOD = 0.0 ! [s] default = 1800.0 + ! The period between recalculations of DTBT (if DTBT <= 0). + ! If DTBT_RESET_PERIOD is negative, DTBT is set based + ! only on information available at initialization. If + ! dynamic, DTBT will be set at least every forcing time + ! step, and if 0, every dynamics time step. The default is + ! set by DT_THERM. This is only used if SPLIT is true. +SAVE_INITIAL_CONDS = True ! [Boolean] default = False + ! If true, write the initial conditions to a file given + ! by IC_OUTPUT_FILE. + +! === module MOM_domains === +REENTRANT_X = False ! [Boolean] default = True + ! If true, the domain is zonally reentrant. +NIGLOBAL = 40 ! + ! 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 = 80 ! + ! 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. +RHO_0 = 1031.0 ! [kg m-3] default = 1035.0 + ! The mean ocean density used with BOUSSINESQ true to + ! calculate accelerations and the mass for conservation + ! properties, or with BOUSSINSEQ false to convert some + ! parameters from vertical units of m to kg m-2. +NK = 10 ! [nondim] + ! The number of model layers. + +! === module MOM_tracer_registry === + +! === module MOM_restart === + +! === module MOM_tracer_flow_control === + +! === module MOM_fixed_initialization === + +! === module MOM_grid_init === +GRID_CONFIG = "mercator" ! + ! A character string that determines the method for + ! defining the horizontal grid. Current options are: + ! mosaic - read the grid from a mosaic (supergrid) + ! file set by GRID_FILE. + ! cartesian - use a (flat) Cartesian grid. + ! spherical - use a simple spherical grid. + ! mercator - use a Mercator spherical grid. +SOUTHLAT = 10.0 ! [degrees] + ! The southern latitude of the domain. +LENLAT = 50.0 ! [degrees] + ! The latitudinal length of the domain. +WESTLON = -25.0 ! [degrees] default = 0.0 + ! The western longitude of the domain. +LENLON = 25.0 ! [degrees] + ! The longitudinal length of the domain. +TOPO_CONFIG = "flat" ! + ! This specifies how bathymetry is specified: + ! file - read bathymetric information from the file + ! specified by (TOPO_FILE). + ! flat - flat bottom set to MAXIMUM_DEPTH. + ! bowl - an analytically specified bowl-shaped basin + ! ranging between MAXIMUM_DEPTH and MINIMUM_DEPTH. + ! spoon - a similar shape to 'bowl', but with an vertical + ! wall at the southern face. + ! halfpipe - a zonally uniform channel with a half-sine + ! profile in the meridional direction. + ! benchmark - use the benchmark test case topography. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! ISOMIP - use a slope and channel configuration for the + ! ISOMIP test case. + ! DOME2D - use a shelf and slope configuration for the + ! DOME2D gravity current/overflow test case. + ! seamount - Gaussian bump for spontaneous motion test case. + ! Phillips - ACC-like idealized topography used in the Phillips config. + ! USER - call a user modified routine. +MINIMUM_DEPTH = 1.0 ! [m] default = 0.0 + ! The minimum depth of the ocean. +MAXIMUM_DEPTH = 2000.0 ! [m] + ! The maximum depth of the ocean. + +! === module MOM_open_boundary === +! Controls where open boundaries are located, what kind of boundary condition to impose, and what data to apply, if any. + +! === module MOM_coord_initialization === +COORD_CONFIG = "BFB" ! + ! This specifies how layers are to be defined: + ! file - read coordinate information from the file + ! specified by (COORD_FILE). + ! BFB - Custom coords for buoyancy-forced basin case + ! based on SST_S, T_BOT and DRHO_DT. + ! linear - linear based on interfaces not layers + ! layer_ref - linear based on layer densities + ! ts_ref - use reference temperature and salinity + ! ts_range - use range of temperature and salinity + ! (T_REF and S_REF) to determine surface density + ! and GINT calculate internal densities. + ! gprime - use reference density (RHO_0) for surface + ! density and GINT calculate internal densities. + ! ts_profile - use temperature and salinity profiles + ! (read from COORD_FILE) to set layer densities. + ! USER - call a user modified routine. +T_BOT = 7.0 ! [C] default = 5.0 + ! Bottom Temp + +! === module MOM_grid === +! Parameters providing information about the lateral grid. + +! === module MOM_state_initialization === +THICKNESS_CONFIG = "uniform" ! + ! A string that determines how the initial layer + ! thicknesses are specified for a new run: + ! file - read interface heights from the file specified + ! thickness_file - read thicknesses from the file specified + ! by (THICKNESS_FILE). + ! coord - determined by ALE coordinate. + ! uniform - uniform thickness layers evenly distributed + ! between the surface and MAXIMUM_DEPTH. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! ISOMIP - use a configuration for the + ! ISOMIP test case. + ! benchmark - use the benchmark test case thicknesses. + ! search - search a density profile for the interface + ! densities. This is not yet implemented. + ! circle_obcs - the circle_obcs test case is used. + ! DOME2D - 2D version of DOME initialization. + ! adjustment2d - TBD AJA. + ! sloshing - TBD AJA. + ! seamount - TBD AJA. + ! rossby_front - a mixed layer front in thermal wind balance. + ! USER - call a user modified routine. +SPONGE = True ! [Boolean] default = False + ! If true, sponges may be applied anywhere in the domain. + ! The exact location and properties of those sponges are + ! specified via SPONGE_CONFIG. +SPONGE_CONFIG = "BFB" ! default = "file" + ! A string that sets how the sponges are configured: + ! file - read sponge properties from the file + ! specified by (SPONGE_FILE). + ! ISOMIP - apply ale sponge in the ISOMIP case + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! BFB - Sponge at the southern boundary of the domain + ! for buoyancy-forced basin case. + ! USER - call a user modified routine. +!Total sponge columns = 240 ! + ! The total number of columns where sponges are applied. + +! === module MOM_diag_mediator === + +! === module MOM_MEKE === + +! === module MOM_wave_speed === + +! === module MOM_lateral_mixing_coeffs === + +! === module MOM_set_visc === +BOTTOMDRAGLAW = False ! [Boolean] default = True + ! If true, the bottom stress is calculated with a drag + ! law of the form c_drag*|u|*u. The velocity magnitude + ! may be an assumed value or it may be based on the + ! actual velocity in the bottommost HBBL, depending on + ! LINEAR_DRAG. +HBBL = 20.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. +BBL_THICK_MIN = 0.1 ! [m] default = 0.0 + ! The minimum bottom boundary layer thickness that can be + ! used with BOTTOMDRAGLAW. This might be + ! Kv / (cdrag * drag_bg_vel) to give Kv as the minimum + ! near-bottom viscosity. +KV = 1.0E-04 ! [m2 s-1] + ! The background kinematic viscosity in the interior. + ! The molecular value, ~1e-6 m2 s-1, may be used. + +! === module MOM_continuity === + +! === module MOM_continuity_PPM === + +! === module MOM_CoriolisAdv === + +! === module MOM_PressureForce === + +! === module MOM_PressureForce_AFV === + +! === module MOM_hor_visc === +LAPLACIAN = True ! [Boolean] default = False + ! If true, use a Laplacian horizontal viscosity. +KH = 1000.0 ! [m2 s-1] default = 0.0 + ! The background Laplacian horizontal viscosity. +SMAGORINSKY_AH = True ! [Boolean] default = False + ! If true, use a biharmonic Smagorinsky nonlinear eddy + ! viscosity. +SMAG_BI_CONST = 0.05 ! [nondim] default = 0.0 + ! The nondimensional biharmonic Smagorinsky constant, + ! typically 0.015 - 0.06. + +! === module MOM_vert_friction === +HMIX_FIXED = 20.0 ! [m] + ! The prescribed depth over which the near-surface + ! viscosity and diffusivity are elevated when the bulk + ! mixed layer is not used. +KVML = 0.01 ! [m2 s-1] default = 1.0E-04 + ! The kinematic viscosity in the mixed layer. A typical + ! value is ~1e-2 m2 s-1. KVML is not used if + ! BULKMIXEDLAYER is true. The default is set by KV. +MAXVEL = 10.0 ! [m s-1] default = 3.0E+08 + ! The maximum velocity allowed before the velocity + ! components are truncated. + +! === module MOM_barotropic === + +! === module MOM_thickness_diffuse === + +! === module MOM_mixed_layer_restrat === + +! === module MOM_diag_to_Z === + +! === module MOM_diabatic_driver === +! The following parameters are used for diabatic processes. + +! === module MOM_KPP === +! This is the MOM wrapper to CVmix:KPP +! See http://code.google.com/p/cvmix/ + +! === module MOM_diffConvection === +! This module implements enhanced diffusivity as a +! function of static stability, N^2. +CONVECTION% +%CONVECTION + +! === module MOM_entrain_diffusive === + +! === module MOM_set_diffusivity === +KD = 1.0E-04 ! [m2 s-1] + ! The background diapycnal diffusivity of density in the + ! interior. Zero or the molecular value, ~1e-7 m2 s-1, + ! may be used. + +! === module MOM_kappa_shear === +! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 + +! === module MOM_diabatic_aux === +! The following parameters are used for auxiliary diabatic processes. + +! === module MOM_regularize_layers === + +! === module MOM_tracer_advect === + +! === module MOM_tracer_hor_diff === + +! === module MOM_neutral_diffusion === +! This module implements neutral diffusion of tracers + +! === module MOM_surface_forcing === +VARIABLE_WINDS = False ! [Boolean] default = True + ! If true, the winds vary in time after the initialization. +BUOY_CONFIG = "BFB" ! + ! The character string that indicates how buoyancy forcing + ! is specified. Valid options include (file), (zero), + ! (linear), (USER), (BFB) and (NONE). +WIND_CONFIG = "zero" ! + ! The character string that indicates how wind forcing + ! is specified. Valid options include (file), (2gyre), + ! (1gyre), (gyres), (zero), and (USER). +RESTOREBUOY = True ! [Boolean] default = False + ! If true, the buoyancy fluxes drive the model back + ! toward some specified surface state with a rate + ! given by FLUXCONST. +FLUXCONST = 4.0 ! [m day-1] + ! The constant that relates the restoring surface fluxes + ! to the relative surface anomalies (akin to a piston + ! velocity). Note the non-MKS units. + +! === module BFB_surface_forcing === + +! === module MOM_restart === + +! === module MOM_sum_output === +MAXTRUNC = 400 ! [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_write_cputime === + +! === module MOM_main (MOM_driver) === +DT_FORCING = 8.64E+04 ! [s] default = 1800.0 + ! The time step for changing forcing, coupling with other + ! components, or potentially writing certain diagnostics. + ! The default value is given by DT. +DAYMAX = 3.65E+04 ! [days] + ! The final time of the whole simulation, in units of + ! TIMEUNIT seconds. This also sets the potential end + ! time of the present run segment if the end time is + ! not set via ocean_solo_nml in input.nml. +RESTART_CONTROL = 3 ! default = 1 + ! An integer whose bits encode which restart files are + ! written. Add 2 (bit 1) for a time-stamped file, and odd + ! (bit 0) for a non-time-stamped file. A non-time-stamped + ! restart file is saved at the end of the run segment + ! for any non-negative value. +RESTINT = 100.0 ! [days] default = 0.0 + ! The interval between saves of the restart file in units + ! of TIMEUNIT. Use 0 (the default) to not save + ! incremental restart files at all. + +! === module MOM_file_parser === +REPORT_UNUSED_PARAMS = True ! [Boolean] default = False + ! If true, report any parameter lines that are not used + ! in the run. diff --git a/ocean_only/buoy_forced_basin/diag_table b/ocean_only/buoy_forced_basin/diag_table new file mode 100644 index 0000000000..ef07e79610 --- /dev/null +++ b/ocean_only/buoy_forced_basin/diag_table @@ -0,0 +1,88 @@ +"MOM Experiment" +1 1 1 0 0 0 +"output_%4yr_%2mo", 30,"days",1,"days","Time",12,"months" + +#This is the field section of the diag_table. + +# Prognostic Ocean fields: +#========================= + +"ocean_model","u","u","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","v","v","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","h","h","output_%4yr_%2mo","all",.true.,"none",1 +"ocean_model","e","e","output_%4yr_%2mo","all",.true.,"none",2 + +"ocean_model","RV","RV","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","PV","PV","output_%4yr_%2mo","all",.true.,"none",2 + +"ocean_model","dhdt","dhdt","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","wd","wd","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","uh","uh","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","vh","vh","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","uhGM","uhGM","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","vhGM","vhGM","output_%4yr_%2mo","all",.true.,"none",2 + +"ocean_model","dudt","dudt","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","dvdt","dvdt","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","CAu","CAu","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","CAv","CAv","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","PFu","PFu","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","PFv","PFv","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","du_dt_visc","du_dt_visc","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","dv_dt_visc","dv_dt_visc","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","diffu","diffu","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","diffv","diffv","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","dudt_dia","dudt_dia","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","dvdt_dia","dvdt_dia","output_%4yr_%2mo","all",.true.,"none",2 + +"ocean_model","gKEu","gKEu","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","gKEv","gKEv","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","rvxu","rvxu","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","rvxv","rvxv","output_%4yr_%2mo","all",.true.,"none",2 + +"ocean_model","KE","KE","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","dKE_dt","dKE_dt","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","PE_to_KE","PE_to_KE","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","KE_Coradv","KE_Coradv","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","KE_adv","KE_adv","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","KE_visc","KE_visc","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","KE_horvisc","KE_horvisc","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","KE_dia","KE_dia","output_%4yr_%2mo","all",.true.,"none",2 + +"ocean_model","frhatu","frhatu","output_%4yr_%2mo","all",.true.,"none",2 +"ocean_model","frhatv","frhatv","output_%4yr_%2mo","all",.true.,"none",2 + +#============================================================================================= +# +#====> This file can be used with diag_manager/v2.0a (or higher) <==== +# +# +# FORMATS FOR FILE ENTRIES (not all input values are used) +# ------------------------ +# +#"file_name", output_%4yr_%2mo_freq, "output_%4yr_%2mo_units", format, "time_units", "time_long_name", ... +# (opt) new_file_frequecy, (opt) "new_file_freq_units", "new_file_start_date" +# +# +#output_%4yr_%2mo_freq: > 0 output_%4yr_%2mo frequency in "output_%4yr_%2mo_units" +# = 0 output_%4yr_%2mo frequency every time step +# =-1 output_%4yr_%2mo frequency at end of run +# +#output_%4yr_%2mo_units = units used for output_%4yr_%2mo frequency +# (years, months, days, minutes, hours, seconds) +# +#time_units = units used to label the time axis +# (days, minutes, hours, seconds) +# +# +# FORMAT FOR FIELD ENTRIES (not all input values are used) +# ------------------------ +# +#"module_name", "field_name", "output_%4yr_%2mo_name", "file_name" "time_sampling", time_avg, "other_opts", packing +# +#time_avg = .true. or .false. +# +#packing = 1 double precision +# = 2 float +# = 4 packed 16-bit integers +# = 8 packed 1-byte (not tested?) diff --git a/ocean_only/buoy_forced_basin/input.nml b/ocean_only/buoy_forced_basin/input.nml new file mode 100644 index 0000000000..c0e6f8723b --- /dev/null +++ b/ocean_only/buoy_forced_basin/input.nml @@ -0,0 +1,13 @@ + &MOM_input_nml + output_directory = './', + input_filename = 'n' + restart_input_dir = 'RESTART/', + restart_output_dir = 'RESTART/', + parameter_filename = 'MOM_input', + 'MOM_override' / + &diag_manager_nml + / + + &fms_nml + domains_stack_size = 2440000, + stack_size = 0 / diff --git a/ocean_only/buoy_forced_basin/ocean.stats b/ocean_only/buoy_forced_basin/ocean.stats new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/SIS2 b/src/SIS2 index b4cc84a5b6..e34a7335d8 160000 --- a/src/SIS2 +++ b/src/SIS2 @@ -1 +1 @@ -Subproject commit b4cc84a5b62d4fc31efa2080b56724a5a4062d9e +Subproject commit e34a7335d84e3dc45835baee95a4f0876c3280ce