-
Notifications
You must be signed in to change notification settings - Fork 0
/
sediment_martini800_v8_7mud2sand.in
1247 lines (1080 loc) · 57.3 KB
/
sediment_martini800_v8_7mud2sand.in
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
!
! ROMS/TOMS Cohesive and Non-cohesive Sediment Model Parameters.
!
!svn $Id: sediment_sed_toy.in 429 2009-12-20 17:30:26Z arango $
!========================================================= Hernan G. Arango ===
!========================================================= John C. Warner =====
!========================================================Tarandeep S. Kalra ===
! Copyright (c) 2002-2016 The ROMS/TOMS Group !
! Licensed under a MIT/X style license !
! See License_ROMS.txt !
!==============================================================================
! !
! Input parameters can be entered in ANY order, provided that the parameter !
! KEYWORD (usually, upper case) is typed correctly followed by "=" or "==" !
! symbols. Any comment lines are allowed and must begin with an exclamation !
! mark (!) in column one. Comments may appear to the right of a parameter !
! specification to improve documentation. Comments will be ignored during !
! reading. Blank lines are also allowed and ignored. Continuation lines in !
! a parameter specification are allowed and must be preceded by a backslash !
! (\). In some instances, more than one value is required for a parameter. !
! If fewer values are provided, the last value is assigned for the entire !
! parameter array. The multiplication symbol (*), without blank spaces in !
! between, is allowed for a parameter specification. For example, in a two !
! grids nested application: !
! !
! AKT_BAK == 2*1.0d-6 2*5.0d-6 ! m2/s !
! !
! indicates that the first two entries of array AKT_BAK, in fortran column- !
! major order, will have the same value of "1.0d-6" for grid 1, whereas the !
! next two entries will have the same value of "5.0d-6" for grid 2. !
! !
! In multiple levels of nesting and/or multiple connected domains step-ups, !
! "Ngrids" entries are expected for some of these parameters. In such case, !
! the order of the entries for a parameter is extremely important. It must !
! follow the same order (1:Ngrids) as in the state variable declaration. The !
! USER may follow the above guidelines for specifying his/her values. These !
! parameters are marked by "==" plural symbol after the KEYWORD. !
! !
!==============================================================================
!
!------------------------------------------------------------------------------
! Sediment model control switch.
!------------------------------------------------------------------------------
! Switch is used to control sediment model computation within nested and/or
! multiple connected grids, [1:Ngrids].
Lsediment == T
!------------------------------------------------------------------------------
! Tracer horizontal and vertical advection scheme.
!------------------------------------------------------------------------------
!
! Set horizontal and vertical advection schemes for sediment tracers.
! A different advection scheme is allowed for each tracer. For example,
! a positive-definite (monotonic) algorithm can be activated for
! salinity and biological tracers, while a different one is set for
! temperature. [1:NAT+NPT,Ngrids] values are expected.
!
! Keyword Advection Algorithm
!
! A4 4th-order Akima (horizontal/vertical)
! C2 2nd-order centered differences (horizontal/vertical)
! C4 4th-order centered differences (horizontal/vertical)
! HSIMT 3th-order HSIMT-TVD (horizontal/vertical)
! MPDATA recursive flux corrected MPDATA (horizontal/vertical)
! SPLINES parabolic splines (only vertical)
! SU3 split third-order upstream (horizontal/vertical)
! U3 3rd-order upstream-biased (only horizontal)
!
! The user has the option of specifying the full Keyword or the first
! two letters, regardless if using uppercase or lowercase. If nested
! grids, specify values for each grid.
Hadvection == HSIMT ! idsed(:), compact
Vadvection == HSIMT ! idsed(:), compact
! Adjoint-based algorithms can have different horizontal and schemes
! for active and inert tracers.
ad_Hadvection == U3 ! idsed(:), compact
ad_Vadvection == C4 ! idsed(:), compact
!
!------------------------------------------------------------------------------
! Lateral boundary condition flags for all sediment tracers.
!------------------------------------------------------------------------------
!
! Set lateral boundary conditions keyword. Notice that a value is expected
! for each boundary segment per nested grid for each state variable.
!
! The sediment tracer variables (cohesive and noncohesive) require
! [1:4,1:NCS+NNS,Ngrids] values. If specifying every tracer, enter first
! 1:NCS cohesive sediment entries followed by 1:NNS noncohesive sediment
! entries. The boundary order is: 1=west, 2=south, 3=east, and 4=north.
! That is, anticlockwise starting at the western boundary.
!
! The keyword is case insensitive and usually has three characters. However,
! it is possible to have compound keywords, if applicable. For example, the
! keyword "RadNud" implies radiation boundary condition with nudging. This
! combination is usually used in active/passive radiation conditions.
!
! NOTICE: It is possible to specify the lateral boundary conditions for
! ====== all sediment tracers (cohesive and noncohesive) in a compact
! form with a single entry. If so, all the sediment tracers are assumed to
! have the same boundary condition as in the single entry.
!
! Keyword Lateral Boundary Condition Type
!
! Cla Clamped _____N_____ j=Mm
! Clo Closed | 4 |
! Gra Gradient | |
! Nes Nested 1 W E 3
! Nud Nudging | |
! Per Periodic |_____S_____|
! Rad Radiation 2 j=1
! i=1 i=Lm
! W S E N
! e o a o
! s u s r
! t t t t
! h h
!
! 1 2 3 4
LBC(isTvar) == RadNud RadNud Clo RadNud ! idsed(:), compact
! Adjoint-based algorithms can have different lateral boundary
! conditions keywords.
ad_LBC(isTvar) == Gra Gra Clo Gra ! idsed(:), compact
!------------------------------------------------------------------------------
! General sediment bed model controls.
!------------------------------------------------------------------------------
! Depositional bed layer thickness criteria to create a new layer (m). If
! deposition exceeds this value, then a new layer is created, [1:Ngrids].
! NEWLAYER_THICK == 0.001d0
NEWLAYER_THICK == 0.002d0 !PWA: This seems a better shoice with fewer bed layers (Nbed=8 vs. 20)
! Bed load transport rate coefficient, [1:Ngrids].
BEDLOAD_COEFF == 0.15d0
! Maximum biodiffusivity, [1:Ngrids].
DBMAX == 1.0d-10
! Minimum biodiffusivity, [1:Ngrids].
DBMIN == 1.0d-12
! Depth of maximum biodiffusivity, [1:Ngrids].
DBZS == 0.002d0
! Depth of end of exponential biodiffusivity, [1:Ngrids].
DBZM == 0.08d0
! Depth of minimum biodiffusivity, [1:Ngrids].
DBZP == 0.01d0
! Logical switches (TRUE/FALSE) to activate writing of bed layer
! parameters, [1:Ngrids] values expected.
Hout(ithck) == T ! sediment layer thickness
Hout(iaged) == T ! sediment layer age
Hout(iporo) == T ! sediment layer porosity
Hout(idiff) == F ! biodiffusivity
! Logical switches (TRUE/FALSE) to activate writing of bed
! bottom sediment parameters, [1:Ngrids] values expected.
Hout(isd50) == T ! mean grain diameter
Hout(idens) == T ! mean grain density
Hout(iwsed) == T ! mean settling velocity
Hout(itauc) == T ! critical erosion stress
Hout(irlen) == T ! ripple length
Hout(irhgt) == T ! ripple height
Hout(ibwav) == T ! wave excursion amplitude
Hout(izdef) == T ! default bottom roughness
Hout(izapp) == T ! apparent bottom roughness
Hout(izNik) == T ! Nikuradse bottom roughness
Hout(izbio) == T ! biological bottom roughness
Hout(izbfm) == T ! bed form bottom roughness
Hout(izbld) == T ! bed load bottom roughness
Hout(izwbl) == T ! wave bottom roughness
Hout(iactv) == T ! active layer thickness
Hout(ishgt) == F ! saltation height
Hout(imaxD) == F ! maximum inundation depth
Hout(idnet) == F ! Erosion or deposition
Hout(idoff) == F ! dmix erodibility profile offset
Hout(idslp) == F ! dmix or erodibility slope
Hout(idtim) == F ! erodibility profile restore time
Hout(idbmx) == F ! Bed biodifusivity maximum
Hout(idbmm) == F ! Bed biodifusivity minimum
Hout(idbzs) == F ! Bed biodifusivity zs
Hout(idbzm) == F ! Bed biodifusivity zm
Hout(idbzp) == F ! Bed biodifusivity phi
Hout(idprp) == F ! cohesive behavior
!------------------------------------------------------------------------------
! Non-cohesive Sediment Parameters, [1:NNS,1:Ngrids] values expected.
!------------------------------------------------------------------------------
! Median sediment grain diameter (mm).
! SAND_SD50 == 0.0300d0 0.0625d0 0.1250d0
SAND_SD50 == 0.006546d0 0.017678d0 !PWA: see make_martini_lisst.m, martini_lisst_mass_fractions_7mud7sand.mat
! Sediment concentration (kg/m3).
! SAND_CSED == 0.000000d0 0.000000d0 0.000000d0 0.000000d0
SAND_CSED == 0.000000d0 0.000000d0
! Sediment grain density (kg/m3).
! SAND_SRHO == 2650.0d0 2650.0d0 2650.0d0 2650.0d0
SAND_SRHO == 2650.0d0 2650.0d0
! Particle settling velocity (mm/s).
! SAND_WSED == 0.4722d0 2.0421d0 7.9478d0 26.9607d0
SAND_WSED == 0.027138d0 0.197907d0 !PWA: Stokes law at (10degC,35 psu,0 db), vs = fn_Stokes_settling_velocity(PMfracrm.rhos, 1e-6*PMfracrm.diambinmc(3:7), 10, 35, 0)/1e-3
! Surface erosion rate (kg/m2/s).
! SAND_ERATE == 5.0d-4 5.0d-4 5.0d-4 5.0d-4
SAND_ERATE == 5.0d-4 5.0d-4
! Critical shear for erosion and deposition (N/m2).
! SAND_TAU_CE == 0.0854d0 0.1244d0 0.1601d0 0.1980d0
! SAND_TAU_CD == 60.0d0 60.0d0 60.0d0 60.0d0
SAND_TAU_CE == 0.0576d0 0.0715d0 !PWA: Linear interpolation of original values: Xplin(1e-3*PMfracrm.diambinmc(3:7)',[0.03 0.0625 0.125 0.25]',0)*[0.0854 0.1244 0.1601 0.1980]'
SAND_TAU_CD == 60.0d0 60.0d0
! Porosity (nondimensional: 0.0-1.0): Vwater/(Vwater+Vsed).
! SAND_POROS == 0.5d0 0.5d0 0.5d0 0.5d0
SAND_POROS == 0.5d0 0.5d0
! Harmonic/biharmonic horizontal diffusion of tracer for nonlinear model
! and adjoint-based algorithms.
! SAND_TNU2 == 0.0d0 ! m2/s
! SAND_TNU4 == 0.0d0 ! m4/s
SAND_TNU2 == 2*10.0d0 ! m2/s PWA 11/09/2020: Increased 0->10 for consistency with bgc tracers
SAND_TNU4 == 2*0.0d0 ! m4/s
ad_SAND_TNU2 == 0.0d0 ! m2/s
ad_SAND_TNU4 == 0.0d0 ! m4/s
! Logical switches (TRUE/FALSE) to increase horizontal diffusivity
! of noncohesive sediment trace in specific areas of the application
! domain (like sponge areas) for the desired grid:
! SAND_Sponge == F
SAND_Sponge == 2*T ! PWA 11/09/2020: Switched on for consistency with bgc tracers
! Vertical mixing coefficients for tracers in nonlinear model and
! basic state scale factor in adjoint-based algorithms.
! SAND_AKT_BAK == 5.0d-6 ! m2/s
SAND_AKT_BAK == 2*1.0d-6 ! m2/s PWA 11/09/2020: Decreased 5->1 for consistency with bgc tracers
SAND_AKT_fac == 2*1.0d0 ! nondimensional
! Nudging/relaxation time scales, inverse scales will be computed
! internally.
! SAND_TNUDG == 0.0d0 ! days
SAND_TNUDG == 2*15.0d0 ! days PWA 11/09/2020: Increased 0->10 for consistency with bgc tracers
! Morphological time scale factor (greater than or equal to 1.0). A
! value of 1.0 has no scale effect.
SAND_MORPH_FAC == 2*1.0d0 ! nondimensional
! Logical switches (TRUE/FALSE) to activate tracers point Sources/Sinks
! (like river runoff) and to specify which tracer variables to consider.
! See glossary below for details.
! SAND_Ltsrc == F
SAND_Ltsrc == 2*T
! Logical switches (TRUE/FALSE) to read and process noncohesive sediment
! tracers climatology. See glossary below for details.
SAND_Ltclm == 2*F
! Logical switches (TRUE/FALSE) to nudge the desired noncohesive sediment
! tracer climatology field. If not analytical climatology fields, users
! need to turn on the logical switches above to process the fields from
! the climatology NetCDF file that are needed for nudging. See glossary
! below for details.
SAND_Tnudge == 2*F
! Logical switches (TRUE/FALSE) to activate writing of non-cohesive
! sediment into HISTORY output file.
Hout(idsand) == T ! suspended concentration
Hout(iSfrac) == T ! bed layer fraction
Hout(iSmass) == T ! bed layer mass
Hout(iSUbld) == T ! bed load at U-points
Hout(iSVbld) == T ! bed load at V-points
! Logical switches (TRUE/FALSE) to activate writing of time-averaged
! non-cohesive sediment fields into AVERAGE output file.
Aout(idsand) == T ! sand_01, ... suspended concentration
Aout(iSTTav) == F ! sand_01_2, ... quadratic <t*t> tracer terms
Aout(iSUTav) == F ! u_sand_01, ... quadratic <u*t> tracer terms
Aout(iSVTav) == F ! v_sand_01, ... quadratic <v*t> tracer terms
Aout(SHUTav) == F ! Huon_sand_01, ... tracer volume flux, <Huon*t>
Aout(SHVTav) == F ! Hvom_sand_01, ... tracer volume flux, <Hvom*t>
Aout(iSUbld) == T ! bedload_Usand_01, ... bed load at U-points
Aout(iSVbld) == T ! bedload_Vsand_01, ... bed load at V-points
! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
! non-cohesive sediment diagnostic terms into DIAGNOSTIC output file.
Dout(STrate) == F ! sand_01_rate, ... time rate of change
Dout(SThadv) == F ! sand_01_hadv, ... horizontal total advection
Dout(STxadv) == F ! sand_01_xadv, ... horizontal XI-advection
Dout(STyadv) == F ! sand_01_yadv, ... horizontal ETA-advection
Dout(STvadv) == F ! sand_01_vadv, ... vertical advection
Dout(SThdif) == F ! sand_01_hdiff, ... horizontal total diffusion
Dout(STxdif) == F ! sand_01_xdiff, ... horizontal XI-diffusion
Dout(STydif) == F ! sand_01_ydiff, ... horizontal ETA-diffusion
Dout(STsdif) == F ! sand_01_sdiff, ... horizontal S-diffusion
Dout(STvdif) == F ! sand_01_vdiff, ... vertical diffusion
!------------------------------------------------------------------------------
! Suspended Cohesive Sediment Parameters, [1:NCS,1:Ngrids] values expected.
!------------------------------------------------------------------------------
! Median sediment grain diameter (mm).
! MUD_SD50 == 0.020000d0 0.027225d0 0.037059d0 0.050446d0 0.068669d0 0.093475d0 0.127241d0 0.173205d0 0.235773d0 0.320942d0 0.436877d0 0.594692d0 0.809516d0 1.101941d0 1.500000d0
MUD_SD50 == 0.000898d0 0.002424d0 0.006546d0 0.017678d0 0.047738d0 0.128917d0 0.348323d0 !PWA: see make_martini_lisst.m, martini_lisst_mass_fractions_v1.mat
! Sediment concentration (kg/m3).
! MUD_CSED == 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0
MUD_CSED == 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0
! Sediment grain density (kg/m3).
! MUD_SRHO == 1350.000000d0 1263.753867d0 1200.395104d0 1153.850028d0 1119.656746d0 1094.537428d0 1076.084092d0 1062.527767d0 1052.568922d0 1045.252882d0 1039.878320d0 1035.930020d0 1033.029491d0 1030.898683d0 1029.333333d0
MUD_SRHO == 1981.330d0 1611.396d0 1313.938d0 1141.585d0 1064.706d0 1037.335d0 1029.366d0 !PWA: Khelifa and Hill (2006) with Dp=0.2 um, see make_martini_lisst.m, martini_lisst_mass_fractions_7mud7sand.mat
!PWA: NOTE: These values are not actually used - FLOCMOD uses the parameters F_DP0 and F_NF below + a hard-coded fundamental density = 2650 kg/m3
! Particle settling velocity (mm/s).
! MUD_WSED == 0.070850d0 0.096443d0 0.131282d0 0.178706d0 0.243261d0 0.331135d0 0.450752d0 0.613579d0 0.835225d0 1.136937d0 1.547638d0 2.106698d0 2.867710d0 3.903626d0 5.313750d0
MUD_WSED == 0.000300d0 0.001340d0 0.004799d0 0.013978d0 0.033572d0 0.067335d0 0.114143d0 !PWA: Khelifa and Hill (2006) with Dp=0.2 um, see make_martini_lisst.m, martini_lisst_mass_fractions_7mud7sand.mat
! Surface erosion rate (kg/m2/s).
! MUD_ERATE == 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0
MUD_ERATE == 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0 0.000500d0
! Critical shear for erosion and deposition (N/m2).
! MUD_TAU_CE == 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0
! MUD_TAU_CD == 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0
MUD_TAU_CE == 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0 0.03d0
MUD_TAU_CD == 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0 60.00d0
! Porosity (nondimensional: 0.0-1.0): Vwater/(Vwater+Vsed).
! MUD_POROS == 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0
MUD_POROS == 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0 0.500d0
! Harmonic/biharmonic horizontal diffusion of tracer for nonlinear model
! and adjoint-based algorithms.
! MUD_TNU2 == 0.0d0 0.0d0 ! m2/s
! MUD_TNU4 == 0.0d0 0.0d0 ! m4/s
MUD_TNU2 == 7*10.0d0 ! m2/s PWA 11/09/2020: Increased 0->10 for consistency with bgc tracers
MUD_TNU4 == 7*0.0d0 ! m4/s
ad_MUD_TNU2 == 0.0d0 0.0d0 ! m2/s
ad_MUD_TNU4 == 0.0d0 0.0d0 ! m4/s
! Logical switches (TRUE/FALSE) to increase horizontal diffusivity
! of cohesive sediment trace in specific areas of the application
! domain (like sponge areas) for the desired grid:
! MUD_Sponge == F F
MUD_Sponge == 7*T ! PWA 11/09/2020: Switched on for consistency with bgc tracers
! Vertical mixing coefficients for tracers in nonlinear model and
! basic state scale factor in adjoint-based algorithms.
! MUD_AKT_BAK == 5.0d-6 5.0d-6 ! m2/s
MUD_AKT_BAK == 7*1.0d-6 ! m2/s PWA 11/09/2020: Decreased 5->1 for consistency with bgc tracers
MUD_AKT_fac == 7*1.0d0 ! nondimensional
! Nudging/relaxation time scales, inverse scales will be computed
! internally.
! MUD_TNUDG == 0.0d0 0.0d0 ! days
MUD_TNUDG == 7*15.0d0 ! days PWA 11/09/2020: Increased 0->10 for consistency with bgc tracers
! Morphological time scale factor (greater than or equal to 1.0). A
! value of 1.0 has no scale effect.
MUD_MORPH_FAC == 7*1.0d0 ! nondimensional
! Logical switches (TRUE/FALSE) to activate tracers point Sources/Sinks
! (like river runoff) and to specify which tracer variables to consider.
! See glossary below for details.
! MUD_Ltsrc == F F
MUD_Ltsrc == 7*T
! Logical switches (TRUE/FALSE) to read and process cohesive sediment
! tracers climatology. See glossary below for details.
MUD_Ltclm == 7*F
! Logical switches (TRUE/FALSE) to nudge the desired cohesive sediment
! tracer climatology field. If not analytical climatology fields, users
! need to turn on the logical switches above to process the fields from
! the climatology NetCDF file that are needed for nudging. See glossary
! below for details.
MUD_Tnudge == 7*F
! Logical switches (TRUE/FALSE) to activate writing of cohesive sediment
! fields into HISTORY output file.
Hout(idmud) == T ! mud_01, ... suspended concentration
Hout(iMfrac) == T ! mudfrac_01, ... bed layer fraction
Hout(iMmass) == T ! mudmass_01, ... bed layer mass
Hout(iMUbld) == T ! bedload_Umud_01, ... bed load at U-points
Hout(iMVbld) == T ! bedload_Vmud_01, ... bed load at V-points
! Logical switches (TRUE/FALSE) to activate writing of time-averaged
! cohesive sediment fields into AVERAGE output file.
Aout(idmud) == F ! mud_01, ... suspended concentration
Aout(iMTTav) == F ! mud_01_2, ... quadratic <t*t> tracer terms
Aout(iMUTav) == F ! u_mud_01, ... quadratic <u*t> tracer terms
Aout(iMVTav) == F ! v_mud_01, ... quadratic <v*t> tracer terms
Aout(MHUTav) == F ! Huon_mud_01, ... tracer volume flux, <Huon*t>
Aout(MHVTav) == F ! Hvom_mud_01, ... tracer volume flux, <Hvom*t>
Aout(iMUbld) == F ! bedload_Umud_01, ... bed load at U-points
Aout(iMVbld) == F ! bedload_Vmud_01, ... bed load at V-points
! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
! cohesive sediment diagnostic terms into DIAGNOSTIC output file.
Dout(MTrate) == F ! mud_01_rate, ... time rate of change
Dout(MThadv) == F ! mud_01_hadv, ... horizontal total advection
Dout(MTxadv) == F ! mud_01_xadv, ... horizontal XI-advection
Dout(MTyadv) == F ! mud_01_yadv, ... horizontal ETA-advection
Dout(MTvadv) == F ! mud_01_vadv, ... vertical advection
Dout(MThdif) == F ! mud_01_hdiff, ... horizontal total diffusion
Dout(MTxdif) == F ! mud_01_xdiff, ... horizontal XI-diffusion
Dout(MTydif) == F ! mud_01_ydiff, ... horizontal ETA-diffusion
Dout(MTsdif) == F ! mud_01_sdiff, ... horizontal S-diffusion
Dout(MTvdif) == F ! mud_01_vdiff, ... vertical diffusion
!------------------------------------------------------------------------------
! Mixed Bed parameters- Transition threshold for cohesive mix
! and non-cohesive behaviors [1:Ngrids] values expected.
!------------------------------------------------------------------------------
! Cohesive transition- Under that value of total mud fraction
! entire bed behaves as a non-cohesive bed
TRANSC == 0.03d0
! Noncohesive transition- Over that value of total mud fraction
! entire bed behaves as a cohesive bed
TRANSN == 0.2d0
!------------------------------------------------------------------------------
! Cohesive/Mixed bed critical shear
! Bed critical shear stress values if cohesive or mixed Bed is active
! These values are applied to the entire bed. [1:Ngrids] values expected.
!------------------------------------------------------------------------------
! Minimum shear for erosion
MUD_TAUCR_MIN == 0.030000d0
! Maximum shear for erosion
MUD_TAUCR_MAX == 5.20d0
! Tau_crit profile slope
MUD_TAUCR_SLOPE == 0.300000d0
! Tau_crit profile offset
MUD_TAUCR_OFF == 1.000000d0
! Tau_crit consolidation rate
MUD_TAUCR_TIME == 28800.0d0
!------------------------------------------------------------------------------
! Flocculation Sediment Parameters.
!------------------------------------------------------------------------------
! Boolean set to .true. if differential settling aggregation
L_ADS == F
! Boolean set to .true. if shear aggregation
L_ASH == T
! Boolean set to .true. if collision-induced fragmentation enable
L_COLLFRAG == F
! Primary particle size (m), typically 4e-6 m
! F_DP0 == 0.000004d0
F_DP0 == 0.0000002d0 !PWA: Dp=0.2um, see make_martini_lisst.m
! Floc fractal dimension, typically ranging from 1.6 to 2.6
F_NF == 2.0d0
! Maximum diameter (m)
F_DMAX == 0.0015d0
! Number of fragments by shear erosion, If binary/ternary : 2.0
F_NB_FRAG == 2.0d0
! Flocculation efficiency, ranging from 0 to 1.0
F_ALPHA == 0.35d0
! Shear fragmentation rate
F_BETA == 0.15d0
! F_BETA == 0.12d0 !PWA: Verney et al. (2011) suggest (ALPHA,BETA) = (0.35,0.12) (BETAopt = 0.39*ALPHAopt-0.02), but BETA:0.15->0.12 seems to cause numerical blowup
! For ternary breakup, use 0.5, for binary : 0. (a boolean could be better)
F_ATER == 0.0d0
! Fraction of the shear fragmentation term transfered to shear erosion.
! Ranging from [(0.0 - no erosion to 1.0 - all erosion)]
F_ERO_FRAC == 0.0d0
! Number of fragments induced by shear erosion.
F_ERO_NBFRAG == 2.0d0
! Fragment size class (could be changed to a particle
! size or a particle distribution) (INTEGER)
F_ERO_IV == 1
! Fragmentation rate for collision-induced breakup
F_COLLFRAGPARAM == 0.01d0
! Min concentration below which flocculation processes are not calculated
! F_CLIM == 0.001d0 !0.001 kg/m3 is a rather high TSM concentration in MARTINI800 (1 mg/L)
F_CLIM == 0.0001d0 !Only ~3% saving in wall time wrt F_CLIM=0.0d0, testing 0.5 days from the IC, but may be more savings near equilibrium
! If .TRUE. sets G(t) to values from Verney et al., 2011 lab experiment
L_TESTCASE == F
!------------------------------------------------------------------------------
! Flocculation Decomposition in Bed Sediment Parameters
! Only #ifdef DEFLOC
!------------------------------------------------------------------------------
! Equilibrium fractional class distribution (they should add up to 1).
! There is no check for that
! [1:NCS,1:Ngrids] values expected.
! MUD_FRAC_EQ == 0.10d0 0.20d0 0.40d0 0.20d0 0.10d0 0.0d0 0.0d0 0.00d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0
MUD_FRAC_EQ == 0.10d0 0.20d0 0.40d0 0.20d0 0.10d0 0.0d0 0.0d0
! Time scale of flocculation decomposition in bed
! [1:Ngrids] values expected.
MUD_T_DFLOC == 200.0d0
!
! GLOSSARY:
! =========
!
!------------------------------------------------------------------------------
! Sediment model control switch, [1:Ngrids].
!------------------------------------------------------------------------------
!
! Lsediment Switch to control sediment model computation within nested
! and/or multiple connected grids. By default this switch
! is set to TRUE in "mod_scalars" for all grids. The USER
! has the option, for example, to compute sediment in just
! one of the nested grids. If so, this switch needs to be
! consistent with the dimension parameter NST in input
! script (ocean.in). In order to make the model more
! efficient in memory usage, NST(:) should be zero in
! such grids.
!
!------------------------------------------------------------------------------
! Lateral boundary conditions parameters for all sediment tracers.
!------------------------------------------------------------------------------
!
! The lateral boundary conditions are now specified with logical switches
! instead of CPP flags to allow nested grid configurations. Their values are
! load into structured array:
!
! LBC(1:4, nLBCvar, Ngrids)
!
! where 1:4 are the number of boundary edges, nLBCvar are the number LBC state
! variables, and Ngrids is the number of nested grids. For Example, to apply
! gradient boundary conditions to any tracer we use:
!
! LBC(iwest, isTvar(itrc), ng) % gradient
! LBC(ieast, isTvar(itrc), ng) % gradient
! LBC(isouth, isTvar(itrc), ng) % gradient
! LBC(inorth, isTvar(itrc), ng) % gradient
!
! The lateral boundary conditions for all sediment tracers (cohesive plus
! noncohesive) are entered with a keyword. This keyword is case insensitive
! and usually has three characters. However, it is possible to have compound
! keywords, if applicable. For example, the keyword "RadNud" implies radiation
! boundary condition with nudging. This combination is usually used in
! active/passive radiation conditions.
!
! It is possible to specify the lateral boundary conditions for all sediment
! tracers in a compact form with a single entry. for example, in a East-West
! periodic application we can just have:
!
! W S E N
! e o a o
! s u s r
! t t t t
! h h
!
! 1 2 3 4
!
! LBC(isTvar) == Per Clo Per Clo
!
! Then, the standard input processing routine will assume that all the
! sediment tracers have the same lateral boundary condition specified by
! the single entry.
!
! Keyword Lateral Boundary Condition Type
!
! Cla Clamped _____N_____ j=Mm
! Clo Closed | 4 |
! Gra Gradient | |
! Nes Nested 1 W E 3
! Nud Nudging | |
! Per Periodic |_____S_____|
! Rad Radiation 2 j=1
! i=1 i=Lm
!
! LBC(isTvar) Sediment Tracers, [1:4, 1:NST, Ngrids] values are expected.
!
! Similarly, the adjoint-based algorithms (ADM, TLM, RPM) can have different
! lateral boundary conditions keywords:
!
! ad_LBC(isTvar) Sediment Tracers, [1:4, 1:NBT, Ngrids] values are expected.
!
!------------------------------------------------------------------------------
! General sediment bed model controls, [1:Ngrids] values are expected.
!------------------------------------------------------------------------------
!
! NEWLAYER_THICK Depositional bed layer thickness criteria to create a new
! layer (m). If deposition exceeds this value, then a new
! layer is created.
!
! BEDLOAD_COEFF Bed load transport rate coefficient.
!
! DBMAX Maximum biodiffusivity
!
! DBMIN Minimum biodiffusivity
!
! DBZS Depth of maximum biodiffusivity
!
! DBZM Depth of end of exponential biodiffusivity
!
! DBZP Depth of minimum biodiffusivity
!
!------------------------------------------------------------------------------
! Logical switches to activate writing of bed layer properties
! [1:Ngrids] values expected.
!------------------------------------------------------------------------------
!
! Hout(ithck) Sediment layer thickness.
!
! Hout(iaged) Sediment layer age.
!
! Hout(iporo) Sediment layer porosity.
!
! Hout(idiff) Biodiffusivity at the bottom of each layer.
!
!------------------------------------------------------------------------------
! Logical switches to activate writing of bottom layer parameters
! [1:Ngrids] values expected.
!------------------------------------------------------------------------------
!
! Hout(isd50) Mean grain diameter
!
! Hout(idens) Mean grain density
!
! Hout(iwsed) Mean settling velocity
!
! Hout(itauc) Critical erosion stress
!
! Hout(irlen) Ripple length
!
! Hout(irhgt) Ripple height
!
! Hout(ibwav) Wave Excursion Amplitude
!
! Hout(izdef) Default bottom roughness
!
! Hout(izapp) Apparent bottom roughness
!
! Hout(izNik) Nikuradse bottom roughness
!
! Hout(izbio) Biological bottom roughness
!
! Hout(izbfm) Bed form bottom roughness
!
! Hout(izbld) Bedload bottom roughness
!
! Hout(izwbl) Wave bottom roughness
!
! Hout(iactv) Active layer thickness
!
! Hout(ishgt) Saltation height
!
! Hout(imaxD) Maximum inundation depth
!
! Hout(idnet) Erosion or deposition
!
! Hout(idoff) Dmix erodibility profile offset
!
! Hout(idslp) Dmix or erodibility slope
!
! Hout(idtim) Erodibility profile restore time
!
! Hout(idbmx) Bed biodiffusivity maximum
!
! Hout(idbmm) Bed biodiffusivity minimum
!
! Hout(idbzs) Bed biodiffusivity
!
! Hout(idbzm) Bed biodiffusivity
!
! Hout(idbzp) Bed biodiffusivity
!
! Hout(idprp) Cohesive behavior
!
!------------------------------------------------------------------------------
! Suspended Non-cohesive Sediment KEYWORDS, [1:NNS,1:Ngrids] values expected.
!------------------------------------------------------------------------------
!
! SAND_SD50 Median sediment grain diameter (mm).
!
! SAND_CSED Sediment concentration (kg/m3). It may be used to initialize
! sediment fields using analytical expressions.
!
! SAND_SRHO Sediment grain density (kg/m3).
!
! SAND_WSED Particle settling velocity (mm/s).
!
! SAND_Erate Surface erosion rate (kg/m2/s).
!
! SAND_TAU_CE Critical shear for erosion (N/m2).
!
! SAND_TAU_CD Critical shear for deposition (N/m2).
!
! SAND_POROS Porosity (nondimensional: 0.0-1.0): Vwater/(Vwater+Vsed).
!
! SAND_TNU2 Nonlinar model lateral, harmonic, constant, mixing
! coefficient (m2/s) for suspended non-cohesive sediment;
! [1:NNS,1:Ngrids]. If variable horizontal diffusion
! is activated, SAND_TNU2 is the mixing coefficient for
! the largest grid-cell in the domain.
!
! SAND_TNU4 Nonlinar model lateral, harmonic, constant, mixing
! coefficient (m4/s) for suspended non-cohesive sediment;
! [1:NNS,1:Ngrids]. If variable horizontal diffusion
! is activated, SAND_TNU4 is the mixing coefficient for
! the largest grid-cell in the domain.
!
! ad_SAND_TNU2 Adjoint-based algorithms lateral, harmonic, constant,
! mixing coefficient (m2/s) for suspended non-cohesive
! sediment; [1:NNS,1:Ngrids]. If variable horizontal
! diffusion is activated, SAND_TNU2 is the mixing
! coefficient for the largest grid-cell in the domain.
!
! ad_SAND_TNU4 Adjoint-based algorithms lateral, harmonic, constant,
! mixing coefficient (m4/s) for suspended non-cohesive
! sediment; [1:NNS,1:Ngrids]. If variable horizontal
! diffusion is activated, SAND_TNU4 is the mixing
! coefficient for the largest grid-cell in the domain.
! SAND_Sponge Logical switches (TRUE/FALSE) to increase horizontal
! diffusivity of noncohesive sediment tracers in sponge
! areas of the domain. The CPP option SPONGE is now
! deprecated and replaced with this switch to
! facilitate or not sponge areas of desired tracer
! in a particular nested grid.
!
! SAND_AKT_BAK Background vertical mixing coefficient (m2/s),
! AKT_BAK(idsed(i)) with i=NCS+1:NST.
!
! SAND_AKT_fac Adjoint-based algorithms vertical mixing, basic state,
! scale factor (nondimensional) for sediment tracer
! variables; [1:NNS,1:Ngrids] values are expected.
! In some applications, a smaller/larger values of
! vertical mixing are necessary for stability. It is
! only used when FORWARD_MIXING is activated.
!
! SAND_TNUDG Nudging time scale (days), TNUDG(idsed(i)) with i=NCS+1:NST.
! Inverse scale will be computed internally,
!
! SAND_MORPH_FAC Morphological time scale factor (nondimensional; greater
! than or equal to 1.0). A value of 1.0 has no scale effect.
!
! SAND_Ltsrc Logical switches (T/F) to activate noncohesive sediment
! tracer variables point Sources/Sinks; [1:NNS,1:Ngrids]
! values are expected.
!
! SAND_Ltsrc( 1,ng) sand_01
! ... ...
! SAND_Ltsrc(NNS,ng) ...
!
! Recall that these switches are usually activated to add
! river runoff as a point source. At minimum, it is
! necessary to specify both temperature and salinity for
! all rivers. The other tracers are optional. The user needs
! to know the correspondence between sediment variables and
! indices idsed(NCS+1:NST) when activating one or more
! of these switches.
!
! This logical switch REPLACES and ELIMINATES the need to
! have or read the variable "river_flag(river)" in the input
! rivers forcing NetCDF file:
!
! double river_flag(river)
! river_flag:long_name = "river runoff tracer flag"
! river_flag:option_0 = "all tracers are off"
! river_flag:option_1 = "only temperature"
! river_flag:option_2 = "only salinity"
! river_flag:option_3 = "both temperature and salinity"
! river_flag:units = "nondimensional"
!
! This logic was too cumbersome and complicated when
! additional tracers are considered. However, this change
! is backward compatible.
!
! This logical switch will be used to activate the reading
! of respective tracer variable from input river forcing
! NetCDF file. If you want to add other tracer variables
! (other than temperature and salinity) as a source for a
! particular river(s), you just need to specify such values
! on those river(s). Then, set the values to ZERO on the
! other river(s) that do NOT require such river forcing for
! that tracer. Recall that you need to specify the tracer
! values for all rivers, even if their values are zero.
!
! SAND_Ltclm Logical switches (T/F) to process noncohesive sediment
! tracer climatology. The CPP option TCLIMATOLOGY is now
! obsolete and replaced with these switches to facilitate
! nesting applications. Currently, the CLIMA(ng)%tclm is
! used for horizontal mixing, sponges, and nudging.
!
! SAND_Ltclm( 1,ng) sand_01
! ... ...
! SAND_Ltclm(NNS,ng) ...
!
! These switches also controls which climatology tracer
! fields needs to be processed. So we may reduce the
! memory allocation for the CLIMA(ng)%tclm array.
!
! SAND_Tnudge Logical switches (T/F) to activate nugding of noncohesive
! sediment tracer climatology. These switches also control
! which sediment tracer variables to nudge. The CPP option
! TCLM_NUDGING is now obsolete and replaced with these
! switches to facilitate nesting.
!
! MUD_Tnudge( 1,ng) sand_01
! ... ...
! MUD_Tnudge(NNS,ng) ...
!
! User also needs to TURN ON the respective logical switches
! "SAND_Ltclm", described above, to process the required 3D
! sediment tracer climatology data. This data can be set
! with analytical functions (ANA_TCLIMA) or read from input
! climatology NetCDF file(s).
!
! The nudging coefficients CLIMA(ng)%Tnudgcof can be set
! with analytical functions in "ana_nudgcoef.h" using CPP
! option ANA_NUDGCOEF. Otherwise, it will be read from
! NetCDF file NUDNAME.
!
! Hout(idsand) Logical switches to activate writing of non-cohesive
! sediment concentration into HISTORY NetCDF file,
! HOUT(idTvar(idsed(i))) with i=1:NCS+1,NST.
!
! Hout(iSfrac) Logical switches to activate writing of non-cohesive
! sediment class fraction composition of each bed layer
! into HISTORY NetCDF file, HOUT(idfrac(i)) with
! i=NCS+1,NST.
!
! Hout(iSmass) Logical switches to activate writing of non-cohesive
! sediment mass of each bed layer into HISTORY NetCDF file,
! HOUT(idsed(i)) with i=NCS+1,NST.
!
! Hout(iSUbld) Logical switches to activate writing of non-cohesive
! sediment bed load at U-points into HISTORY NetCDF file,
! HOUT(idsed(i)) with i=NCS+1,NST.
!
! Hout(iSVbld) Logical switches to activate writing of non-cohesive
! sediment bed load at V-points into HISTORY NetCDF file,
! HOUT(idsed(i)) with i=NCS+1,NST.
!
! Aout(*S...) Logical switches to activate writing of time-averaged
! non-cohesive sediment concentration into AVERAGE
! NetCDF file, AOUT(idTvar(idsed(i))) with i=1:NCS+1,NST.
!
! Aout(idsand) suspended concentration
!
! Aout(iSTTav) quadratic <t*t> tracer terms
! Aout(iSUTav) quadratic <u*t> tracer terms
! Aout(iSVTav) quadratic <v*t> tracer terms
! Aout(SHUTav) tracer volume flux, <Huon*t>
! Aout(SHVTav) tracer volume flux, <Hvom*t>
!
! Aout(iSUbld) bed load at U-points
! Aout(iSVbld) bed load at V-points
!
! Dout(ST....) Logical switches to activate writing of time-averaged
! non-cohesive tracers diagnostic terms into DIAGNOSTIC
! NetCDF file, DOUT(idsed(i),ST....) with i=NCS+1,NST.
!
! Dout(STrate) Time rate of change
! Dout(SThadv) Horizontal total advection
! Dout(STxadv) Horizontal XI-advection
! Dout(STyadv) Horizontal ETA-advection
! Dout(STvadv) Vertical advection
! Dout(SThdif) Horizontal total diffusion
! Dout(STxdif) Horizonta1 XI-diffusion
! Dout(STydif) Horizontal ETA-diffusion
! Dout(STsdif) Horizontal S-diffusion
! Dout(STvdif) Vertical diffusion
!
!------------------------------------------------------------------------------
! Suspended Cohesive Sediment KEYWORDS, [1:NCS,1:Ngrids] values expected.
!------------------------------------------------------------------------------
!
! MUD_SD50 Median sediment grain diameter (mm).
!
! MUD_CSED Sediment concentration (kg/m3). It may be used to initialize
! sediment fields using analytical expressions.
!
! MUD_SRHO Sediment grain density (kg/m3).
!
! MUD_WSED Particle settling velocity (mm/s).
!
! MUD_ERATE Surface erosion rate (kg/m2/s).
!
! MUD_TAU_CE Critical shear for erosion (N/m2).
!
! MUD_TAU_CD Critical shear for deposition (N/m2).
!
! MUD_POROS Porosity (nondimensional: 0.0-1.0): Vwater/(Vwater+Vsed).
!
! MUD_TNU2 Nonlinar model lateral, harmonic, constant, mixing
! coefficient (m2/s) for suspended cohesive sediment;
! [1:NCS,1:Ngrids]. If variable horizontal diffusion is
! activated, MUD_TNU2 is the mixing coefficient for