-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMOM_parameter_doc.short
663 lines (620 loc) · 48.6 KB
/
MOM_parameter_doc.short
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
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
! This file was written by the model and records the non-default parameters used at run-time.
! === module MOM ===
DIABATIC_FIRST = True ! [Boolean] default = False
! If true, apply diabatic and thermodynamic processes, including buoyancy
! forcing and mass gain or loss, before stepping the dynamics forward.
USE_REGRIDDING = True ! [Boolean] default = False
! If True, use the ALE algorithm (regridding/remapping). If False, use the
! layered isopycnal algorithm.
THICKNESSDIFFUSE = True ! [Boolean] default = False
! If true, interface heights are diffused with a coefficient of KHTH.
THICKNESSDIFFUSE_FIRST = True ! [Boolean] default = False
! If true, do thickness diffusion before dynamics. This is only used if
! THICKNESSDIFFUSE is true.
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.)
FRAZIL = True ! [Boolean] default = False
! If true, water freezes if it gets too cold, and the accumulated heat deficit
! is returned in the surface state. FRAZIL is only used if
! ENABLE_THERMODYNAMICS is true.
BOUND_SALINITY = True ! [Boolean] default = False
! If true, limit salinity to being positive. (The sea-ice model may ask for more
! salt than is available and drive the salinity negative otherwise.)
SAVE_INITIAL_CONDS = True ! [Boolean] default = False
! If true, write the initial conditions to a file given by IC_OUTPUT_FILE.
WRITE_GEOM = 0 ! 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.
NIGLOBAL = 342 !
! 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 = 816 !
! 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_fixed_initialization ===
INPUTDIR = "INPUT" ! default = "."
! The directory in which input files are found.
! === module MOM_grid_init ===
GRID_CONFIG = "mosaic" !
! A character string that determines the method for defining the horizontal
! grid. Current options are:
! 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.
GRID_FILE = "ocean_hgrid.nc" !
! Name of the file from which to read horizontal grid data.
TOPO_CONFIG = "file" !
! 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.
TOPO_FILE = "ocean_topog.nc" ! default = "topog.nc"
! The file from which the bathymetry is read.
MAXIMUM_DEPTH = 6500.0 ! [m]
! The maximum depth of the ocean.
MINIMUM_DEPTH = 9.5 ! [m] default = 0.0
! If MASKING_DEPTH is unspecified, then anything shallower than MINIMUM_DEPTH is
! assumed to be land and all fluxes are masked out. If MASKING_DEPTH is
! specified, then all depths shallower than MINIMUM_DEPTH but deeper than
! MASKING_DEPTH are rounded to MINIMUM_DEPTH.
! === module MOM_open_boundary ===
! Controls where open boundaries are located, what kind of boundary condition to impose, and what data to apply,
! if any.
OBC_NUMBER_OF_SEGMENTS = 4 ! default = 0
! The number of open boundary segments.
OBC_FREESLIP_VORTICITY = False ! [Boolean] default = True
! If true, sets the normal gradient of tangential velocity to zero in the
! relative vorticity on open boundaries. This cannot be true if another
! OBC_XXX_VORTICITY option is True.
OBC_COMPUTED_VORTICITY = True ! [Boolean] default = False
! If true, uses the external values of tangential velocity in the relative
! vorticity on open boundaries. This cannot be true if another OBC_XXX_VORTICITY
! option is True.
OBC_FREESLIP_STRAIN = False ! [Boolean] default = True
! If true, sets the normal gradient of tangential velocity to zero in the strain
! use in the stress tensor on open boundaries. This cannot be true if another
! OBC_XXX_STRAIN option is True.
OBC_COMPUTED_STRAIN = True ! [Boolean] default = False
! If true, sets the normal gradient of tangential velocity to zero in the strain
! use in the stress tensor on open boundaries. This cannot be true if another
! OBC_XXX_STRAIN option is True.
OBC_ZERO_BIHARMONIC = True ! [Boolean] default = False
! If true, zeros the Laplacian of flow on open boundaries in the biharmonic
! viscosity term.
OBC_TIDE_N_CONSTITUENTS = 10 ! default = 0
! Number of tidal constituents being added to the open boundary.
OBC_SEGMENT_001 = "J=N,I=N:0,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" !
! Documentation needs to be dynamic?????
OBC_SEGMENT_001_VELOCITY_NUDGING_TIMESCALES = 3.0, 360.0 ! [days] default = 0.0
! Timescales in days for nudging along a segment, for inflow, then outflow.
! Setting both to zero should behave like SIMPLE obcs for the baroclinic
! velocities.
OBC_SEGMENT_002 = "I=N,J=0:N,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" !
! Documentation needs to be dynamic?????
OBC_SEGMENT_002_VELOCITY_NUDGING_TIMESCALES = 3.0, 360.0 ! [days] default = 0.0
! Timescales in days for nudging along a segment, for inflow, then outflow.
! Setting both to zero should behave like SIMPLE obcs for the baroclinic
! velocities.
OBC_SEGMENT_003 = "J=0,I=0:N,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" !
! Documentation needs to be dynamic?????
OBC_SEGMENT_003_VELOCITY_NUDGING_TIMESCALES = 3.0, 360.0 ! [days] default = 0.0
! Timescales in days for nudging along a segment, for inflow, then outflow.
! Setting both to zero should behave like SIMPLE obcs for the baroclinic
! velocities.
OBC_SEGMENT_004 = "I=0,J=N:0,FLATHER,ORLANSKI,NUDGED,ORLANSKI_TAN,NUDGED_TAN" !
! Documentation needs to be dynamic?????
OBC_SEGMENT_004_VELOCITY_NUDGING_TIMESCALES = 3.0, 360.0 ! [days] default = 0.0
! Timescales in days for nudging along a segment, for inflow, then outflow.
! Setting both to zero should behave like SIMPLE obcs for the baroclinic
! velocities.
BRUSHCUTTER_MODE = True ! [Boolean] default = False
! If true, read external OBC data on the supergrid.
OBC_TIDE_CONSTITUENTS = "M2,S2,N2,K2,K1,O1,P1,Q1,MM,MF" !
! Names of tidal constituents being added to the open boundaries.
OBC_TIDE_ADD_EQ_PHASE = True ! [Boolean] default = False
! If true, add the equilibrium phase argument to the specified tidal phases.
OBC_TIDE_ADD_NODAL = True ! [Boolean] default = False
! If true, include 18.6 year nodal modulation in the boundary tidal forcing.
OBC_TIDE_REF_DATE = 1980, 1, 1 !
! Reference date to use for tidal calculations and equilibrium phase.
OBC_TIDE_NODAL_REF_DATE = 1980, 7, 2 ! default = 0
! Fixed reference date to use for nodal modulation of boundary tides.
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.
NK = 75 ! [nondim]
! The number of model layers.
! === module MOM_boundary_update ===
! === module segment_tracer_registry_init ===
! === module MOM_EOS ===
DTFREEZE_DP = -7.75E-08 ! [deg C Pa-1] default = 0.0
! When TFREEZE_FORM=LINEAR, this is the derivative of the freezing potential
! temperature with pressure.
! === module MOM_restart ===
PARALLEL_RESTARTFILES = True ! [Boolean] default = False
! If true, each processor writes its own restart file, otherwise a single
! restart file is generated
! === module MOM_tracer_flow_control ===
! === module MOM_coord_initialization ===
COORD_CONFIG = "gprime" ! 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.
GINT = 0.0098 ! [m s-2]
! The reduced gravity across internal interfaces.
REGRIDDING_COORDINATE_MODE = "Z*" ! default = "LAYER"
! Coordinate mode for vertical regridding. Choose among the following
! possibilities: LAYER - Isopycnal or stacked shallow water layers
! ZSTAR, Z* - stretched geopotential z*
! SIGMA_SHELF_ZSTAR - stretched geopotential z* ignoring shelf
! SIGMA - terrain following coordinates
! RHO - continuous isopycnal
! HYCOM1 - HyCOM-like hybrid coordinate
! SLIGHT - stretched coordinates above continuous isopycnal
! ADAPTIVE - optimize for smooth neutral density surfaces
ALE_COORDINATE_CONFIG = "FILE:vgrid_75_2m.nc,dz" ! default = "UNIFORM"
! Determines how to specify the coordinate resolution. Valid options are:
! PARAM - use the vector-parameter ALE_RESOLUTION
! UNIFORM[:N] - uniformly distributed
! FILE:string - read from a file. The string specifies
! the filename and variable name, separated
! by a comma or space, e.g. FILE:lev.nc,dz
! or FILE:lev.nc,interfaces=zw
! WOA09[:N] - the WOA09 vertical grid (approximately)
! FNC1:string - FNC1:dz_min,H_total,power,precision
! HYBRID:string - read from a file. The string specifies
! the filename and two variable names, separated
! by a comma or space, for sigma-2 and dz. e.g.
! HYBRID:vgrid.nc,sigma2,dz
!ALE_RESOLUTION = 4*2.0, 2*2.01, 2.02, 2.03, 2.05, 2.08, 2.11, 2.15, 2.2, 2.27, 2.34, 2.44, 2.55, 2.69, 2.85, 3.04, 3.27, 3.54, 3.85, 4.22, 4.66, 5.18, 5.79, 6.52, 7.37, 8.37, 9.55, 10.94, 12.57, 14.48, 16.72, 19.33, 22.36, 25.87, 29.91, 34.53, 39.79, 45.72, 52.37, 59.76, 67.89, 76.74, 86.29, 96.47, 107.2, 118.35, 129.81, 141.42, 153.01, 164.41, 175.47, 186.01, 195.9, 205.01, 213.27, 220.6, 226.99, 232.43, 236.96, 240.63, 243.52, 245.72, 247.33, 248.45, 249.18, 249.62, 249.86, 249.96, 249.99, 2*250.0 ! [m]
! The distribution of vertical resolution for the target
! grid used for Eulerian-like coordinates. For example,
! in z-coordinate mode, the parameter is a list of level
! thicknesses (in m). In sigma-coordinate mode, the list
! is of non-dimensional fractions of the water column.
MIN_THICKNESS = 1.0E-06 ! [m] default = 0.001
! When regridding, this is the minimum layer thickness allowed.
REMAPPING_SCHEME = "PPM_H4" ! default = "PLM"
! This sets the reconstruction scheme used for vertical remapping for all
! variables. It can be one of the following schemes: PCM (1st-order
! accurate)
! PLM (2nd-order accurate)
! PPM_H4 (3rd-order accurate)
! PPM_IH4 (3rd-order accurate)
! PQM_IH4IH3 (4th-order accurate)
! PQM_IH6IH5 (5th-order accurate)
! === module MOM_state_initialization ===
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_DAMPING_FILE = "nep_10k_damp.nc" !
! The name of the file with the sponge damping rates.
SPONGE_STATE_FILE = "nep_10k_soda_mnClim_1980.nc" ! default = "nep_10k_damp.nc"
! The name of the file with the state to damp toward.
SPONGE_PTEMP_VAR = "temp" ! default = "PTEMP"
! The name of the potential temperature variable in SPONGE_STATE_FILE.
SPONGE_SALT_VAR = "salt" ! default = "SALT"
! The name of the salinity variable in SPONGE_STATE_FILE.
SPONGE_UV = True ! [Boolean] default = False
! Apply sponges in u and v, in addition to tracers.
SPONGE_UV_STATE_FILE = "nep_10k_soda_mnClim_1980.nc" ! default = "nep_10k_damp.nc"
! The name of the file with the state to damp UV toward.
SPONGE_U_VAR = "u" ! default = "UVEL"
! The name of the zonal velocity variable in SPONGE_UV_STATE_FILE.
SPONGE_V_VAR = "v" ! default = "VVEL"
! The name of the vertical velocity variable in SPONGE_UV_STATE_FILE.
SPONGE_IDAMP_U_var = "Idamp_u" ! default = "Idamp"
! The name of the inverse damping rate variable in SPONGE_UV_DAMPING_FILE for
! the velocities.
SPONGE_IDAMP_V_var = "Idamp_v" ! default = "Idamp"
! The name of the inverse damping rate variable in SPONGE_UV_DAMPING_FILE for
! the velocities.
! === module MOM_sponge ===
SPONGE_DATA_ONGRID = True ! [Boolean] default = False
! When defined, the incoming sponge data are assumed to be on the model grid
OBC_SEGMENT_001_DATA = "U=file:obcs.nc(u),V=file:obcs.nc(v),SSH=file:obcs.nc(zeta),TEMP=file:obcs.nc(temp),SALT=file:obcs.nc(salt),Uamp=file:tu1.nc(uamp),Uphase=file:tu1.nc(uphase),Vamp=file:tu1.nc(vamp),Vphase=file:tu1.nc(vphase),SSHamp=file:tz1.nc(zamp),SSHphase=file:tz1.nc(zphase)" !
! OBC segment docs
OBC_SEGMENT_002_DATA = "U=file:obcs.nc(u),V=file:obcs.nc(v),SSH=file:obcs.nc(zeta),TEMP=file:obcs.nc(temp),SALT=file:obcs.nc(salt),Uamp=file:tu2.nc(uamp),Uphase=file:tu2.nc(uphase),Vamp=file:tu2.nc(vamp),Vphase=file:tu2.nc(vphase),SSHamp=file:tz2.nc(zamp),SSHphase=file:tz2.nc(zphase)" !
! OBC segment docs
OBC_SEGMENT_003_DATA = "U=file:obcs.nc(u),V=file:obcs.nc(v),SSH=file:obcs.nc(zeta),TEMP=file:obcs.nc(temp),SALT=file:obcs.nc(salt),Uamp=file:tu3.nc(uamp),Uphase=file:tu3.nc(uphase),Vamp=file:tu3.nc(vamp),Vphase=file:tu3.nc(vphase),SSHamp=file:tz3.nc(zamp),SSHphase=file:tz3.nc(zphase)" !
! OBC segment docs
OBC_SEGMENT_004_DATA = "U=file:obcs.nc(u),V=file:obcs.nc(v),SSH=file:obcs.nc(zeta),TEMP=file:obcs.nc(temp),SALT=file:obcs.nc(salt),Uamp=file:tu4.nc(uamp),Uphase=file:tu4.nc(uphase),Vamp=file:tu4.nc(vamp),Vphase=file:tu4.nc(vphase),SSHamp=file:tz4.nc(zamp),SSHphase=file:tz4.nc(zphase)" !
! OBC segment docs
! === module MOM_diag_mediator ===
! === module MOM_MEKE ===
USE_MEKE = True ! [Boolean] default = False
! If true, turns on the MEKE scheme which calculates a sub-grid mesoscale eddy
! kinetic energy budget.
MEKE_GMCOEFF = 1.0 ! [nondim] default = -1.0
! The efficiency of the conversion of potential energy into MEKE by the
! thickness mixing parameterization. If MEKE_GMCOEFF is negative, this
! conversion is not used or calculated.
MEKE_BGSRC = 1.0E-13 ! [W kg-1] default = 0.0
! A background energy source for MEKE.
MEKE_KHMEKE_FAC = 1.0 ! [nondim] default = 0.0
! A factor that maps MEKE%Kh to Kh for MEKE itself.
MEKE_ALPHA_RHINES = 0.15 ! [nondim] default = 0.0
! If positive, is a coefficient weighting the Rhines scale in the expression for
! mixing length used in MEKE-derived diffusivity.
MEKE_ALPHA_EADY = 0.15 ! [nondim] default = 0.0
! If positive, is a coefficient weighting the Eady length scale in the
! expression for mixing length used in MEKE-derived diffusivity.
! === module MOM_lateral_mixing_coeffs ===
USE_VARIABLE_MIXING = True ! [Boolean] default = False
! If true, the variable mixing code will be called. This allows diagnostics to
! be created even if the scheme is not used. If KHTR_SLOPE_CFF>0 or
! KhTh_Slope_Cff>0, this is set to true regardless of what is in the parameter
! file.
RESOLN_SCALED_KH = True ! [Boolean] default = False
! If true, the Laplacian lateral viscosity is scaled away when the first
! baroclinic deformation radius is well resolved.
RESOLN_SCALED_KHTH = True ! [Boolean] default = False
! If true, the interface depth diffusivity is scaled away when the first
! baroclinic deformation radius is well resolved.
RESOLN_SCALED_KHTR = True ! [Boolean] default = False
! If true, the epipycnal tracer diffusivity is scaled away when the first
! baroclinic deformation radius is well resolved.
KHTR_SLOPE_CFF = 0.25 ! [nondim] default = 0.0
! The nondimensional coefficient in the Visbeck formula for the epipycnal tracer
! diffusivity
USE_STORED_SLOPES = True ! [Boolean] default = False
! If true, the isopycnal slopes are calculated once and stored for re-use. This
! uses more memory but avoids calling the equation of state more times than
! should be necessary.
KH_RES_FN_POWER = 100 ! [nondim] default = 2
! The power of dx/Ld in the Kh resolution function. Any positive integer may be
! used, although even integers are more efficient to calculate. Setting this
! greater than 100 results in a step-function being used.
! === module MOM_set_visc ===
CHANNEL_DRAG = True ! [Boolean] default = False
! If true, the bottom drag is exerted directly on each layer proportional to the
! fraction of the bottom it overlies.
PRANDTL_TURB = 1.25 ! [nondim] default = 1.0
! The turbulent Prandtl number applied to shear instability.
HBBL = 10.0 ! [m]
! The thickness of a bottom boundary layer with a viscosity of KVBBL if
! BOTTOMDRAGLAW is not defined, or the thickness over which near-bottom
! velocities are averaged for the drag law if BOTTOMDRAGLAW is defined but
! LINEAR_DRAG is not.
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.
KV_BBL_MIN = 1.0E-06 ! [m2 s-1] default = 1.0E-04
! The minimum viscosities in the bottom boundary layer.
KV_TBL_MIN = 1.0E-06 ! [m2 s-1] default = 1.0E-04
! The minimum viscosities in the top boundary layer.
! === module MOM_thickness_diffuse ===
! === module MOM_dynamics_split_RK2 ===
TIDES = True ! [Boolean] default = False
! If true, apply tidal momentum forcing.
! === module MOM_continuity ===
! === module MOM_continuity_PPM ===
ETA_TOLERANCE = 1.0E-06 ! [m] default = 3.75E-09
! The tolerance for the differences between the barotropic and baroclinic
! estimates of the sea surface height due to the fluxes through each face. The
! total tolerance for SSH is 4 times this value. The default is
! 0.5*NK*ANGSTROM, and this should not be set less than about
! 10^-15*MAXIMUM_DEPTH.
ETA_TOLERANCE_AUX = 0.001 ! [m] default = 1.0E-06
! The tolerance for free-surface height discrepancies between the barotropic
! solution and the sum of the layer thicknesses when calculating the auxiliary
! corrected velocities. By default, this is the same as ETA_TOLERANCE, but can
! be made larger for efficiency.
! === module MOM_CoriolisAdv ===
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_tidal_forcing ===
TIDE_M2 = True ! [Boolean] default = False
! If true, apply tidal momentum forcing at the M2 frequency. This is only used
! if TIDES is true.
TIDE_S2 = True ! [Boolean] default = False
! If true, apply tidal momentum forcing at the S2 frequency. This is only used
! if TIDES is true.
TIDE_N2 = True ! [Boolean] default = False
! If true, apply tidal momentum forcing at the N2 frequency. This is only used
! if TIDES is true.
TIDE_K2 = True ! [Boolean] default = False
! If true, apply tidal momentum forcing at the K2 frequency. This is only used
! if TIDES is true.
TIDE_K1 = True ! [Boolean] default = False
! If true, apply tidal momentum forcing at the K1 frequency. This is only used
! if TIDES is true.
TIDE_O1 = True ! [Boolean] default = False
! If true, apply tidal momentum forcing at the O1 frequency. This is only used
! if TIDES is true.
TIDE_P1 = True ! [Boolean] default = False
! If true, apply tidal momentum forcing at the P1 frequency. This is only used
! if TIDES is true.
TIDE_Q1 = True ! [Boolean] default = False
! If true, apply tidal momentum forcing at the Q1 frequency. This is only used
! if TIDES is true.
TIDE_MF = True ! [Boolean] default = False
! If true, apply tidal momentum forcing at the MF frequency. This is only used
! if TIDES is true.
TIDE_MM = True ! [Boolean] default = False
! If true, apply tidal momentum forcing at the MM frequency. This is only used
! if TIDES is true.
TIDE_SAL_SCALAR_VALUE = 0.094 ! [m m-1]
! The constant of proportionality between sea surface height (really it should
! be bottom pressure) anomalies and bottom geopotential anomalies. This is only
! used if TIDES and TIDE_USE_SAL_SCALAR are true.
TIDE_REF_DATE = 1980, 1, 1 ! default = 0
! Year,month,day to use as reference date for tidal forcing. If not specified,
! defaults to 0.
TIDE_USE_EQ_PHASE = True ! [Boolean] default = False
! Correct phases by calculating equilibrium phase arguments for TIDE_REF_DATE.
! === module MOM_PressureForce ===
! === module MOM_PressureForce_FV ===
MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False
! If true, use mass weighting when interpolating T/S for integrals near the
! bathymetry in FV pressure gradient calculations.
! === module MOM_hor_visc ===
LAPLACIAN = True ! [Boolean] default = False
! If true, use a Laplacian horizontal viscosity.
SMAGORINSKY_AH = True ! [Boolean] default = False
! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity.
SMAG_BI_CONST = 0.015 ! [nondim] default = 0.0
! The nondimensional biharmonic Smagorinsky constant, typically 0.015 - 0.06.
! === module MOM_vert_friction ===
HMIX_FIXED = 0.5 ! [m]
! The prescribed depth over which the near-surface viscosity and diffusivity are
! elevated when the bulk mixed layer is not used.
MAXVEL = 10.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.
BT_NONLIN_STRESS = True ! [Boolean] default = False
! If true, use the full depth of the ocean at the start of the barotropic step
! when calculating the surface stress contribution to the barotropic
! acclerations. Otherwise use the depth based on bathyT.
BT_STRONG_DRAG = True ! [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.
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.9 ! [s or nondim] default = -0.98
! The barotropic time step, in s. DTBT is only used with the split explicit time
! stepping. To set the time step automatically based the maximum stable value
! use 0, or a negative value gives the fraction of the stable value. Setting
! DTBT to 0 is the same as setting it to -0.98. The value of DTBT that will
! actually be used is an integer fraction of DT, rounding down.
! === module MOM_diagnostics ===
! === module MOM_diabatic_driver ===
! The following parameters are used for diabatic processes.
ENERGETICS_SFC_PBL = True ! [Boolean] default = False
! If true, use an implied energetics planetary boundary layer scheme to
! determine the diffusivity and viscosity in the surface boundary layer.
EPBL_IS_ADDITIVE = False ! [Boolean] default = True
! If true, the diffusivity from ePBL is added to all other diffusivities.
! Otherwise, the larger of kappa-shear and ePBL diffusivities are used.
! === module MOM_set_diffusivity ===
BBL_EFFIC = 0.025 ! [nondim] default = 0.2
! The efficiency with which the energy extracted by bottom drag drives BBL
! diffusion. This is only used if BOTTOMDRAGLAW is true.
BBL_MIXING_AS_MAX = False ! [Boolean] default = True
! If true, take the maximum of the diffusivity from the BBL mixing and the other
! diffusivities. Otherwise, diffusivity from the BBL_mixing is simply added.
USE_LOTW_BBL_DIFFUSIVITY = True ! [Boolean] default = False
! If true, uses a simple, imprecise but non-coordinate dependent, model of BBL
! mixing diffusivity based on Law of the Wall. Otherwise, uses the original BBL
! scheme.
SIMPLE_TKE_TO_KD = True ! [Boolean] default = False
! If true, uses a simple estimate of Kd/TKE that will work for arbitrary
! vertical coordinates. If false, calculates Kd/TKE and bounds based on exact
! energetics for an isopycnal layer-formulation.
! === module MOM_bkgnd_mixing ===
! Adding static vertical background mixing coefficients
KD = 1.5E-05 ! [m2 s-1] default = 0.0
! The background diapycnal diffusivity of density in the interior. Zero or the
! molecular value, ~1e-7 m2 s-1, may be used.
KD_MIN = 2.0E-06 ! [m2 s-1] default = 1.5E-07
! The minimum diapycnal diffusivity.
HENYEY_IGW_BACKGROUND = True ! [Boolean] default = False
! If true, use a latitude-dependent scaling for the near surface background
! diffusivity, as described in Harrison & Hallberg, JPO 2008.
KD_MAX = 0.1 ! [m2 s-1] default = -1.0
! The maximum permitted increment for the diapycnal diffusivity from TKE-based
! parameterizations, or a negative value for no limit.
! === module MOM_kappa_shear ===
! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008
USE_JACKSON_PARAM = True ! [Boolean] default = False
! If true, use the Jackson-Hallberg-Legg (JPO 2008) shear mixing
! parameterization.
MAX_RINO_IT = 25 ! [nondim] default = 50
! The maximum number of iterations that may be used to estimate the Richardson
! number driven mixing.
! === module MOM_diabatic_aux ===
! The following parameters are used for auxiliary diabatic processes.
PRESSURE_DEPENDENT_FRAZIL = True ! [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.
IGNORE_FLUXES_OVER_LAND = True ! [Boolean] default = False
! If true, the model does not check if fluxes are being applied over land
! points. This is needed when the ocean is coupled with ice shelves and sea ice,
! since the sea ice mask needs to be different than the ocean mask to avoid sea
! ice formation under ice shelves. This flag only works when use_ePBL = True.
DO_RIVERMIX = True ! [Boolean] default = False
! If true, apply additional mixing wherever there is runoff, so that it is mixed
! down to RIVERMIX_DEPTH if the ocean is that deep.
RIVERMIX_DEPTH = 10.0 ! [m] default = 0.0
! The depth to which rivers are mixed if DO_RIVERMIX is defined.
! === module MOM_energetic_PBL ===
ML_OMEGA_FRAC = 0.001 ! [nondim] default = 0.0
! When setting the decay scale for turbulence, use this fraction of the absolute
! rotation rate blended with the local value of f, as sqrt((1-of)*f^2 +
! of*4*omega^2).
TKE_DECAY = 0.001 ! [nondim] default = 2.5
! TKE_DECAY relates the vertical rate of decay of the TKE available for
! mechanical entrainment to the natural Ekman depth.
EPBL_MSTAR_SCHEME = "REICHL_H18" ! default = "CONSTANT"
! EPBL_MSTAR_SCHEME selects the method for setting mstar. Valid values are:
! CONSTANT - Use a fixed mstar given by MSTAR
! OM4 - Use L_Ekman/L_Obukhov in the sabilizing limit, as in OM4
! REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018.
MSTAR_CAP = 10.0 ! [nondim] default = -1.0
! If this value is positive, it sets the maximum value of mstar allowed in ePBL.
! (This is not used if EPBL_MSTAR_SCHEME = CONSTANT).
RH18_MSTAR_CN3 = -6.0 ! [nondim] default = -5.0
! MSTAR_N coefficient 3 (exponential decay coefficient). The value of -5.0 is
! given in RH18. Increasing this increases how quickly the value of MSTAR
! decreases as Hf/ust increases.
NSTAR = 0.06 ! [nondim] default = 0.2
! The portion of the buoyant potential energy imparted by surface fluxes that is
! available to drive entrainment at the base of mixed layer when that energy is
! positive.
MSTAR_CONV_ADJ = 0.66 ! [nondim] default = 0.0
! Coefficient used for reducing mstar during convection due to reduction of
! stable density gradient.
EPBL_TRANSITION_SCALE = 0.01 ! [nondim] default = 0.1
! A scale for the mixing length in the transition layer at the edge of the
! boundary layer as a fraction of the boundary layer thickness.
MIX_LEN_EXPONENT = 1.0 ! [nondim] default = 2.0
! The exponent applied to the ratio of the distance to the MLD and the MLD depth
! which determines the shape of the mixing length. This is only used if
! USE_MLD_ITERATION is True.
EPBL_VEL_SCALE_SCHEME = "REICHL_H18" ! default = "CUBE_ROOT_TKE"
! Selects the method for translating TKE into turbulent velocities. Valid values
! are:
! CUBE_ROOT_TKE - A constant times the cube root of remaining TKE.
! REICHL_H18 - Use the scheme based on a combination of w* and v* as
! documented in Reichl & Hallberg, 2018.
WSTAR_USTAR_COEF = 15.0 ! [nondim] default = 1.0
! A ratio relating the efficiency with which convectively released energy is
! converted to a turbulent velocity, relative to mechanically forced TKE. Making
! this larger increases the BL diffusivity
EPBL_VEL_SCALE_FACTOR = 0.5477 ! [nondim] default = 1.0
! An overall nondimensional scaling factor for wT. Making this larger increases
! the PBL diffusivity.
VSTAR_SURF_FAC = 1.8258 ! [nondim] default = 1.2
! The proportionality times ustar to set vstar at the surface.
USE_LA_LI2016 = True ! [nondim] default = False
! A logical to use the Li et al. 2016 (submitted) formula to determine the
! Langmuir number.
EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE"
! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence.
! Valid values are:
! NONE - Do not do any extra mixing due to Langmuir turbulence
! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir
! turbulence
! ADDITIVE - Add a Langmuir turblence contribution to mstar to other
! contributions
LT_ENHANCE_COEF = 0.1056 ! [nondim] default = 0.447
! Coefficient for Langmuir enhancement of mstar
LT_ENHANCE_EXP = -1.0 ! [nondim] default = -1.33
! Exponent for Langmuir enhancementt of mstar
LT_MOD_LAC1 = 0.0 ! [nondim] default = -0.87
! Coefficient for modification of Langmuir number due to MLD approaching Ekman
! depth.
LT_MOD_LAC4 = 0.8 ! [nondim] default = 0.95
! Coefficient for modification of Langmuir number due to ratio of Ekman to
! stable Obukhov depth.
LT_MOD_LAC5 = 0.8 ! [nondim] default = 0.95
! Coefficient for modification of Langmuir number due to ratio of Ekman to
! unstable Obukhov depth.
! === module MOM_opacity ===
PEN_SW_SCALE = 10.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 ===
TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM"
! The horizontal transport scheme for tracers:
! PLM - Piecewise Linear Method
! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order)
! PPM - Piecewise Parabolic Method (Colella-Woodward)
! === module MOM_tracer_hor_diff ===
CHECK_DIFFUSIVE_CFL = True ! [Boolean] default = False
! If true, use enough iterations the diffusion to ensure that the diffusive
! equivalent of the CFL limit is not violated. If false, always use the greater
! of 1 or MAX_TR_DIFFUSION_CFL iteration.
! === module MOM_sum_output ===
MAXTRUNC = 100000 ! [truncations save_interval-1] default = 0
! The run will be stopped, and the day set to a very large value if the velocity
! is truncated more than MAXTRUNC times between energy saves. Set MAXTRUNC to 0
! to stop if there is any truncation of velocities.
! === module ocean_model_init ===
! === module MOM_surface_forcing ===
MAX_P_SURF = 0.0 ! [Pa] default = -1.0
! The maximum surface pressure that can be exerted by the atmosphere and
! floating sea-ice or ice shelves. This is needed because the FMS coupling
! structure does not limit the water that can be frozen out of the ocean and the
! ice-ocean heat fluxes are treated explicitly. No limit is applied if a
! negative value is used.
CD_TIDES = 0.0018 ! [nondim] default = 1.0E-04
! The drag coefficient that applies to the tides.
! === module MOM_restart ===
LA_DEPTH_RATIO = 0.2 ! [nondim] default = 0.04
! The depth (normalized by BLD) to average Stokes drift over in Langmuir number
! calculation, where La = sqrt(ust/Stokes).