From 9a9293e1ccbbde3e43e2c7b96a05a189a08b1c9d Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Thu, 14 Jul 2016 16:59:45 -0400 Subject: [PATCH 01/15] Merging with upstream --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 277f4d6639fa2539075db65baeb5447253d9c85c Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Mon, 25 Jul 2016 12:52:03 -0400 Subject: [PATCH 02/15] Merging upstream MOM6, SIS2 and mkmf with dev/master --- src/MOM6 | 2 +- src/SIS2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MOM6 b/src/MOM6 index 8014778f30..0bb81dfb98 160000 --- a/src/MOM6 +++ b/src/MOM6 @@ -1 +1 @@ -Subproject commit 8014778f30208ad088b087a4579c585fc0e6181a +Subproject commit 0bb81dfb98641a3db3fb90dea9daa0f76d591887 diff --git a/src/SIS2 b/src/SIS2 index a664a59783..e34a7335d8 160000 --- a/src/SIS2 +++ b/src/SIS2 @@ -1 +1 @@ -Subproject commit a664a5978356231f5e94c3c3a4b76573ae216fc4 +Subproject commit e34a7335d84e3dc45835baee95a4f0876c3280ce From 97a0988aaad23e19db0e13eb9501571b3caf5d50 Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Mon, 25 Jul 2016 18:27:20 -0400 Subject: [PATCH 03/15] Addition of buoy_forced_basin to MOM6 code --- src/MOM6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MOM6 b/src/MOM6 index 0bb81dfb98..29b0c9da75 160000 --- a/src/MOM6 +++ b/src/MOM6 @@ -1 +1 @@ -Subproject commit 0bb81dfb98641a3db3fb90dea9daa0f76d591887 +Subproject commit 29b0c9da758c16b02eeaa11208ae740c15a14bde From 4b892be71d01d5e283dc5b16cca34bd841203165 Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Mon, 25 Jul 2016 19:10:48 -0400 Subject: [PATCH 04/15] Introduced buoy_forced_basin case to surface forcing and initialization files in MOM6. --- src/MOM6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MOM6 b/src/MOM6 index 29b0c9da75..0b3b6f4f3c 160000 --- a/src/MOM6 +++ b/src/MOM6 @@ -1 +1 @@ -Subproject commit 29b0c9da758c16b02eeaa11208ae740c15a14bde +Subproject commit 0b3b6f4f3c1a4aa7a418da1876f23e5d1b445256 From 8f032976779f24061771864f25482b9c62b44563 Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Tue, 26 Jul 2016 12:56:02 -0400 Subject: [PATCH 05/15] Modified initialization and forcing scripts for buoy_forced_gyre --- src/MOM6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MOM6 b/src/MOM6 index 0b3b6f4f3c..278fb6bccc 160000 --- a/src/MOM6 +++ b/src/MOM6 @@ -1 +1 @@ -Subproject commit 0b3b6f4f3c1a4aa7a418da1876f23e5d1b445256 +Subproject commit 278fb6bccc87d7215b90bf10188c97da7484f5db From 4b6bc50314c04872bff0148c60743f251a55e5c2 Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Tue, 26 Jul 2016 13:11:27 -0400 Subject: [PATCH 06/15] Configuration files for buoy_forced_basin --- ocean_only/buoy_forced_basin/MOM_input | 332 +++++ .../buoy_forced_basin/MOM_parameter_doc.all | 1241 +++++++++++++++++ .../MOM_parameter_doc.layout | 66 + .../buoy_forced_basin/MOM_parameter_doc.short | 308 ++++ ocean_only/buoy_forced_basin/diag_table | 88 ++ ocean_only/buoy_forced_basin/input.nml | 13 + 6 files changed, 2048 insertions(+) create mode 100644 ocean_only/buoy_forced_basin/MOM_input create mode 100644 ocean_only/buoy_forced_basin/MOM_parameter_doc.all create mode 100644 ocean_only/buoy_forced_basin/MOM_parameter_doc.layout create mode 100644 ocean_only/buoy_forced_basin/MOM_parameter_doc.short create mode 100644 ocean_only/buoy_forced_basin/diag_table create mode 100644 ocean_only/buoy_forced_basin/input.nml diff --git a/ocean_only/buoy_forced_basin/MOM_input b/ocean_only/buoy_forced_basin/MOM_input new file mode 100644 index 0000000000..32df74d69d --- /dev/null +++ b/ocean_only/buoy_forced_basin/MOM_input @@ -0,0 +1,332 @@ +/* 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 buoy_forced_basin. + + 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 = "buoy_forced_basin" ! + ! This specifies how layers are to be defined: + ! file - read coordinate information from the file + ! specified by (COORD_FILE). + ! linear - linear based on interfaces not 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 = "buoy_forced_basin" ! default = "file" + ! A string that sets how the sponges are configured: + ! file - read sponge properties from the file + ! specified by (SPONGE_FILE). + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! USER - call a user modified routine. +!Total sponge columns = 240 ! + ! The total number of columns where sponges are applied. + +! === 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. +NOSLIP = True ! [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. + +! === 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 === +Z_OUTPUT_GRID_FILE = "zcoord.nc" ! default = "" + ! The file that specifies the vertical grid for + ! depth-space diagnostics, or blank to disable + ! depth-space output. +!NK_ZSPACE (from file) = 50 ! [nondim] + ! The number of depth-space levels. This is determined + ! from the size of the variable zw in the output grid file. + +! === 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 = "buoy_forced_basin" ! + ! The character string that indicates how buoyancy forcing + ! is specified. Valid options include (file), (zero), + ! (linear), (USER), 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_parameter_doc.all b/ocean_only/buoy_forced_basin/MOM_parameter_doc.all new file mode 100644 index 0000000000..abf95d909d --- /dev/null +++ b/ocean_only/buoy_forced_basin/MOM_parameter_doc.all @@ -0,0 +1,1241 @@ +! This file was written by the model and records all non-layout parameters used at run-time. +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_grid === +! Parameters providing information about the vertical grid. +G_EARTH = 9.8 ! [m s-2] default = 9.8 + ! The gravitational acceleration of the Earth. +RHO_0 = 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. +FIRST_DIRECTION = 0 ! default = 0 + ! An integer that indicates which direction goes first + ! in parts of the code that use directionally split + ! updates, with even numbers (or 0) used for x- first + ! and odd numbers used for y-first. +BOUSSINESQ = True ! [Boolean] default = True + ! If true, make the Boussinesq approximation. +ANGSTROM = 1.0E-10 ! [m] default = 1.0E-10 + ! The minumum layer thickness, usually one-Angstrom. +BATHYMETRY_AT_VEL = False ! [Boolean] default = False + ! If true, there are separate values for the basin depths + ! at velocity points. Otherwise the effects of of + ! topography are entirely determined from thickness points. +NK = 10 ! [nondim] + ! The number of model layers. + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. +AVAILABLE_DIAGS_FILE = "available_diags.000000" ! default = "available_diags.000000" + ! A file into which to write a list of all available + ! ocean diagnostics that can be included in a diag_table. + +! === module MOM === +VERBOSITY = 2 ! default = 2 + ! Integer controlling level of messaging + ! 0 = Only FATAL messages + ! 2 = Only FATAL, WARNING, NOTE [default] + ! 9 = All) +SPLIT = True ! [Boolean] default = True + ! Use the split time stepping if true. +USE_LEGACY_SPLIT = False ! [Boolean] default = False + ! If true, use the full range of options available from + ! the older GOLD-derived split time stepping code. +ENABLE_THERMODYNAMICS = 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. +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. + ! The default is the same setting as ENABLE_THERMODYNAMICS. +USE_REGRIDDING = False ! [Boolean] default = False + ! If True, use the ALE algorithm (regridding/remapping). + ! If False, use the layered isopycnal algorithm. +THICKNESSDIFFUSE = False ! [Boolean] default = False + ! If true, 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. +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. +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. + +! === module MOM_tracer_registry === +PARALLEL_RESTARTFILES = False ! [Boolean] default = False + ! If true, each processor writes its own restart file, + ! otherwise a single restart file is generated +RESTARTFILE = "MOM.res" ! default = "MOM.res" + ! The name-root of the restart file. +LARGE_FILE_SUPPORT = True ! [Boolean] default = True + ! If true, use the file-size limits with NetCDF large + ! file support (4Gb), otherwise the limit is 2Gb. +MAX_FIELDS = 100 ! default = 100 + ! The maximum number of restart fields that can be used. + +! === module MOM_tracer_flow_control === +USE_USER_TRACER_EXAMPLE = False ! [Boolean] default = False + ! If true, use the USER_tracer_example tracer package. +USE_DOME_TRACER = False ! [Boolean] default = False + ! If true, use the DOME_tracer tracer package. +USE_IDEAL_AGE_TRACER = False ! [Boolean] default = False + ! If true, use the ideal_age_example tracer package. +USE_OIL_TRACER = False ! [Boolean] default = False + ! If true, use the oil_tracer tracer package. +USE_ADVECTION_TEST_TRACER = False ! [Boolean] default = False + ! If true, use the advection_test_tracer tracer package. +USE_OCMIP2_CFC = False ! [Boolean] default = False + ! If true, use the MOM_OCMIP2_CFC tracer package. +USE_generic_tracer = False ! [Boolean] default = False + ! If true and _USE_GENERIC_TRACER is defined as a + ! preprocessor macro, use the MOM_generic_tracer packages. +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. + ! 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 = "USER" ! + ! This specifies how layers are to be defined: + ! file - read coordinate information from the file + ! specified by (COORD_FILE). + ! linear - linear based on interfaces not 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. +SST_SOUTH = 20.0 ! [C] default = 20.0 + ! Southern SST +T_BOT = 7.0 ! [C] default = 5.0 + ! Bottom Temp +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. +APPLY_OBC_U_FLATHER_EAST = False ! [Boolean] default = False + ! Apply a Flather open boundary condition on the eastern + ! side of the global domain +APPLY_OBC_U_FLATHER_WEST = False ! [Boolean] default = False + ! Apply a Flather open boundary condition on the western + ! side of the global domain +APPLY_OBC_V_FLATHER_NORTH = False ! [Boolean] default = False + ! Apply a Flather open boundary condition on the northern + ! side of the global domain +APPLY_OBC_V_FLATHER_SOUTH = False ! [Boolean] default = False + ! Apply a Flather open boundary condition on the southern + ! side of the global domain +CHANNEL_CONFIG = "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. +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. +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. + ! 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. +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 = "USER" ! default = "file" + ! A string that sets how the sponges are configured: + ! file - read sponge properties from the file + ! specified by (SPONGE_FILE). + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! USER - call a user modified routine. +!Total sponge columns = 240 ! + ! The total number of columns where sponges are applied. +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 +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. + +! === 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 = 0.0 ! [nondim] default = 0.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_BBL_MIN = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum viscosities in the bottom boundary layer. +KV_TBL_MIN = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum viscosities in the top boundary layer. +TIDES = False ! [Boolean] default = False + ! If true, apply tidal momentum forcing. +BE = 0.6 ! [nondim] default = 0.6 + ! If SPLIT is true, BE determines the relative weighting + ! of a 2nd-order Runga-Kutta baroclinic time stepping + ! scheme (0.5) and a backward Euler scheme (1) that is + ! used for the Coriolis and inertial terms. BE may be + ! from 0.5 to 1, but instability may occur near 0.5. + ! BE is also applicable if SPLIT is false and USE_RK2 + ! is true. +BEGW = 0.0 ! [nondim] default = 0.0 + ! If SPILT is true, BEGW is a number from 0 to 1 that + ! controls the extent to which the treatment of gravity + ! waves is forward-backward (0) or simulated backward + ! Euler (1). 0 is almost always used. + ! If SPLIT is false and USE_RK2 is true, BEGW can be + ! between 0 and 0.5 to damp gravity waves. +SPLIT_BOTTOM_STRESS = False ! [Boolean] default = False + ! If true, provide the bottom stress calculated by the + ! vertical viscosity to the barotropic solver. +BT_USE_LAYER_FLUXES = True ! [Boolean] default = True + ! If true, use the summed layered fluxes plus an + ! adjustment due to the change in the barotropic velocity + ! in the barotropic continuity equation. +CONTINUITY_SCHEME = "PPM" ! default = "PPM" + ! CONTINUITY_SCHEME selects the discretization for the + ! continuity solver. The only valid value currently is: + ! PPM - use a positive-definite (or monotonic) + ! piecewise parabolic reconstruction solver. +MONOTONIC_CONTINUITY = False ! [Boolean] default = False + ! If true, CONTINUITY_PPM uses the Colella and Woodward + ! monotonic limiter. The default (false) is to use a + ! simple positive definite limiter. +SIMPLE_2ND_PPM_CONTINUITY = False ! [Boolean] default = False + ! If true, CONTINUITY_PPM uses a simple 2nd order + ! (arithmetic mean) interpolation of the edge values. + ! This may give better PV conservation propterties. While + ! it formally reduces the accuracy of the continuity + ! solver itself in the strongly advective limit, it does + ! not reduce the overall order of accuracy of the dynamic + ! core. +UPWIND_1ST_CONTINUITY = False ! [Boolean] default = False + ! If true, CONTINUITY_PPM becomes a 1st-order upwind + ! continuity solver. This scheme is highly diffusive + ! but may be useful for debugging or in single-column + ! mode where its minimal stensil is useful. +ETA_TOLERANCE = 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. +NOSLIP = True ! [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 +ANALYTIC_FV_PGF = True ! [Boolean] default = True + ! If true the pressure gradient forces are calculated + ! with a finite volume form that analytically integrates + ! the equations of state in pressure to avoid any + ! possibility of numerical thermobaric instability, as + ! described in Adcroft et al., O. Mod. (2008). +MASS_WEIGHT_IN_PRESSURE_GRADIENT = 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. +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. +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 = 1000.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. +Z_OUTPUT_GRID_FILE = "zcoord.nc" ! default = "" + ! The file that specifies the vertical grid for + ! depth-space diagnostics, or blank to disable + ! depth-space output. +!NK_ZSPACE (from file) = 50 ! [nondim] + ! The number of depth-space levels. This is determined + ! from the size of the variable zw in the output grid file. + +! === 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. +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. +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. + +! === 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 = "USER" ! + ! The character string that indicates how buoyancy forcing + ! is specified. Valid options include (file), (zero), + ! (linear), (USER), 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 user_surface_forcing === + +! === 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. +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 = 8.64E+04 + ! The interval in units of TIMEUNIT between saves of the + ! energies of the run and other globally summed diagnostics. +ICE_SHELF = False ! [Boolean] default = False + ! If true, call the code to apply an ice shelf model over + ! some of the domain. +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..3b9e2fd469 --- /dev/null +++ b/ocean_only/buoy_forced_basin/MOM_parameter_doc.layout @@ -0,0 +1,66 @@ +! This file was written by the model and records the layout parameters used at run-time. +!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..fd2d02e3c5 --- /dev/null +++ b/ocean_only/buoy_forced_basin/MOM_parameter_doc.short @@ -0,0 +1,308 @@ +! This file was written by the model and records the non-default parameters used at run-time. +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_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 = "USER" ! + ! This specifies how layers are to be defined: + ! file - read coordinate information from the file + ! specified by (COORD_FILE). + ! linear - linear based on interfaces not 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 = "USER" ! default = "file" + ! A string that sets how the sponges are configured: + ! file - read sponge properties from the file + ! specified by (SPONGE_FILE). + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! USER - call a user modified routine. +!Total sponge columns = 240 ! + ! The total number of columns where sponges are applied. + +! === 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. +NOSLIP = True ! [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. + +! === 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 === +KHTH = 1000.0 ! [m2 s-1] default = 0.0 + ! The background horizontal thickness diffusivity. + +! === module MOM_mixed_layer_restrat === +Z_OUTPUT_GRID_FILE = "zcoord.nc" ! default = "" + ! The file that specifies the vertical grid for + ! depth-space diagnostics, or blank to disable + ! depth-space output. +!NK_ZSPACE (from file) = 50 ! [nondim] + ! The number of depth-space levels. This is determined + ! from the size of the variable zw in the output grid file. + +! === 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 = "USER" ! + ! The character string that indicates how buoyancy forcing + ! is specified. Valid options include (file), (zero), + ! (linear), (USER), 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/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 / From 16f5abf2a5ac39105b33b8278cfb851430c60ad8 Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Tue, 26 Jul 2016 13:21:35 -0400 Subject: [PATCH 07/15] Modification to MOM_input of buoy_forced_basin --- ocean_only/buoy_forced_basin/MOM_input | 7 ------- 1 file changed, 7 deletions(-) diff --git a/ocean_only/buoy_forced_basin/MOM_input b/ocean_only/buoy_forced_basin/MOM_input index 32df74d69d..af2c06ebc3 100644 --- a/ocean_only/buoy_forced_basin/MOM_input +++ b/ocean_only/buoy_forced_basin/MOM_input @@ -233,13 +233,6 @@ MAXVEL = 10.0 ! [m s-1] default = 3.0E+08 ! === module MOM_thickness_diffuse === ! === module MOM_mixed_layer_restrat === -Z_OUTPUT_GRID_FILE = "zcoord.nc" ! default = "" - ! The file that specifies the vertical grid for - ! depth-space diagnostics, or blank to disable - ! depth-space output. -!NK_ZSPACE (from file) = 50 ! [nondim] - ! The number of depth-space levels. This is determined - ! from the size of the variable zw in the output grid file. ! === module MOM_diabatic_driver === ! The following parameters are used for diabatic processes. From 7cf195eab13cfa8c96ede7f536409cae0f594fc6 Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Tue, 26 Jul 2016 13:36:59 -0400 Subject: [PATCH 08/15] Added MOM_override file in buoy_forced_basin --- ocean_only/buoy_forced_basin/MOM_override | 1 + 1 file changed, 1 insertion(+) create mode 100644 ocean_only/buoy_forced_basin/MOM_override 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 From d5be8d2d5af39e51d2cb05aa4138999e5449751a Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Tue, 26 Jul 2016 13:37:37 -0400 Subject: [PATCH 09/15] Disabled MOM_fatal for NOSLIP and BIHARMONIC --- src/MOM6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MOM6 b/src/MOM6 index 278fb6bccc..3aa3ae207d 160000 --- a/src/MOM6 +++ b/src/MOM6 @@ -1 +1 @@ -Subproject commit 278fb6bccc87d7215b90bf10188c97da7484f5db +Subproject commit 3aa3ae207d2bff42fdb72fd4cacda3943f4e926c From 5056ab2b904e12e53a9dddf6fc794fbccba44a34 Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Wed, 27 Jul 2016 17:16:18 -0400 Subject: [PATCH 10/15] MOM_param, CPU_stats, ocean.stats files added for buoy_forced_basin --- ocean_only/buoy_forced_basin/CPU_stats | 0 .../buoy_forced_basin/MOM_parameter_doc.all | 273 +++++++++++------- .../MOM_parameter_doc.layout | 4 + .../buoy_forced_basin/MOM_parameter_doc.short | 114 +++++--- ocean_only/buoy_forced_basin/ocean.stats | 0 5 files changed, 244 insertions(+), 147 deletions(-) create mode 100644 ocean_only/buoy_forced_basin/CPU_stats create mode 100644 ocean_only/buoy_forced_basin/ocean.stats 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_parameter_doc.all b/ocean_only/buoy_forced_basin/MOM_parameter_doc.all index abf95d909d..ce41754762 100644 --- a/ocean_only/buoy_forced_basin/MOM_parameter_doc.all +++ b/ocean_only/buoy_forced_basin/MOM_parameter_doc.all @@ -1,53 +1,4 @@ ! This file was written by the model and records all non-layout parameters used at run-time. -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_grid === -! Parameters providing information about the vertical grid. -G_EARTH = 9.8 ! [m s-2] default = 9.8 - ! The gravitational acceleration of the Earth. -RHO_0 = 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. -FIRST_DIRECTION = 0 ! default = 0 - ! An integer that indicates which direction goes first - ! in parts of the code that use directionally split - ! updates, with even numbers (or 0) used for x- first - ! and odd numbers used for y-first. -BOUSSINESQ = True ! [Boolean] default = True - ! If true, make the Boussinesq approximation. -ANGSTROM = 1.0E-10 ! [m] default = 1.0E-10 - ! The minumum layer thickness, usually one-Angstrom. -BATHYMETRY_AT_VEL = False ! [Boolean] default = False - ! If true, there are separate values for the basin depths - ! at velocity points. Otherwise the effects of of - ! topography are entirely determined from thickness points. -NK = 10 ! [nondim] - ! The number of model layers. - -! === module MOM_verticalGrid === -! Parameters providing information about the vertical grid. -AVAILABLE_DIAGS_FILE = "available_diags.000000" ! default = "available_diags.000000" - ! A file into which to write a list of all available - ! ocean diagnostics that can be included in a diag_table. ! === module MOM === VERBOSITY = 2 ! default = 2 @@ -76,21 +27,26 @@ ADIABATIC = False ! [Boolean] default = False ! 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. - ! The default is the same setting as ENABLE_THERMODYNAMICS. -USE_REGRIDDING = False ! [Boolean] default = False - ! If True, use the ALE algorithm (regridding/remapping). - ! If False, use the layered isopycnal algorithm. + ! 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 @@ -134,6 +90,11 @@ DTBT_RESET_PERIOD = 0.0 ! [s] default = 1800.0 ! 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 @@ -141,8 +102,54 @@ SAVE_INITIAL_CONDS = True ! [Boolean] default = False ! 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 @@ -159,8 +166,12 @@ 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 @@ -170,6 +181,8 @@ USE_OCMIP2_CFC = False ! [Boolean] default = False 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. @@ -223,6 +236,8 @@ TOPO_CONFIG = "flat" ! ! 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. @@ -232,28 +247,15 @@ 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 = "USER" ! - ! This specifies how layers are to be defined: - ! file - read coordinate information from the file - ! specified by (COORD_FILE). - ! linear - linear based on interfaces not 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. -SST_SOUTH = 20.0 ! [C] default = 20.0 - ! Southern SST -T_BOT = 7.0 ! [C] default = 5.0 - ! Bottom Temp -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. + +! === 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 @@ -266,6 +268,9 @@ APPLY_OBC_V_FLATHER_NORTH = False ! [Boolean] default = False 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: @@ -285,11 +290,32 @@ ROTATION = "2omegasinlat" ! default = "2omegasinlat" ! USER - call a user modified routine. OMEGA = 7.2921E-05 ! [s-1] default = 7.2921E-05 ! The rotation rate of the earth. -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_coord_initialization === +COORD_CONFIG = "buoy_forced_basin" ! + ! This specifies how layers are to be defined: + ! file - read coordinate information from the file + ! specified by (COORD_FILE). + ! linear - linear based on interfaces not 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. +SST_SOUTH = 20.0 ! [C] default = 20.0 + ! Southern SST +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- @@ -305,6 +331,8 @@ THICKNESS_CONFIG = "uniform" ! ! 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. @@ -333,25 +361,29 @@ CONVERT_THICKNESS_UNITS = False ! [Boolean] default = False 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 = "USER" ! default = "file" +SPONGE_CONFIG = "buoy_forced_basin" ! 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. ! USER - call a user modified routine. !Total sponge columns = 240 ! ! The total number of columns where sponges are applied. -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 +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 @@ -360,6 +392,8 @@ DIAG_REMAP_Z_GRID_DEF = "" ! default = "" ! 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 @@ -415,7 +449,7 @@ LINEAR_DRAG = False ! [Boolean] default = False DOUBLE_DIFFUSION = False ! [Boolean] default = False ! If true, increase diffusivitives for temperature or salt ! based on double-diffusive paramaterization from MOM4/KPP. -PRANDTL_TURB = 0.0 ! [nondim] default = 0.0 +PRANDTL_TURB = 1.0 ! [nondim] default = 1.0 ! The turbulent Prandtl number applied to shear ! instability. DYNAMIC_VISCOUS_ML = False ! [Boolean] default = False @@ -441,9 +475,12 @@ 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_BBL_MIN = 0.0 ! [m2 s-1] default = 0.0 +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 = 0.0 ! [m2 s-1] default = 0.0 +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. @@ -469,11 +506,15 @@ 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 @@ -528,6 +569,8 @@ 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 = True ! [Boolean] default = False ! If true, no slip boundary conditions are used; otherwise ! free slip boundary conditions are assumed. The @@ -563,12 +606,16 @@ PV_ADV_SCHEME = "PV_ADV_CENTERED" ! default = "PV_ADV_CENTERED" ! 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. @@ -643,13 +690,15 @@ V_TRUNC_FILE = "" ! default = "" 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. -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 @@ -791,7 +840,7 @@ DTBT = -0.98 ! [s or nondim] default = -0.98 ! integer fraction of DT, rounding down. ! === module MOM_thickness_diffuse === -KHTH = 1000.0 ! [m2 s-1] default = 0.0 +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. @@ -819,13 +868,12 @@ MIXEDLAYER_RESTRAT = False ! [Boolean] default = False ! 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. -Z_OUTPUT_GRID_FILE = "zcoord.nc" ! default = "" + +! === 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. -!NK_ZSPACE (from file) = 50 ! [nondim] - ! The number of depth-space levels. This is determined - ! from the size of the variable zw in the output grid file. ! === module MOM_diabatic_driver === ! The following parameters are used for diabatic processes. @@ -833,6 +881,10 @@ 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. @@ -902,6 +954,8 @@ MAX_ENT_IT = 5 ! default = 5 ! 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 @@ -1065,6 +1119,12 @@ 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 @@ -1125,7 +1185,7 @@ VARIABLE_WINDS = False ! [Boolean] default = True VARIABLE_BUOYFORCE = True ! [Boolean] default = True ! If true, the buoyancy forcing varies in time after the ! initialization of the model. -BUOY_CONFIG = "USER" ! +BUOY_CONFIG = "buoy_forced_basin" ! ! The character string that indicates how buoyancy forcing ! is specified. Valid options include (file), (zero), ! (linear), (USER), and (NONE). @@ -1151,7 +1211,11 @@ READ_GUST_2D = False ! [Boolean] default = False ! If true, use a 2-dimensional gustiness supplied from ! an input file -! === module user_surface_forcing === +! === module buoy_forced_basin_surface_forcing === + +! === 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 @@ -1183,6 +1247,8 @@ READ_DEPTH_LIST = False ! [Boolean] default = False 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 @@ -1215,12 +1281,11 @@ 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 +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. -ICE_SHELF = False ! [Boolean] default = False - ! If true, call the code to apply an ice shelf model over - ! some of the domain. + +! === 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 diff --git a/ocean_only/buoy_forced_basin/MOM_parameter_doc.layout b/ocean_only/buoy_forced_basin/MOM_parameter_doc.layout index 3b9e2fd469..0eaf73db53 100644 --- a/ocean_only/buoy_forced_basin/MOM_parameter_doc.layout +++ b/ocean_only/buoy_forced_basin/MOM_parameter_doc.layout @@ -1,4 +1,8 @@ ! 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, diff --git a/ocean_only/buoy_forced_basin/MOM_parameter_doc.short b/ocean_only/buoy_forced_basin/MOM_parameter_doc.short index fd2d02e3c5..e1d1eeac35 100644 --- a/ocean_only/buoy_forced_basin/MOM_parameter_doc.short +++ b/ocean_only/buoy_forced_basin/MOM_parameter_doc.short @@ -1,4 +1,26 @@ ! 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 ! @@ -13,7 +35,7 @@ NJGLOBAL = 80 ! ! === module MOM_hor_index === ! Sets the horizontal array index types. -! === module MOM_grid === +! === 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 @@ -23,33 +45,14 @@ RHO_0 = 1031.0 ! [kg m-3] default = 1035.0 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_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 @@ -81,6 +84,8 @@ TOPO_CONFIG = "flat" ! ! 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. @@ -90,7 +95,12 @@ 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 = "USER" ! + +! === 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 = "buoy_forced_basin" ! ! This specifies how layers are to be defined: ! file - read coordinate information from the file ! specified by (COORD_FILE). @@ -107,6 +117,11 @@ COORD_CONFIG = "USER" ! ! 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: @@ -118,6 +133,8 @@ THICKNESS_CONFIG = "uniform" ! ! 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. @@ -132,16 +149,19 @@ 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 = "USER" ! default = "file" +SPONGE_CONFIG = "buoy_forced_basin" ! 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. ! 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 === @@ -166,6 +186,15 @@ BBL_THICK_MIN = 0.1 ! [m] default = 0.0 ! 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 === NOSLIP = True ! [Boolean] default = False ! If true, no slip boundary conditions are used; otherwise ! free slip boundary conditions are assumed. The @@ -174,6 +203,10 @@ NOSLIP = True ! [Boolean] default = False ! is strongly encouraged, and no slip BCs are not used with ! the biharmonic viscosity. +! === module MOM_PressureForce === + +! === module MOM_PressureForce_AFV === + ! === module MOM_hor_visc === LAPLACIAN = True ! [Boolean] default = False ! If true, use a Laplacian horizontal viscosity. @@ -191,9 +224,6 @@ 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 @@ -205,17 +235,10 @@ MAXVEL = 10.0 ! [m s-1] default = 3.0E+08 ! === module MOM_barotropic === ! === module MOM_thickness_diffuse === -KHTH = 1000.0 ! [m2 s-1] default = 0.0 - ! The background horizontal thickness diffusivity. ! === module MOM_mixed_layer_restrat === -Z_OUTPUT_GRID_FILE = "zcoord.nc" ! default = "" - ! The file that specifies the vertical grid for - ! depth-space diagnostics, or blank to disable - ! depth-space output. -!NK_ZSPACE (from file) = 50 ! [nondim] - ! The number of depth-space levels. This is determined - ! from the size of the variable zw in the output grid file. + +! === module MOM_diag_to_Z === ! === module MOM_diabatic_driver === ! The following parameters are used for diabatic processes. @@ -231,6 +254,8 @@ 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, @@ -254,7 +279,7 @@ KD = 1.0E-04 ! [m2 s-1] ! === module MOM_surface_forcing === VARIABLE_WINDS = False ! [Boolean] default = True ! If true, the winds vary in time after the initialization. -BUOY_CONFIG = "USER" ! +BUOY_CONFIG = "buoy_forced_basin" ! ! The character string that indicates how buoyancy forcing ! is specified. Valid options include (file), (zero), ! (linear), (USER), and (NONE). @@ -271,7 +296,9 @@ FLUXCONST = 4.0 ! [m day-1] ! to the relative surface anomalies (akin to a piston ! velocity). Note the non-MKS units. -! === module user_surface_forcing === +! === module buoy_forced_basin_surface_forcing === + +! === module MOM_restart === ! === module MOM_sum_output === MAXTRUNC = 400 ! [truncations save_interval-1] default = 0 @@ -280,6 +307,8 @@ MAXTRUNC = 400 ! [truncations save_interval-1] default = 0 ! 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 @@ -300,9 +329,8 @@ 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. + +! === 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/ocean.stats b/ocean_only/buoy_forced_basin/ocean.stats new file mode 100644 index 0000000000..e69de29bb2 From d98b1956cfafd61225b1b618e4e1237943aa4eae Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Wed, 27 Jul 2016 19:24:51 -0400 Subject: [PATCH 11/15] Modifications to buoy-forced basin case --- ocean_only/buoy_forced_basin/MOM_input | 18 ++++++++----- .../buoy_forced_basin/MOM_parameter_doc.all | 26 ++++++++++++++----- .../buoy_forced_basin/MOM_parameter_doc.short | 14 ++++++---- src/MOM6 | 2 +- 4 files changed, 40 insertions(+), 20 deletions(-) diff --git a/ocean_only/buoy_forced_basin/MOM_input b/ocean_only/buoy_forced_basin/MOM_input index af2c06ebc3..0c44b108f0 100644 --- a/ocean_only/buoy_forced_basin/MOM_input +++ b/ocean_only/buoy_forced_basin/MOM_input @@ -2,7 +2,7 @@ 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 buoy_forced_basin. + 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 @@ -116,10 +116,12 @@ 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 = "buoy_forced_basin" ! +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 @@ -131,6 +133,7 @@ COORD_CONFIG = "buoy_forced_basin" ! ! 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" ! @@ -158,15 +161,16 @@ 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 = "buoy_forced_basin" ! default = "file" +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_MEKE === @@ -271,10 +275,10 @@ KD = 1.0E-04 ! [m2 s-1] ! === module MOM_surface_forcing === VARIABLE_WINDS = False ! [Boolean] default = True ! If true, the winds vary in time after the initialization. -BUOY_CONFIG = "buoy_forced_basin" ! +BUOY_CONFIG = "BFB" ! ! The character string that indicates how buoyancy forcing ! is specified. Valid options include (file), (zero), - ! (linear), (USER), and (NONE). + ! (linear), (USER), (BFB) and (NONE). WIND_CONFIG = "zero" ! ! The character string that indicates how wind forcing ! is specified. Valid options include (file), (2gyre), diff --git a/ocean_only/buoy_forced_basin/MOM_parameter_doc.all b/ocean_only/buoy_forced_basin/MOM_parameter_doc.all index ce41754762..cb25ed2365 100644 --- a/ocean_only/buoy_forced_basin/MOM_parameter_doc.all +++ b/ocean_only/buoy_forced_basin/MOM_parameter_doc.all @@ -292,10 +292,12 @@ OMEGA = 7.2921E-05 ! [s-1] default = 7.2921E-05 ! The rotation rate of the earth. ! === module MOM_coord_initialization === -COORD_CONFIG = "buoy_forced_basin" ! +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 @@ -307,8 +309,10 @@ COORD_CONFIG = "buoy_forced_basin" ! ! ts_profile - use temperature and salinity profiles ! (read from COORD_FILE) to set layer densities. ! USER - call a user modified routine. -SST_SOUTH = 20.0 ! [C] default = 20.0 - ! Southern SST +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 @@ -369,13 +373,15 @@ 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 = "buoy_forced_basin" ! default = "file" +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. @@ -1185,10 +1191,10 @@ VARIABLE_WINDS = False ! [Boolean] default = True VARIABLE_BUOYFORCE = True ! [Boolean] default = True ! If true, the buoyancy forcing varies in time after the ! initialization of the model. -BUOY_CONFIG = "buoy_forced_basin" ! +BUOY_CONFIG = "BFB" ! ! The character string that indicates how buoyancy forcing ! is specified. Valid options include (file), (zero), - ! (linear), (USER), and (NONE). + ! (linear), (USER), (BFB) and (NONE). WIND_CONFIG = "zero" ! ! The character string that indicates how wind forcing ! is specified. Valid options include (file), (2gyre), @@ -1211,7 +1217,13 @@ READ_GUST_2D = False ! [Boolean] default = False ! If true, use a 2-dimensional gustiness supplied from ! an input file -! === module buoy_forced_basin_surface_forcing === +! === 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 diff --git a/ocean_only/buoy_forced_basin/MOM_parameter_doc.short b/ocean_only/buoy_forced_basin/MOM_parameter_doc.short index e1d1eeac35..0baf45733c 100644 --- a/ocean_only/buoy_forced_basin/MOM_parameter_doc.short +++ b/ocean_only/buoy_forced_basin/MOM_parameter_doc.short @@ -100,10 +100,12 @@ MAXIMUM_DEPTH = 2000.0 ! [m] ! 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 = "buoy_forced_basin" ! +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 @@ -149,13 +151,15 @@ 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 = "buoy_forced_basin" ! default = "file" +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. @@ -279,10 +283,10 @@ KD = 1.0E-04 ! [m2 s-1] ! === module MOM_surface_forcing === VARIABLE_WINDS = False ! [Boolean] default = True ! If true, the winds vary in time after the initialization. -BUOY_CONFIG = "buoy_forced_basin" ! +BUOY_CONFIG = "BFB" ! ! The character string that indicates how buoyancy forcing ! is specified. Valid options include (file), (zero), - ! (linear), (USER), and (NONE). + ! (linear), (USER), (BFB) and (NONE). WIND_CONFIG = "zero" ! ! The character string that indicates how wind forcing ! is specified. Valid options include (file), (2gyre), @@ -296,7 +300,7 @@ FLUXCONST = 4.0 ! [m day-1] ! to the relative surface anomalies (akin to a piston ! velocity). Note the non-MKS units. -! === module buoy_forced_basin_surface_forcing === +! === module BFB_surface_forcing === ! === module MOM_restart === diff --git a/src/MOM6 b/src/MOM6 index 3aa3ae207d..616258d229 160000 --- a/src/MOM6 +++ b/src/MOM6 @@ -1 +1 @@ -Subproject commit 3aa3ae207d2bff42fdb72fd4cacda3943f4e926c +Subproject commit 616258d2290665a9c6a0e7a00fa34f150b9ef376 From 4cf7bb0b93f28f180313117b646328925dd62e39 Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Wed, 27 Jul 2016 20:00:56 -0400 Subject: [PATCH 12/15] Removed NOSLIP from MOM_input --- ocean_only/buoy_forced_basin/MOM_input | 7 ------- ocean_only/buoy_forced_basin/MOM_parameter_doc.all | 2 +- ocean_only/buoy_forced_basin/MOM_parameter_doc.short | 7 ------- 3 files changed, 1 insertion(+), 15 deletions(-) diff --git a/ocean_only/buoy_forced_basin/MOM_input b/ocean_only/buoy_forced_basin/MOM_input index 0c44b108f0..787abec743 100644 --- a/ocean_only/buoy_forced_basin/MOM_input +++ b/ocean_only/buoy_forced_basin/MOM_input @@ -196,13 +196,6 @@ BBL_THICK_MIN = 0.1 ! [m] default = 0.0 ! used with BOTTOMDRAGLAW. This might be ! Kv / (cdrag * drag_bg_vel) to give Kv as the minimum ! near-bottom viscosity. -NOSLIP = True ! [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. ! === module MOM_hor_visc === LAPLACIAN = True ! [Boolean] default = False diff --git a/ocean_only/buoy_forced_basin/MOM_parameter_doc.all b/ocean_only/buoy_forced_basin/MOM_parameter_doc.all index cb25ed2365..4dbc250731 100644 --- a/ocean_only/buoy_forced_basin/MOM_parameter_doc.all +++ b/ocean_only/buoy_forced_basin/MOM_parameter_doc.all @@ -577,7 +577,7 @@ CONT_PPM_MARGINAL_FACE_AREAS = True ! [Boolean] default = True ! Otherwise use the transport averaged areas. ! === module MOM_CoriolisAdv === -NOSLIP = True ! [Boolean] default = False +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 diff --git a/ocean_only/buoy_forced_basin/MOM_parameter_doc.short b/ocean_only/buoy_forced_basin/MOM_parameter_doc.short index 0baf45733c..5c8e2e48be 100644 --- a/ocean_only/buoy_forced_basin/MOM_parameter_doc.short +++ b/ocean_only/buoy_forced_basin/MOM_parameter_doc.short @@ -199,13 +199,6 @@ KV = 1.0E-04 ! [m2 s-1] ! === module MOM_continuity_PPM === ! === module MOM_CoriolisAdv === -NOSLIP = True ! [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. ! === module MOM_PressureForce === From f8e8af9d7bef01c845a8e0a466d7d68b5c653369 Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Wed, 27 Jul 2016 20:07:15 -0400 Subject: [PATCH 13/15] Enabled Fatal for NOSLIP with BIHARMONIC --- src/MOM6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MOM6 b/src/MOM6 index 616258d229..494b9dc49f 160000 --- a/src/MOM6 +++ b/src/MOM6 @@ -1 +1 @@ -Subproject commit 616258d2290665a9c6a0e7a00fa34f150b9ef376 +Subproject commit 494b9dc49f1af7ff350dc898575f1f768e5d9b5d From 848954c200a83ddf3b2e21cbafd5be7af7f7dafa Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Thu, 28 Jul 2016 20:59:42 -0400 Subject: [PATCH 14/15] Disabled fatal for NOSLIP and BIHARMONIC --- src/MOM6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MOM6 b/src/MOM6 index 494b9dc49f..8ed4dcf6b4 160000 --- a/src/MOM6 +++ b/src/MOM6 @@ -1 +1 @@ -Subproject commit 494b9dc49f1af7ff350dc898575f1f768e5d9b5d +Subproject commit 8ed4dcf6b455c69c1bea1ccef2833d89f8b86c48 From d8edeafd18201054109d31bc18f6102090d8bb11 Mon Sep 17 00:00:00 2001 From: Suyash Bire Date: Thu, 28 Jul 2016 21:07:55 -0400 Subject: [PATCH 15/15] Enabled fatal for NOSLIP with BIHARM --- src/MOM6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MOM6 b/src/MOM6 index 8ed4dcf6b4..8014778f30 160000 --- a/src/MOM6 +++ b/src/MOM6 @@ -1 +1 @@ -Subproject commit 8ed4dcf6b455c69c1bea1ccef2833d89f8b86c48 +Subproject commit 8014778f30208ad088b087a4579c585fc0e6181a