-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathb03_update_MOM_parameter_doc.all
2470 lines (2412 loc) · 197 KB
/
b03_update_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 = False ! [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
! = 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.
REMAP_AUXILIARY_VARS = False ! [Boolean] default = False
! If true, apply ALE remapping to all of the auxiliary 3-dimensional variables
! that are needed to reproduce across restarts, similarly to what is already
! being done with the primary state variables. The default should be changed to
! true.
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, isopycnal surfaces are diffused with a Laplacian coefficient of KHTH.
APPLY_INTERFACE_FILTER = False ! [Boolean] default = False
! If true, model interface heights are subjected to a grid-scale dependent
! spatial smoothing, often with biharmonic filter.
THICKNESSDIFFUSE_FIRST = True ! [Boolean] default = False
! If true, do thickness diffusion or interface height smoothing before dynamics.
! This is only used if THICKNESSDIFFUSE or APPLY_INTERFACE_FILTER is true.
USE_POROUS_BARRIER = True ! [Boolean] default = True
! If true, use porous barrier to constrain the widths and face areas at the
! edges of the grid cells.
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 = 900.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 = 7200.0 ! [s] default = 900.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 = True ! [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 = 7200.0 ! [s] default = 7200.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 = True ! [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.01 ! [PPT] default = 0.0
! The minimum value of salinity when BOUND_SALINITY=True.
SALINITY_UNDERFLOW = 0.0 ! [PPT] default = 0.0
! A tiny value of salinity below which the it is set to 0. For reference, one
! molecule of salt per square meter of ocean is of order 1e-29 ppt.
TEMPERATURE_UNDERFLOW = 0.0 ! [degC] default = 0.0
! A tiny magnitude of temperatures below which they are set to 0.
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.
USE_PSURF_IN_EOS = False ! [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.
ALTERNATE_FIRST_DIRECTION = False ! [Boolean] default = False
! If true, after every dynamic timestep alternate whether the x- or y- direction
! updates occur first in directionally split parts of the calculation. If this
! is true, FIRST_DIRECTION applies at the start of a new run or if the next
! first direction can not be found in the restart file.
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.
BAD_VAL_COLUMN_THICKNESS = 0.0 ! [m] default = 0.0
! The value of column thickness below which a bad value message is triggered, if
! CHECK_BAD_SURFACE_VALS is true.
DEFAULT_ANSWER_DATE = 20231231 ! default = 99991231
! This sets the default value for the various _ANSWER_DATE parameters.
SURFACE_ANSWER_DATE = 20231231 ! default = 20231231
! The vintage of the expressions for the surface properties. Values below
! 20190101 recover the answers from the end of 2018, while higher values use
! updated and more robust forms of the same expressions.
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 = False ! [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.
USE_DBCLIENT = False ! [Boolean] default = False
! If true, initialize a client to a remote database that can be used for online
! analysis and machine-learning inference.
ICE_SHELF = False ! [Boolean] default = False
! If true, enables the ice shelf model.
USE_PARTICLES = False ! [Boolean] default = False
! If true, use the particles package.
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.
HOMOGENIZE_FORCINGS = False ! [Boolean] default = False
! If True, homogenize the forces and fluxes.
! === module MOM_domains ===
REENTRANT_X = True ! [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 = True ! [Boolean] default = False
! Use tripolar connectivity at the northern edge of the domain. With
! TRIPOLAR_N, NIGLOBAL must be even.
NIGLOBAL = 1440 !
! 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 = 1080 !
! 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_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_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.
RAD_EARTH = 6.378E+06 ! [m] default = 6.378E+06
! The radius of the Earth.
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 = "All_edits.nc" ! 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.
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.
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 = 0 ! default = 0
! The number of open boundary segments.
CHANNEL_CONFIG = "list" ! 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.
CHANNEL_LIST_FILE = "MOM_channels_global_025" ! default = "MOM_channel_list"
! The file from which the list of narrowed channels is read.
CHANNEL_LIST_360_LON_CHECK = True ! [Boolean] default = True
! If true, the channel configuration list works for any longitudes in the range
! of -360 to 360.
FATAL_UNUSED_CHANNEL_WIDTHS = False ! [Boolean] default = False
! If true, trigger a fatal error if there are any channel widths in
! CHANNEL_LIST_FILE that do not cause any open face widths to change.
SUBGRID_TOPO_AT_VEL = False ! [Boolean] default = False
! If true, use variables from TOPO_AT_VEL_FILE as parameters for porous barrier.
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_tracer_registry ===
! === 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", "JACKETT_MCD", "WRIGHT",
! "WRIGHT_REDUCED", "WRIGHT_FULL", "NEMO", "ROQUET_RHO", "ROQUET_SPV" and
! "TEOS10". This is only used if USE_EOS is true.
USE_WRIGHT_2ND_DERIV_BUG = False ! [Boolean] default = False
! If true, use a bug in the calculation of the second derivatives of density
! with temperature and with temperature and pressure that causes some terms to
! be only 2/3 of what they should be.
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", "TEOS_POLY",
! "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, the IO layout is used to group processors that write to the same
! restart file or each processor writes its own (numbered) restart file. If
! false, a single restart file is generated combining output from all PEs.
RESTARTFILE = "MOM.res" ! default = "MOM.res"
! The name-root of the restart file.
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 = True ! [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_CFC_CAP = False ! [Boolean] default = False
! If true, use the MOM_CFC_cap 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.
USE_NW2_TRACERS = False ! [Boolean] default = False
! If true, use the NeverWorld2 tracers.
! === module ideal_age_example ===
DO_IDEAL_AGE = True ! [Boolean] default = True
! If true, use an ideal age tracer that is set to 0 age in the boundary layer
! and ages at unit rate in the interior.
DO_IDEAL_VINTAGE = False ! [Boolean] default = False
! If true, use an ideal vintage tracer that is set to an exponentially
! increasing value in the boundary layer and is conserved thereafter.
DO_IDEAL_AGE_DATED = False ! [Boolean] default = False
! If true, use an ideal age tracer that is everywhere 0 before
! IDEAL_AGE_DATED_START_YEAR, but the behaves like the standard ideal age tracer
! - i.e. is set to 0 age in the boundary layer and ages at unit rate in the
! interior.
DO_BL_RESIDENCE = False ! [Boolean] default = False
! If true, use a residence tracer that is set to 0 age in the interior and ages
! at unit rate in the boundary layer.
USE_REAL_BL_DEPTH = False ! [Boolean] default = False
! If true, the ideal age tracers will use the boundary layer depth diagnosed
! from the BL or bulkmixedlayer scheme.
AGE_IC_FILE = "" ! default = ""
! The file in which the age-tracer initial values can be found, or an empty
! string for internal initialization.
AGE_IC_FILE_IS_Z = False ! [Boolean] default = False
! If true, AGE_IC_FILE is in depth space, not layer space
TRACERS_MAY_REINIT = False ! [Boolean] default = False
! If true, tracers may go through the initialization code if they are not found
! in the restart files. Otherwise it is a fatal error if the tracers are not
! found in the restart files of a restarted run.
! === module MOM_coord_initialization ===
COORD_CONFIG = "file" ! default = "none"
! This specifies how layers are to be defined:
! ALE or none - used to avoid defining layers in ALE mode
! file - read coordinate information from the file
! specified by (COORD_FILE).
! BFB - Custom coords for buoyancy-forced basin case
! based on SST_S, T_BOT and DRHO_DT.
! linear - linear based on interfaces not layers
! layer_ref - linear based on layer densities
! ts_ref - use reference temperature and salinity
! ts_range - use range of temperature and salinity
! (T_REF and S_REF) to determine surface density
! and GINT calculate internal densities.
! gprime - use reference density (RHO_0) for surface
! density and GINT calculate internal densities.
! ts_profile - use temperature and salinity profiles
! (read from COORD_FILE) to set layer densities.
! USER - call a user modified routine.
GFS = 9.8 ! [m s-2] default = 9.8
! The reduced gravity at the free surface.
COORD_FILE = "layer_coord.nc" !
! The file from which the coordinate densities are read.
COORD_VAR = "Layer" ! default = "Layer"
! The variable in COORD_FILE that is to be used for the coordinate densities.
REMAP_UV_USING_OLD_ALG = True ! [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 = "HYCOM1" ! 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
! ADAPTIVE - optimize for smooth neutral density surfaces
REGRIDDING_COORDINATE_UNITS = "m" ! default = "m"
! Units of the regridding coordinate.
INTERPOLATION_SCHEME = "P1M_H2" ! default = "P1M_H2"
! This sets the interpolation scheme to use to determine the new grid. These
! parameters are only relevant when REGRIDDING_COORDINATE_MODE is set to a
! function of state. Otherwise, it is not used. It can be one of the following
! schemes:
! P1M_H2 (2nd-order accurate)
! P1M_H4 (2nd-order accurate)
! P1M_IH4 (2nd-order accurate)
! PLM (2nd-order accurate)
! PPM_CW (3rd-order accurate)
! PPM_H4 (3rd-order accurate)
! PPM_IH4 (3rd-order accurate)
! P3M_IH4IH3 (4th-order accurate)
! P3M_IH6IH5 (4th-order accurate)
! PQM_IH4IH3 (4th-order accurate)
! PQM_IH6IH5 (5th-order accurate)
REMAPPING_ANSWER_DATE = 20231231 ! default = 20231231
! The vintage of the expressions and order of arithmetic to use for remapping.
! Values below 20190101 result in the use of older, less accurate expressions
! that were in use at the end of 2018. Higher values result in the use of more
! robust and accurate forms of mathematically equivalent expressions.
REGRIDDING_ANSWER_DATE = 20181231 ! default = 20181231
! The vintage of the expressions and order of arithmetic to use for regridding.
! Values below 20190101 result in the use of older, less accurate expressions
! that were in use at the end of 2018. Higher values result in the use of more
! robust and accurate forms of mathematically equivalent expressions.
BOUNDARY_EXTRAPOLATION = True ! [Boolean] default = False
! When defined, a proper high-order reconstruction scheme is used within
! boundary cells rather than PCM. E.g., if PPM is used for remapping, a PPM
! reconstruction will also be used within boundary cells.
ALE_COORDINATE_CONFIG = "HYBRID:hycom1_75_800m.nc,sigma2,FNC1:2,4000,4.5,.01" ! 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 = 7*2.0, 2*2.01, 2.02, 2.03, 2.05, 2.08, 2.11, 2.15, 2.21, 2.2800000000000002, 2.37, 2.48, 2.61, 2.77, 2.95, 3.17, 3.4299999999999997, 3.74, 4.09, 4.49, 4.95, 5.48, 6.07, 6.74, 7.5, 8.34, 9.280000000000001, 10.33, 11.49, 12.77, 14.19, 15.74, 17.450000000000003, 19.31, 21.35, 23.56, 25.97, 28.580000000000002, 31.41, 34.47, 37.77, 41.32, 45.14, 49.25, 53.65, 58.370000000000005, 63.42, 68.81, 74.56, 80.68, 87.21000000000001, 94.14, 101.51, 109.33, 117.62, 126.4, 135.68, 145.5, 155.87, 166.81, 178.35, 190.51, 203.31, 216.78, 230.93, 245.8, 261.42, 277.83 ! [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.
!TARGET_DENSITIES = 1010.0, 1014.3034, 1017.8088, 1020.843, 1023.5566, 1025.813, 1027.0275, 1027.9114, 1028.6422, 1029.2795, 1029.852, 1030.3762, 1030.8626, 1031.3183, 1031.7486, 1032.1572, 1032.5471, 1032.9207, 1033.2798, 1033.6261, 1033.9608, 1034.2519, 1034.4817, 1034.6774, 1034.8508, 1035.0082, 1035.1533, 1035.2886, 1035.4159, 1035.5364, 1035.6511, 1035.7608, 1035.8661, 1035.9675, 1036.0645, 1036.1554, 1036.2411, 1036.3223, 1036.3998, 1036.4739, 1036.5451, 1036.6137, 1036.68, 1036.7441, 1036.8062, 1036.8526, 1036.8874, 1036.9164, 1036.9418, 1036.9647, 1036.9857, 1037.0052, 1037.0236, 1037.0409, 1037.0574, 1037.0738, 1037.0902, 1037.1066, 1037.123, 1037.1394, 1037.1558, 1037.1722, 1037.1887, 1037.206, 1037.2241, 1037.2435, 1037.2642, 1037.2866, 1037.3112, 1037.3389, 1037.3713, 1037.4118, 1037.475, 1037.6332, 1037.8104, 1038.0 ! [m]
! HYBRID target densities for interfaces
REGRID_COMPRESSIBILITY_FRACTION = 0.01 ! [nondim] default = 0.0
! When interpolating potential density profiles we can add some artificial
! compressibility solely to make homogeneous regions appear stratified.
MIN_THICKNESS = 0.001 ! [m] default = 0.001
! When regridding, this is the minimum layer thickness allowed.
HYCOM1_ONLY_IMPROVES = False ! [Boolean] default = False
! When regridding, an interface is only moved if this improves the fit to the
! target density.
MAXIMUM_INT_DEPTH_CONFIG = "FNC1:5,8000.0,1.0,.01" ! default = "NONE"
! Determines how to specify the maximum interface depths.
! Valid options are:
! NONE - there are no maximum interface depths
! PARAM - use the vector-parameter MAXIMUM_INTERFACE_DEPTHS
! 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,Z
! FNC1:string - FNC1:dz_min,H_total,power,precision
!MAXIMUM_INT_DEPTHS = 0.0, 5.0, 12.75, 23.25, 36.49, 52.480000000000004, 71.22, 92.71000000000001, 116.94000000000001, 143.92000000000002, 173.65, 206.13, 241.36, 279.33000000000004, 320.05000000000007, 363.5200000000001, 409.7400000000001, 458.7000000000001, 510.4100000000001, 564.8700000000001, 622.0800000000002, 682.0300000000002, 744.7300000000002, 810.1800000000003, 878.3800000000003, 949.3300000000004, 1023.0200000000004, 1099.4600000000005, 1178.6500000000005, 1260.5900000000006, 1345.2700000000007, 1432.7000000000007, 1522.8800000000008, 1615.8100000000009, 1711.490000000001, 1809.910000000001, 1911.080000000001, 2015.0000000000011, 2121.670000000001, 2231.080000000001, 2343.2400000000007, 2458.1500000000005, 2575.8100000000004, 2696.2200000000003, 2819.3700000000003, 2945.2700000000004, 3073.9200000000005, 3205.3200000000006, 3339.4600000000005, 3476.3500000000004, 3615.9900000000002, 3758.38, 3903.52, 4051.4, 4202.03, 4355.41, 4511.54, 4670.41, 4832.03, 4996.4, 5163.5199999999995, 5333.379999999999, 5505.989999999999, 5681.3499999999985, 5859.459999999998, 6040.319999999998, 6223.919999999998, 6410.269999999999, 6599.369999999999, 6791.219999999999, 6985.8099999999995, 7183.15, 7383.24, 7586.08, 7791.67, 8000.0
! The list of maximum depths for each interface.
MAX_LAYER_THICKNESS_CONFIG = "FNC1:400,31000.0,0.1,.01" ! default = "NONE"
! Determines how to specify the maximum layer thicknesses.
! Valid options are:
! NONE - there are no maximum layer thicknesses
! PARAM - use the vector-parameter MAX_LAYER_THICKNESS
! 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,Z
! FNC1:string - FNC1:dz_min,H_total,power,precision
!MAX_LAYER_THICKNESS = 400.0, 409.63, 410.32, 410.75, 411.07, 411.32, 411.52, 411.7, 411.86, 412.0, 412.13, 412.24, 412.35, 412.45, 412.54, 412.63, 412.71, 412.79, 412.86, 412.93, 413.0, 413.06, 413.12, 413.18, 413.24, 413.29, 413.34, 413.39, 413.44, 413.49, 413.54, 413.58, 413.62, 413.67, 413.71, 413.75, 413.78, 413.82, 413.86, 413.9, 413.93, 413.97, 414.0, 414.03, 414.06, 414.1, 414.13, 414.16, 414.19, 414.22, 414.24, 414.27, 414.3, 414.33, 414.35, 414.38, 414.41, 414.43, 414.46, 414.48, 414.51, 414.53, 414.55, 414.58, 414.6, 414.62, 414.65, 414.67, 414.69, 414.71, 414.73, 414.75, 414.77, 414.79, 414.83 ! [m]
! The list of maximum thickness for each layer.
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)
VELOCITY_REMAPPING_SCHEME = "PPM_H4" ! default = "PPM_H4"
! This sets the reconstruction scheme used for vertical remapping of velocities.
! By default it is the same as REMAPPING_SCHEME. 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)
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
PARTIAL_CELL_VELOCITY_REMAP = False ! [Boolean] default = False
! If true, use partial cell thicknesses at velocity points that are masked out
! where they extend below the shallower of the neighboring bathymetry for
! remapping velocity.
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.
REMAP_VEL_MASK_BBL_THICK = -0.001 ! [m] default = -0.001
! A thickness of a bottom boundary layer below which velocities in thin layers
! are zeroed out after remapping, following practice with Hybgen remapping, or a
! negative value to avoid such filtering altogether.
! === module MOM_state_initialization ===
FATAL_INCONSISTENT_RESTART_TIME = False ! [Boolean] default = False
! If true and a time_in value is provided to MOM_initialize_state, verify that
! the time read from a restart file is the same as time_in, and issue a fatal
! error if it is not. Otherwise, simply set the time to time_in if present.
INIT_LAYERS_FROM_Z_FILE = True ! [Boolean] default = False
! If true, initialize the layer thicknesses, temperatures, and salinities from a
! Z-space file on a latitude-longitude grid.
! === module MOM_initialize_layers_from_Z ===
TEMP_SALT_Z_INIT_FILE = "" ! default = "temp_salt_z.nc"
! The name of the z-space input file used to initialize temperatures (T) and
! salinities (S). If T and S are not in the same file, TEMP_Z_INIT_FILE and
! SALT_Z_INIT_FILE must be set.
TEMP_Z_INIT_FILE = "woa13_decav_ptemp_monthly_fulldepth_01.nc" ! default = ""
! The name of the z-space input file used to initialize temperatures, only.
SALT_Z_INIT_FILE = "woa13_decav_s_monthly_fulldepth_01.nc" ! default = ""
! The name of the z-space input file used to initialize temperatures, only.
Z_INIT_FILE_PTEMP_VAR = "ptemp_an" ! default = "ptemp"
! The name of the potential temperature variable in TEMP_Z_INIT_FILE.
Z_INIT_FILE_SALT_VAR = "s_an" ! default = "salt"
! The name of the salinity variable in SALT_Z_INIT_FILE.
Z_INIT_HOMOGENIZE = False ! [Boolean] default = False
! If True, then horizontally homogenize the interpolated initial conditions.
Z_INIT_ALE_REMAPPING = True ! [Boolean] default = False
! If True, then remap straight to model coordinate from file.
Z_INIT_REMAPPING_SCHEME = "PPM_IH4" ! default = "PPM_IH4"
! The remapping scheme to use if using Z_INIT_ALE_REMAPPING is True.
Z_INIT_REMAP_GENERAL = True ! [Boolean] default = False
! If false, only initializes to z* coordinates. If true, allows initialization
! directly to general coordinates.
Z_INIT_REMAP_FULL_COLUMN = False ! [Boolean] default = False
! If false, only reconstructs profiles for valid data points. If true, inserts
! vanished layers below the valid data.
Z_INIT_REMAP_OLD_ALG = False ! [Boolean] default = False
! If false, uses the preferred remapping algorithm for initialization. If true,
! use an older, less robust algorithm for remapping.
TEMP_SALT_INIT_VERTICAL_REMAP_ONLY = False ! [Boolean] default = False
! If true, initial conditions are on the model horizontal grid. Extrapolation
! over missing ocean values is done using an ICE-9 procedure with vertical ALE
! remapping .
HOR_REGRID_ANSWER_DATE = 20231231 ! default = 20231231
! The vintage of the order of arithmetic for horizontal regridding. Dates
! before 20190101 give the same answers as the code did in late 2018, while
! later versions add parentheses for rotational symmetry. Dates after 20230101
! use reproducing sums for global averages.
LAND_FILL_TEMP = 0.0 ! [degC] default = 0.0
! A value to use to fill in ocean temperatures on land points.
LAND_FILL_SALIN = 35.0 ! [1e-3] default = 35.0
! A value to use to fill in ocean salinities on land points.
HORIZ_INTERP_TOL_TEMP = 0.001 ! [degC] default = 0.001
! The tolerance in temperature changes between iterations when interpolating
! from an input dataset using horiz_interp_and_extrap_tracer. This routine
! converges slowly, so an overly small tolerance can get expensive.
HORIZ_INTERP_TOL_SALIN = 0.001 ! [1e-3] default = 0.001
! The tolerance in salinity changes between iterations when interpolating from
! an input dataset using horiz_interp_and_extrap_tracer. This routine converges
! slowly, so an overly small tolerance can get expensive.
DEPRESS_INITIAL_SURFACE = False ! [Boolean] default = False
! If true, depress the initial surface to avoid huge tsunamis when a large
! surface pressure is applied.
TRIM_IC_FOR_P_SURF = False ! [Boolean] default = False
! If true, cuts way the top of the column for initial conditions at the depth
! where the hydrostatic pressure matches the imposed surface pressure which is
! read from file.
REGRID_ACCELERATE_INIT = False ! [Boolean] default = False
! If true, runs REGRID_ACCELERATE_ITERATIONS iterations of the regridding
! algorithm to push the initial grid to be consistent with the initial
! condition. Useful only for state-based and iterative coordinates.
VELOCITY_CONFIG = "zero" ! default = "zero"
! A string that determines how the initial velocities are specified for a new
! run:
! file - read velocities from the file specified
! by (VELOCITY_FILE).
! zero - the fluid is initially at rest.
! uniform - the flow is uniform (determined by
! parameters INITIAL_U_CONST and INITIAL_V_CONST).
! rossby_front - a mixed layer front in thermal wind balance.
! soliton - Equatorial Rossby soliton.
! USER - call a user modified routine.
ODA_INCUPD = False ! [Boolean] default = False
! If true, oda incremental updates will be applied everywhere in the domain.
SPONGE = False ! [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.
! === module MOM_diag_mediator ===
NUM_DIAG_COORDS = 2 ! 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", "rho2 RHO2 RHO" !
! 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 ! [various] 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
DIAG_COORD_INTERP_SCHEME_RHO2 = "PPM_H4" ! default = "PPM_H4"
! This sets the interpolation scheme to use to determine the new grid. These
! parameters are only relevant when REGRIDDING_COORDINATE_MODE is set to a
! function of state. Otherwise, it is not used. It can be one of the following
! schemes:
! P1M_H2 (2nd-order accurate)
! P1M_H4 (2nd-order accurate)
! P1M_IH4 (2nd-order accurate)
! PLM (2nd-order accurate)
! PPM_CW (3rd-order accurate)
! PPM_H4 (3rd-order accurate)
! PPM_IH4 (3rd-order accurate)
! P3M_IH4IH3 (4th-order accurate)
! P3M_IH6IH5 (4th-order accurate)
! PQM_IH4IH3 (4th-order accurate)
! PQM_IH6IH5 (5th-order accurate)
DIAG_COORD_DEF_RHO2 = "FILE:diag_rho2.nc,interfaces=rho2" ! default = "WOA09"
! Determines how to specify the coordinate resolution. Valid options are:
! PARAM - use the vector-parameter DIAG_COORD_RES_RHO2
! 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
DIAG_COORD_P_REF_RHO2 = 2.0E+07 ! [Pa] default = 2.0E+07
! The pressure that is used for calculating the diagnostic coordinate density.
! (1 Pa = 1e4 dbar, so 2e7 is commonly used.) This is only used for the RHO
! coordinate.
DIAG_COORD_REGRID_COMPRESSIBILITY_FRACTION_RHO2 = 0.0 ! [nondim] default = 0.0
! When interpolating potential density profiles we can add some artificial
! compressibility solely to make homogeneous regions appear stratified.
! === 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_IN_DYNAMICS = True ! [Boolean] default = True
! If true, step MEKE forward with the dynamicsotherwise with the tracer
! timestep.
EKE_SOURCE = "prog" ! default = "prog"
! Determine the where EKE comes from:
! 'prog': Calculated solving EKE equation
! 'file': Read in from a file
! 'dbclient': Retrieved from ML-database
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 ! [Boolean] 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_FIXED_TOTAL_DEPTH = True ! [Boolean] default = True
! If true, use the nominal bathymetric depth as the estimate of the time-varying
! ocean depth. Otherwise base the depth on the total ocean massper unit area.
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 = False ! [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.
KD_GL90_USE_EBT_STRUCT = False ! [Boolean] default = False
! If true, uses the equivalent barotropic structure as the vertical structure of
! diffusivity in the GL90 scheme.
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)).
USE_STANLEY_ISO = False ! [Boolean] default = False
! If true, turn on Stanley SGS T variance parameterization in isopycnal slope
! code.
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 or nondim] default = 0.0
! The fixed length scale in the Visbeck formula, or if negative a nondimensional
! scaling factor relating this length scale squared to the cell areas.
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 = 2 ! 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 = 2 ! 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. This function affects
! lateral viscosity, Kh, and not KhTh.