-
Notifications
You must be signed in to change notification settings - Fork 38
/
Copy pathocean_bering.in
1655 lines (1523 loc) · 74.8 KB
/
ocean_bering.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 Standard Input parameters.
!
! svn $Id$
!========================================================= Hernan G. Arango ===
! Copyright (c) 2002-2011 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. All comments will 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. !
! !
!==============================================================================
!
! Application title.
TITLE = Bering Sea
! C-preprocessing Flag.
MyAppCPP = BERING
! Input variable information file name. This file needs to be processed
! first so all information arrays can be initialized properly.
VARNAME = External/varinfo.dat
! Number of nested grids.
Ngrids = 1
! Grid dimension parameters. See notes below in the Glossary for how to set
! these parameters correctly.
Lm == 540 ! Number of I-direction INTERIOR RHO-points
Mm == 768 ! Number of J-direction INTERIOR RHO-points
N == 60 ! Number of vertical levels
Nbed = 0 ! Number of sediment bed layers
NAT = 2 ! Number of active tracers (usually, 2)
NPT = 0 ! Number of inactive passive tracers
NCS = 0 ! Number of cohesive (mud) sediment tracers
NNS = 0 ! Number of non-cohesive (sand) sediment tracers
! Domain decomposition parameters for serial, distributed-memory or
! shared-memory configurations used to determine tile horizontal range
! indices (Istr,Iend) and (Jstr,Jend), [1:Ngrids].
NtileI == 6 ! I-direction partition
NtileJ == 16 ! J-direction partition
! Time-Stepping parameters.
NTIMES == 4320
DT == 50.0d0
NDTFAST == 10
! Model iteration loops parameters.
ERstr = 1
ERend = 1
Nouter = 1
Ninner = 1
Nintervals = 1
! Number of eigenvalues (NEV) and eigenvectors (NCV) to compute for the
! Lanczos/Arnoldi problem in the Generalized Stability Theory (GST)
! analysis. NCV must be greater than NEV (see documentation below).
NEV = 2 ! Number of eigenvalues
NCV = 10 ! Number of eigenvectors
! Input/Output parameters.
NRREC = 0
LcycleRST == T
NRST == 1728
NSTA == 72
NFLT == 72
NINFO == 1
! Output history, average, diagnostic files parameters.
LDEFOUT == T
NHIS == 1728
NDEFHIS == 17280
NTSAVG == 1
NAVG == 1728
NDEFAVG == 1728
NTSDIA == 1
NDIA == 1728
NDEFDIA == 0
! Output tangent linear and adjoint models parameters.
LcycleTLM == F
NTLM == 72
NDEFTLM == 0
LcycleADJ == F
NADJ == 72
NDEFADJ == 0
! Output check pointing GST restart parameters.
LrstGST = F ! GST restart switch
MaxIterGST = 500 ! maximun number of iterations
NGST = 10 ! check pointing interval
! Relative accuracy of the Ritz values computed in the GST analysis.
Ritz_tol = 1.0d-15
! Harmonic/biharmonic horizontal diffusion of tracer: [1:NAT+NPT,Ngrids].
TNU2 == 1.0d0 1.0d0 ! m2/s
TNU4 == 2*0.0d0 ! m4/s
! Harmononic/biharmonic, horizontal viscosity coefficient: [Ngrids].
VISC2 == 10.0d0 ! m2/s
VISC4 == 0.0d0 ! m4/s
! Vertical mixing coefficients for active tracers: [1:NAT+NPT,Ngrids]
AKT_BAK == 1.0d-6 1.0d-6 ! m2/s
! Vertical mixing coefficient for momentum: [Ngrids].
AKV_BAK == 1.0d-5 ! m2/s
! Turbulent closure parameters.
AKK_BAK == 5.0d-6 ! m2/s
AKP_BAK == 5.0d-6 ! m2/s
TKENU2 == 0.0d0 ! m2/s
TKENU4 == 0.0d0 ! m4/s
! Generic length-scale turbulence closure parameters.
GLS_P == 3.0d0 ! K-epsilon
GLS_M == 1.5d0
GLS_N == -1.0d0
GLS_Kmin == 7.6d-6
GLS_Pmin == 1.0d-12
GLS_CMU0 == 0.5477d0
GLS_C1 == 1.44d0
GLS_C2 == 1.92d0
GLS_C3M == -0.4d0
GLS_C3P == 1.0d0
GLS_SIGK == 1.0d0
GLS_SIGP == 1.30d0
! Constants used in momentum stress computation.
RDRG == 3.0d-04 ! m/s
RDRG2 == 3.0d-03 ! nondimensional
Zob == 0.02d0 ! m
Zos == 0.02d0 ! m
! Height (m) of atmospheric measurements for Bulk fluxes parameterization.
BLK_ZQ == 10.0d0 ! air humidity
BLK_ZT == 10.0d0 ! air temperature
BLK_ZW == 10.0d0 ! winds
! Minimum depth for wetting and drying.
DCRIT == 0.10d0 ! m
! Various parameters.
WTYPE == 1
LEVSFRC == 15
LEVBFRC == 1
! Set vertical, terrain-following coordinates transformation equation and
! stretching function (see below for details), [1:Ngrids].
Vtransform == 1 ! transformation equation
Vstretching == 1 ! stretching function
! Vertical S-coordinates parameters (see below for details), [1:Ngrids].
THETA_S == 5.0d0 ! surface stretching parameter
THETA_B == 0.4d0 ! bottom stretching parameter
TCLINE == 10.0d0 ! critical depth (m)
! Mean Density and Brunt-Vaisala frequency.
RHO0 = 1025.0d0 ! kg/m3
BVF_BAK = 1.0d-4 ! 1/s2
! Time-stamp assigned for model initialization, reference time
! origin for tidal forcing, and model reference time for output
! NetCDF units attribute.
DSTART = 36762.0d0 ! days
TIDE_START = -693962.0d0 ! days
TIME_REF = 19000101.0d0 ! yyyymmdd.dd
! Nudging/relaxation time scales, inverse scales will be computed
! internally, [1:Ngrids].
TNUDG == 2*360.0d0 ! days
ZNUDG == 360.0d0 ! days
M2NUDG == 360.0d0 ! days
M3NUDG == 360.0d0 ! days
! Factor between passive (outflow) and active (inflow) open boundary
! conditions, [1:Ngrids]. If OBCFAC > 1, nudging on inflow is stronger
! than on outflow (recommended).
OBCFAC == 120.0d0 ! nondimensional
! Linear equation of State parameters:
R0 == 1027.0d0 ! kg/m3
T0 == 10.0d0 ! Celsius
S0 == 35.0d0 ! PSU
TCOEF == 1.7d-4 ! 1/Celsius
SCOEF == 7.6d-4 ! 1/PSU
! Slipperiness parameter: 1.0 (free slip) or -1.0 (no slip)
GAMMA2 == 1.0d0
! Starting (DstrS) and ending (DendS) day for adjoint sensitivity forcing.
! DstrS must be less or equal to DendS. If both values are zero, their
! values are reset internally to the full range of the adjoint integration.
DstrS == 0.0d0 ! starting day
DendS == 0.0d0 ! ending day
! Starting and ending vertical levels of the 3D adjoint state variables
! whose sensitivity is required.
KstrS == 1 ! starting level
KendS == 1 ! ending level
! Logical switches (TRUE/FALSE) to specify the adjoint state variables
! whose sensitivity is required.
Lstate(isFsur) == F ! free-surface
Lstate(isUbar) == F ! 2D U-momentum
Lstate(isVbar) == F ! 2D V-momentum
Lstate(isUvel) == F ! 3D U-momentum
Lstate(isVvel) == F ! 3D V-momentum
! Logical switches (TRUE/FALSE) to specify the adjoint state tracer
! variables whose sensitivity is required (NT values are expected).
Lstate(isTvar) == F F ! tracers
! Stochastic optimals time decorrelation scale (days) assumed for
! red noise processes.
SO_decay == 2.0d0 ! days
! Logical switches (TRUE/FALSE) to specify the state surface forcing
! variable whose stochastic optimals is required.
SOstate(isUstr) == T ! surface u-stress
SOstate(isVstr) == T ! surface v-stress
! Logical switches (TRUE/FALSE) to specify the surface tracer forcing
! variable whose stochastic optimals is required (NT values are expected).
SOstate(isTsur) == F F ! surface tracer flux
! Stochastic optimals surface forcing standard deviation for
! dimensionalization.
SO_sdev(isUstr) == 1.0d0 ! surface u-stress
SO_sdev(isVstr) == 1.0d0 ! surface v-stress
SO_sdev(isTsur) == 1.0d0 1.0d0 ! NT surface tracer flux
! Logical switches (TRUE/FALSE) to activate writing of fields into
! HISTORY output file.
Hout(idUvel) == T ! 3D U-velocity
Hout(idVvel) == T ! 3D V-velocity
Hout(idWvel) == T ! 3D W-velocity
Hout(idOvel) == T ! omega vertical velocity
Hout(idUbar) == T ! 2D U-velocity
Hout(idVbar) == T ! 2D V-velocity
Hout(idFsur) == T ! free-surface
Hout(idTvar) == T T ! temperature and salinity
Hout(idUair) == F ! surface U-wind
Hout(idVair) == F ! surface V-wind
Hout(idUsms) == T ! surface U-stress
Hout(idVsms) == T ! surface V-stress
Hout(idUbms) == T ! bottom U-stress
Hout(idVbms) == T ! bottom V-stress
Hout(idUbrs) == F ! bottom U-current stress
Hout(idVbrs) == F ! bottom V-current stress
Hout(idUbws) == F ! bottom U-wave stress
Hout(idVbws) == F ! bottom V-wave stress
Hout(idUbcs) == F ! bottom max wave-current U-stress
Hout(idVbcs) == F ! bottom max wave-current V-stress
Hout(idUbot) == F ! bed wave orbital U-velocity
Hout(idVbot) == F ! bed wave orbital V-velocity
Hout(idUbur) == F ! bottom U-velocity above bed
Hout(idVbvr) == F ! bottom V-velocity above bed
Hout(idTsur) == T T ! surface net heat and salt flux
Hout(idLhea) == T ! latent heat flux
Hout(idShea) == T ! sensible heat flux
Hout(idLrad) == T ! longwave radiation flux
Hout(idSrad) == T ! shortwave radiation flux
Hout(idEmPf) == F ! E-P flux
Hout(idevap) == F ! evaporation rate
Hout(idrain) == F ! precipitation rate
Hout(idDano) == F ! density anomaly
Hout(idVvis) == T ! vertical viscosity
Hout(idTdif) == T ! vertical T-diffusion
Hout(idSdif) == F ! vertical Salinity diffusion
Hout(idHsbl) == T ! depth of surface boundary layer
Hout(idHbbl) == F ! depth of bottom boundary layer
Hout(idMtke) == F ! turbulent kinetic energy
Hout(idMtls) == F ! turbulent length scale
! Logical switches (TRUE/FALSE) to activate writing of ice prognostic
! variables into HISTORY output file.
Hout(idUice) == T
Hout(idVice) == T
Hout(idAice) == T
Hout(idHice) == T
Hout(idTice) == T
Hout(idHsno) == T
Hout(idTimid) == T
Hout(idSfwat) == T
Hout(idTauiw) == F
Hout(idChuiw) == F
Hout(idAgeice) == T
Hout(idSig11) == T
Hout(idSig12) == T
Hout(idSig22) == T
Hout(idS0mk) == T
Hout(idT0mk) == T
Hout(idWfr) == T
Hout(idWai) == T
Hout(idWao) == T
Hout(idWio) == T
Hout(idWro) == T
! Logical switches (TRUE/FALSE) to activate writing of extra inert passive
! tracers other than biological and sediment tracers. An inert passive tracer
! is one that it is only advected and diffused. Other processes are ignored.
! These tracers include, for example, dyes, pollutants, oil spills, etc.
! NPT values are expected. However, these switches can be activated using
! compact parameter specification.
Hout(inert) == T ! inert passive tracers
! Logical switches (TRUE/FALSE) to activate writing of exposed sediment
! layer properties into HISTORY output file. Currently, MBOTP properties
! are expected for the bottom boundary layer and/or sediment models:
!
! Hout(idBott(isd50)), isd50 = 1 ! mean grain diameter
! Hout(idBott(idens)), idens = 2 ! mean grain density
! Hout(idBott(iwsed)), iwsed = 3 ! mean settling velocity
! Hout(idBott(itauc)), itauc = 4 ! critical erosion stress
! Hout(idBott(irlen)), irlen = 5 ! ripple length
! Hout(idBott(irhgt)), irhgt = 6 ! ripple height
! Hout(idBott(ibwav)), ibwav = 7 ! wave excursion amplitude
! Hout(idBott(izdef)), izdef = 8 ! default bottom roughness
! Hout(idBott(izapp)), izapp = 9 ! apparent bottom roughness
! Hout(idBott(izNik)), izNik = 10 ! Nikuradse bottom roughness
! Hout(idBott(izbio)), izbio = 11 ! biological bottom roughness
! Hout(idBott(izbfm)), izbfm = 12 ! bed form bottom roughness
! Hout(idBott(izbld)), izbld = 13 ! bed load bottom roughness
! Hout(idBott(izwbl)), izwbl = 14 ! wave bottom roughness
! Hout(idBott(iactv)), iactv = 15 ! active layer thickness
! Hout(idBott(ishgt)), ishgt = 16 ! saltation height
!
! 1 1 1 1 1 1 1
! 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
Hout(idBott) == T T T T T T T T T F F F F F F F
! Logical switches (TRUE/FALSE) to activate writing of time-averaged
! fields into AVERAGE output file.
Aout(idUvel) == T ! 3D U-velocity
Aout(idVvel) == T ! 3D V-velocity
Aout(idWvel) == T ! 3D W-velocity
Aout(idOvel) == T ! omega vertical velocity
Aout(idUbar) == T ! 2D U-velocity
Aout(idVbar) == T ! 2D V-velocity
Aout(idFsur) == T ! free-surface
Aout(idTvar) == T T ! temperature and salinity
Aout(idUsms) == F ! surface U-stress
Aout(idVsms) == F ! surface V-stress
Aout(idUbms) == F ! bottom U-stress
Aout(idVbms) == F ! bottom V-stress
Aout(idW2xx) == F ! 2D radiation stress, Sxx component
Aout(idW2xy) == F ! 2D radiation stress, Sxy component
Aout(idW2yy) == F ! 2D radiation stress, Syy component
Aout(idU2rs) == F ! 2D radiation U-stress
Aout(idV2rs) == F ! 2D radiation V-stress
Aout(idU2Sd) == F ! 2D U-Stokes velocity
Aout(idV2Sd) == F ! 2D V-Stokes velocity
Aout(idW3xx) == F ! 3D radiation stress, Sxx component
Aout(idW3xy) == F ! 3D radiation stress, Sxy component
Aout(idW3yy) == F ! 3D radiation stress, Syy component
Aout(idW3zx) == F ! 3D radiation stress, Szx component
Aout(idW3zy) == F ! 3D radiation stress, Szy component
Aout(idU3rs) == F ! 3D U-radiation stress
Aout(idV3rs) == F ! 3D V-radiation stress
Aout(idU3Sd) == F ! 3D U-Stokes velocity
Aout(idV3Sd) == F ! 3D V-Stokes velocity
Aout(idTsur) == T T ! surface net heat and salt flux
Aout(idLhea) == T ! latent heat flux
Aout(idShea) == T ! sensible heat flux
Aout(idLrad) == T ! longwave radiation flux
Aout(idSrad) == T ! shortwave radiation flux
Aout(idevap) == T ! evaporation rate
Aout(idrain) == T ! precipitation rate
Aout(idDano) == T ! density anomaly
Aout(idVvis) == T ! vertical viscosity
Aout(idTdif) == F ! vertical T-diffusion
Aout(idSdif) == F ! vertical Salinity diffusion
Aout(idHsbl) == T ! depth of surface boundary layer
Aout(idHbbl) == T ! depth of bottom boundary layer
Aout(id2dRV) == F ! 2D relative vorticity
Aout(id3dRV) == F ! 3D relative vorticity
Aout(id2dPV) == F ! 2D potential vorticity
Aout(id3dPV) == F ! 3D potential vorticity
Aout(idu3dD) == F ! detided 3D U-velocity
Aout(idv3dD) == F ! detided 3D V-velocity
Aout(idu2dD) == F ! detided 2D U-velocity
Aout(idv2dD) == F ! detided 2D V-velocity
Aout(idFsuD) == F ! detided free-surface
Aout(idTrcD) == F F ! detided temperature and salinity
Aout(idHUav) == F ! u-volume flux, Huon
Aout(idHVav) == F ! v-volume flux, Hvom
Aout(idUUav) == F ! quadratic <u*u> term
Aout(idUVav) == F ! quadratic <u*v> term
Aout(idVVav) == F ! quadratic <v*v> term
Aout(idU2av) == F ! quadratic <ubar*ubar> term
Aout(idV2av) == F ! quadratic <vbar*vbar> term
Aout(idZZav) == F ! quadratic <zeta*zeta> term
Aout(idTTav) == F F ! quadratic <t*t> T/S terms
Aout(idUTav) == F F ! quadratic <u*t> T/S terms
Aout(idVTav) == F F ! quadratic <v*t> T/S terms
Aout(iHUTav) == F F ! T/S volume flux, <Huon*t>
Aout(iHVTav) == F F ! T/S volume flux, <Hvom*t>
! Logical switches (TRUE/FALSE) to activate writing of ice prognostic
! variables into AVERAGES output file.
Aout(idUice) == T
Aout(idVice) == T
Aout(idAice) == T
Aout(idHice) == T
Aout(idTice) == T
Aout(idHsno) == T
Aout(idTimid) == T
Aout(idSfwat) == T
Aout(idTauiw) == F
Aout(idChuiw) == F
Aout(idAgeice) == T
Aout(idSig11) == T
Aout(idSig12) == T
Aout(idSig22) == T
Aout(idS0mk) == T
Aout(idT0mk) == T
Aout(idWfr) == T
Aout(idWai) == T
Aout(idWao) == T
Aout(idWio) == T
Aout(idWro) == T
! Logical switches (TRUE/FALSE) to activate writing of extra inert passive
! tracers other than biological and sediment tracers into the AVERAGE file.
Aout(inert) == T ! inert passive tracers
! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
! 2D momentum (ubar,vbar) diagnostic terms into DIAGNOSTIC output file.
Dout(M2rate) == T ! acceleration
Dout(M2pgrd) == T ! pressure gradient
Dout(M2fcor) == T ! Coriolis force
Dout(M2hadv) == T ! horizontal total advection
Dout(M2xadv) == T ! horizontal XI-advection
Dout(M2yadv) == T ! horizontal ETA-advection
Dout(M2hrad) == T ! horizontal total radiation stress
Dout(M2hvis) == T ! horizontal total viscosity
Dout(M2xvis) == T ! horizontal XI-viscosity
Dout(M2yvis) == T ! horizontal ETA-viscosity
Dout(M2sstr) == T ! surface stress
Dout(M2bstr) == T ! bottom stress
! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
! 3D momentum (u,v) diagnostic terms into DIAGNOSTIC output file.
Dout(M3rate) == T ! acceleration
Dout(M3pgrd) == T ! pressure gradient
Dout(M3fcor) == T ! Coriolis force
Dout(M3hadv) == T ! horizontal total advection
Dout(M3xadv) == T ! horizontal XI-advection
Dout(M3yadv) == T ! horizontal ETA-advection
Dout(M3vadv) == T ! vertical advection
Dout(M3hrad) == T ! horizontal total radiation stress
Dout(M3vrad) == T ! vertical radiation stress
Dout(M3hvis) == T ! horizontal total viscosity
Dout(M3xvis) == T ! horizontal XI-viscosity
Dout(M3yvis) == T ! horizontal ETA-viscosity
Dout(M3vvis) == T ! vertical viscosity
! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
! active (temperature and salinity) and passive (inert) tracer diagnostic
! terms into DIAGNOSTIC output file: [1:NAT+NPT,Ngrids].
Dout(iTrate) == T T ! time rate of change
Dout(iThadv) == T T ! horizontal total advection
Dout(iTxadv) == T T ! horizontal XI-advection
Dout(iTyadv) == T T ! horizontal ETA-advection
Dout(iTvadv) == T T ! vertical advection
Dout(iThdif) == T T ! horizontal total diffusion
Dout(iTxdif) == T T ! horizontal XI-diffusion
Dout(iTydif) == T T ! horizontal ETA-diffusion
Dout(iTsdif) == T T ! horizontal S-diffusion
Dout(iTvdif) == T T ! vertical diffusion
! Generic User parameters, [1:NUSER].
NUSER = 0
USER = 0.d0
! NetCDF-4/HDF5 compression parameters for output files.
NC_SHUFFLE = 1 ! if non-zero, turn on shuffle filter
NC_DEFLATE = 1 ! if non-zero, turn on deflate filter
NC_DLEVEL = 1 ! deflate level [0-9]
! Input NetCDF file names, [1:Ngrids].
GRDNAME == /workdir/users/kate/Bering/Files/Bering_grid_4.nc
! ININAME == bering_rst.nc
ININAME == /workdir/users/kate/Bering/Files/Bering_ini_fall_2000.nc
ITLNAME == ocean_itl.nc
IRPNAME == ocean_irp.nc
IADNAME == ocean_iad.nc
CLMNAME == ocean_clm.nc
BRYNAME == /workdir/users/kate/Bering/Files/Bering_soda_bry.nc
FWDNAME == ocean_fwd.nc
ADSNAME == ocean_ads.nc
! Input forcing NetCDF file name(s). The USER has the option to enter
! several files names per each nested grid. For example, the USER may
! have a different files for wind products, heat fluxes, rivers, tides,
! etc. The model will scan the file list and will read the needed data
! from the first file in the list containing the forcing field. Therefore,
! the order of the file names is very important. If multiple forcing
! files per grid, enter first all the file names for grid 1, then grid 2,
! and so on. Use a single line per entry with a continuation (\) symbol
! at the each entry, except the last one.
NFFILES == 11 ! number of forcing files
FRCNAME == /workdir/users/kate/Bering/Files/Pair.1948-2006.nc \
/workdir/users/kate/Bering/Files/lwrad.1948-2006.nc \
/workdir/users/kate/Bering/Files/Qair.1948-2006.nc \
/workdir/users/kate/Bering/Files/swrad.1948-2006.nc \
/workdir/users/kate/Bering/Files/Tair.1948-2006.nc \
/workdir/users/kate/Bering/Files/Uwind.1948-2006.nc \
/workdir/users/kate/Bering/Files/Vwind.1948-2006.nc \
/workdir/users/kate/Bering/Files/CCSM_Runoff.nc \
/workdir/users/kate/Bering/Files/sss_fill_2004.nc \
/workdir/users/kate/Bering/Files/rain.1948-2006.nc \
/workdir/users/kate/Bering/Files/bering_tides_otps.nc
! Output NetCDF file names, [1:Ngrids].
GSTNAME == ocean_gst.nc
RSTNAME == bering_rst.nc
HISNAME == bering_his.nc
TLMNAME == bering_tlm.nc
TLFNAME == ocean_tlf.nc
ADJNAME == bering_tlm.nc
AVGNAME == bering_avg.nc
DIANAME == bering_dia.nc
STANAME == bering_sta.nc
FLTNAME == bering_flt.nc
! Input ASCII parameter filenames.
APARNAM = External/assimilation.in
SPOSNAM = External/stations_bering.in
FPOSNAM = External/floats_bering.in
IPARNAM = External/ice.in
BPARNAM = External/bio_Fennel.in
SPARNAM = External/sediment.in
USRNAME = External/MyFile.dat
!
! GLOSSARY:
! =========
!
!------------------------------------------------------------------------------
! Application title (string with a maximum of eighty characters) and
! C-preprocessing flag.
!------------------------------------------------------------------------------
!
! TITLE Application title.
!
! MyAppCPP Application C-preprocession option.
!
!------------------------------------------------------------------------------
! Variable information file name (string with a maximum of 256 characters).
!------------------------------------------------------------------------------
!
! VARNAME Input/Output variable information file name. This file need to
! be processed first so all information arrays and indices can be
! initialized properly in "mod_ncparam.F".
!
!------------------------------------------------------------------------------
! Nested grid parameters.
!------------------------------------------------------------------------------
!
! Ngrids Number of nested grids. It needs to be read at the top of all
! other parameters in order to allocate all model variables.
!
!------------------------------------------------------------------------------
! Grid dimension parameters.
!------------------------------------------------------------------------------+!
! These parameters are very important since it determine the grid of the
! application to solve. They need to be read first in order to dynamically
! allocate all model variables.
!
! WARNING: It is trivial and posible to change these dimension parameters in
! ------- idealized applications via analytical expressions. However, in
! realistic applications any change to these parameters requires redoing all
! input NetCDF files.
!
! Lm Number of INTERIOR grid RHO-points in the XI-direction for
! each nested grid, [1:Ngrids]. If using NetCDF files as
! input, Lm=xi_rho-2 where "xi_rho" is the NetCDF file
! dimension of RHO-points. Recall that all RHO-point
! variables have a computational I-range of [0:Lm+1].
!
! Mm Number of INTERIOR grid RHO-points in the ETA-direction for
! each nested grid, [1:Ngrids]. If using NetCDF files as
! input, Mm=eta_rho-2 where "eta_rho" is the NetCDF file
! dimension of RHO-points. Recall that all RHO-point
! variables have a computational J-range of [0:Mm+1].
!
! N Number of vertical terrain-following levels at RHO-points,
! [1:Ngrids].
!
! Nbed Number of sediment bed layers, [1:Ngrids]. This parameter
! is only relevant if CPP option SEDIMENT is activated.
!
! Mm+1 ___________________ _______ Kw = N
! | | | |
! Mm | _____________ | | | Kr = N
! | | | | |_______|
! | | | | | |
! Jr | | | | | |
! | | | | |_______|
! | | | | | |
! 1 | |_____________| | | |
! | | |_______|
! 0 |___________________| | |
! Ir | | 1
! 0 1 Lm Lm+1 h(i,j) |_______|
! ::::::::: 0
! :::::::::
! ::::::::: Nbed-1
! ::::::::: Nbed
!
! NAT Number of active tracer type variables. Usually, NAT=2 for
! potential temperature and salinity.
!
! NPT Number of inert (dyes, age, etc) passive tracer type variables
! to advect and diffuse only. This parameter is only relevant
! if CPP option T_PASSIVE is activated.
!
! NCS Number of cohesive (mud) sediment tracer type variables. This
! parameter is only relevant if CPP option SEDIMENT is
! activated.
!
! NNS Number of non-cohesive (sand) sediment tracer type variables.
! This parameter is only relevant if CPP option SEDIMENT is
! activated.
!
! The total of sediment tracers is NST=NCS+NNS. Notice that
! NST must be greater than zero (NST>0).
!
!------------------------------------------------------------------------------
! Domain tile partition parameters.
!------------------------------------------------------------------------------
!
! Model tile decomposition parameters for serial and parallel configurations
! which are used to determine tile horizontal range indices (Istr,Iend) and
! (Jstr,Jend). In some computers, it is advantageous to have tile partitions
! in serial applications.
!
! NtileI Number of domain partitions in the I-direction (XI-coordinate).
! It must be equal or greater than one.
!
! NtileJ Number of domain partitions in the J-direction (ETA-coordinate).
! It must be equal or greater than one.
!
! WARNING: In shared-memory (OpenMP), the product of NtileI and NtileJ must
! be a MULTIPLE of the number of parallel threads specified with
! the OpenMP environmental variable OMP_NUM_THREADS.
!
! In distributed-memory (MPI), the product of NtileI and NtileJ
! must be EQUAL to the number of parallel nodes specified during
! execution with the "mprun" or "mpirun" command.
!
!------------------------------------------------------------------------------
! Time-Stepping parameters.
!------------------------------------------------------------------------------
!
! NTIMES Total number time-steps in current run. If 3D configuration,
! NTIMES is the total of baroclinic time-steps. If only 2D
! configuration, NTIMES is the total of barotropic time-steps.
!
! DT Time-Step size in seconds. If 3D configuration, DT is the
! size of baroclinic time-step. If only 2D configuration, DT
! is the size of the barotropic time-step.
!
! NDTFAST Number of barotropic time-steps between each baroclinic time
! step. If only 2D configuration, NDTFAST should be unity since
! there is not need to splitting time-stepping.
!
!------------------------------------------------------------------------------
! Model iteration loops parameters.
!------------------------------------------------------------------------------
!
! ERstr Starting ensemble run (perturbation or iteration) number.
!
! ERend Ending ensemble run (perturbation or iteration) number.
!
! Nouter Maximum number of 4DVAR outer loop iterations.
!
! Ninner Maximum number of 4DVAR inner loop iterations.
!
! Nintervals Number of time interval divisions for stochastic optimals
! computations. It must be a multiple of NTIMES. The tangent
! linear model (TLM) and the adjoint model (ADM) are integrated
! forward and backward in different intervals. For example,
! if Nintervals=3,
!
! 1 NTIMES/3 2*NTIMES/3 NTIMES
! +..................+..................+..................+
! <========================================================> (1)
! <=====================================> (2)
! <==================> (3)
!
! In the first iteration (1), the TLM is integrated forward from
! 1 to NTIMES and the ADM is integrated backward from NTIMES to 1.
! In the second iteration (2), the TLM is integrated forward from
! NTIMES/3 to NTIMES and the ADM is integrated backward from
! NTIMES to NTIMES/3. And so on.
!
!------------------------------------------------------------------------------
! Eigenproblem parameters.
!------------------------------------------------------------------------------
!
! NEV Number of eigenvalues to compute for the Lanczos/Arnoldi
! problem. Notice that the model memory requirement increases
! substantially as NEV increases. The GST requires NEV+1
! copies of the model state vector. The memory requirements
! are decreased in distributed-memory applications.
!
! NCV Number of eigenvectors to compute for the Lanczos/Arnoldi
! problem. NCV must be greater than NEV.
!
! At present, there is no a-priori analysis to guide the selection of NCV
! relative to NEV. The only formal requirement is that NCV > NEV. However
! in optimal perturbations, it is recommended to have NCV greater than or
! equal to 2*NEV. In Finite Time Eigenmodes (FTE) and Adjoint Finite Time
! Eigenmodes (AFTE) the requirement is to have NCV greater than or equal to
! 2*NEV+1.
!
! The efficiency of calculations depends critically on the combination of
! NEV and NCV. If NEV is large (greater than 10 say), you can use NCV=2*NEV+1
! but for NEV small (less than 6) it will be inefficient to use NCV=2*NEV+1.
! In complicated applications, you can start with NEV=2 and NCV=10. Otherwise,
! it will iterate for very long time.
!
!------------------------------------------------------------------------------
! Input/Output parameters.
!------------------------------------------------------------------------------
!
! NRREC Switch to indicate re-start from a previous solution. Use
! NRREC=0 for new solutions. In a re-start solution, NRREC
! is the time index of the re-start NetCDF file assigned for
! initialization. If NRREC is negative (said NRREC=-1), the
! model will re-start from the most recent time record. That
! is, the initialization record is assigned internally.
! Notice that it is also possible to re-start from a history
! or time-averaged NetCDF files. If a history file is used
! for re-start, it must contains all the necessary primitive
! variables at all levels.
!
! LcycleRST Logical switch (T/F) used to recycle time records in output
! re-start file. If TRUE, only the latest two re-start time
! records are maintained. If FALSE, all re-start fields are
! saved every NRST time-steps without recycling. The re-start
! fields are written at all levels in double precision.
!
! NRST Number of time-steps between writing of re-start fields.
!
! NSTA Number of time-steps between writing data into stations file.
! Station data is written at all levels.
!
! NFLT Number of time-steps between writing data into floats file.
!
! NINFO Number of time-steps between print of single line information
! to standard output. If also determines the interval between
! computation of global energy diagnostics.
!
!------------------------------------------------------------------------------
! Output history and average files parameters.
!------------------------------------------------------------------------------
!
! LDEFOUT Logical switch (T/F) used to create new output files when
! initializing from a re-start file, abs(NRREC) > 0. If TRUE
! and applicable, a new history, average, diagnostic and
! station files are created during the initialization stage.
! If FALSE and applicable, data is appended to an existing
! history, average, diagnostic and station files. See also
! parameters NDEFHIS, NDEFAVG and NDEFDIA below.
!
! NHIS Number of time-steps between writing fields into history file.
!
! NDEFHIS Number of time-steps between the creation of new history file.
! If NDEFHIS=0, the model will only process one history file.
! This feature is useful for long simulations when history files
! get too large; it creates a new file every NDEFHIS time-steps.
!
! NTSAVG Starting time-step for the accumulation of output time-averaged
! data.
!
! NAVG Number of time-steps between writing time-averaged data
! into averages file. Averaged date is written for all fields.
!
! NDEFAVG Number of time-steps between the creation of new average
! file. If NDEFAVG=0, the model will only process one average
! file. This feature is useful for long simulations when
! average files get too large; it creates a new file every
! NDEFAVG time-steps.
!
! NTSDIA Starting time-step for the accumulation of output time-averaged
! diagnostics data.
!
! NDIA Number of time-steps between writing time-averaged diagnostics
! data into diagnostics file. Averaged date is written for all
! fields.
!
! NDEFDIA Number of time-steps between the creation of new time-averaged
! diagnostics file. If NDEFDIA=0, the model will only process one
! diagnostics file. This feature is useful for long simulations
! when diagnostics files get too large; it creates a new file
! every NDEFDIA time-steps.
!
!------------------------------------------------------------------------------
! Output tangent linear and adjoint model parameters.
!------------------------------------------------------------------------------
!
! LcycleTLM Logical switch (T/F) used to recycle time records in output
! tangent linear file. If TRUE, only the latest two time
! records are maintained. If FALSE, all tangent linear fields
! are saved every NTLM time-steps without recycling.
!
! NTLM Number of time-steps between writing fields into tangent linear
! model file.
!
! NDEFTLM Number of time-steps between the creation of new tangent linear
! file. If NDEFTLM=0, the model will only process one tangent
! linear file. This feature is useful for long simulations when
! output NetCDF files get too large; it creates a new file every
! NDEFTLM time-steps.
!
! LcycleADJ Logical switch (T/F) used to recycle time records in output
! adjoint file. If TRUE, only the latest two time records are
! maintained. If FALSE, all tangent linear fields re saved
! every NADJ time-steps without recycling.
!
! NADJ Number of time-steps between writing fields into adjoint model
! file.
!
! NDEFADJ Number of time-steps between the creation of new adjoint file.
! If NDEFADJ=0, the model will only process one adjoint file.
! This feature is useful for long simulations when output NetCDF
! files get too large; it creates a new file every NDEFADJ
! time-steps.
!
!------------------------------------------------------------------------------
! Generalized Stability Theory (GST) analysis parameters.
!------------------------------------------------------------------------------
!
! LrstGST Logical switch (TRUE/FALSE) to restart GST analysis. If TRUE,
! the check pointing data is read in from the GST restart NetCDF
! file. If FALSE and applicable, the check pointing GST data is
! saved and overwritten every NGST iterations of the algorithm.
!
! MaxIterGST Maximum number of GST algorithm iterations.
!
! NGST Number of GST iterations between storing of check pointing
! data into NetCDF file. The restart data is always saved if
! MaxIterGST is reached without convergence. It is also saved
! when convergence is achieved. It is always a good idea to
! save the check pointing data at regular intervals so there
! is a mechanism to recover from an unexpected interruption
! in this very expensive computation. The check pointing data
! can be used also to recompute the Ritz vectors by changing
! some of the parameters, like convergence criteria (Ritz_tol)
! and number of Arnoldi iterations (iparam(3)).
!
! Ritz_tol Relative accuracy of the Ritz values computed in the GST
! analysis.
!
!------------------------------------------------------------------------------
! Harmonic/Biharmonic horizontal diffusion for active tracers.
!------------------------------------------------------------------------------
!
! TNU2 Lateral, harmonic, constant, mixing coefficient (m2/s) for
! active (NAT) and inert (NPT) tracer variables. If variable
! horizontal diffusion is activated, TNU2 is the mixing
! coefficient for the largest grid-cell in the domain.
!
! TNU4 Lateral, biharmonic, constant, mixing coefficient (m4/s) for
! active (NAT) and inert (NPT) tracer variables. If variable
! horizontal diffusion is activated, TNU4 is the mixing
! coefficient for the largest grid-cell in the domain.
!
!------------------------------------------------------------------------------
! Harmonic/biharmonic horizontal viscosity coefficients.
!------------------------------------------------------------------------------
!
! VISC2 Lateral, harmonic, constant, mixing coefficient (m2/s) for
! momentum. If variable horizontal viscosity is activated, UVNU2
! is the mixing coefficient for the largest grid-cell in the
! domain.
!
! VISC4 Lateral, biharmonic, constant mixing coefficient (m4/s) for
! momentum. If variable horizontal viscosity is activated, UVNU4
! is the mixing coefficient for the largest grid-cell in the
! domain.
!
!------------------------------------------------------------------------------
! Vertical mixing coefficients for active tracers.
!------------------------------------------------------------------------------
!
! AKT_BAK Background vertical mixing coefficient (m2/s) for active
! (NAT) and inert (NPT) tracer variables.
!
!------------------------------------------------------------------------------
! Vertical mixing coefficient for momentum.
!------------------------------------------------------------------------------
!