-
Notifications
You must be signed in to change notification settings - Fork 148
/
MOM_input
468 lines (440 loc) · 30.8 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
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
/* 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 flow_downslope.
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.
!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.
!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 = 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 = 80 !
! 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 = 4 !
! 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 = 1 !
! The number of processors in the x-direction. With
! STATIC_MEMORY_ this is set in MOM_memory.h at compile time.
!LAYOUT = 2, 1 !
! 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.
! === module MOM_grid ===
! Parameters providing information about the vertical grid.
NK = 40 ! [nondim]
! The number of model layers.
! === module MOM_verticalGrid ===
! Parameters providing information about the vertical grid.
! === module MOM ===
BULKMIXEDLAYER = False ! [Boolean] default = True
! 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.
DT = 300.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 = 900.0 ! [s] default = 300.0
! The thermodynamic and tracer advection time step.
! Ideally DT_THERM should be an integer multiple of DT
! and less than the forcing or coupling time-step.
! By default DT_THERM is set to DT.
C_P = 3925.0 ! [J kg-1 K-1] default = 3991.86795711963
! The heat capacity of sea water, approximated as a
! constant. This is only used if ENABLE_THERMODYNAMICS is
! true. The default value is from the TEOS-10 definition
! of conservative temperature.
SAVE_INITIAL_CONDS = True ! [Boolean] default = False
! If true, write the initial conditions to a file given
! by IC_OUTPUT_FILE.
IC_OUTPUT_FILE = "Initial_state" ! default = "MOM_IC"
! The file into which to write the initial conditions.
! === module MOM_tracer_registry ===
EQN_OF_STATE = "LINEAR" ! default = "WRIGHT"
! EQN_OF_STATE determines which ocean equation of state
! should be used. Currently, the valid choices are
! "LINEAR", "UNESCO", and "WRIGHT".
! This is only used if USE_EOS is true.
DRHO_DT = 0.0 ! [kg m-3 K-1] default = -0.2
! When EQN_OF_STATE=LINEAR,
! this is the partial derivative of density with
! temperature.
DRHO_DS = 1.0 ! [kg m-3 PSU-1] default = 0.8
! When EQN_OF_STATE=LINEAR,
! this is the partial derivative of density with
! salinity.
! === module MOM_tracer_flow_control ===
INPUTDIR = "INPUT" ! default = "."
! The directory in which input files are found.
COORD_CONFIG = "linear" !
! This specifies how layers are to be defined:
! file - read coordinate information from the file
! specified by (COORD_FILE).
! linear - linear based on interfaces not layesrs.
! ts_ref - use reference temperature and salinity
! ts_range - use range of temperature and salinity
! (T_REF and S_REF) to determine surface density
! and GINT calculate internal densities.
! gprime - use reference density (RHO_0) for surface
! density and GINT calculate internal densities.
! ts_profile - use temperature and salinity profiles
! (read from COORD_FILE) to set layer densities.
! USER - call a user modified routine.
DENSITY_RANGE = 1.0 ! [kg m-3] default = 2.0
! The range of reference potential densities in the layers.
GFS = 0.98 ! [m s-2] default = 9.8
! The reduced gravity at the free surface.
! === module MOM_grid_init ===
GRID_CONFIG = "cartesian" !
! 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.
AXIS_UNITS = "k" ! default = "degrees"
! The units for the Cartesian axes. Valid entries are:
! degrees - degrees of latitude and longitude
! m - meters
! k - kilometers
SOUTHLAT = 30.0 ! [k]
! The southern latitude of the domain or the equivalent
! starting value for the y-axis.
LENLAT = 40.0 ! [k]
! The latitudinal or y-direction length of the domain.
LENLON = 800.0 ! [k]
! The longitudinal or x-direction length of the domain.
TOPO_CONFIG = "DOME2D" !
! This specifies how bathymetry is specified:
! file - read bathymetric information from the file
! specified by (TOPO_FILE).
! flat - flat bottom set to MAXIMUM_DEPTH.
! bowl - an analytically specified bowl-shaped basin
! ranging between MAXIMUM_DEPTH and MINIMUM_DEPTH.
! spoon - a similar shape to 'bowl', but with an vertical
! wall at the southern face.
! halfpipe - a zonally uniform channel with a half-sine
! profile in the meridional direction.
! benchmark - use the benchmark test case topography.
! DOME - use a slope and channel configuration for the
! DOME sill-overflow test case.
! DOME2D - use a shelf and slope configuration for the
! DOME2D gravity current/overflow test case.
! seamount - Gaussian bump for spontaneous motion test case.
! USER - call a user modified routine.
MAXIMUM_DEPTH = 4000.0 ! [m]
! The maximum depth of the ocean.
MINIMUM_DEPTH = 1.0 ! [m] default = 0.0
! If MASKING_DEPTH is unspecified, then anything shallower than
! MINIMUM_DEPTH is assumed to be land and all fluxes are masked out.
! If MASKING_DEPTH is specified, then all depths shallower than
! MINIMUM_DEPTH but depper than MASKING_DEPTH are rounded to MINIMUM_DEPTH.
ROTATION = "betaplane" ! 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.
THICKNESS_CONFIG = "DOME2D" !
! 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).
! 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.
! USER - call a user modified routine.
TS_CONFIG = "DOME2D" !
! A string that determines how the initial tempertures
! and salinities are specified for a new run:
! file - read velocities from the file specified
! by (TS_FILE).
! fit - find the temperatures that are consistent with
! the layer densities and salinity S_REF.
! TS_profile - use temperature and salinity profiles
! (read from TS_FILE) to set layer densities.
! benchmark - use the benchmark test case T & S.
! linear - linear in logical layer space.
! DOME2D - 2D DOME initialization.
! adjustment2d - TBD AJA.
! sloshing - TBD AJA.
! seamount - TBD AJA.
! USER - call a user modified routine.
S_REF = 34.0 ! [1e-3]
! Reference salinity
T_REF = 0.0 ! [C]
! Refernce temperature
S_RANGE = 1.0 ! [1e-3] default = 2.0
! Initial salinity range
! === module MOM_MEKE ===
CDRAG = 0.0 ! [nondim] default = 0.003
! CDRAG is the drag coefficient relating the magnitude of
! the velocity field to the bottom stress.
! === module MOM_lateral_mixing_coeffs ===
BE = 0.7 ! [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.
ETA_TOLERANCE = 1.0E-12 ! [m] default = 2.0E-09
! The tolerance for the differences between the
! barotropic and baroclinic estimates of the sea surface
! height due to the fluxes through each face. The total
! tolerance for SSH is 4 times this value. The default
! is 0.5*NK*ANGSTROM, and this should not be set less x
! than about 10^-15*MAXIMUM_DEPTH.
CORIOLIS_EN_DIS = True ! [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.
BOUND_CORIOLIS = True ! [Boolean] default = False
! If true, the Coriolis terms at u-points are bounded by
! the four estimates of (f+rv)v from the four neighboring
! v-points, and similarly at v-points. This option is
! always effectively false with CORIOLIS_EN_DIS defined and
! CORIOLIS_SCHEME set to SADOURNY75_ENERGY.
! === module MOM_hor_visc ===
LAPLACIAN = True ! [Boolean] default = False
! If true, use a Laplacian horizontal viscosity.
BIHARMONIC = False ! [Boolean] default = True
! If true, se a biharmonic horizontal viscosity.
! BIHARMONIC may be used with LAPLACIAN.
KH = 1.0E+04 ! [m2 s-1] default = 0.0
! The background Laplacian horizontal viscosity.
KH_VEL_SCALE = 0.003 ! [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.
! === 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.
U_TRUNC_FILE = "U_velocity_truncations" ! default = ""
! The absolute path to a file into which the accelerations
! leading to zonal velocity truncations are written.
! Undefine this for efficiency if this diagnostic is not
! needed.
V_TRUNC_FILE = "V_velocity_truncations" ! default = ""
! The absolute path to a file into which the accelerations
! leading to meridional velocity truncations are written.
! Undefine this for efficiency if this diagnostic is not
! needed.
HMIX_FIXED = 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.
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.
MAXVEL = 10.0 ! [m s-1] default = 3.0E+08
! The maximum velocity allowed before the velocity
! components are truncated.
! === module MOM_PointAccel ===
! === module MOM_set_visc ===
LINEAR_DRAG = True ! [Boolean] default = False
! If LINEAR_DRAG and BOTTOMDRAGLAW are defined the drag
! law is cdrag*DRAG_BG_VEL*u.
DRAG_BG_VEL = 0.05 ! [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.
! === module MOM_barotropic ===
BOUND_BT_CORRECTION = True ! [Boolean] default = False
! If true, the corrective pseudo mass-fluxes into the
! barotropic solver are limited to values that require
! less than 0.1*MAXVEL to be accommodated.
!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.
BT_THICK_SCHEME = "HYBRID" ! 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 = True
! 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.
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 = 20.0 ! [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 = 1.0E-04 ! [m2 s-1] default = 0.0
! The background horizontal thickness diffusivity.
! === module MOM_diabatic_driver ===
! The following parameters are used for diabatic processes.
KD = 0.0 ! [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_KPP ===
! This is the MOM wrapper to CVmix:KPP
! See http://code.google.com/p/cvmix/
KPP%
%KPP
! === module MOM_diffConvection ===
! This module implements enhanced diffusivity as a
! function of static stability, N^2.
CONVECTION%
%CONVECTION
! === module MOM_entrain_diffusive ===
CORRECT_DENSITY = False ! [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).
! === module MOM_regularize_layers ===
! === module MOM_opacity ===
PEN_SW_SCALE = 15.0 ! [m] default = 0.0
! The vertical absorption e-folding depth of the
! penetrating shortwave radiation.
PEN_SW_FRAC = 0.42 ! [nondim] default = 0.0
! The fraction of the shortwave radiation that penetrates
! below the surface.
! === module MOM_tracer_advect ===
! === module MOM_tracer_hor_diff ===
! === module MOM_surface_forcing ===
VARIABLE_WINDS = False ! [Boolean] default = True
! If true, the winds vary in time after the initialization.
VARIABLE_BUOYFORCE = False ! [Boolean] default = True
! If true, the buoyancy forcing varies in time after the
! initialization of the model.
BUOY_CONFIG = "NONE" !
! 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).
! === module MOM_sum_output ===
MAXTRUNC = 10 ! [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.
DATE_STAMPED_STDOUT = False ! [Boolean] default = True
! If true, use dates (not times) in messages to stdout
TIMEUNIT = 3600.0 ! [s] default = 8.64E+04
! The time unit in seconds a number of input fields
MAXCPU = 2.88E+04 ! [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.
! === module MOM_main (MOM_driver) ===
DT_FORCING = 1800.0 ! [s] default = 300.0
! The time step for changing forcing, coupling with other
! components, or potentially writing certain diagnostics.
! The default value is given by DT.
DAYMAX = 12.0 ! [hours] default = 12.0
! 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 (as it was here) via ocean_solo_nml in input.nml.
RESTART_CONTROL = -1 ! 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 = 240.0 ! [hours] 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 ! [hours] default = 4.32E+04
! The interval in units of TIMEUNIT between saves of the
! energies of the run and other globally summed diagnostics.