-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMOM_parameter_doc.all
2190 lines (2134 loc) · 171 KB
/
MOM_parameter_doc.all
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
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
! This file was written by the model and records all non-layout or debugging parameters used at run-time.
! === module MOM ===
SPLIT = True ! [Boolean] default = True
! Use the split time stepping if true.
CALC_RHO_FOR_SEA_LEVEL = False ! [Boolean] default = False
! If true, the in-situ density is used to calculate the effective sea level that
! is returned to the coupler. If false, the Boussinesq parameter RHO_0 is used.
ENABLE_THERMODYNAMICS = True ! [Boolean] default = True
! If true, Temperature and salinity are used as state variables.
USE_EOS = True ! [Boolean] default = True
! If true, density is calculated from temperature and salinity with an equation
! of state. If USE_EOS is true, ENABLE_THERMODYNAMICS must be true as well.
DIABATIC_FIRST = 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_CONTEMP_ABSSAL = False ! [Boolean] default = False
! If true, the prognostics T&S are the conservative temperature and absolute
! salinity. Care should be taken to convert them to potential temperature and
! practical salinity before exchanging them with the coupler and/or reporting
! T&S diagnostics.
ADIABATIC = False ! [Boolean] default = False
! There are no diapycnal mass fluxes if ADIABATIC is true. This assumes that KD
! = KDML = 0.0 and that there is no buoyancy forcing, but makes the model faster
! by eliminating subroutine calls.
DO_DYNAMICS = True ! [Boolean] default = True
! If False, skips the dynamics calls that update u & v, as well as the gravity
! wave adjustment to h. This may be a fragile feature, but can be useful during
! development
OFFLINE_TRACER_MODE = False ! [Boolean] default = False
! If true, barotropic and baroclinic dynamics, thermodynamics are all bypassed
! with all the fields necessary to integrate the tracer advection and diffusion
! equation are read in from files stored from a previous integration of the
! prognostic model. NOTE: This option only used in the ocean_solo_driver.
USE_REGRIDDING = True ! [Boolean] default = False
! If True, use the ALE algorithm (regridding/remapping). If False, use the
! layered isopycnal algorithm.
BULKMIXEDLAYER = False ! [Boolean] default = False
! If true, use a Kraus-Turner-like bulk mixed layer with transitional buffer
! layers. Layers 1 through NKML+NKBL have variable densities. There must be at
! least NKML+NKBL+1 layers if BULKMIXEDLAYER is true. BULKMIXEDLAYER can not be
! used with USE_REGRIDDING. The default is influenced by ENABLE_THERMODYNAMICS.
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.
BATHYMETRY_AT_VEL = False ! [Boolean] default = False
! If true, there are separate values for the basin depths at velocity points.
! Otherwise the effects of topography are entirely determined from thickness
! points.
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 = 300.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,
! unless THERMO_SPANS_COUPLING is true, in which case DT_THERM can be an integer
! multiple of the coupling timestep. By default DT_THERM is set to DT.
THERMO_SPANS_COUPLING = False ! [Boolean] default = False
! If true, the MOM will take thermodynamic and tracer timesteps that can be
! longer than the coupling timestep. The actual thermodynamic timestep that is
! used in this case is the largest integer multiple of the coupling timestep
! that is less than or equal to DT_THERM.
HMIX_SFC_PROP = 1.0 ! [m] default = 1.0
! If BULKMIXEDLAYER is false, HMIX_SFC_PROP is the depth over which to average
! to find surface properties like SST and SSS or density (but not surface
! velocities).
HMIX_UV_SFC_PROP = 0.0 ! [m] default = 0.0
! If BULKMIXEDLAYER is false, HMIX_UV_SFC_PROP is the depth over which to
! average to find surface flow properties, SSU, SSV. A non-positive value
! indicates no averaging.
HFREEZE = -1.0 ! [m] default = -1.0
! If HFREEZE > 0, melt potential will be computed. The actual depth over which
! melt potential is computed will be min(HFREEZE, OBLD), where OBLD is the
! boundary layer depth. If HFREEZE <= 0 (default), melt potential will not be
! computed.
INTERPOLATE_P_SURF = False ! [Boolean] default = False
! If true, linearly interpolate the surface pressure over the coupling time
! step, using the specified value at the end of the step.
DTBT_RESET_PERIOD = 300.0 ! [s] default = 300.0
! The period between recalculations of DTBT (if DTBT <= 0). If DTBT_RESET_PERIOD
! is negative, DTBT is set based only on information available at
! initialization. If 0, DTBT will be set every dynamics time step. The default
! is set by DT_THERM. This is only used if SPLIT is true.
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.
DO_GEOTHERMAL = False ! [Boolean] default = False
! If true, apply geothermal heating.
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.)
MIN_SALINITY = 0.0 ! [PPT] default = 0.0
! The minimum value of salinity when BOUND_SALINITY=True.
C_P = 3991.86795711963 ! [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.
USE_PSURF_IN_EOS = True ! [Boolean] default = True
! If true, always include the surface pressure contributions in equation of
! state calculations.
P_REF = 2.0E+07 ! [Pa] default = 2.0E+07
! The pressure that is used for calculating the coordinate density. (1 Pa = 1e4
! dbar, so 2e7 is commonly used.) This is only used if USE_EOS and
! ENABLE_THERMODYNAMICS are true.
FIRST_DIRECTION = 0 ! default = 0
! An integer that indicates which direction goes first in parts of the code that
! use directionally split updates, with even numbers (or 0) used for x- first
! and odd numbers used for y-first.
CHECK_BAD_SURFACE_VALS = False ! [Boolean] default = False
! If true, check the surface state for ridiculous values.
DEFAULT_2018_ANSWERS = False ! [Boolean] default = False
! This sets the default value for the various _2018_ANSWERS parameters.
SURFACE_2018_ANSWERS = False ! [Boolean] default = False
! If true, use expressions for the surface properties that recover the answers
! from the end of 2018. Otherwise, use more appropriate expressions that differ
! at roundoff for non-Boussinesq cases.
USE_DIABATIC_TIME_BUG = False ! [Boolean] default = False
! If true, uses the wrong calendar time for diabatic processes, as was done in
! MOM6 versions prior to February 2018. This is not recommended.
SAVE_INITIAL_CONDS = True ! [Boolean] default = False
! If true, write the initial conditions to a file given by IC_OUTPUT_FILE.
IC_OUTPUT_FILE = "MOM_IC" ! default = "MOM_IC"
! The file into which to write the initial conditions.
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.
ENSEMBLE_OCEAN = False ! [Boolean] default = False
! If False, The model is being run in serial mode as a single realization. If
! True, The current model realization is part of a larger ensemble and at the
! end of step MOM, we will perform a gather of the ensemble members for
! statistical evaluation and/or data assimilation.
! === module MOM_domains ===
REENTRANT_X = False ! [Boolean] default = True
! If true, the domain is zonally reentrant.
REENTRANT_Y = False ! [Boolean] default = False
! If true, the domain is meridionally reentrant.
TRIPOLAR_N = False ! [Boolean] default = False
! Use tripolar connectivity at the northern edge of the domain. With
! TRIPOLAR_N, NIGLOBAL must be even.
NIGLOBAL = 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.
NIHALO = 4 ! default = 4
! The number of halo points on each side in the x-direction. How this is set
! varies with the calling component and static or dynamic memory configuration.
NJHALO = 4 ! default = 4
! The number of halo points on each side in the y-direction. How this is set
! varies with the calling component and static or dynamic memory configuration.
! === module MOM_hor_index ===
! Sets the horizontal array index types.
! === 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.
USE_TRIPOLAR_GEOLONB_BUG = False ! [Boolean] default = False
! If true, use older code that incorrectly sets the longitude in some points
! along the tripolar fold to be off by 360 degrees.
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.
TOPO_VARNAME = "depth" ! default = "depth"
! The name of the bathymetry variable in TOPO_FILE.
TOPO_EDITS_FILE = "" ! default = ""
! The file from which to read a list of i,j,z topography overrides.
ALLOW_LANDMASK_CHANGES = False ! [Boolean] default = False
! If true, allow topography overrides to change land mask.
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_ZERO_VORTICITY = False ! [Boolean] default = False
! If true, sets relative vorticity to zero on open boundaries.
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_SPECIFIED_VORTICITY = False ! [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_ZERO_STRAIN = False ! [Boolean] default = False
! If true, sets the strain used in the stress tensor to zero on open boundaries.
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_SPECIFIED_STRAIN = False ! [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.
MASK_OUTSIDE_OBCS = False ! [Boolean] default = False
! If true, set the areas outside open boundaries to be land.
RAMP_OBCS = False ! [Boolean] default = False
! If true, ramps from zero to the external values over time, witha ramping
! timescale given by RAMP_TIMESCALE. Ramping SSH only so far
OBC_RAMP_TIMESCALE = 1.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=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.
OBC_RADIATION_MAX = 1.0 ! [nondim] default = 1.0
! The maximum magnitude of the baroclinic radiation velocity (or speed of
! characteristics), in gridpoints per timestep. This is only used if one of the
! open boundary segments is using Orlanski.
OBC_RAD_VEL_WT = 0.3 ! [nondim] default = 0.3
! The relative weighting for the baroclinic radiation velocities (or speed of
! characteristics) at the new time level (1) or the running mean (0) for
! velocities. Valid values range from 0 to 1. This is only used if one of the
! open boundary segments is using Orlanski.
OBC_TRACER_RESERVOIR_LENGTH_SCALE_OUT = 0.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 = 0.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.
REMAPPING_2018_ANSWERS = False ! [Boolean] default = False
! If true, use the order of arithmetic and expressions that recover the answers
! from the end of 2018. Otherwise, use updated and more robust forms of the
! same expressions.
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.
TIDE_M2_FREQ = 1.405189E-04 ! [s-1] default = 1.405189E-04
! Frequency of the M2 tidal constituent. This is only used if TIDES and TIDE_M2
! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and M2 is in
! OBC_TIDE_CONSTITUENTS.
TIDE_S2_FREQ = 1.454441E-04 ! [s-1] default = 1.454441E-04
! Frequency of the S2 tidal constituent. This is only used if TIDES and TIDE_S2
! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and S2 is in
! OBC_TIDE_CONSTITUENTS.
TIDE_N2_FREQ = 1.378797E-04 ! [s-1] default = 1.378797E-04
! Frequency of the N2 tidal constituent. This is only used if TIDES and TIDE_N2
! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and N2 is in
! OBC_TIDE_CONSTITUENTS.
TIDE_K2_FREQ = 1.4584234E-04 ! [s-1] default = 1.4584234E-04
! Frequency of the K2 tidal constituent. This is only used if TIDES and TIDE_K2
! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and K2 is in
! OBC_TIDE_CONSTITUENTS.
TIDE_K1_FREQ = 7.292117E-05 ! [s-1] default = 7.292117E-05
! Frequency of the K1 tidal constituent. This is only used if TIDES and TIDE_K1
! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and K1 is in
! OBC_TIDE_CONSTITUENTS.
TIDE_O1_FREQ = 6.759774E-05 ! [s-1] default = 6.759774E-05
! Frequency of the O1 tidal constituent. This is only used if TIDES and TIDE_O1
! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and O1 is in
! OBC_TIDE_CONSTITUENTS.
TIDE_P1_FREQ = 7.252295E-05 ! [s-1] default = 7.252295E-05
! Frequency of the P1 tidal constituent. This is only used if TIDES and TIDE_P1
! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and P1 is in
! OBC_TIDE_CONSTITUENTS.
TIDE_Q1_FREQ = 6.495854E-05 ! [s-1] default = 6.495854E-05
! Frequency of the Q1 tidal constituent. This is only used if TIDES and TIDE_Q1
! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and Q1 is in
! OBC_TIDE_CONSTITUENTS.
TIDE_MM_FREQ = 2.6392E-06 ! [s-1] default = 2.6392E-06
! Frequency of the MM tidal constituent. This is only used if TIDES and TIDE_MM
! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and MM is in
! OBC_TIDE_CONSTITUENTS.
TIDE_MF_FREQ = 5.3234E-06 ! [s-1] default = 5.3234E-06
! Frequency of the MF tidal constituent. This is only used if TIDES and TIDE_MF
! are true, or if OBC_TIDE_N_CONSTITUENTS > 0 and MF is in
! OBC_TIDE_CONSTITUENTS.
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.
CHANNEL_CONFIG = "none" ! default = "none"
! A parameter that determines which set of channels are
! restricted to specific widths. Options are:
! none - All channels have the grid width.
! global_1deg - Sets 16 specific channels appropriate
! for a 1-degree model, as used in CM2G.
! list - Read the channel locations and widths from a
! text file, like MOM_channel_list in the MOM_SIS
! test case.
! file - Read open face widths everywhere from a
! NetCDF file on the model grid.
ROTATION = "2omegasinlat" ! default = "2omegasinlat"
! This specifies how the Coriolis parameter is specified:
! 2omegasinlat - Use twice the planetary rotation rate
! times the sine of latitude.
! betaplane - Use a beta-plane or f-plane.
! USER - call a user modified routine.
OMEGA = 7.2921E-05 ! [s-1] default = 7.2921E-05
! The rotation rate of the earth.
GRID_ROTATION_ANGLE_BUGS = False ! [Boolean] default = False
! If true, use an older algorithm to calculate the sine and cosines needed
! rotate between grid-oriented directions and true north and east. Differences
! arise at the tripolar fold.
! === module MOM_verticalGrid ===
! Parameters providing information about the vertical grid.
G_EARTH = 9.8 ! [m s-2] default = 9.8
! The gravitational acceleration of the Earth.
RHO_0 = 1035.0 ! [kg m-3] default = 1035.0
! The mean ocean density used with BOUSSINESQ true to calculate accelerations
! and the mass for conservation properties, or with BOUSSINSEQ false to convert
! some parameters from vertical units of m to kg m-2.
BOUSSINESQ = True ! [Boolean] default = True
! If true, make the Boussinesq approximation.
ANGSTROM = 1.0E-10 ! [m] default = 1.0E-10
! The minimum layer thickness, usually one-Angstrom.
H_TO_M = 1.0 ! [m H-1] default = 1.0
! A constant that translates the model's internal units of thickness into m.
NK = 75 ! [nondim]
! The number of model layers.
! === module MOM_boundary_update ===
USE_FILE_OBC = False ! [Boolean] default = False
! If true, use external files for the open boundary.
USE_TIDAL_BAY_OBC = False ! [Boolean] default = False
! If true, use the tidal_bay open boundary.
USE_KELVIN_WAVE_OBC = False ! [Boolean] default = False
! If true, use the Kelvin wave open boundary.
USE_SHELFWAVE_OBC = False ! [Boolean] default = False
! If true, use the shelfwave open boundary.
USE_DYED_CHANNEL_OBC = False ! [Boolean] default = False
! If true, use the dyed channel open boundary.
! === module MOM_tracer_registry ===
! === module segment_tracer_registry_init ===
! === module MOM_EOS ===
EQN_OF_STATE = "WRIGHT" ! default = "WRIGHT"
! EQN_OF_STATE determines which ocean equation of state should be used.
! Currently, the valid choices are "LINEAR", "UNESCO", "WRIGHT", "NEMO" and
! "TEOS10". This is only used if USE_EOS is true.
EOS_QUADRATURE = False ! [Boolean] default = False
! If true, always use the generic (quadrature) code code for the integrals of
! density.
TFREEZE_FORM = "LINEAR" ! default = "LINEAR"
! TFREEZE_FORM determines which expression should be used for the freezing
! point. Currently, the valid choices are "LINEAR", "MILLERO_78", "TEOS10"
TFREEZE_S0_P0 = 0.0 ! [deg C] default = 0.0
! When TFREEZE_FORM=LINEAR, this is the freezing potential temperature at S=0,
! P=0.
DTFREEZE_DS = -0.054 ! [deg C PSU-1] default = -0.054
! When TFREEZE_FORM=LINEAR, this is the derivative of the freezing potential
! temperature with salinity.
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
RESTARTFILE = "MOM.res" ! default = "MOM.res"
! The name-root of the restart file.
LARGE_FILE_SUPPORT = True ! [Boolean] default = True
! If true, use the file-size limits with NetCDF large file support (4Gb),
! otherwise the limit is 2Gb.
MAX_FIELDS = 100 ! default = 100
! The maximum number of restart fields that can be used.
RESTART_CHECKSUMS_REQUIRED = True ! [Boolean] default = True
! If true, require the restart checksums to match and error out otherwise. Users
! may want to avoid this comparison if for example the restarts are made from a
! run with a different mask_table than the current run, in which case the
! checksums will not match and cause crash.
! === module MOM_tracer_flow_control ===
USE_USER_TRACER_EXAMPLE = False ! [Boolean] default = False
! If true, use the USER_tracer_example tracer package.
USE_DOME_TRACER = False ! [Boolean] default = False
! If true, use the DOME_tracer tracer package.
USE_ISOMIP_TRACER = False ! [Boolean] default = False
! If true, use the ISOMIP_tracer tracer package.
USE_RGC_TRACER = False ! [Boolean] default = False
! If true, use the RGC_tracer tracer package.
USE_IDEAL_AGE_TRACER = False ! [Boolean] default = False
! If true, use the ideal_age_example tracer package.
USE_REGIONAL_DYES = False ! [Boolean] default = False
! If true, use the regional_dyes tracer package.
USE_OIL_TRACER = False ! [Boolean] default = False
! If true, use the oil_tracer tracer package.
USE_ADVECTION_TEST_TRACER = False ! [Boolean] default = False
! If true, use the advection_test_tracer tracer package.
USE_OCMIP2_CFC = False ! [Boolean] default = False
! If true, use the MOM_OCMIP2_CFC tracer package.
USE_generic_tracer = False ! [Boolean] default = False
! If true and _USE_GENERIC_TRACER is defined as a preprocessor macro, use the
! MOM_generic_tracer packages.
USE_PSEUDO_SALT_TRACER = False ! [Boolean] default = False
! If true, use the pseudo salt tracer, typically run as a diagnostic.
USE_BOUNDARY_IMPULSE_TRACER = False ! [Boolean] default = False
! If true, use the boundary impulse tracer.
USE_DYED_OBC_TRACER = False ! [Boolean] default = False
! If true, use the dyed_obc_tracer tracer package.
! === module MOM_grid ===
! Parameters providing information about the lateral grid.
REFERENCE_HEIGHT = 0.0 ! [m] default = 0.0
! A reference value for geometric height fields, such as bathyT.
! === 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.
GFS = 9.8 ! [m s-2] default = 9.8
! The reduced gravity at the free surface.
GINT = 0.0098 ! [m s-2]
! The reduced gravity across internal interfaces.
REMAP_UV_USING_OLD_ALG = False ! [Boolean] default = False
! If true, uses the old remapping-via-a-delta-z method for remapping u and v. If
! false, uses the new method that remaps between grids described by an old and
! new thickness.
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
REGRIDDING_COORDINATE_UNITS = "m" ! default = "m"
! Units of the regridding coordinate.
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)
FATAL_CHECK_RECONSTRUCTIONS = False ! [Boolean] default = False
! If true, cell-by-cell reconstructions are checked for consistency and if
! non-monotonicity or an inconsistency is detected then a FATAL error is issued.
FATAL_CHECK_REMAPPING = False ! [Boolean] default = False
! If true, the results of remapping are checked for conservation and new extrema
! and if an inconsistency is detected then a FATAL error is issued.
REMAP_BOUND_INTERMEDIATE_VALUES = False ! [Boolean] default = False
! If true, the values on the intermediate grid used for remapping are forced to
! be bounded, which might not be the case due to round off.
REMAP_BOUNDARY_EXTRAP = False ! [Boolean] default = False
! If true, values at the interfaces of boundary cells are extrapolated instead
! of piecewise constant
REMAP_AFTER_INITIALIZATION = True ! [Boolean] default = True
! If true, applies regridding and remapping immediately after initialization so
! that the state is ALE consistent. This is a legacy step and should not be
! needed if the initialization is consistent with the coordinate mode.
REGRID_TIME_SCALE = 0.0 ! [s] default = 0.0
! The time-scale used in blending between the current (old) grid and the target
! (new) grid. A short time-scale favors the target grid (0. or anything less
! than DT_THERM) has no memory of the old grid. A very long time-scale makes the
! model more Lagrangian.
REGRID_FILTER_SHALLOW_DEPTH = 0.0 ! [m] default = 0.0
! The depth above which no time-filtering is applied. Above this depth final
! grid exactly matches the target (new) grid.
REGRID_FILTER_DEEP_DEPTH = 0.0 ! [m] default = 0.0
! The depth below which full time-filtering is applied with time-scale
! REGRID_TIME_SCALE. Between depths REGRID_FILTER_SHALLOW_DEPTH and
! REGRID_FILTER_SHALLOW_DEPTH the filter weights adopt a cubic profile.
! === 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_CONFIG = "file" ! default = "file"
! A string that sets how the sponges are configured:
! file - read sponge properties from the file
! specified by (SPONGE_FILE).
! ISOMIP - apply ale sponge in the ISOMIP case
! RGC - apply sponge in the rotating_gravity_current case
! DOME - use a slope and channel configuration for the
! DOME sill-overflow test case.
! BFB - Sponge at the southern boundary of the domain
! for buoyancy-forced basin case.
! USER - call a user modified routine.
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_ETA_VAR = "ETA" ! default = "ETA"
! The name of the interface height variable in SPONGE_STATE_FILE.
SPONGE_IDAMP_VAR = "Idamp" ! default = "Idamp"
! The name of the inverse damping rate variable in SPONGE_DAMPING_FILE.
SPONGE_UV_DAMPING_FILE = "nep_10k_damp.nc" ! default = "nep_10k_damp.nc"
! The name of the file with sponge damping rates for the velocity variables.
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.
NEW_SPONGES = False ! [of sponge restoring data.] default = False
! Set True if using the newer sponging code which performs on-the-fly regridding
! in lat-lon-time.
INTERPOLATE_SPONGE_TIME_SPACE = True ! [of sponge restoring data.] default = True
! Set True if using the newer sponging code which performs on-the-fly regridding
! in lat-lon-time.
! === module MOM_sponge ===
HOR_REGRID_2018_ANSWERS = False ! [Boolean] default = False
! If true, use the order of arithmetic for horizonal regridding that recovers
! the answers from the end of 2018 and retain a bug in the 3-dimensional mask
! returned in certain cases. Otherwise, use rotationally symmetric forms of the
! same expressions and initialize the mask properly.
SPONGE_DATA_ONGRID = True ! [Boolean] default = False
! When defined, the incoming sponge data are assumed to be on the model grid
!Total sponge columns at h points = 14696 !
! The total number of columns where sponges are applied at h points.
!Total sponge columns at u points = 14734 !
! The total number of columns where sponges are applied at u points.
!Total sponge columns at v points = 14864 !
! The total number of columns where sponges are applied at v points.
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
OBC_USER_CONFIG = "none" ! default = "none"
! A string that sets how the user code is invoked to set open boundary data:
! DOME - specified inflow on northern boundary
! dyed_channel - supercritical with dye on the inflow boundary
! dyed_obcs - circle_obcs with dyes on the open boundaries
! Kelvin - barotropic Kelvin wave forcing on the western boundary
! shelfwave - Flather with shelf wave forcing on western boundary
! supercritical - now only needed here for the allocations
! tidal_bay - Flather with tidal forcing on eastern boundary
! USER - user specified
! === module MOM_diag_mediator ===
NUM_DIAG_COORDS = 1 ! default = 1
! The number of diagnostic vertical coordinates to use. For each coordinate, an
! entry in DIAG_COORDS must be provided.
USE_GRID_SPACE_DIAGNOSTIC_AXES = False ! [Boolean] default = False
! If true, use a grid index coordinate convention for diagnostic axes.
DIAG_COORDS = "z Z ZSTAR" ! default = "z Z ZSTAR"
! A list of string tuples associating diag_table modules to a coordinate
! definition used for diagnostics. Each string is of the form "MODULE_SUFFIX
! PARAMETER_SUFFIX COORDINATE_NAME".
DIAG_MISVAL = 1.0E+20 ! [not defined] default = 1.0E+20
! Set the default missing value to use for diagnostics.
DIAG_AS_CHKSUM = False ! [Boolean] default = False
! Instead of writing diagnostics to the diag manager, write a text file
! containing the checksum (bitcount) of the array.
AVAILABLE_DIAGS_FILE = "available_diags.000000" ! default = "available_diags.000000"
! A file into which to write a list of all available ocean diagnostics that can
! be included in a diag_table.
DIAG_COORD_DEF_Z = "WOA09" ! 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_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_DAMPING = 0.0 ! [s-1] default = 0.0
! The local depth-independent MEKE dissipation rate.
MEKE_CD_SCALE = 0.0 ! [nondim] default = 0.0
! The ratio of the bottom eddy velocity to the column mean eddy velocity, i.e.
! sqrt(2*MEKE). This should be less than 1 to account for the surface
! intensification of MEKE.
MEKE_CB = 25.0 ! [nondim] default = 25.0
! A coefficient in the expression for the ratio of bottom projected eddy energy
! and mean column energy (see Jansen et al. 2015).
MEKE_MIN_GAMMA2 = 1.0E-04 ! [nondim] default = 1.0E-04
! The minimum allowed value of gamma_b^2.
MEKE_CT = 50.0 ! [nondim] default = 50.0
! A coefficient in the expression for the ratio of barotropic eddy energy and
! mean column energy (see Jansen et al. 2015).
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_GEOMETRIC = False ! [Boolean] default = False
! If MEKE_GEOMETRIC is true, uses the GM coefficient formulation from the
! GEOMETRIC framework (Marshall et al., 2012).
MEKE_GEOMETRIC_ALPHA = 0.05 ! [nondim] default = 0.05
! The nondimensional coefficient governing the efficiency of the GEOMETRIC
! thickness diffusion.
MEKE_EQUILIBRIUM_ALT = False ! [Boolean] default = False
! If true, use an alternative formula for computing the (equilibrium)initial
! value of MEKE.
MEKE_EQUILIBRIUM_RESTORING = False ! [Boolean] default = False
! If true, restore MEKE back to its equilibrium value, which is calculated at
! each time step.
MEKE_FRCOEFF = -1.0 ! [nondim] default = -1.0
! The efficiency of the conversion of mean energy into MEKE. If MEKE_FRCOEFF is
! negative, this conversion is not used or calculated.
MEKE_GMECOEFF = -1.0 ! [nondim] default = -1.0
! The efficiency of the conversion of MEKE into mean energy by GME. If
! MEKE_GMECOEFF 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_KH = -1.0 ! [m2 s-1] default = -1.0
! A background lateral diffusivity of MEKE. Use a negative value to not apply
! lateral diffusion to MEKE.
MEKE_K4 = -1.0 ! [m4 s-1] default = -1.0
! A lateral bi-harmonic diffusivity of MEKE. Use a negative value to not apply
! bi-harmonic diffusion to MEKE.
MEKE_DTSCALE = 1.0 ! [nondim] default = 1.0
! A scaling factor to accelerate the time evolution of MEKE.
MEKE_KHCOEFF = 1.0 ! [nondim] default = 1.0
! A scaling factor in the expression for eddy diffusivity which is otherwise
! proportional to the MEKE velocity- scale times an eddy mixing-length. This
! factor must be >0 for MEKE to contribute to the thickness/ and tracer
! diffusivity in the rest of the model.
MEKE_USCALE = 0.0 ! [m s-1] default = 0.0
! The background velocity that is combined with MEKE to calculate the bottom
! drag.
MEKE_GM_SRC_ALT = False ! [Boolean] default = False
! If true, use the GM energy conversion form S^2*N^2*kappa rather than the
! streamfunction for the MEKE GM source term.
MEKE_VISC_DRAG = True ! [Boolean] default = True
! If true, use the vertvisc_type to calculate the bottom drag acting on MEKE.
MEKE_KHTH_FAC = 0.0 ! [nondim] default = 0.0
! A factor that maps MEKE%Kh to KhTh.
MEKE_KHTR_FAC = 0.0 ! [nondim] default = 0.0
! A factor that maps MEKE%Kh to KhTr.
MEKE_KHMEKE_FAC = 1.0 ! [nondim] default = 0.0
! A factor that maps MEKE%Kh to Kh for MEKE itself.
MEKE_OLD_LSCALE = False ! [Boolean] default = False
! If true, use the old formula for length scale which is a function of grid
! spacing and deformation radius.
MEKE_MIN_LSCALE = False ! [Boolean] default = False
! If true, use a strict minimum of provided length scales rather than harmonic
! mean.
MEKE_RD_MAX_SCALE = False ! [nondim] default = False
! If true, the length scale used by MEKE is the minimum of the deformation
! radius or grid-spacing. Only used if MEKE_OLD_LSCALE=True
MEKE_VISCOSITY_COEFF_KU = 0.0 ! [nondim] default = 0.0
! If non-zero, is the scaling coefficient in the expression forviscosity used to
! parameterize harmonic lateral momentum mixing byunresolved eddies represented
! by MEKE. Can be negative torepresent backscatter from the unresolved eddies.
MEKE_VISCOSITY_COEFF_AU = 0.0 ! [nondim] default = 0.0
! If non-zero, is the scaling coefficient in the expression forviscosity used to
! parameterize biharmonic lateral momentum mixing byunresolved eddies
! represented by MEKE. Can be negative torepresent backscatter from the
! unresolved eddies.
MEKE_FIXED_MIXING_LENGTH = 0.0 ! [m] default = 0.0
! If positive, is a fixed length contribution to the expression for mixing
! length used in MEKE-derived diffusivity.
MEKE_ALPHA_DEFORM = 0.0 ! [nondim] default = 0.0
! If positive, is a coefficient weighting the deformation scale in the
! expression for mixing length used in MEKE-derived diffusivity.
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.
MEKE_ALPHA_FRICT = 0.0 ! [nondim] default = 0.0
! If positive, is a coefficient weighting the frictional arrest scale in the
! expression for mixing length used in MEKE-derived diffusivity.
MEKE_ALPHA_GRID = 0.0 ! [nondim] default = 0.0
! If positive, is a coefficient weighting the grid-spacing as a scale in the
! expression for mixing length used in MEKE-derived diffusivity.
MEKE_COLD_START = False ! [Boolean] default = False
! If true, initialize EKE to zero. Otherwise a local equilibrium solution is
! used as an initial condition for EKE.
MEKE_BACKSCAT_RO_C = 0.0 ! [nondim] default = 0.0
! The coefficient in the Rossby number function for scaling the biharmonic
! frictional energy source. Setting to non-zero enables the Rossby number
! function.
MEKE_BACKSCAT_RO_POW = 0.0 ! [nondim] default = 0.0
! The power in the Rossby number function for scaling the biharmonic frictional
! energy source.
MEKE_ADVECTION_FACTOR = 0.0 ! [nondim] default = 0.0
! A scale factor in front of advection of eddy energy. Zero turns advection off.
! Using unity would be normal but other values could accommodate a mismatch
! between the advecting barotropic flow and the vertical structure of MEKE.
MEKE_TOPOGRAPHIC_BETA = 0.0 ! [nondim] default = 0.0
! A scale factor to determine how much topographic beta is weighed in computing
! beta in the expression of Rhines scale. Use 1 if full topographic beta effect
! is considered; use 0 if it's completely ignored.
CDRAG = 0.003 ! [nondim] default = 0.003
! CDRAG is the drag coefficient relating the magnitude of the velocity field to
! the bottom stress.
MEKE_CDRAG = 0.003 ! [nondim] default = 0.003
! Drag coefficient relating the magnitude of the velocity field to the bottom
! stress in MEKE.
! === 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_VISBECK = False ! [Boolean] default = False
! If true, use the Visbeck et al. (1997) formulation for
! thickness diffusivity.
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.
DEPTH_SCALED_KHTH = False ! [Boolean] default = False
! If true, KHTH is scaled away when the depth is shallowerthan a reference
! depth: KHTH = MIN(1,H/H0)**N * KHTH, where H0 is a reference depth, controlled
! via DEPTH_SCALED_KHTH_H0, and the exponent (N) is controlled via
! DEPTH_SCALED_KHTH_EXP.
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.
RESOLN_USE_EBT = False ! [Boolean] default = False
! If true, uses the equivalent barotropic wave speed instead of first baroclinic
! wave for calculating the resolution fn.
KHTH_USE_EBT_STRUCT = False ! [Boolean] default = False
! If true, uses the equivalent barotropic structure as the vertical structure of
! thickness diffusivity.
KHTH_SLOPE_CFF = 0.0 ! [nondim] default = 0.0
! The nondimensional coefficient in the Visbeck formula for the interface depth
! diffusivity
KHTR_SLOPE_CFF = 0.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.
VERY_SMALL_FREQUENCY = 1.0E-17 ! [s-1] default = 1.0E-17
! A miniscule frequency that is used to avoid division by 0. The default value
! is roughly (pi / (the age of the universe)).
VISBECK_MAX_SLOPE = 0.0 ! [nondim] default = 0.0
! If non-zero, is an upper bound on slopes used in the Visbeck formula for
! diffusivity. This does not affect the isopycnal slope calculation used within
! thickness diffusion.
KD_SMOOTH = 1.0E-06 ! [m2 s-1] default = 1.0E-06
! A diapycnal diffusivity that is used to interpolate more sensible values of T
! & S into thin layers.
USE_SIMPLER_EADY_GROWTH_RATE = False ! [Boolean] default = False
! If true, use a simpler method to calculate the Eady growth rate that avoids
! division by layer thickness. Recommended.
VARMIX_KTOP = 2 ! [nondim] default = 2
! The layer number at which to start vertical integration of S*N for purposes of
! finding the Eady growth rate.
VISBECK_L_SCALE = 0.0 ! [m] default = 0.0
! The fixed length scale in the Visbeck formula.
KH_RES_SCALE_COEF = 1.0 ! [nondim] default = 1.0
! A coefficient that determines how KhTh is scaled away if RESOLN_SCALED_... is
! true, as F = 1 / (1 + (KH_RES_SCALE_COEF*Rd/dx)^KH_RES_FN_POWER).
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.
VISC_RES_SCALE_COEF = 1.0 ! [nondim] default = 1.0
! A coefficient that determines how Kh is scaled away if RESOLN_SCALED_... is
! true, as F = 1 / (1 + (KH_RES_SCALE_COEF*Rd/dx)^KH_RES_FN_POWER). This
! function affects lateral viscosity, Kh, and not KhTh.
VISC_RES_FN_POWER = 100 ! [nondim] default = 100
! 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. This function affects
! lateral viscosity, Kh, and not KhTh.
INTERPOLATE_RES_FN = False ! [Boolean] default = False
! If true, interpolate the resolution function to the velocity points from the
! thickness points; otherwise interpolate the wave speed and calculate the
! resolution function independently at each point.
GILL_EQUATORIAL_LD = True ! [Boolean] default = True
! If true, uses Gill's definition of the baroclinic equatorial deformation
! radius, otherwise, if false, use Pedlosky's definition. These definitions
! differ by a factor of 2 in front of the beta term in the denominator. Gill's
! is the more appropriate definition.
INTERNAL_WAVE_SPEED_TOL = 0.001 ! [nondim] default = 0.001
! The fractional tolerance for finding the wave speeds.
INTERNAL_WAVE_SPEED_MIN = 0.0 ! [m s-1] default = 0.0
! A floor in the first mode speed below which 0 used instead.
INTERNAL_WAVE_SPEED_BETTER_EST = False ! [Boolean] default = False
! If true, use a more robust estimate of the first mode wave speed as the
! starting point for iterations.
USE_QG_LEITH_GM = False ! [Boolean] default = False
! If true, use the QG Leith viscosity as the GM coefficient.
! === module MOM_set_visc ===
SET_VISC_2018_ANSWERS = False ! [Boolean] default = False
! If true, use the order of arithmetic and expressions that recover the answers
! from the end of 2018. Otherwise, use updated and more robust forms of the
! same expressions.
BOTTOMDRAGLAW = True ! [Boolean] default = True
! If true, the bottom stress is calculated with a drag law of the form
! c_drag*|u|*u. The velocity magnitude may be an assumed value or it may be
! based on the actual velocity in the bottommost HBBL, depending on LINEAR_DRAG.
CHANNEL_DRAG = True ! [Boolean] default = False
! If true, the bottom drag is exerted directly on each layer proportional to the
! fraction of the bottom it overlies.
LINEAR_DRAG = False ! [Boolean] default = False
! If LINEAR_DRAG and BOTTOMDRAGLAW are defined the drag law is
! cdrag*DRAG_BG_VEL*u.
PRANDTL_TURB = 1.25 ! [nondim] default = 1.0
! The turbulent Prandtl number applied to shear instability.
DYNAMIC_VISCOUS_ML = False ! [Boolean] default = False
! If true, use a bulk Richardson number criterion to determine the mixed layer
! thickness for viscosity.
HBBL = 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_USE_TIDAL_BG = False ! [Boolean] default = False
! Flag to use the tidal RMS amplitude in place of constant background velocity
! for computing u* in the BBL. This flag is only used when BOTTOMDRAGLAW is true
! and LINEAR_DRAG is false.
DRAG_BG_VEL = 0.0 ! [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_USE_EOS = True ! [Boolean] default = True
! If true, use the equation of state in determining the properties of the bottom
! boundary layer. Otherwise use the layer target potential densities. The
! default of this is determined by USE_REGRIDDING.
BBL_THICK_MIN = 0.1 ! [m] default = 0.0
! The minimum bottom boundary layer thickness that can be used with
! BOTTOMDRAGLAW. This might be Kv/(cdrag*drag_bg_vel) to give Kv as the minimum
! near-bottom viscosity.
HTBL_SHELF_MIN = 0.1 ! [m] default = 0.1
! The minimum top boundary layer thickness that can be used with BOTTOMDRAGLAW.
! This might be Kv/(cdrag*drag_bg_vel) to give Kv as the minimum near-top
! viscosity.
HTBL_SHELF = 10.0 ! [m] default = 10.0
! The thickness over which near-surface velocities are averaged for the drag law
! under an ice shelf. By default this is the same as HBBL
KV = 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.
CORRECT_BBL_BOUNDS = False ! [Boolean] default = False
! If true, uses the correct bounds on the BBL thickness and viscosity so that
! the bottom layer feels the intended drag.
SMAG_CONST_CHANNEL = 0.15 ! [nondim] default = 0.15
! The nondimensional Laplacian Smagorinsky constant used in calculating the
! channel drag if it is enabled. The default is to use the same value as
! SMAG_LAP_CONST if it is defined, or 0.15 if it is not. The value used is also
! 0.15 if the specified value is negative.
! === module MOM_thickness_diffuse ===
KHTH = 0.0 ! [m2 s-1] default = 0.0
! The background horizontal thickness diffusivity.
KHTH_MIN = 0.0 ! [m2 s-1] default = 0.0