-
Notifications
You must be signed in to change notification settings - Fork 0
/
MOM_input
346 lines (320 loc) · 24.5 KB
/
MOM_input
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
! 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.
ADIABATIC = True ! [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.
THICKNESSDIFFUSE_FIRST = True ! [Boolean] default = False
! If true, do thickness diffusion before dynamics. This is only used if
! THICKNESSDIFFUSE is true.
DTBT_RESET_PERIOD = 0.0 ! [s] default = 1200.0
! The period between recalculations of DTBT (if DTBT <= 0). If DTBT_RESET_PERIOD
! is negative, DTBT is set based only on information available at
! initialization. If 0, DTBT will be set every dynamics time step. The default
! is set by DT_THERM. This is only used if SPLIT is true.
SAVE_INITIAL_CONDS = True ! [Boolean] default = False
! If true, write the initial conditions to a file given by IC_OUTPUT_FILE.
CORIOLIS_SCHEME = "ARAKAWA_HSU90" ! 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
! === module MOM_domains ===
! === module MOM_fixed_initialization ===
! === module MOM_grid_init ===
GRID_CONFIG = "spherical" !
! 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 = -70.0 ! [degrees]
! The southern latitude of the domain.
LENLAT = 140.0 ! [degrees]
! The latitudinal length of the domain.
LENLON = 60.0 ! [degrees]
! The longitudinal length of the domain.
TOPO_CONFIG = "bbuilder" !
! This specifies how bathymetry is specified:
! file - read bathymetric information from the file
! specified by (TOPO_FILE).
! flat - flat bottom set to MAXIMUM_DEPTH.
! bowl - an analytically specified bowl-shaped basin
! ranging between MAXIMUM_DEPTH and MINIMUM_DEPTH.
! spoon - a similar shape to 'bowl', but with an vertical
! wall at the southern face.
! halfpipe - a zonally uniform channel with a half-sine
! profile in the meridional direction.
! bbuilder - build topography from list of functions.
! benchmark - use the benchmark test case topography.
! Neverworld - use the Neverworld test case topography.
! DOME - use a slope and channel configuration for the
! DOME sill-overflow test case.
! ISOMIP - use a slope and channel configuration for the
! ISOMIP test case.
! DOME2D - use a shelf and slope configuration for the
! DOME2D gravity current/overflow test case.
! Kelvin - flat but with rotated land mask.
! seamount - Gaussian bump for spontaneous motion test case.
! dumbbell - Sloshing channel with reservoirs on both ends.
! shelfwave - exponential slope for shelfwave test case.
! Phillips - ACC-like idealized topography used in the Phillips config.
! dense - Denmark Strait-like dense water formation and overflow.
! USER - call a user modified routine.
! === module basin_builder ===
BBUILDER_N = 8 !
! Number of pieces of topography to use.
BBUILDER_001_FUNC = "NS_coast" !
! The basin builder function to apply with parameters BBUILDER_001_PARS. Choices
! are: NS_COAST, EW_COAST, CIRC_CONIC_RIDGE, NS_CONIC_RIDGE, CIRC_SCURVE_RIDGE,
! NS_SCURVE_RIDGE.
BBUILDER_001_PARS = 0.0, -40.0, 90.0, 5.0, 200.0 ! [degrees_E,degrees_N,degrees_N,degrees,m]
! NS_COAST parameters: longitude, starting latitude, ending latitude, footprint
! radius, shelf depth.
BBUILDER_002_FUNC = "NS_coast" !
! The basin builder function to apply with parameters BBUILDER_002_PARS. Choices
! are: NS_COAST, EW_COAST, CIRC_CONIC_RIDGE, NS_CONIC_RIDGE, CIRC_SCURVE_RIDGE,
! NS_SCURVE_RIDGE.
BBUILDER_002_PARS = 60.0, -40.0, 90.0, 5.0, 200.0 ! [degrees_E,degrees_N,degrees_N,degrees,m]
! NS_COAST parameters: longitude, starting latitude, ending latitude, footprint
! radius, shelf depth.
BBUILDER_003_FUNC = "NS_coast" !
! The basin builder function to apply with parameters BBUILDER_003_PARS. Choices
! are: NS_COAST, EW_COAST, CIRC_CONIC_RIDGE, NS_CONIC_RIDGE, CIRC_SCURVE_RIDGE,
! NS_SCURVE_RIDGE.
BBUILDER_003_PARS = 0.0, -90.0, -60.0, 5.0, 200.0 ! [degrees_E,degrees_N,degrees_N,degrees,m]
! NS_COAST parameters: longitude, starting latitude, ending latitude, footprint
! radius, shelf depth.
BBUILDER_004_FUNC = "NS_coast" !
! The basin builder function to apply with parameters BBUILDER_004_PARS. Choices
! are: NS_COAST, EW_COAST, CIRC_CONIC_RIDGE, NS_CONIC_RIDGE, CIRC_SCURVE_RIDGE,
! NS_SCURVE_RIDGE.
BBUILDER_004_PARS = 60.0, -90.0, -60.0, 5.0, 200.0 ! [degrees_E,degrees_N,degrees_N,degrees,m]
! NS_COAST parameters: longitude, starting latitude, ending latitude, footprint
! radius, shelf depth.
BBUILDER_005_FUNC = "EW_coast" !
! The basin builder function to apply with parameters BBUILDER_005_PARS. Choices
! are: NS_COAST, EW_COAST, CIRC_CONIC_RIDGE, NS_CONIC_RIDGE, CIRC_SCURVE_RIDGE,
! NS_SCURVE_RIDGE.
BBUILDER_005_PARS = -70.0, 0.0, 60.0, 5.0, 200.0 ! [degrees_N,degrees_E,degrees_E,degrees,m]
! EW_COAST parameters: latitude, starting longitude, ending longitude, footprint
! radius, shelf depth.
BBUILDER_006_FUNC = "EW_coast" !
! The basin builder function to apply with parameters BBUILDER_006_PARS. Choices
! are: NS_COAST, EW_COAST, CIRC_CONIC_RIDGE, NS_CONIC_RIDGE, CIRC_SCURVE_RIDGE,
! NS_SCURVE_RIDGE.
BBUILDER_006_PARS = 70.0, 0.0, 60.0, 5.0, 200.0 ! [degrees_N,degrees_E,degrees_E,degrees,m]
! EW_COAST parameters: latitude, starting longitude, ending longitude, footprint
! radius, shelf depth.
BBUILDER_007_FUNC = "circ_conic_ridge" !
! The basin builder function to apply with parameters BBUILDER_007_PARS. Choices
! are: NS_COAST, EW_COAST, CIRC_CONIC_RIDGE, NS_CONIC_RIDGE, CIRC_SCURVE_RIDGE,
! NS_SCURVE_RIDGE.
BBUILDER_007_PARS = 0.0, -50.0, 10.0, 2.0, 2000.0 ! [degrees_E,degrees_N,degrees,degrees,m]
! CIRC_CONIC_RIDGE parameters: center longitude, center latitude, ring radius,
! footprint radius, ridge height.
BBUILDER_008_FUNC = "ns_scurve_ridge" !
! The basin builder function to apply with parameters BBUILDER_008_PARS. Choices
! are: NS_COAST, EW_COAST, CIRC_CONIC_RIDGE, NS_CONIC_RIDGE, CIRC_SCURVE_RIDGE,
! NS_SCURVE_RIDGE.
BBUILDER_008_PARS = 30.0, -70.0, 90.0, 20.0, 2000.0 ! [degrees_E,degrees_N,degrees_N,degrees,m]
! NS_SCURVE_RIDGE parameters: longitude, starting latitude, ending latitude,
! footprint radius, ridge height.
MAXIMUM_DEPTH = 4000.0 ! [m]
! The maximum depth of the ocean.
MASKING_DEPTH = 1.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_verticalGrid ===
! Parameters providing information about the vertical grid.
G_EARTH = 10.0 ! [m s-2] default = 9.8
! The gravitational acceleration of the Earth.
RHO_0 = 1000.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 = 15 ! [nondim]
! The number of model layers.
! === module MOM_tracer_flow_control ===
! === module MOM_coord_initialization ===
COORD_CONFIG = "file" ! default = "none"
! This specifies how layers are to be defined:
! ALE or none - used to avoid defining layers in ALE mode
! file - read coordinate information from the file
! specified by (COORD_FILE).
! BFB - Custom coords for buoyancy-forced basin case
! based on SST_S, T_BOT and DRHO_DT.
! linear - linear based on interfaces not layers
! layer_ref - linear based on layer densities
! ts_ref - use reference temperature and salinity
! ts_range - use range of temperature and salinity
! (T_REF and S_REF) to determine surface density
! and GINT calculate internal densities.
! gprime - use reference density (RHO_0) for surface
! density and GINT calculate internal densities.
! ts_profile - use temperature and salinity profiles
! (read from COORD_FILE) to set layer densities.
! USER - call a user modified routine.
COORD_FILE = "INPUT/coordinate.nc" !
! The file from which the coordinate densities are read.
! === module MOM_state_initialization ===
THICKNESS_CONFIG = "Neverland" ! default = "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.
! list - read a list of positive interface depths.
! 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.
! Neverworld - use the Neverworld 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 - 2D lock exchange thickness ICs.
! sloshing - sloshing gravity thickness ICs.
! seamount - no motion test with seamount ICs.
! dumbbell - sloshing channel ICs.
! soliton - Equatorial Rossby soliton.
! rossby_front - a mixed layer front in thermal wind balance.
! USER - call a user modified routine.
INIT_THICKNESS_PROFILE = 25.0, 50.0, 100.0, 125.0, 150.0, 175.0, 200.0, 225.0, 250.0, 300.0, 350.0, 400.0, 500.0, 550.0, 600.0 ! [m]
! Profile of initial layer thicknesses.
! === module MOM_diag_mediator ===
! === module MOM_lateral_mixing_coeffs ===
! === module MOM_set_visc ===
PRANDTL_TURB = 0.0 ! [nondim] default = 1.0
! The turbulent Prandtl number applied to shear instability.
DYNAMIC_VISCOUS_ML = True ! [Boolean] default = False
! If true, use a bulk Richardson number criterion to determine the mixed layer
! thickness for viscosity.
ML_OMEGA_FRAC = 1.0 ! [nondim] default = 0.0
! When setting the decay scale for turbulence, use this fraction of the absolute
! rotation rate blended with the local value of f, as sqrt((1-of)*f^2 +
! of*4*omega^2).
HBBL = 10.0 ! [m]
! The thickness of a bottom boundary layer with a viscosity of KVBBL if
! BOTTOMDRAGLAW is not defined, or the thickness over which near-bottom
! velocities are averaged for the drag law if BOTTOMDRAGLAW is defined but
! LINEAR_DRAG is not.
DRAG_BG_VEL = 0.01 ! [m s-1] default = 0.0
! DRAG_BG_VEL is either the assumed bottom velocity (with LINEAR_DRAG) or an
! unresolved velocity that is combined with the resolved velocity to estimate
! the velocity magnitude. DRAG_BG_VEL is only used when BOTTOMDRAGLAW is
! defined.
BBL_THICK_MIN = 0.1 ! [m] default = 0.0
! The minimum bottom boundary layer thickness that can be used with
! BOTTOMDRAGLAW. This might be Kv/(cdrag*drag_bg_vel) to give Kv as the minimum
! near-bottom viscosity.
KV = 1.0E-04 ! [m2 s-1]
! The background kinematic viscosity in the interior. The molecular value, ~1e-6
! m2 s-1, may be used.
! === module MOM_thickness_diffuse ===
! === module MOM_dynamics_split_RK2 ===
BEGW = 0.1 ! [nondim] default = 0.0
! If SPLIT 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.
! === module MOM_continuity ===
! === module MOM_continuity_PPM ===
ETA_TOLERANCE = 1.0E-06 ! [m] default = 7.5E-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 than about
! 10^-15*MAXIMUM_DEPTH.
VELOCITY_TOLERANCE = 0.001 ! [m s-1] default = 3.0E+08
! The tolerance for barotropic velocity discrepancies between the barotropic
! solution and the sum of the layer thicknesses.
! === module MOM_CoriolisAdv ===
! === module MOM_PressureForce ===
! === module MOM_PressureForce_FV ===
! === module MOM_hor_visc ===
SMAGORINSKY_AH = True ! [Boolean] default = False
! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity.
SMAG_BI_CONST = 0.2 ! [nondim] default = 0.0
! The nondimensional biharmonic Smagorinsky constant, typically 0.015 - 0.06.
! === module MOM_vert_friction ===
DIRECT_STRESS = True ! [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.
HMIX_FIXED = 5.0 ! [m]
! The prescribed depth over which the near-surface viscosity and diffusivity are
! elevated when the bulk mixed layer is not used.
KVML = 0.01 ! [m2 s-1] default = 1.0E-04
! The kinematic viscosity in the mixed layer. A typical value is ~1e-2 m2 s-1.
! KVML is not used if BULKMIXEDLAYER is true. The default is set by KV.
MAXVEL = 5.0 ! [m s-1] default = 3.0E+08
! The maximum velocity allowed before the velocity components are truncated.
! === module MOM_barotropic ===
BOUND_BT_CORRECTION = True ! [Boolean] default = False
! If true, the corrective pseudo mass-fluxes into the barotropic solver are
! limited to values that require less than maxCFL_BT_cont to be accommodated.
BT_PROJECT_VELOCITY = True ! [Boolean] default = False
! If true, step the barotropic velocity first and project out the velocity
! tendency by 1+BEBT when calculating the transport. The default (false) is to
! use a predictor continuity step to find the pressure field, and then to do a
! corrector continuity step using a weighted average of the old and new
! velocities, with weights of (1-BEBT) and BEBT.
BEBT = 0.2 ! [nondim] default = 0.1
! BEBT determines whether the barotropic time stepping uses the forward-backward
! time-stepping scheme or a backward Euler scheme. BEBT is valid in the range
! from 0 (for a forward-backward treatment of nonrotating gravity waves) to 1
! (for a backward Euler treatment). In practice, BEBT must be greater than about
! 0.05.
DTBT = -0.95 ! [s or nondim] default = -0.98
! The barotropic time step, in s. DTBT is only used with the split explicit time
! stepping. To set the time step automatically based the maximum stable value
! use 0, or a negative value gives the fraction of the stable value. Setting
! DTBT to 0 is the same as setting it to -0.98. The value of DTBT that will
! actually be used is an integer fraction of DT, rounding down.
! === module MOM_diagnostics ===
! === module MOM_diabatic_driver ===
! The following parameters are used for diabatic processes.
! === module MOM_tracer_advect ===
! === module MOM_tracer_hor_diff ===
! === module MOM_sum_output ===
DATE_STAMPED_STDOUT = False ! [Boolean] default = True
! If true, use dates (not times) in messages to stdout
ENERGYSAVEDAYS = 5.0 ! [days] default = 1.0
! The interval in units of TIMEUNIT between saves of the energies of the run and
! other globally summed diagnostics.
! === module MOM_surface_forcing ===
WIND_CONFIG = "scurves" ! default = "zero"
! The character string that indicates how wind forcing is specified. Valid
! options include (file), (data_override), (2gyre), (1gyre), (gyres), (zero),
! (const), (Neverworld), (scurves), (ideal_hurr), (SCM_ideal_hurr),
! (SCM_CVmix_tests) and (USER).
WIND_SCURVES_LATS = -70.0, -45.0, -15.0, 0.0, 15.0, 45.0, 70.0, 13*90.0 ! [degrees N]
! A list of latitudes defining a piecewise scurve profile for zonal wind stress.
WIND_SCURVES_TAUX = 0.0, 0.2, -0.1, -0.02, -0.1, 0.1, 14*0.0 ! [Pa]
! A list of zonal wind stress values at latitudes WIND_SCURVES_LATS defining a
! piecewise scurve profile.
! === module MOM_main (MOM_driver) ===
DT_FORCING = 8.64E+04 ! [s] default = 1200.0
! The time step for changing forcing, coupling with other components, or
! potentially writing certain diagnostics. The default value is given by DT.
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 = 500.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.