-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMOM_parameter_doc.short
739 lines (696 loc) · 54.9 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
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
! This file was written by the model and records the non-default parameters used at run-time.
! === module MOM ===
USE_REGRIDDING = True ! [Boolean] default = False
! If True, use the ALE algorithm (regridding/remapping). If False, use the
! layered isopycnal algorithm.
DT = 600.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 = 3600.0 ! [s] default = 600.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.
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.)
C_P = 3992.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.
CHECK_BAD_SURFACE_VALS = True ! [Boolean] default = False
! If true, check the surface state for ridiculous values.
BAD_VAL_SSH_MAX = 50.0 ! [m] default = 20.0
! The value of SSH above which a bad value message is triggered, if
! CHECK_BAD_SURFACE_VALS is true.
BAD_VAL_SSS_MAX = 75.0 ! [PPT] default = 45.0
! The value of SSS above which a bad value message is triggered, if
! CHECK_BAD_SURFACE_VALS is true.
BAD_VAL_SST_MAX = 55.0 ! [deg C] default = 45.0
! The value of SST above which a bad value message is triggered, if
! CHECK_BAD_SURFACE_VALS is true.
BAD_VAL_SST_MIN = -3.0 ! [deg C] default = -2.1
! The value of SST below which a bad value message is triggered, if
! CHECK_BAD_SURFACE_VALS is true.
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 = 324 !
! 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 = 280 !
! 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.
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 deeper than
! MASKING_DEPTH are rounded to MINIMUM_DEPTH.
MASKING_DEPTH = 0.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 it has the special default value.
MAXIMUM_DEPTH = 6500.0 ! [m]
! The maximum depth of the ocean.
! === module MOM_open_boundary ===
! Controls where open boundaries are located, what kind of boundary condition to impose, and what data to apply,
! if any.
OBC_NUMBER_OF_SEGMENTS = 2 ! 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_RAMP_TIMESCALE = 2.0 ! [days] default = 1.0
! If RAMP_OBCS is true, this sets the ramping timescale.
OBC_TIDE_N_CONSTITUENTS = 10 ! default = 0
! Number of tidal constituents being added to the open boundary.
OBC_SEGMENT_001 = "J=0,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=0,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_TRACER_RESERVOIR_LENGTH_SCALE_OUT = 3000.0 ! [m] default = 0.0
! An effective length scale for restoring the tracer concentration at the
! boundaries to externally imposed values when the flow is exiting the domain.
OBC_TRACER_RESERVOIR_LENGTH_SCALE_IN = 3000.0 ! [m] default = 0.0
! An effective length scale for restoring the tracer concentration at the
! boundaries to values from the interior when the flow is entering the domain.
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 = 2010, 1, 1 !
! Reference date to use for tidal calculations and equilibrium phase.
OBC_TIDE_NODAL_REF_DATE = 1993, 7, 2 ! default = 0
! Fixed reference date to use for nodal modulation of boundary tides.
! === module MOM_verticalGrid ===
! Parameters providing information about the vertical grid.
NK = 75 ! [nondim]
! The number of model layers.
! === 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_tracer_flow_control ===
! === module MOM_boundary_update ===
! === module segment_tracer_registry_init ===
! === module MOM_coord_initialization ===
COORD_CONFIG = "ALE" ! 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.
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
! HYBGEN - Hybrid coordinate from the Hycom hybgen code
! 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)
! PLM_HYBGEN (2nd-order accurate)
! PPM_H4 (3rd-order accurate)
! PPM_IH4 (3rd-order accurate)
! PPM_HYBGEN (3rd-order accurate)
! WENO_HYBGEN (3rd-order accurate)
! PQM_IH4IH3 (4th-order accurate)
! PQM_IH6IH5 (5th-order accurate)
! === module MOM_state_initialization ===
THICKNESS_CONFIG = "coord" ! 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.
TS_CONFIG = "file" !
! 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.
! ISOMIP - ISOMIP initialization.
! adjustment2d - 2d lock exchange T/S ICs.
! sloshing - sloshing mode T/S ICs.
! seamount - no motion test with seamount ICs.
! dumbbell - sloshing channel ICs.
! rossby_front - a mixed layer front in thermal wind balance.
! SCM_CVMix_tests - used in the SCM CVMix tests.
! USER - call a user modified routine.
TS_FILE = "glorys_ic_1993-01-01.nc" !
! The initial condition file for temperature.
TEMP_IC_VAR = "temp" ! default = "PTEMP"
! The initial condition variable for potential temperature.
SALT_IC_VAR = "salt" ! default = "SALT"
! The initial condition variable for salinity.
DEPRESS_INITIAL_SURFACE = True ! [Boolean] default = False
! If true, depress the initial surface to avoid huge tsunamis when a large
! surface pressure is applied.
SURFACE_HEIGHT_IC_FILE = "glorys_ic_1993-01-01.nc" !
! The initial condition file for the surface height.
SURFACE_HEIGHT_IC_VAR = "ssh" ! default = "SSH"
! The initial condition variable for the surface height.
OBC_SEGMENT_001_DATA = "U=file:obc/1993/uv_001.nc(u),V=file:obc/1993/uv_001.nc(v),SSH=file:obc/1993/zeta_001.nc(zeta),TEMP=file:obc/1993/temp_001.nc(temp),SALT=file:obc/1993/salt_001.nc(salt),Uamp=file:tu_001.nc(uamp),Uphase=file:tu_001.nc(uphase),Vamp=file:tu_001.nc(vamp),Vphase=file:tu_001.nc(vphase),SSHamp=file:tz_001.nc(zamp),SSHphase=file:tz_001.nc(zphase)" !
! OBC segment docs
OBC_SEGMENT_002_DATA = "U=file:obc/1993/uv_002.nc(u),V=file:obc/1993/uv_002.nc(v),SSH=file:obc/1993/zeta_002.nc(zeta),TEMP=file:obc/1993/temp_002.nc(temp),SALT=file:obc/1993/salt_002.nc(salt),Uamp=file:tu_002.nc(uamp),Uphase=file:tu_002.nc(uphase),Vamp=file:tu_002.nc(vamp),Vphase=file:tu_002.nc(vphase),SSHamp=file:tz_002.nc(zamp),SSHphase=file:tz_002.nc(zphase)" !
! OBC segment docs
! === module MOM_diag_mediator ===
DIAG_COORD_DEF_Z = "FILE:vgrid_75_2m.nc,dz" ! default = "WOA09"
! Determines how to specify the coordinate resolution. Valid options are:
! PARAM - use the vector-parameter DIAG_COORD_RES_Z
! 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
! === 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.
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.
! === 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 increased by
! KV_EXTRA_BBL 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.
CDRAG = 0.0025 ! [nondim] default = 0.003
! CDRAG is the drag coefficient relating the magnitude of the velocity field to
! the bottom stress. CDRAG is only used if BOTTOMDRAGLAW is defined.
DRAG_BG_VEL = 0.001 ! [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-06 ! [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 ===
KHTH_MAX_CFL = 0.1 ! [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.
! === module MOM_porous_barriers ===
! === 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.
! === 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 = 2010, 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 ===
SMAGORINSKY_AH = True ! [Boolean] default = False
! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity.
SMAG_BI_CONST = 0.06 ! [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 an added mixed layer viscosity or a physically based
! boundary layer turbulence parameterization is not needed for stability.
HMIX_FIXED = 0.9 ! [m]
! The prescribed depth over which the near-surface viscosity and diffusivity are
! elevated when the bulk mixed layer is not used.
KV_ML_INVZ2 = 0.01 ! [m2 s-1] default = 0.0
! An extra kinematic viscosity in a mixed layer of thickness HMIX_FIXED, with
! the actual viscosity scaling as 1/(z*HMIX_FIXED)^2, where z is the distance
! from the surface, to allow for finite wind stresses to be transmitted through
! infinitesimally thin surface layers. This is an older option for numerical
! convenience without a strong physical basis, and its use is now discouraged.
MAXVEL = 6.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.
DYNAMIC_SURFACE_PRESSURE = True ! [Boolean] default = False
! If true, add a dynamic pressure due to a viscous ice shelf, for instance.
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.
LINEARIZED_BT_CORIOLIS = False ! [Boolean] default = True
! If true use the bottom depth instead of the total water column thickness in
! the barotropic Coriolis term calculations.
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_mixed_layer_restrat ===
MIXEDLAYER_RESTRAT = True ! [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.
FOX_KEMPER_ML_RESTRAT_COEF = 1.0 ! [nondim] default = 0.0
! A nondimensional coefficient that is proportional to the ratio of the
! deformation radius to the dominant lengthscale of the submesoscale mixed layer
! instabilities, times the minimum of the ratio of the mesoscale eddy kinetic
! energy to the large-scale geostrophic kinetic energy or 1 plus the square of
! the grid spacing over the deformation radius, as detailed by Fox-Kemper et al.
! (2010)
MLE_FRONT_LENGTH = 6000.0 ! [m] default = 0.0
! If non-zero, is the frontal-length scale used to calculate the upscaling of
! buoyancy gradients that is otherwise represented by the parameter
! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended
! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0.
MLE_USE_PBL_MLD = True ! [Boolean] default = False
! If true, the MLE parameterization will use the mixed-layer depth provided by
! the active PBL parameterization. If false, MLE will estimate a MLD based on a
! density difference with the surface using the parameter MLE_DENSITY_DIFF.
MLE_MLD_DECAY_TIME = 2.592E+06 ! [s] default = 0.0
! The time-scale for a running-mean filter applied to the mixed-layer depth used
! in the MLE restratification parameterization. When the MLD deepens below the
! current running-mean the running-mean is instantaneously set to the current
! MLD.
! === module MOM_diagnostics ===
! === module MOM_diabatic_driver ===
! The following parameters are used for diabatic processes.
USE_LEGACY_DIABATIC_DRIVER = False ! [Boolean] default = True
! If true, use a legacy version of the diabatic subroutine. This is temporary
! and is needed to avoid change in answers.
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 ===
! === module MOM_tidal_mixing ===
! Vertical Tidal Mixing Parameterization
INT_TIDE_DISSIPATION = True ! [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).
INT_TIDE_PROFILE = "POLZIN_09" ! default = "STLAURENT_02"
! INT_TIDE_PROFILE selects the vertical profile of energy dissipation with
! INT_TIDE_DISSIPATION. Valid values are:
! STLAURENT_02 - Use the St. Laurent et al exponential
! decay profile.
! POLZIN_09 - Use the Polzin WKB-stretched algebraic
! decay profile.
INT_TIDE_DECAY_SCALE = 300.0 ! [m] default = 500.0
! The decay scale away from the bottom for tidal TKE with the new coding when
! INT_TIDE_DISSIPATION is used.
H2_FILE = "ocean_topog.nc" !
! The path to the file containing the sub-grid-scale topographic roughness
! amplitude with INT_TIDE_DISSIPATION.
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.
! === module MOM_bkgnd_mixing ===
! Adding static vertical background mixing coefficients
KD = 1.0E-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-07 ! [m2 s-1] default = 1.0E-07
! The minimum diapycnal diffusivity.
DOUBLE_DIFFUSION = True ! [Boolean] default = False
! If true, increase diffusivites for temperature or salinity based on the
! double-diffusive parameterization described in Large et al. (1994).
! === 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 stabilizing 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 ===
CALCULATE_APE = False ! [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.
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.
ENERGYSAVEDAYS = 0.0416666666666667 ! [days] default = 1.0
! The interval in units of TIMEUNIT between saves of the energies of the run and
! other globally summed diagnostics.
! === module ocean_stochastics_init ===
! === 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.
USE_RIGID_SEA_ICE = True ! [Boolean] default = False
! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that
! resist vertical motion.
SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0
! The mass of sea-ice per unit area at which the sea-ice starts to exhibit
! rigidity