Ticket #661: ocean_lake_jersey.in

File ocean_lake_jersey.in, 117.1 KB (added by m.hadfield, 10 years ago)

Lake Jersey input file: non-nested run

Line 
1!
2! ROMS/TOMS Standard Input parameters.
3!
4!svn $Id$
5!========================================================= Hernan G. Arango ===
6! Copyright (c) 2002-2015 The ROMS/TOMS Group !
7! Licensed under a MIT/X style license !
8! See License_ROMS.txt !
9!==============================================================================
10! !
11! Input parameters can be entered in ANY order, provided that the parameter !
12! KEYWORD (usually, upper case) is typed correctly followed by "=" or "==" !
13! symbols. Any comment lines are allowed and must begin with an exclamation !
14! mark (!) in column one. Comments may appear to the right of a parameter !
15! specification to improve documentation. Comments will be ignored during !
16! reading. Blank lines are also allowed and ignored. Continuation lines in !
17! a parameter specification are allowed and must be preceded by a backslash !
18! (\). In some instances, more than one value is required for a parameter. !
19! If fewer values are provided, the last value is assigned for the entire !
20! parameter array. The multiplication symbol (*), without blank spaces in !
21! between, is allowed for a parameter specification. For example, in a two !
22! grids nested application: !
23! !
24! AKT_BAK == 2*1.0d-6 2*5.0d-6 ! m2/s !
25! !
26! indicates that the first two entries of array AKT_BAK, in fortran column- !
27! major order, will have the same value of "1.0d-6" for grid 1, whereas the !
28! next two entries will have the same value of "5.0d-6" for grid 2. !
29! !
30! In multiple levels of nesting and/or multiple connected domains step-ups, !
31! "Ngrids" entries are expected for some of these parameters. In such case, !
32! the order of the entries for a parameter is extremely important. It must !
33! follow the same order (1:Ngrids) as in the state variable declaration. The !
34! USER may follow the above guidelines for specifying his/her values. These !
35! parameters are marked by "==" plural symbol after the KEYWORD. !
36! !
37! Multiple NetCDF files are allowed for input field(s). This is useful when !
38! splitting input data (climatology, boundary, forcing) time records into !
39! several files (say monthly, annual, etc). In this case, each multiple file !
40! entry line needs to be ended by the vertical bar (|) symbol. For example: !
41! !
42! NFFILES == 7 ! number of forcing files !
43! !
44! FRCNAME == my_tides.nc \ !
45! my_lwrad_year1.nc | !
46! my_lwrad_year2.nc \ !
47! my_swrad_year1.nc | !
48! my_swrad_year2.nc \ !
49! my_winds_year1.nc | !
50! my_winds_year2.nc \ !
51! my_Pair_year1.nc | !
52! my_Pair_year2.nc \ !
53! my_Qair_year1.nc | !
54! my_Qair_year2.nc \ !
55! my_Tair_year1.nc | !
56! my_Tair_year2.nc !
57! !
58! Notice that NFFILES is 7 and not 13. There are 7 uniquely different fields !
59! in the file list, we DO NOT count file entries followed by the vertical !
60! bar symbol. This is because multiple file entries are processed in ROMS !
61! with derived type structures. !
62! !
63!==============================================================================
64!
65! Application title.
66
67 TITLE = Lake Jersey nesting test case with top-right refined grid
68
69! C-preprocessing Flag.
70
71 MyAppCPP = LAKE_JERSEY
72
73! Input variable information file name. This file needs to be processed
74! first so all information arrays can be initialized properly.
75
76 VARNAME = ../../External/varinfo.dat
77
78! Number of nested grids.
79
80 Ngrids = 1
81
82! Number of grid nesting layers. This parameter is used to allow refinement
83! and composite grid combinations.
84
85 NestLayers = 1
86
87! Number of grids in each nesting layer [1:NestLayers].
88
89GridsInLayer = 1
90
91! Grid dimension parameters. See notes below in the Glossary for how to set
92! these parameters correctly.
93
94 Lm == 100 ! Number of I-direction INTERIOR RHO-points
95 Mm == 80 ! Number of J-direction INTERIOR RHO-points
96 N == 8 ! Number of vertical levels
97
98 Nbed = 1 ! Number of sediment bed layers
99
100 NAT = 2 ! Number of active tracers (usually, 2)
101 NPT = 0 ! Number of inactive passive tracers
102 NCS = 2 ! Number of cohesive (mud) sediment tracers
103 NNS = 1 ! Number of non-cohesive (sand) sediment tracers
104
105! Domain decomposition parameters for serial, distributed-memory or
106! shared-memory configurations used to determine tile horizontal range
107! indices (Istr,Iend) and (Jstr,Jend), [1:Ngrids].
108
109 NtileI == 1 ! I-direction partition
110 NtileJ == 1 ! J-direction partition
111
112! Set lateral boundary conditions keyword. Notice that a value is expected
113! for each boundary segment per nested grid for each state variable.
114!
115! Each tracer variable requires [1:4,1:NAT+NPT,Ngrids] values. Otherwise,
116! [1:4,1:Ngrids] values are expected for other variables. The boundary
117! order is: 1=west, 2=south, 3=east, and 4=north. That is, anticlockwise
118! starting at the western boundary.
119!
120! The keyword is case insensitive and usually has three characters. However,
121! it is possible to have compound keywords, if applicable. For example, the
122! keyword "RadNud" implies radiation boundary condition with nudging. This
123! combination is usually used in active/passive radiation conditions.
124!
125! Keyword Lateral Boundary Condition Type
126!
127! Cha Chapman_implicit (free-surface)
128! Che Chapman_explicit (free-surface)
129! Cla Clamped
130! Clo Closed
131! Fla Flather (2D momentum) _____N_____ j=Mm
132! Gra Gradient | 4 |
133! Nes Nested (refinement) | |
134! Nud Nudging 1 W E 3
135! Per Periodic | |
136! Rad Radiation |_____S_____|
137! Red Reduced Physics (2D momentum) 2 j=1
138! Shc Shchepetkin (2D momentum) i=1 i=Lm
139!
140! W S E N
141! e o a o
142! s u s r
143! t t t t
144! h h
145!
146! 1 2 3 4
147
148 LBC(isFsur) == Clo Clo Clo Clo ! free-surface
149 LBC(isUbar) == Clo Clo Clo Clo ! 2D U-momentum
150 LBC(isVbar) == Clo Clo Clo Clo ! 2D V-momentum
151 LBC(isUvel) == Clo Clo Clo Clo ! 3D U-momentum
152 LBC(isVvel) == Clo Clo Clo Clo ! 3D V-momentum
153 LBC(isMtke) == Clo Clo Clo Clo ! mixing TKE
154
155 LBC(isTvar) == Clo Clo Clo Clo \ ! temperature
156 Clo Clo Clo Clo ! salinity
157
158! Adjoint-based algorithms can have different lateral boundary
159! conditions keywords.
160
161ad_LBC(isFsur) == Clo Clo Clo Clo ! free-surface
162ad_LBC(isUbar) == Clo Clo Clo Clo ! 2D U-momentum
163ad_LBC(isVbar) == Clo Clo Clo Clo ! 2D V-momentum
164ad_LBC(isUvel) == Clo Clo Clo Clo ! 3D U-momentum
165ad_LBC(isVvel) == Clo Clo Clo Clo ! 3D V-momentum
166ad_LBC(isMtke) == Clo Clo Clo Clo ! mixing TKE
167
168ad_LBC(isTvar) == Clo Clo Clo Clo \ ! temperature
169 Clo Clo Clo Clo ! salinity
170
171! Set lateral open boundary edge volume conservation switch for
172! nonlinear model and adjoint-based algorithms. Usually activated
173! with radiation boundary conditions to enforce global mass
174! conservation, except if tidal forcing is enabled. [1:Ngrids].
175
176 VolCons(west) == F ! western boundary
177 VolCons(east) == F ! eastern boundary
178 VolCons(south) == F ! southern boundary
179 VolCons(north) == F ! northern boundary
180
181ad_VolCons(west) == F ! western boundary
182ad_VolCons(east) == F ! eastern boundary
183ad_VolCons(south) == F ! southern boundary
184ad_VolCons(north) == F ! northern boundary
185
186! Time-Stepping parameters.
187
188 NTIMES == 1440
189 DT == 120.0d0
190 NDTFAST == 30
191
192! Model iteration loops parameters.
193
194 ERstr = 1
195 ERend = 1
196 Nouter = 1
197 Ninner = 1
198 Nintervals = 1
199
200! Number of eigenvalues (NEV) and eigenvectors (NCV) to compute for the
201! Lanczos/Arnoldi problem in the Generalized Stability Theory (GST)
202! analysis. NCV must be greater than NEV (see documentation below).
203
204 NEV = 2 ! Number of eigenvalues
205 NCV = 10 ! Number of eigenvectors
206
207! Input/Output parameters.
208
209 NRREC == 0
210 LcycleRST == T
211 NRST == 60
212 NSTA == 1
213 NFLT == 1
214 NINFO == 1
215
216! Output history, average, diagnostic files parameters.
217
218 LDEFOUT == T
219 NHIS == 15
220 NDEFHIS == 0
221 NTSAVG == 1
222 NAVG == 720
223 NDEFAVG == 0
224 NTSDIA == 1
225 NDIA == 60
226 NDEFDIA == 0
227
228! Output tangent linear and adjoint models parameters.
229
230 LcycleTLM == F
231 NTLM == 60
232 NDEFTLM == 0
233 LcycleADJ == F
234 NADJ == 60
235 NDEFADJ == 0
236 NSFF == 60
237 NOBC == 60
238
239! GST output and check pointing restart parameters.
240
241 LmultiGST = F ! one eigenvector per file
242 LrstGST = F ! GST restart switch
243 MaxIterGST = 500 ! maximum number of iterations
244 NGST = 10 ! check pointing interval
245
246! Relative accuracy of the Ritz values computed in the GST analysis.
247
248 Ritz_tol = 1.0d-15
249
250! Harmonic/biharmonic horizontal diffusion of tracer for nonlinear model
251! and adjoint-based algorithms: [1:NAT+NPT,Ngrids].
252
253 TNU2 == 2*0.0d0 ! m2/s
254 TNU4 == 2*0.0d0 ! m4/s
255
256 ad_TNU2 == 2*0.0d0 ! m2/s
257 ad_TNU4 == 2*0.0d0 ! m4/s
258
259! Harmonic/biharmonic, horizontal viscosity coefficient for nonlinear model
260! and adjoint-based algorithms: [Ngrids].
261
262 VISC2 == 0.0d0 ! m2/s
263 VISC4 == 0.0d0 ! m4/s
264
265 ad_VISC2 == 0.0d0 ! m2/s
266 ad_VISC4 == 0.0d0 ! m4/s
267
268! Logical switches (TRUE/FALSE) to increase/decrease horizontal viscosity
269! and/or diffusivity in specific areas of the application domain (like
270! sponge areas) for the desired application grid.
271
272 LuvSponge == F ! horizontal momentum
273LtracerSponge == F F ! temperature, salinity, inert
274
275! Vertical mixing coefficients for tracers in nonlinear model and
276! basic state scale factor in adjoint-based algorithms: [1:NAT+NPT,Ngrids]
277
278 AKT_BAK == 2*5.0d-6 ! m2/s
279
280 ad_AKT_fac == 2*1.0d0 ! nondimensional
281
282! Vertical mixing coefficient for momentum for nonlinear model and
283! basic state scale factor in adjoint-based algorithms: [Ngrids].
284
285 AKV_BAK == 5.0d-5 ! m2/s
286
287 ad_AKV_fac == 1.0d0 ! nondimensional
288
289! Turbulent closure parameters.
290
291 AKK_BAK == 5.0d-6 ! m2/s
292 AKP_BAK == 5.0d-6 ! m2/s
293 TKENU2 == 0.0d0 ! m2/s
294 TKENU4 == 0.0d0 ! m4/s
295
296! Generic length-scale turbulence closure parameters.
297
298 GLS_P == 0.0d0 ! k-kl
299 GLS_M == 1.0d0
300 GLS_N == 1.0d0
301 GLS_Kmin == 5.0d-06
302 GLS_Pmin == 5.0d-06
303
304 GLS_CMU0 == 0.5544d0
305 GLS_C1 == 0.9d0
306 GLS_C2 == 0.52d0
307 GLS_C3M == 2.5d0
308 GLS_C3P == 1.0d0
309 GLS_SIGK == 1.96d0
310 GLS_SIGP == 1.96d0
311
312! Constants used in surface turbulent kinetic energy flux computation.
313
314 CHARNOK_ALPHA == 1400.0d0 ! Charnok surface roughness
315 ZOS_HSIG_ALPHA == 0.5d0 ! roughness from wave amplitude
316 SZ_ALPHA == 0.25d0 ! roughness from wave dissipation
317 CRGBAN_CW == 100.0d0 ! Craig and Banner wave breaking
318
319! Constants used in momentum stress computation.
320
321 RDRG == 3.0d-04 ! m/s
322 RDRG2 == 3.0d-03 ! nondimensional
323 Zob == 0.015d0 ! m
324 Zos == 0.02d0 ! m
325
326! Height (m) of atmospheric measurements for Bulk fluxes parameterization.
327
328 BLK_ZQ == 10.0d0 ! air humidity
329 BLK_ZT == 10.0d0 ! air temperature
330 BLK_ZW == 10.0d0 ! winds
331
332! Minimum depth for wetting and drying.
333
334 DCRIT == 0.10d0 ! m
335
336! Various parameters.
337
338 WTYPE == 1
339 LEVSFRC == 8
340 LEVBFRC == 1
341
342! Set vertical, terrain-following coordinates transformation equation and
343! stretching function (see below for details), [1:Ngrids].
344
345 Vtransform == 1 ! transformation equation
346 Vstretching == 1 ! stretching function
347
348! Vertical S-coordinates parameters (see below for details), [1:Ngrids].
349
350 THETA_S == 1.0d0 ! surface stretching parameter
351 THETA_B == 1.0d0 ! bottom stretching parameter
352 TCLINE == 10.0d0 ! critical depth (m)
353
354! Mean Density and Brunt-Vaisala frequency.
355
356 RHO0 = 1025.0d0 ! kg/m3
357 BVF_BAK = 1.0d-5 ! 1/s2
358
359! Time-stamp assigned for model initialization, reference time
360! origin for tidal forcing, and model reference time for output
361! NetCDF units attribute.
362
363 DSTART = 0.0d0 ! days
364 TIDE_START = 0.0d0 ! days
365 TIME_REF = 0.0d0 ! yyyymmdd.dd
366
367! Nudging/relaxation time scales, inverse scales will be computed
368! internally, [1:Ngrids].
369
370 TNUDG == 2*0.0d0 ! days
371 ZNUDG == 0.0d0 ! days
372 M2NUDG == 0.0d0 ! days
373 M3NUDG == 0.0d0 ! days
374
375! Factor between passive (outflow) and active (inflow) open boundary
376! conditions, [1:Ngrids]. If OBCFAC > 1, nudging on inflow is stronger
377! than on outflow (recommended).
378
379 OBCFAC == 0.0d0 ! nondimensional
380
381! Linear equation of State parameters:
382
383 R0 == 1027.0d0 ! kg/m3
384 T0 == 10.0d0 ! Celsius
385 S0 == 30.0d0 ! nondimensional
386 TCOEF == 1.7d-4 ! 1/Celsius
387 SCOEF == 7.6d-4 ! nondimensional
388
389! Slipperiness parameter: 1.0 (free slip) or -1.0 (no slip)
390
391 GAMMA2 == 1.0d0
392
393! Logical switches (TRUE/FALSE) to activate horizontal momentum transport
394! point Sources/Sinks (like river runoff transport) and mass point
395! Sources/Sinks (like volume vertical influx), [1:Ngrids].
396
397 LuvSrc == F ! horizontal momentum transport
398 LwSrc == F ! volume vertical influx
399
400! Logical switches (TRUE/FALSE) to activate tracers point Sources/Sinks
401! (like river runoff) and to specify which tracer variables to consider:
402! [1:NAT+NPT,Ngrids]. See glossary below for details.
403
404 LtracerSrc == 2*F ! temperature, salinity, inert
405
406! Logical switches (TRUE/FALSE) to read and process climatology fields.
407! See glossary below for details.
408
409 LsshCLM == F ! sea-surface height
410 Lm2CLM == F ! 2D momentum
411 Lm3CLM == F ! 3D momentum
412
413 LtracerCLM == F F ! temperature, salinity, inert
414
415! Logical switches (TRUE/FALSE) to nudge the desired climatology field(s).
416! If not analytical climatology fields, users need to turn ON the logical
417! switches above to process the fields from the climatology NetCDF file
418! that are needed for nudging. See glossary below for details.
419
420 LnudgeM2CLM == F ! 2D momentum
421 LnudgeM3CLM == F ! 3D momentum
422
423 LnudgeTCLM == F F ! temperature, salinity, inert
424
425! Starting (DstrS) and ending (DendS) day for adjoint sensitivity forcing.
426! DstrS must be less or equal to DendS. If both values are zero, their
427! values are reset internally to the full range of the adjoint integration.
428
429 DstrS == 0.0d0 ! starting day
430 DendS == 0.0d0 ! ending day
431
432! Starting and ending vertical levels of the 3D adjoint state variables
433! whose sensitivity is required.
434
435 KstrS == 1 ! starting level
436 KendS == 8 ! ending level
437
438! Logical switches (TRUE/FALSE) to specify the adjoint state variables
439! whose sensitivity is required.
440
441Lstate(isFsur) == F ! free-surface
442Lstate(isUbar) == F ! 2D U-momentum
443Lstate(isVbar) == F ! 2D V-momentum
444Lstate(isUvel) == F ! 3D U-momentum
445Lstate(isVvel) == F ! 3D V-momentum
446
447Lstate(isTvar) == 2*F ! NT tracers
448
449! Logical switches (TRUE/FALSE) to specify the state variables for
450! which Forcing Singular Vectors or Stochastic Optimals is required.
451
452Fstate(isFsur) == F ! free-surface
453Fstate(isUbar) == F ! 2D U-momentum
454Fstate(isVbar) == F ! 2D V-momentum
455Fstate(isUvel) == F ! 3D U-momentum
456Fstate(isVvel) == F ! 3D V-momentum
457Fstate(isTvar) == 2*F ! NT tracers
458
459Fstate(isUstr) == T ! surface U-stress
460Fstate(isVstr) == T ! surface V-stress
461Fstate(isTsur) == 2*F ! NT surface tracers flux
462
463! Stochastic Optimals time decorrelation scale (days) assumed for
464! red noise processes.
465
466 SO_decay == 2.0d0 ! days
467
468! Stochastic Optimals surface forcing standard deviation for
469! dimensionalization.
470
471SO_sdev(isFsur) == 1.0d0 ! free-surface
472SO_sdev(isUbar) == 1.0d0 ! 2D U-momentum
473SO_sdev(isVbar) == 1.0d0 ! 2D V-momentum
474SO_sdev(isUvel) == 1.0d0 ! 3D U-momentum
475SO_sdev(isVvel) == 1.0d0 ! 3D V-momentum
476SO_sdev(isTvar) == 2*1.0d0 ! NT tracers
477
478SO_sdev(isUstr) == 1.0d0 ! surface U-stress
479SO_sdev(isVstr) == 1.0d0 ! surface V-stress
480SO_sdev(isTsur) == 2*1.0d0 ! NT surface tracers flux
481
482! Logical switches (TRUE/FALSE) to activate writing of fields into
483! HISTORY output file.
484
485Hout(idUvel) == T ! u 3D U-velocity
486Hout(idVvel) == T ! v 3D V-velocity
487Hout(idu3dE) == F ! u_eastward 3D U-eastward at RHO-points
488Hout(idv3dN) == F ! v_northward 3D V-northward at RHO-points
489Hout(idWvel) == T ! w 3D W-velocity
490Hout(idOvel) == T ! omega omega vertical velocity
491Hout(idUbar) == T ! ubar 2D U-velocity
492Hout(idVbar) == T ! vbar 2D V-velocity
493Hout(idu2dE) == F ! ubar_eastward 2D U-eastward at RHO-points
494Hout(idv2dN) == F ! vbar_northward 2D V-northward at RHO-points
495Hout(idFsur) == T ! zeta free-surface
496Hout(idBath) == F ! bath time-dependent bathymetry
497
498Hout(idTvar) == 2*T ! temp, salt temperature and salinity
499
500Hout(idUsms) == F ! sustr surface U-stress
501Hout(idVsms) == F ! svstr surface V-stress
502Hout(idUbms) == F ! bustr bottom U-stress
503Hout(idVbms) == F ! bvstr bottom V-stress
504
505Hout(idUbrs) == F ! bustrc bottom U-current stress
506Hout(idVbrs) == F ! bvstrc bottom V-current stress
507Hout(idUbws) == F ! bustrw bottom U-wave stress
508Hout(idVbws) == F ! bvstrw bottom V-wave stress
509Hout(idUbcs) == F ! bustrcwmax bottom max wave-current U-stress
510Hout(idVbcs) == F ! bvstrcwmax bottom max wave-current V-stress
511
512Hout(idUbot) == F ! Ubot bed wave orbital U-velocity
513Hout(idVbot) == F ! Vbot bed wave orbital V-velocity
514Hout(idUbur) == F ! Ur bottom U-velocity above bed
515Hout(idVbvr) == F ! Vr bottom V-velocity above bed
516
517Hout(idW2xx) == F ! Sxx_bar 2D radiation stress, Sxx component
518Hout(idW2xy) == F ! Sxy_bar 2D radiation stress, Sxy component
519Hout(idW2yy) == F ! Syy_bar 2D radiation stress, Syy component
520Hout(idU2rs) == F ! Ubar_Rstress 2D radiation U-stress
521Hout(idV2rs) == F ! Vbar_Rstress 2D radiation V-stress
522Hout(idU2Sd) == F ! ubar_stokes 2D U-Stokes velocity
523Hout(idV2Sd) == F ! vbar_stokes 2D V-Stokes velocity
524
525Hout(idW3xx) == F ! Sxx 3D radiation stress, Sxx component
526Hout(idW3xy) == F ! Sxy 3D radiation stress, Sxy component
527Hout(idW3yy) == F ! Syy 3D radiation stress, Syy component
528Hout(idW3zx) == F ! Szx 3D radiation stress, Szx component
529Hout(idW3zy) == F ! Szy 3D radiation stress, Szy component
530Hout(idU3rs) == F ! u_Rstress 3D U-radiation stress
531Hout(idV3rs) == F ! v_Rstress 3D V-radiation stress
532Hout(idU3Sd) == F ! u_stokes 3D U-Stokes velocity
533Hout(idV3Sd) == F ! v_stokes 3D V-Stokes velocity
534
535Hout(idWamp) == F ! Hwave wave height
536Hout(idWlen) == F ! Lwave wave length
537Hout(idWdir) == F ! Dwave wave direction
538Hout(idWptp) == F ! Pwave_top wave surface period
539Hout(idWpbt) == F ! Pwave_bot wave bottom period
540Hout(idWorb) == F ! Ub_swan wave bottom orbital velocity
541Hout(idWdis) == F ! Wave_dissip wave dissipation
542
543Hout(idPair) == F ! Pair surface air pressure
544Hout(idUair) == F ! Uair surface U-wind component
545Hout(idVair) == F ! Vair surface V-wind component
546
547Hout(idTsur) == 2*F ! shflux, ssflux surface net heat and salt flux
548Hout(idLhea) == F ! latent latent heat flux
549Hout(idShea) == F ! sensible sensible heat flux
550Hout(idLrad) == F ! lwrad longwave radiation flux
551Hout(idSrad) == F ! swrad shortwave radiation flux
552Hout(idEmPf) == F ! EminusP E-P flux
553Hout(idevap) == F ! evaporation evaporation rate
554Hout(idrain) == F ! rain precipitation rate
555
556Hout(idDano) == F ! rho density anomaly
557Hout(idVvis) == F ! AKv vertical viscosity
558Hout(idTdif) == F ! AKt vertical T-diffusion
559Hout(idSdif) == F ! AKs vertical Salinity diffusion
560Hout(idHsbl) == F ! Hsbl depth of surface boundary layer
561Hout(idHbbl) == F ! Hbbl depth of bottom boundary layer
562Hout(idMtke) == F ! tke turbulent kinetic energy
563Hout(idMtls) == F ! gls turbulent length scale
564
565! Logical switches (TRUE/FALSE) to activate writing of extra inert passive
566! tracers other than biological and sediment tracers. An inert passive tracer
567! is one that it is only advected and diffused. Other processes are ignored.
568! These tracers include, for example, dyes, pollutants, oil spills, etc.
569! NPT values are expected. However, these switches can be activated using
570! compact parameter specification.
571
572 Hout(inert) == T ! dye_01, ... inert passive tracers
573
574! Logical switches (TRUE/FALSE) to activate writing of exposed sediment
575! layer properties into HISTORY output file. Currently, MBOTP properties
576! are expected for the bottom boundary layer and/or sediment models:
577!
578! idBott( 1=isd50) grain_diameter mean grain diameter
579! idBott( 2=idens) grain_density mean grain density
580! idBott( 3=iwsed) settling_vel mean settling velocity
581! idBott( 4=itauc) erosion_stress critical erosion stress
582! idBott( 5=irlen) ripple_length ripple length
583! idBott( 6=irhgt) ripple_height ripple height
584! idBott( 7=ibwav) bed_wave_amp wave excursion amplitude
585! idBott( 8=izdef) Zo_def default bottom roughness
586! idBott( 9=izapp) Zo_app apparent bottom roughness
587! idBott(10=izNik) Zo_Nik Nikuradse bottom roughness
588! idBott(11=izbio) Zo_bio biological bottom roughness
589! idBott(12=izbfm) Zo_bedform bed form bottom roughness
590! idBott(13=izbld) Zo_bedload bed load bottom roughness
591! idBott(14=izwbl) Zo_wbl wave bottom roughness
592! idBott(15=iactv) active_layer_thickness active layer thickness
593! idBott(16=ishgt) saltation saltation height
594!
595! 1 1 1 1 1 1 1
596! 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
597
598Hout(idBott) == T T T T T T T T T F F F F F F F \
599 T T T T T T T T T F F F F F F F
600
601! Logical switches (TRUE/FALSE) to activate writing of time-averaged
602! fields into AVERAGE output file.
603
604Aout(idUvel) == T ! u 3D U-velocity
605Aout(idVvel) == T ! v 3D V-velocity
606Aout(idu3dE) == F ! u_eastward 3D U-eastward at RHO-points
607Aout(idv3dN) == F ! v_northward 3D V-northward at RHO-points
608Aout(idWvel) == T ! w 3D W-velocity
609Aout(idOvel) == T ! omega omega vertical velocity
610Aout(idUbar) == T ! ubar 2D U-velocity
611Aout(idVbar) == T ! vbar 2D V-velocity
612Aout(idu2dE) == F ! ubar_eastward 2D U-eastward at RHO-points
613Aout(idv2dN) == F ! vbar_northward 2D V-northward at RHO-points
614Aout(idFsur) == T ! zeta free-surface
615
616Aout(idTvar) == 2*T ! temp, salt temperature and salinity
617
618Aout(idUsms) == F ! sustr surface U-stress
619Aout(idVsms) == F ! svstr surface V-stress
620Aout(idUbms) == F ! bustr bottom U-stress
621Aout(idVbms) == F ! bvstr bottom V-stress
622
623Aout(idW2xx) == F ! Sxx_bar 2D radiation stress, Sxx component
624Aout(idW2xy) == F ! Sxy_bar 2D radiation stress, Sxy component
625Aout(idW2yy) == F ! Syy_bar 2D radiation stress, Syy component
626Aout(idU2rs) == F ! Ubar_Rstress 2D radiation U-stress
627Aout(idV2rs) == F ! Vbar_Rstress 2D radiation V-stress
628Aout(idU2Sd) == F ! ubar_stokes 2D U-Stokes velocity
629Aout(idV2Sd) == F ! vbar_stokes 2D V-Stokes velocity
630
631Aout(idW3xx) == F ! Sxx 3D radiation stress, Sxx component
632Aout(idW3xy) == F ! Sxy 3D radiation stress, Sxy component
633Aout(idW3yy) == F ! Syy 3D radiation stress, Syy component
634Aout(idW3zx) == F ! Szx 3D radiation stress, Szx component
635Aout(idW3zy) == F ! Szy 3D radiation stress, Szy component
636Aout(idU3rs) == F ! u_Rstress 3D U-radiation stress
637Aout(idV3rs) == F ! v_Rstress 3D V-radiation stress
638Aout(idU3Sd) == F ! u_stokes 3D U-Stokes velocity
639Aout(idV3Sd) == F ! v_stokes 3D V-Stokes velocity
640
641Aout(idPair) == F ! Pair surface air pressure
642Aout(idUair) == F ! Uair surface U-wind component
643Aout(idVair) == F ! Vair surface V-wind component
644
645Aout(idTsur) == 2*F ! shflux, ssflux surface net heat and salt flux
646Aout(idLhea) == F ! latent latent heat flux
647Aout(idShea) == F ! sensible sensible heat flux
648Aout(idLrad) == F ! lwrad longwave radiation flux
649Aout(idSrad) == F ! swrad shortwave radiation flux
650Aout(idevap) == F ! evaporation evaporation rate
651Aout(idrain) == F ! rain precipitation rate
652
653Aout(idDano) == F ! rho density anomaly
654Aout(idVvis) == F ! AKv vertical viscosity
655Aout(idTdif) == F ! AKt vertical T-diffusion
656Aout(idSdif) == F ! AKs vertical Salinity diffusion
657Aout(idHsbl) == F ! Hsbl depth of surface boundary layer
658Aout(idHbbl) == F ! Hbbl depth of bottom boundary layer
659
660Aout(id2dRV) == F ! pvorticity_bar 2D relative vorticity
661Aout(id3dRV) == F ! pvorticity 3D relative vorticity
662Aout(id2dPV) == F ! rvorticity_bar 2D potential vorticity
663Aout(id3dPV) == F ! rvorticity 3D potential vorticity
664
665Aout(idu3dD) == F ! u_detided detided 3D U-velocity
666Aout(idv3dD) == F ! v_detided detided 3D V-velocity
667Aout(idu2dD) == F ! ubar_detided detided 2D U-velocity
668Aout(idv2dD) == F ! vbar_detided detided 2D V-velocity
669Aout(idFsuD) == F ! zeta_detided detided free-surface
670
671Aout(idTrcD) == 2*F ! temp_detided, ... detided temperature and salinity
672
673Aout(idHUav) == F ! Huon u-volume flux, Huon
674Aout(idHVav) == F ! Hvom v-volume flux, Hvom
675Aout(idUUav) == F ! uu quadratic <u*u> term
676Aout(idUVav) == F ! uv quadratic <u*v> term
677Aout(idVVav) == F ! vv quadratic <v*v> term
678Aout(idU2av) == F ! ubar2 quadratic <ubar*ubar> term
679Aout(idV2av) == F ! vbar2 quadratic <vbar*vbar> term
680Aout(idZZav) == F ! zeta2 quadratic <zeta*zeta> term
681
682Aout(idTTav) == 2*F ! temp_2, ... quadratic <t*t> tracer terms
683Aout(idUTav) == 2*F ! u_temp, ... quadratic <u*t> tracer terms
684Aout(idVTav) == 2*F ! v_temp, ... quadratic <v*t> tracer terms
685Aout(iHUTav) == 2*F ! Huon_temp, ... tracer volume flux, <Huon*t>
686Aout(iHVTav) == 2*F ! Hvom_temp, ... tracer volume flux, <Hvom*t>
687
688! Logical switches (TRUE/FALSE) to activate writing of extra inert passive
689! tracers other than biological and sediment tracers into the AVERAGE file.
690
691 Aout(inert) == T ! dye_01, ... inert passive tracers
692
693! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
694! 2D momentum (ubar,vbar) diagnostic terms into DIAGNOSTIC output file.
695
696Dout(M2rate) == T ! ubar_accel, ... acceleration
697Dout(M2pgrd) == T ! ubar_prsgrd, ... pressure gradient
698Dout(M2fcor) == T ! ubar_cor, ... Coriolis force
699Dout(M2hadv) == T ! ubar_hadv, ... horizontal total advection
700Dout(M2xadv) == T ! ubar_xadv, ... horizontal XI-advection
701Dout(M2yadv) == T ! ubar_yadv, ... horizontal ETA-advection
702Dout(M2hrad) == T ! ubar_hrad, ... horizontal total radiation stress
703Dout(M2hvis) == T ! ubar_hvisc, ... horizontal total viscosity
704Dout(M2xvis) == T ! ubar_xvisc, ... horizontal XI-viscosity
705Dout(M2yvis) == T ! ubar_yvisc, ... horizontal ETA-viscosity
706Dout(M2sstr) == T ! ubar_sstr, ... surface stress
707Dout(M2bstr) == T ! ubar_bstr, ... bottom stress
708
709! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
710! 3D momentum (u,v) diagnostic terms into DIAGNOSTIC output file.
711
712Dout(M3rate) == T ! u_accel, ... acceleration
713Dout(M3pgrd) == T ! u_prsgrd, ... pressure gradient
714Dout(M3fcor) == T ! u_cor, ... Coriolis force
715Dout(M3hadv) == T ! u_hadv, ... horizontal total advection
716Dout(M3xadv) == T ! u_xadv, ... horizontal XI-advection
717Dout(M3yadv) == T ! u_yadv, ... horizontal ETA-advection
718Dout(M3vadv) == T ! u_vadv, ... vertical advection
719Dout(M3hrad) == T ! u_hrad, ... horizontal total radiation stress
720Dout(M3vrad) == T ! u_vrad, ... vertical radiation stress
721Dout(M3hvis) == T ! u_hvisc, ... horizontal total viscosity
722Dout(M3xvis) == T ! u_xvisc, ... horizontal XI-viscosity
723Dout(M3yvis) == T ! u_yvisc, ... horizontal ETA-viscosity
724Dout(M3vvis) == T ! u_vvisc, ... vertical viscosity
725
726! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
727! active (temperature and salinity) and passive (inert) tracer diagnostic
728! terms into DIAGNOSTIC output file: [1:NAT+NPT,Ngrids].
729
730Dout(iTrate) == 2*T ! temp_rate, ... time rate of change
731Dout(iThadv) == 2*T ! temp_hadv, ... horizontal total advection
732Dout(iTxadv) == 2*T ! temp_xadv, ... horizontal XI-advection
733Dout(iTyadv) == 2*T ! temp_yadv, ... horizontal ETA-advection
734Dout(iTvadv) == 2*T ! temp_vadv, ... vertical advection
735Dout(iThdif) == 2*T ! temp_hdiff, ... horizontal total diffusion
736Dout(iTxdif) == 2*T ! temp_xdiff, ... horizontal XI-diffusion
737Dout(iTydif) == 2*T ! temp_ydiff, ... horizontal ETA-diffusion
738Dout(iTsdif) == 2*T ! temp_sdiff, ... horizontal S-diffusion
739Dout(iTvdif) == 2*T ! temp_vdiff, ... vertical diffusion
740
741! Generic User parameters, [1:NUSER].
742
743 NUSER = 0
744 USER = 0.d0
745
746! NetCDF-4/HDF5 compression parameters for output files.
747
748 NC_SHUFFLE = 1 ! if non-zero, turn on shuffle filter
749 NC_DEFLATE = 1 ! if non-zero, turn on deflate filter
750 NC_DLEVEL = 1 ! deflate level [0-9]
751
752! Input NetCDF file names, [1:Ngrids].
753
754 GRDNAME == ../Data/lake_jersey_grd_a.nc
755 ININAME == ../Data/lake_jersey_ini_a.nc
756 ITLNAME == lake_jersey_itl.nc
757 IRPNAME == lake_jersey_irp.nc
758 IADNAME == lake_jersey_iad.nc
759 FWDNAME == lake_jersey_fwd.nc
760 ADSNAME == lake_jersey_ads.nc
761
762! Nesting grids connectivity data: contact points information. This
763! NetCDF file is special and complex. It is currently generated using
764! the script "matlab/grid/contact.m" from the Matlab repository.
765
766 NGCNAME = /dev/null
767
768! Input lateral boundary conditions and climatology file names. The
769! USER has the option to split input data time records into several
770! NetCDF files (see prologue instructions above). If so, use a single
771! line per entry with a vertical bar (|) symbol after each entry,
772! except the last one.
773
774 BRYNAME == lake_jersey_bry.nc
775 CLMNAME == lake_jersey_clm.nc
776
777! Input climatology nudging coefficients file name.
778
779 NUDNAME == lake_jersey_nud.nc
780
781! Input Sources/Sinks forcing (like river runoff) file name.
782
783 SSFNAME == lake_jersey_rivers.nc
784
785! Input forcing NetCDF file name(s). The USER has the option to enter
786! several file names for each nested grid. For example, the USER may
787! have different files for wind products, heat fluxes, tides, etc.
788! The model will scan the file list and will read the needed data from
789! the first file in the list containing the forcing field. Therefore,
790! the order of the file names is very important. If using multiple forcing
791! files per grid, first enter all the file names for grid 1, then grid 2,
792! and so on. It is also possible to split input data time records into
793! several NetCDF files (see prologue instructions above). Use a single line
794! per entry with a continuation (\) or vertical bar (|) symbol after each
795! entry, except the last one.
796
797 NFFILES == 1 ! number of unique forcing files
798
799 FRCNAME == lake_jersey_frc.nc
800
801! Output NetCDF file names, [1:Ngrids].
802
803 GSTNAME == lake_jersey_gst.nc
804 RSTNAME == lake_jersey_rst.nc
805 HISNAME == lake_jersey_his.nc
806 TLMNAME == lake_jersey_tlm.nc
807 TLFNAME == lake_jersey_tlf.nc
808 ADJNAME == lake_jersey_adj.nc
809 AVGNAME == lake_jersey_avg.nc
810 DIANAME == lake_jersey_dia.nc
811 STANAME == lake_jersey_sta.nc
812 FLTNAME == lake_jersey_flt.nc
813
814! Input ASCII parameter filenames.
815
816 APARNAM = s4dvar.in
817 SPOSNAM = stations.in
818 FPOSNAM = floats_lake_jersey.in
819 BPARNAM = bio_Fennel.in
820 SPARNAM = sediment_lake_jersey.in
821 USRNAME = MyFile.dat
822
823!
824! GLOSSARY:
825! =========
826!
827!------------------------------------------------------------------------------
828! Application title (string with a maximum of eighty characters) and
829! C-preprocessing flag.
830!------------------------------------------------------------------------------
831!
832! TITLE Application title.
833!
834! MyAppCPP Application C-preprocessing option.
835!
836!------------------------------------------------------------------------------
837! Variable information file name (string with a maximum of 256 characters).
838!------------------------------------------------------------------------------
839!
840! VARNAME Input/Output variable information file name. This file needs to
841! be processed first so all information arrays and indices can
842! be initialized properly in "mod_ncparam.F".
843!
844!------------------------------------------------------------------------------
845! Nested grid parameters (processing order of these parameters is important).
846!------------------------------------------------------------------------------
847!
848! Ngrids Number of nested grids. It needs to be read before all other
849! parameters in order to allocate all model variables.
850!
851! NestLayers Number of grid nesting layers. It is used to allow applications
852! with both composite and refinement grid combinations, as shown
853! in WikiROMS diagrams for the Refinement and Partial Boundary
854! Composite Sub-Classes. See,
855!
856! https://www.myroms.org/wiki/index.php/Nested_Grids
857!
858! In non-nesting applications, set NestLayers = 1.
859!
860! GridsInLayer Number of grids in each nested layer, a vector of size
861! [1:NestLayers]. Notice that,
862!
863! SUM(GridsInLayer) = Ngrids
864! LENGHT(GridsInLayer) = NestLayers
865!
866! The order of grids and nesting layers is extremely important.
867! It determines the order of the sequential solution at every
868! sub-time step. See WikiROMS nesting Sub-Classes diagrams.
869!
870! In non-nesting applications, set GridsInLayer = 1.
871!
872! NOTE: In main3d, we use these parameters to determine which
873! ==== grid index, ng, to solve when calling the routines of
874! the computational kernel:
875!
876! NEST_LAYER : DO nl=1,NestLayers
877! ...
878! STEP_LOOP : DO istep=1,Nsteps
879! ...
880! DO ig=1,GridsInLayer(nl)
881! ng=GridNumber(ig,nl)
882! ...
883! END DO
884! ...
885! END DO STEP_LOOP
886! END DO NEST_LAYER
887!
888! Here, the grid order "ng" for the computations is determined
889! from array "GridNumber", which is computed at initialization
890! in "read_phypar.F". It can be computed on the fly as:
891!
892! ng=Ngrids+1
893! DO j=NestLayers,nl,-1
894! DO i=GridsInLayer(j),1,-1
895! ng=ng-1
896! IF ((j.eq.nl).and.(i.eq.ig)) EXIT
897! END DO
898! END DO
899!
900! but it is too inefficient. This information is provided here
901! to help you configure the order of nested grids.
902!
903!------------------------------------------------------------------------------
904! Grid dimension parameters.
905!------------------------------------------------------------------------------
906!
907! These parameters are very important since they determine the grid of the
908! application to solve. They need to be read first in order to dynamically
909! allocate all model variables.
910!
911! WARNING: It is trivial and possible to change these dimension parameters in
912! ------- idealized applications via analytical expressions. However, in
913! realistic applications any change to these parameters requires redoing all
914! input NetCDF files.
915!
916! Lm Number of INTERIOR grid RHO-points in the XI-direction for
917! each nested grid, [1:Ngrids]. If using NetCDF files as
918! input, Lm=xi_rho-2 where "xi_rho" is the NetCDF file
919! dimension of RHO-points. Recall that all RHO-point
920! variables have a computational I-range of [0:Lm+1].
921!
922! Mm Number of INTERIOR grid RHO-points in the ETA-direction for
923! each nested grid, [1:Ngrids]. If using NetCDF files as
924! input, Mm=eta_rho-2 where "eta_rho" is the NetCDF file
925! dimension of RHO-points. Recall that all RHO-point
926! variables have a computational J-range of [0:Mm+1].
927!
928! N Number of vertical terrain-following levels at RHO-points,
929! [1:Ngrids].
930!
931! Nbed Number of sediment bed layers, [1:Ngrids]. This parameter
932! is only relevant if CPP option SEDIMENT is activated.
933!
934! Mm+1 ___________________ _______ Kw = N
935! | | | |
936! Mm | _____________ | | | Kr = N
937! | | | | |_______|
938! | | | | | |
939! Jr | | | | | |
940! | | | | |_______|
941! | | | | | |
942! 1 | |_____________| | | |
943! | | |_______|
944! 0 |___________________| | |
945! Ir | | 1
946! 0 1 Lm Lm+1 h(i,j) |_______|
947! ::::::::: 0
948! :::::::::
949! ::::::::: Nbed-1
950! ::::::::: Nbed
951!
952! NAT Number of active tracer type variables. Usually, NAT=2 for
953! potential temperature and salinity.
954!
955! NPT Number of inert (dyes, age, etc) passive tracer type variables
956! to advect and diffuse only. This parameter is only relevant
957! if CPP option T_PASSIVE is activated.
958!
959! NCS Number of cohesive (mud) sediment tracer type variables. This
960! parameter is only relevant if CPP option SEDIMENT is
961! activated.
962!
963! NNS Number of non-cohesive (sand) sediment tracer type variables.
964! This parameter is only relevant if CPP option SEDIMENT is
965! activated.
966!
967! The total number of sediment tracers is NST=NCS+NNS. Notice
968! that NST must be greater than zero (NST>0).
969!
970!------------------------------------------------------------------------------
971! Domain tile partition parameters.
972!------------------------------------------------------------------------------
973!
974! Model tile decomposition parameters for serial and parallel configurations
975! which are used to determine tile horizontal range indices (Istr,Iend and
976! Jstr,Jend). In some computers, it is advantageous to have tile partitions
977! in serial applications.
978!
979! NtileI Number of domain partitions in the I-direction (XI-coordinate).
980! It must be equal to or greater than one.
981!
982! NtileJ Number of domain partitions in the J-direction (ETA-coordinate).
983! It must be equal to or greater than one.
984!
985! WARNING: In shared-memory (OpenMP), the product of NtileI and NtileJ must
986! be a MULTIPLE of the number of parallel threads specified with
987! the OpenMP environmental variable OMP_NUM_THREADS.
988!
989! In distributed-memory (MPI), the product of NtileI and NtileJ
990! must be EQUAL to the number of parallel nodes specified during
991! execution with the "mprun" or "mpirun" command.
992!
993!------------------------------------------------------------------------------
994! Lateral boundary conditions parameters.
995!------------------------------------------------------------------------------
996!
997! The lateral boundary conditions are now specified with logical switches
998! instead of CPP flags to allow nested grid configurations. Their values are
999! loaded into structured array:
1000!
1001! LBC(1:4, nLBCvar, Ngrids)
1002!
1003! where 1:4 are the number of boundary edges, nLBCvar are the number of LBC
1004! state variables, and Ngrids is the number of nested grids. For Example, to
1005! apply gradient boundary conditions we use:
1006!
1007! LBC(iwest, isFsur, ng) % gradient
1008! LBC(ieast, ... , ng) % gradient
1009! LBC(isouth, ... , ng) % gradient
1010! LBC(inorth, ... , ng) % gradient
1011!
1012! The lateral boundary conditions are entered with a keyword. This keyword
1013! is case insensitive and usually has three characters. However, it is
1014! possible to have compound keywords, if applicable. For example, the
1015! keyword "RadNud" implies radiation boundary condition with nudging. This
1016! combination is usually used in active/passive radiation conditions.
1017!
1018! Keyword Lateral Boundary Condition Type
1019!
1020! Cha Chapman_implicit (free-surface only)
1021! Che Chapman_explicit (free-surface only)
1022! Cla Clamped
1023! Clo Closed
1024! Fla Flather (2D momentum only) _____N_____ j=Mm
1025! Gra Gradient | 4 |
1026! Nes Nested (refinement only) | |
1027! Nud Nudging 1 W E 3
1028! Per Periodic | |
1029! Rad Radiation |_____S_____|
1030! Red Reduced Physics (2D momentum only) 2 j=1
1031! Shc Shchepetkin (2D momentum only) i=1 i=Lm
1032!
1033! LBC(isFsur) Free-surface, [1:4, Ngrids] values are expected.
1034! LBC(isUbar) 2D U-momentum, [1:4, Ngrids] values are expected.
1035! LBC(isVbar) 2D V-momentum, [1:4, Ngrids] values are expected.
1036! LBC(isUvel) 3D U-momentum, [1:4, Ngrids] values are expected.
1037! LBC(isVvel) 3D V-momentum, [1:4, Ngrids] values are expected.
1038! LBC(isMtke) Mixing TKE, [1:4, Ngrids] values are expected.
1039! LBC(isTvar) Tracers, [1:4, 1:NAT+NPT, Ngrids] values are expected.
1040!
1041! Similarly, the adjoint-based algorithms (ADM, TLM, RPM) can have different
1042! lateral boundary conditions keywords:
1043!
1044! ad_LBC(isFsur) Free-surface, [1:4, Ngrids] values are expected.
1045! ad_LBC(isUbar) 2D U-momentum, [1:4, Ngrids] values are expected.
1046! ad_LBC(isVbar) 2D V-momentum, [1:4, Ngrids] values are expected.
1047! ad_LBC(isUvel) 3D U-momentum, [1:4, Ngrids] values are expected.
1048! ad_LBC(isVvel) 3D V-momentum, [1:4, Ngrids] values are expected.
1049! ad_LBC(isMtke) Mixing TKE, [1:4, Ngrids] values are expected.
1050! ad_LBC(isTvar) Tracers, [1:4, 1:NAT+NPT, Ngrids] values are expected.
1051!
1052! Lateral open boundary edge volume conservation switch for nonlinear model
1053! and adjoint-based algorithm. Usually activated with radiation boundary
1054! conditions to enforce global mass conservation. Notice that these switches
1055! should not be activated if tidal forcing is enabled, [1:Ngrids] values are
1056! expected.
1057!
1058! VolCons(west) Western boundary volume conservation switch.
1059! VolCons(east) Eastern boundary volume conservation switch.
1060! VolCons(south) Southern boundary volume conservation switch.
1061! VolCons(north) Northern boundary volume conservation switch.
1062!
1063! ad_VolCons(west) Western boundary volume conservation switch.
1064! ad_VolCons(east) Eastern boundary volume conservation switch.
1065! ad_VolCons(south) Southern boundary volume conservation switch.
1066! ad_VolCons(north) Northern boundary volume conservation switch.
1067!
1068!------------------------------------------------------------------------------
1069! Time-Stepping parameters.
1070!------------------------------------------------------------------------------
1071!
1072! NTIMES Total number time-steps in current run. If 3D configuration,
1073! NTIMES is the total of baroclinic time-steps. If only 2D
1074! configuration, NTIMES is the total of barotropic time-steps.
1075!
1076! DT Time-Step size in seconds. If 3D configuration, DT is the
1077! size of the baroclinic time-step. If only 2D configuration,
1078! DT is the size of the barotropic time-step.
1079!
1080! NDTFAST Number of barotropic time-steps between each baroclinic time
1081! step. If only 2D configuration, NDTFAST should be unity since
1082! there is no need to split time-stepping.
1083!
1084!------------------------------------------------------------------------------
1085! Model iteration loops parameters.
1086!------------------------------------------------------------------------------
1087!
1088! ERstr Starting ensemble run (perturbation or iteration) number.
1089!
1090! ERend Ending ensemble run (perturbation or iteration) number.
1091!
1092! Nouter Maximum number of 4DVAR outer loop iterations.
1093!
1094! Ninner Maximum number of 4DVAR inner loop iterations.
1095!
1096! Nintervals Number of time interval divisions for Stochastic Optimals
1097! computations. It must be a multiple of NTIMES. The tangent
1098! linear model (TLM) and the adjoint model (ADM) are integrated
1099! forward and backward at different intervals. For example,
1100! if Nintervals=3,
1101!
1102! 1 NTIMES/3 2*NTIMES/3 NTIMES
1103! +..................+..................+..................+
1104! <========================================================> (1)
1105! <=====================================> (2)
1106! <==================> (3)
1107!
1108! In the first iteration (1), the TLM is integrated forward from
1109! 1 to NTIMES and the ADM is integrated backward from NTIMES to 1.
1110! In the second iteration (2), the TLM is integrated forward from
1111! NTIMES/3 to NTIMES and the ADM is integrated backward from
1112! NTIMES to NTIMES/3. And so on.
1113!
1114!------------------------------------------------------------------------------
1115! Eigenproblem parameters.
1116!------------------------------------------------------------------------------
1117!
1118! NEV Number of eigenvalues to compute for the Lanczos/Arnoldi
1119! problem. Notice that the model memory requirement increases
1120! substantially as NEV increases. The GST requires NEV+1
1121! copies of the model state vector. The memory requirements
1122! are decreased in distributed-memory applications.
1123!
1124! NCV Number of eigenvectors to compute for the Lanczos/Arnoldi
1125! problem. NCV must be greater than NEV.
1126!
1127! At present, there is no a-priori analysis to guide the selection of NCV
1128! relative to NEV. The only formal requirement is that NCV > NEV. However
1129! in optimal perturbations, it is recommended to have NCV greater than or
1130! equal to 2*NEV. In Finite Time Eigenmodes (FTE) and Adjoint Finite Time
1131! Eigenmodes (AFTE) the requirement is to have NCV greater than or equal to
1132! 2*NEV+1.
1133!
1134! The efficiency of calculations depends critically on the combination of
1135! NEV and NCV. If NEV is large (greater than 10 say), you can use NCV=2*NEV+1
1136! but for NEV small (less than 6) it will be inefficient to use NCV=2*NEV+1.
1137! In complicated applications, you can start with NEV=2 and NCV=10. Otherwise,
1138! it will iterate for a very long time.
1139!
1140!------------------------------------------------------------------------------
1141! Input/Output parameters.
1142!------------------------------------------------------------------------------
1143!
1144! NRREC Switch to indicate re-start from a previous solution. Use
1145! NRREC=0 for new solutions. In a re-start solution, NRREC
1146! is the time index of the re-start NetCDF file assigned for
1147! initialization. If NRREC is negative (say NRREC=-1), the
1148! model will re-start from the most recent time record. That
1149! is, the initialization record is assigned internally.
1150! Notice that it is also possible to re-start from a history
1151! or time-averaged NetCDF file. If a history file is used
1152! for re-start, it must contains all the necessary primitive
1153! variables at all levels.
1154!
1155! LcycleRST Logical switch (T/F) used to recycle time records in output
1156! re-start file. If TRUE, only the latest two re-start time
1157! records are maintained. If FALSE, all re-start fields are
1158! saved every NRST time-steps without recycling. The re-start
1159! fields are written at all levels in double precision.
1160!
1161! NRST Number of time-steps between writing of re-start fields.
1162!
1163! NSTA Number of time-steps between writing data into stations file.
1164! Station data is written at all levels.
1165!
1166! NFLT Number of time-steps between writing data into floats file.
1167!
1168! NINFO Number of time-steps between print of single line information
1169! to standard output. It also determines the interval between
1170! computation of global energy diagnostics.
1171!
1172!------------------------------------------------------------------------------
1173! Output history and average files parameters.
1174!------------------------------------------------------------------------------
1175!
1176! LDEFOUT Logical switch (T/F) used to create new output files when
1177! initializing from a re-start file, abs(NRREC) > 0. If TRUE
1178! and applicable, a new history, average, diagnostic and
1179! station files are created during the initialization stage.
1180! If FALSE and applicable, data is appended to existing
1181! history, average, diagnostic and station files. See also
1182! parameters NDEFHIS, NDEFAVG and NDEFDIA below.
1183!
1184! NHIS Number of time-steps between writing fields into history file.
1185!
1186! NDEFHIS Number of time-steps between the creation of new history file.
1187! If NDEFHIS=0, the model will only process one history file.
1188! This feature is useful for long simulations when history files
1189! get too large; it creates a new file every NDEFHIS time-steps.
1190!
1191! NTSAVG Starting time-step for the accumulation of output time-averaged
1192! data.
1193!
1194! NAVG Number of time-steps between writing time-averaged data
1195! into averages file. Averaged date is written for all fields.
1196!
1197! NDEFAVG Number of time-steps between the creation of new average
1198! file. If NDEFAVG=0, the model will only process one average
1199! file. This feature is useful for long simulations when
1200! average files get too large; it creates a new file every
1201! NDEFAVG time-steps.
1202!
1203! NTSDIA Starting time-step for the accumulation of output time-averaged
1204! diagnostics data.
1205!
1206! NDIA Number of time-steps between writing time-averaged diagnostics
1207! data into diagnostics file. Averaged date is written for all
1208! fields.
1209!
1210! NDEFDIA Number of time-steps between the creation of new time-averaged
1211! diagnostics file. If NDEFDIA=0, the model will only process
1212! one diagnostics file. This feature is useful for long
1213! simulations when diagnostics files get too large; it creates
1214! a new file every NDEFDIA time-steps.
1215!
1216!------------------------------------------------------------------------------
1217! Output tangent linear and adjoint model parameters.
1218!------------------------------------------------------------------------------
1219!
1220! LcycleTLM Logical switch (T/F) used to recycle time records in output
1221! tangent linear file. If TRUE, only the latest two time
1222! records are maintained. If FALSE, all tangent linear fields
1223! are saved every NTLM time-steps without recycling.
1224!
1225! NTLM Number of time-steps between writing fields into tangent linear
1226! model file.
1227!
1228! NDEFTLM Number of time-steps between the creation of new tangent linear
1229! file. If NDEFTLM=0, the model will only process one tangent
1230! linear file. This feature is useful for long simulations when
1231! output NetCDF files get too large; it creates a new file every
1232! NDEFTLM time-steps.
1233!
1234! LcycleADJ Logical switch (T/F) used to recycle time records in output
1235! adjoint file. If TRUE, only the latest two time records are
1236! maintained. If FALSE, all tangent linear fields re saved
1237! every NADJ time-steps without recycling.
1238!
1239! NADJ Number of time-steps between writing fields into adjoint model
1240! file.
1241!
1242! NDEFADJ Number of time-steps between the creation of new adjoint file.
1243! If NDEFADJ=0, the model will only process one adjoint file.
1244! This feature is useful for long simulations when output NetCDF
1245! files get too large; it creates a new file every NDEFADJ
1246! time-steps.
1247!
1248! NSFF Number of time-steps between 4DVAR adjustment of surface forcing
1249! fluxes. In strong constraint 4DVAR, it is possible to adjust
1250! surface forcing at other time intervals in addition to initial
1251! time. This parameter is used to store the appropriate number
1252! of surface forcing records in the output history NetCDF files:
1253! 1+NTIMES/NSFF records. NSFF must be a factor of NTIMES or
1254! greater than NTIMES. If NSFF > NTIMES, only one record is
1255! stored in the NetCDF files and the adjustment is for constant
1256! forcing with constant correction. This parameter is only
1257! relevant in 4DVAR when activating either ADJUST_STFLUX or
1258! ADJUST_WSTRESS.
1259!
1260! NOBC Number of time-steps between 4DVAR adjustment of open boundary
1261! fields. In strong constraint 4DVAR, it is possible to adjust
1262! open boundaries at other time intervals in addition to initial
1263! time. This parameter is used to store the appropriate number
1264! of open boundary records in the output history NetCDF files:
1265! 1+NTIMES/NOBC records. NOBC must be a factor of NTIMES or
1266! greater than NTIMES. If NOBC > NTIMES, only one record is
1267! stored in the NetCDF files and the adjustment is for constant
1268! forcing with constant correction. This parameter is only
1269! relevant in 4DVAR when activating ADJUST_BOUNDARY.
1270!
1271!------------------------------------------------------------------------------
1272! Generalized Stability Theory (GST) analysis parameters.
1273!------------------------------------------------------------------------------
1274!
1275! LmultiGST Logical switch (TRUE/FALSE) to write out one GST analysis
1276! eigenvector per history file.
1277!
1278! LrstGST Logical switch (TRUE/FALSE) to restart GST analysis. If TRUE,
1279! the check pointing data is read in from the GST restart NetCDF
1280! file. If FALSE and applicable, the check pointing GST data is
1281! saved and overwritten every NGST iterations of the algorithm.
1282!
1283! MaxIterGST Maximum number of GST algorithm iterations.
1284!
1285! NGST Number of GST iterations between storing of check pointing
1286! data into NetCDF file. The restart data is always saved if
1287! MaxIterGST is reached without convergence. It is also saved
1288! when convergence is achieved. It is always a good idea to
1289! save the check pointing data at regular intervals so there
1290! is a mechanism to recover from an unexpected interruption
1291! in this very expensive computation. The check pointing data
1292! can be used also to recompute the Ritz vectors by changing
1293! some of the parameters, like convergence criteria (Ritz_tol)
1294! and number of Arnoldi iterations (iparam(3)).
1295!
1296! Ritz_tol Relative accuracy of the Ritz values computed in the GST
1297! analysis.
1298!
1299!------------------------------------------------------------------------------
1300! Harmonic/Biharmonic horizontal diffusion for active tracers and viscosity
1301! for momentum.
1302!------------------------------------------------------------------------------
1303!
1304! TNU2 Nonlinear model lateral, harmonic, constant, mixing
1305! coefficient (m2/s) for active (NAT) and inert (NPT) tracer
1306! variables. If variable horizontal diffusion is activated,
1307! TNU2 is the mixing coefficient for the largest grid-cell
1308! in the domain.
1309!
1310! TNU4 Nonlinear model lateral, biharmonic, constant, mixing
1311! coefficient (m4/s) for active (NAT) and inert (NPT) tracer
1312! variables. If variable horizontal diffusion is activated,
1313! TNU4 is the mixing coefficient for the largest grid-cell
1314! in the domain.
1315!
1316! ad_TNU2 Adjoint-based algorithms lateral, harmonic, constant, mixing
1317! coefficient (m2/s) for active (NAT) and inert (NPT) tracer
1318! variables. If variable horizontal diffusion is activated,
1319! ad_TNU2 is the mixing coefficient for the largest grid-cell
1320! in the domain. In some applications, a larger value than
1321! that used in the nonlinear model (basic state) is necessary
1322! for stability.
1323!
1324! ad_TNU4 Adjoint-based algorithms lateral, biharmonic, constant, mixing
1325! coefficient (m4/s) for active (NAT) and inert (NPT) tracer
1326! variables. If variable horizontal diffusion is activated,
1327! ad_TNU4 is the mixing coefficient for the largest grid-cell
1328! in the domain. In some applications, a larger value than
1329! that used in the nonlinear model (basic state) is necessary
1330! for stability.
1331!
1332! VISC2 Nonlinear model lateral, harmonic, constant, mixing
1333! coefficient (m2/s) for momentum. If variable horizontal
1334! viscosity is activated, UVNU2 is the mixing coefficient
1335! for the largest grid-cell in the domain.
1336!
1337! VISC4 Nonlinear model lateral, biharmonic, constant mixing
1338! coefficient (m4/s) for momentum. If variable horizontal
1339! viscosity is activated, UVNU4 is the mixing coefficient
1340! for the largest grid-cell in the domain.
1341!
1342! ad_VISC2 Adjoint-based algorithms lateral, harmonic, constant, mixing
1343! coefficient (m2/s) for momentum. If variable horizontal
1344! viscosity is activated, ad_UVNU2 is the mixing coefficient
1345! for the largest grid-cell in the domain. In some applications,
1346! a larger value than that used in the nonlinear model (basic
1347! state) is necessary for stability.
1348!
1349! ad_VISC4 Adjoint-based algorithms lateral, biharmonic, constant mixing
1350! coefficient (m4/s) for momentum. If variable horizontal
1351! viscosity is activated, ad_UVNU4 is the mixing coefficient
1352! for the largest grid-cell in the domain. In some applications,
1353! a larger value than that used in the nonlinear model (basic
1354! state) is necessary for stability.
1355!
1356!------------------------------------------------------------------------------
1357! Switches to activate sponge areas with enhanced horizontal mixing.
1358!------------------------------------------------------------------------------
1359!
1360! LuvSponge Logical switch (TRUE/FALSE) to increase/decrease horizontal
1361! viscosity in specific areas of the domain. It can be used
1362! to specify sponge areas with larger horizontal mixing
1363! coefficients for damping of high frequency noise due to
1364! open boundary conditions or nesting. The CPP option SPONGE
1365! is now deprecated and replaced with this switch to facilitate
1366! or not sponge areas over a particular nested grid.
1367!
1368! The horizontal mixing distribution is specified in
1369! "ini_hmixcoef.F" as:
1370!
1371! visc2_r(i,j) = visc_factor(i,j) * visc2_r(i,j)
1372! visc4_r(i,j) = visc_factor(i,j) * visc4_r(i,j)
1373!
1374! The variable "visc_factor" can be read from the grid
1375! NetCDF file. Alternately, the horizontal viscosity in the
1376! sponge area can be set-up with analytical functions in
1377! "ana_sponge.h" using CPP ANA_SPONGE when the switch
1378! "LuvSponge" is turned ON for a particular grid.
1379!
1380! LtracerSponge Logical switch (TRUE/FALSE) to increase/decrease horizontal
1381! diffusivity in specific areas of the domain. It can be used
1382! to specify sponge areas with larger horizontal mixing
1383! coefficients for damping of high frequency noise due to
1384! open boundary conditions or nesting. The CPP option SPONGE
1385! is now deprecated and replaced with this switch to facilitate
1386! or not sponge areas over a particular nested grid.
1387!
1388! The horizontal mixing distribution is specified in
1389! "ini_hmixcoef.F" as:
1390!
1391! diff2(i,j,itrc) = diff_factor(i,j) * diff2(i,j,itrc)
1392! diff4(i,j,itrc) = diff_factor(i,j) * diff4(i,j,itrc)
1393!
1394! The variable "diff_factor" can be read from the grid
1395! NetCDF file. Alternately, the horizontal viscosity in the
1396! sponge area can be set-up with analytical functions in
1397! "ana_sponge.h" using CPP ANA_SPONGE when the switch
1398! "LuvSponge" is turned ON for a particular grid.
1399!
1400!------------------------------------------------------------------------------
1401! Vertical mixing coefficients for active tracers.
1402!------------------------------------------------------------------------------
1403!
1404! AKT_BAK Background vertical mixing coefficient (m2/s) for active
1405! (NAT) and inert (NPT) tracer variables.
1406!
1407! ad_AKT_fac Adjoint-based algorithms vertical mixing, basic state, scale
1408! factor (nondimensional) for active (NAT) and inert (NPT)
1409! tracer variables. In some applications, smaller/larger
1410! values of vertical mixing are necessary for stability. It
1411! is only used when FORWARD_MIXING is activated.
1412!
1413!------------------------------------------------------------------------------
1414! Vertical mixing coefficient for momentum.
1415!------------------------------------------------------------------------------
1416!
1417! AKV_BAK Background vertical mixing coefficient (m2/s) for momentum.
1418!
1419! ad_AKV_fac Adjoint-based algorithms vertical mixing, basic state, scale
1420! factor (nondimensional) for momentum. In some applications,
1421! smaller/larger values of vertical mixing are necessary for
1422! stability. It is only used when FORWARD_MIXING is activated.
1423!
1424!------------------------------------------------------------------------------
1425! Turbulent closure parameters.
1426!------------------------------------------------------------------------------
1427!
1428! AKK_BAK Background vertical mixing coefficient (m2/s) for turbulent
1429! kinetic energy.
1430!
1431! AKP_BAK Background vertical mixing coefficient (m2/s) for turbulent
1432! generic statistical field, "psi".
1433!
1434! TKENU2 Lateral, harmonic, constant, mixing coefficient (m2/s) for
1435! turbulent closure variables.
1436!
1437! TKENU4 Lateral, biharmonic, constant mixing coefficient (m4/s) for
1438! turbulent closure variables.
1439!
1440!------------------------------------------------------------------------------
1441! Generic length-scale turbulence closure parameters.
1442!------------------------------------------------------------------------------
1443!
1444! GLS_P Stability exponent (non-dimensional).
1445!
1446! GLS_M Turbulent kinetic energy exponent (non-dimensional).
1447!
1448! GLS_N Turbulent length scale exponent (non-dimensional).
1449!
1450! GLS_Kmin Minimum value of specific turbulent kinetic energy
1451!
1452! GLS_Pmin Minimum Value of dissipation.
1453!
1454! Closure independent constraint parameters (non-dimensional):
1455!
1456! GLS_CMU0 Stability coefficient.
1457!
1458! GLS_C1 Shear production coefficient.
1459!
1460! GLS_C2 Dissipation coefficient.
1461!
1462! GLS_C3M Buoyancy production coefficient (minus).
1463!
1464! GLS_C3P Buoyancy production coefficient (plus).
1465!
1466! GLS_SIGK Constant Schmidt number (non-dimensional) for turbulent
1467! kinetic energy diffusivity.
1468!
1469! GLS_SIGP Constant Schmidt number (non-dimensional) for turbulent
1470! generic statistical field, "psi".
1471!
1472! Suggested values for various parameterizations:
1473!
1474! k-kl k-epsilon k-omega gen
1475!
1476! GLS_P = 0.d0 3.0d0 -1.0d0 2.0d0
1477! GLS_M = 1.d0 1.5d0 0.5d0 1.0d0
1478! GLS_N = 1.d0 -1.0d0 -1.0d0 -0.67d0
1479! GLS_Kmin = 5.0d-6 7.6d-6 7.6d-6 1.0d-8
1480! GLS_Pmin = 5.0d-6 1.0d-12 1.0d-12 1.0d-8
1481!
1482! GLS_CMU0 = 0.5544d0 0.5477d0 0.5477d0 0.5544d0
1483! GLS_C1 = 0.9d0 1.44d0 0.555d0 1.00d0
1484! GLS_C2 = 0.52d0 1.92d0 0.833d0 1.22d0
1485! GLS_C3M = 2.5d0 -0.4d0 -0.6d0 0.1d0
1486! GLS_C3P = 1.0d0 1.0d0 1.0d0 1.0d0
1487! GLS_SIGK = 1.96d0 1.0d0 2.0d0 0.8d0
1488! GLS_SIGP = 1.96d0 1.30d0 2.0d0 1.07d0
1489!
1490!------------------------------------------------------------------------------
1491! Constants used in the various formulations of surface turbulent kinetic
1492! energy flux in the GLS.
1493!------------------------------------------------------------------------------
1494!
1495! CHARNOK_ALPHA Charnok surface roughness,
1496! Zos: (charnok_alpha * u_star**2) / g
1497!
1498! ZOS_HSIG_ALPHA Roughness from wave amplitude,
1499! Zos: zos_hsig_alpha * Hsig
1500!
1501! SZ_ALPHA Surface flux from wave dissipation,
1502! flux: dt * sz_alpha * Wave_dissip
1503!
1504! CRGBAN_CW Surface flux due to Craig and Banner wave breaking,
1505! flux: dt * crgban_cw * u_star**3
1506!
1507!------------------------------------------------------------------------------
1508! Constants used in the computation of momentum stress.
1509!------------------------------------------------------------------------------
1510!
1511! RDRG Linear bottom drag coefficient (m/s).
1512!
1513! RDRG2 Quadratic bottom drag coefficient.
1514!
1515! Zob Bottom roughness (m).
1516!
1517! Zos Surface roughness (m).
1518!
1519!------------------------------------------------------------------------------
1520! Height of atmospheric measurements for bulk fluxes parameterization.
1521!------------------------------------------------------------------------------
1522!
1523! BLK_ZQ Height (m) of surface air humidity measurement. Usually,
1524! recorded at 10 m.
1525!
1526! BLK_ZT Height (m) of surface air temperature measurement. Usually,
1527! recorded at 2 or 10 m.
1528!
1529! BLK_ZW Height (m) of surface winds measurement. Usually, recorded
1530! at 10 m.
1531!
1532!------------------------------------------------------------------------------
1533! Wetting and drying parameters.
1534!------------------------------------------------------------------------------
1535!
1536! DCRIT Minimum depth (m) for wetting and drying.
1537!
1538!------------------------------------------------------------------------------
1539! Jerlov Water type.
1540!------------------------------------------------------------------------------
1541!
1542! WTYPE Jerlov water type array index used to model the light absorption
1543! with a double exponential function (Paulson and Simpson,
1544! 1977). The classification ranges from clear open ocean
1545! waters (type I) to dark turbulent coastal waters (type 7).
1546!
1547! Array Jerlov
1548! Index Water Type Examples
1549! ----- ---------- --------
1550!
1551! 1 I Open Pacific
1552! 2 IA Eastern Mediterranean, Indian Ocean
1553! 3 IB Western Mediterranean, Open Atlantic
1554! 4 II Coastal waters, Azores
1555! 5 III Coastal waters, North Sea
1556! 6 1 Skagerrak Strait
1557! 7 3 Baltic
1558! 8 5 Black Sea
1559! 9 7 Dark coastal water
1560!
1561!------------------------------------------------------------------------------
1562! Body-force parameters. Used when CPP option BODYFORCE is activated.
1563!------------------------------------------------------------------------------
1564!
1565! LEVSFRC Deepest level to apply surface momentum stress as a body-force.
1566!
1567! LEVBFRC Shallowest level to apply bottom momentum stress as a body-force.
1568!
1569!------------------------------------------------------------------------------
1570! Vertical S-coordinates parameters.
1571!------------------------------------------------------------------------------
1572!
1573! The parameters below must be consistent in all input fields associated with
1574! the vertical grid. The same vertical grid transformation (depths) needs to
1575! be used when preparing initial conditions, boundary conditions, climatology,
1576! observations, and so on. Please check:
1577!
1578! https://www.myroms.org/wiki/index.php/Vertical_S-coordinate
1579!
1580! for details, rules and examples.
1581!
1582!
1583! Vtransform Vertical transformation equation:
1584!
1585! (1) Original formulation (Shchepetkin and McWilliams, 2005),
1586! Vtransform=1 (In ROMS since 1999)
1587!
1588! z(x,y,s,t)=Zo(x,y,s)+zeta(x,y,t)*[1+Zo(x,y,s)/h(x,y)]
1589!
1590! where
1591!
1592! Zo(x,y,s)=hc*s+[h(x,y)-hc]*C(s)
1593!
1594! (2) Improved formulation (A. Shchepetkin, 2005),
1595! Vtransform=2
1596!
1597! z(x,y,s,t)=zeta(x,y,t)*[zeta(x,y,t)+h(x,y)]*Zo(x,y,s)
1598!
1599! where
1600!
1601! Zo(x,y,s)=[hc*s(k)+h(x,y)*C(k)]/[hc+h(x,y)]
1602!
1603! The true sigma-coordinate system is recovered as hc goes
1604! to INFINITY. This is useful when configuring applications
1605! with flat bathymetry and uniform level thickness.
1606! Practically, you can achieve this by setting:
1607!
1608! THETA_S = 0.0d0
1609! THETA_B = 0.0d0
1610! TCLINE = 1.0d+17 (a large number)
1611!
1612!
1613! Vstretching Vertical stretching function, C(s):
1614!
1615! (1) Original function (Song and Haidvogel, 1994),
1616! Vstretching=1
1617!
1618! C(s)=(1-theta_b)*[SINH(s*theta_s)/SINH(theta_s)]+
1619! theta_b*[-0.5+0.5*TANH(theta_s*(s+0.5))/
1620! TANH(0.5*theta_s)]
1621!
1622! (2) A. Shchepetkin (2005) function,
1623! Vstretching=2
1624!
1625! C(s)=Cweight*Csur(s)+(1-Cweight)*Cbot(s)
1626!
1627! where
1628!
1629! Csur(s)=[1-COSH(theta_s*s)]/[COSH(theta_s)-1]
1630!
1631! Cbot(s)=-1+[1-SINH(theta_b*(s+1))]/SINH(theta_b)
1632!
1633! Cweight=(s+1)**alpha*
1634! (1+(alpha/beta)*(1-(s+1)**beta))
1635!
1636! (3) R. Geyer function for shallow sediment applications,
1637! Vstretching=3
1638!
1639! C(s)=Cweight*Cbot(s)+(1-Cweight)*Csur(s)
1640!
1641! where
1642!
1643! Csur(s)=-LOG(COSH(Hscale*ABS(s)** alpha))/
1644! LOG(COSH(Hscale))
1645!
1646! Cbot(s)= LOG(COSH(Hscale*(s+1)** beta))/
1647! LOG(COSH(Hscale))-1
1648!
1649! Cweight=0.5*(1-TANH(Hscale*(s+0.5))
1650!
1651! (4) A. Shchepetkin (2010) improved double stretching function,
1652! Vstretching=4
1653!
1654! C(s)=[1-COSH(theta_s*s)]/[COSH(theta_s)-1]
1655!
1656! with bottom refinement
1657!
1658! C(s)=[EXP(theta_b*C(s))-1]/[1-EXP(-theta_b)]
1659!
1660! The resulting double transformation is continuous with
1661! respect control parameters theta_s and theta_b with a
1662! meaningful range of:
1663!
1664! 0 < theta_s <= 10.0
1665! 0 <= theta_b <= 4.0
1666!
1667! Many other stretching functions (Vstretching>4) are possible
1668! provided that:
1669!
1670! * C(s) is a dimensionless, nonlinear, monotonic function.
1671! * C(s) is a continuous differentiable function, or
1672! a differentiable piecewise function with smooth transition.
1673! * The stretching vertical coordinate ,s, is constrained
1674! between -1 <= s <= 0, with s=0 corresponding to the
1675! free-surface and s=-1 corresponding to the bathymetry.
1676! * Similarly, the stretching function, C(s), is constrained
1677! between -1 <= C(s) <= 0, with C(0)=0 corresponding to the
1678! free-surface and C(-1)=-1 corresponding to the bathymetry.
1679!
1680! These functions are coded in routine "Utility/set_scoord.F".
1681!
1682! Due to its functionality and properties, the default and recommended vertical
1683! coordinates transformation is:
1684!
1685! Vtransform = 2
1686! Vstretching = 4
1687!
1688!
1689! THETA_S S-coordinate surface control parameter. The range of optimal
1690! values depends on the vertical stretching function, C(s).
1691!
1692! THETA_B S-coordinate bottom control parameter. The range of optimal
1693! values depends on the vertical stretching function, C(s).
1694!
1695! TCLINE Critical depth (hc) in meters (positive) controlling the
1696! stretching. It can be interpreted as the width of surface or
1697! bottom boundary layer in which higher vertical resolution
1698! (levels) is required during stretching.
1699!
1700!------------------------------------------------------------------------------
1701! Mean Density and background Brunt-Vaisala frequency.
1702!------------------------------------------------------------------------------
1703!
1704! RHO0 Mean density (Kg/m3) used when the Boussinesq approximation
1705! is inferred.
1706!
1707! BVF_BAK Background Brunt-Vaisala frequency squared (1/s2). Typical
1708! values for the ocean range (as a function of depth) from
1709! 1.0E-4 to 1.0E-6.
1710!
1711!------------------------------------------------------------------------------
1712! Time Stamps.
1713!------------------------------------------------------------------------------
1714!
1715! DSTART Time stamp assigned to model initialization (days). Usually
1716! a Calendar linear coordinate, like modified Julian Day. For
1717! Example:
1718!
1719! Julian Day = 1 for Nov 25, 0:0:0 4713 BCE
1720! modified Julian Day = 1 for May 24, 0:0:0 1968 CE GMT
1721!
1722! It is called truncated or modified Julian day because an
1723! offset of 2440000 needs to be added.
1724!
1725! TIDE_START Reference time origin for tidal forcing (days). This is the
1726! time used when processing input tidal model data. It is needed
1727! in routine "set_tides" to compute the correct phase lag with
1728! respect ROMS/TOMS initialization time.
1729!
1730! TIME_REF Reference time (yyyymmdd.f) used to compute relative time:
1731! elapsed time interval since reference-time. The "units"
1732! attribute takes the form "time-unit since reference-time".
1733! This parameter also provides information about the calendar
1734! used:
1735!
1736! If TIME_REF = -2, model time and DSTART are in modified Julian
1737! days units. The "units" attribute is:
1738!
1739! 'time-units since 1968-05-23 00:00:00 GMT'
1740!
1741! If TIME_REF = -1, model time and DSTART are in a calendar
1742! with 360 days in every year (30 days each month). The "units"
1743! attribute is:
1744!
1745! 'time-units since 0001-01-01 00:00:00'
1746!
1747! If TIME_REF = 0, model time and DSTART are in a common year
1748! calendar with 365.25 days. The "units" attribute is:
1749!
1750! 'time-units since 0001-01-01 00:00:00'
1751!
1752! If TIME_REF > 0, model time and DSTART are the elapsed time
1753! units since specified reference time. For example,
1754! TIME_REF=20020115.5 will yield the following attribute:
1755!
1756! 'time-units since 2002-01-15 12:00:00'
1757!
1758!------------------------------------------------------------------------------
1759! Nudging/relaxation time scales, inverse scales will be computed internally.
1760!------------------------------------------------------------------------------
1761!
1762! When passive/active open boundary conditions are activated, these nudging
1763! values correspond to the passive (outflow) nudging time scales.
1764!
1765! TNUDG Nudging time scale (days) for active tracer variables.
1766! (1:NAT+NPT,1:Ngrids) values are expected.
1767!
1768! ZNUDG Nudging time scale (days) for free-surface.
1769!
1770! M2NUDG Nudging time scale (days) for 2D momentum.
1771!
1772! M3NUDG Nudging time scale (days) for 3D momentum.
1773!
1774! OBCFAC Factor between passive (outflow) and active (inflow) open
1775! boundary conditions. The nudging time scales for the
1776! active (inflow) conditions are obtained by multiplying
1777! the passive values by OBCFAC. If OBCFAC > 1, nudging on
1778! inflow is stronger than on outflow (recommended).
1779!
1780!------------------------------------------------------------------------------
1781! Linear equation of State parameters.
1782!------------------------------------------------------------------------------
1783!
1784! Ignoring pressure, the linear equation of state is:
1785!
1786! rho(:,:,:) = R0 - R0 * TCOEF * (t(:,:,:,:,itemp) - T0)
1787! + R0 * SCOEF * (t(:,:,:,:,isalt) - S0)
1788!
1789! Typical values: R0 = 1027.0 kg/m3
1790! T0 = 10.0 Celsius
1791! S0 = 35.0 nondimensional
1792! TCOEF = 1.7d-4 1/Celsius
1793! SCOEF = 7.6d-4 1/nondimensional
1794!
1795! Notice that salinity has NO UNITS, it is nondimensional. Many
1796! people use PSU (Practical Salinity Unit). However, salinity
1797! has always been defined as a conductivity ratio and does not
1798! have physical units. For details, check the following forum
1799! post: www.myroms.org/forum/viewtopic.php?f=30&t=294
1800!
1801! R0 Background density value (Kg/m3) used in Linear Equation of
1802! State.
1803!
1804! T0 Background potential temperature (Celsius) constant.
1805!
1806! S0 Background salinity (nondimensional) constant.
1807!
1808! TCOEF Thermal expansion coefficient in Linear Equation of State.
1809!
1810! SCOEF Saline contraction coefficient in Linear Equation of State.
1811!
1812!------------------------------------------------------------------------------
1813! Slipperiness parameter.
1814!------------------------------------------------------------------------------
1815!
1816! GAMMA2 Slipperiness variable, either 1.0 (free slip) or -1.0 (no slip).
1817!
1818!------------------------------------------------------------------------------
1819! Point Sources/Sink sources activation switches.
1820!------------------------------------------------------------------------------
1821!
1822! LuvSrc Logical switches (T/F) to activate momentum horizontal transport
1823! points Sources/Sinks. Usually it is used to turn on/off river
1824! runoff transport (u or v variables) in an application,
1825! [1:Ngrids].
1826!
1827! In nesting applications, turn on only the grids that require
1828! activation and processing of momentum point Sources/Sinks.
1829!
1830! LwSrc Logical switches (T/F) to activate mass points Sources/Sinks.
1831! Usually, it is used to turn on/off volume vertical influx (w)
1832! in an application.
1833!
1834! In nesting applications, turn on only the grids that require
1835! activation and processing of mass influx point Sources/Sinks.
1836!
1837! LtracerSrc Logical switches (T/F) to activate tracer variables point
1838! Sources/Sinks. Only NAT active tracers (temperature, salinity)
1839! and NPT inert tracers are activated here:
1840!
1841! LtracerSrc(itemp,ng) for temperature (itemp=1)
1842! LtracerSrc(isalt,ng) for salinity (isalt=2)
1843! LtracerSrc(NAT+1,ng) for inert tracer 1
1844! ... ...
1845! LtracerSrc(NAT+NPT,ng) for inert tracer NPT
1846!
1847! Other biological and sediment tracers switches are activated
1848! in their respective input scripts.
1849!
1850! In nesting applications, turn on only the grids that require
1851! activation and processing of tracers point Sources/Sinks.
1852!
1853! Recall that switches are usually activated to add river runoff
1854! as a point source. At minimum, it is necessary to specify both
1855! temperature and salinity for all rivers. The other tracers are
1856! optional.
1857!
1858! This logical switch REPLACES and ELIMINATES the need to have
1859! or read the variable "river_flag(river)" in the input rivers
1860! forcing NetCDF file:
1861!
1862! double river_flag(river)
1863! river_flag:long_name = "river runoff tracer flag"
1864! river_flag:option_0 = "all tracers are off"
1865! river_flag:option_1 = "only temperature"
1866! river_flag:option_2 = "only salinity"
1867! river_flag:option_3 = "both temperature and salinity"
1868! river_flag:units = "nondimensional"
1869!
1870! The above variable was too cumbersome and complicated when
1871! additional tracers are considered. However, this change is
1872! backward compatible.
1873!
1874! The LtracerSrc switch will be used to activate the reading of
1875! respective tracer variable from input river forcing NetCDF
1876! file. If you want to add other tracer variables (other than
1877! temperature and salinity) as a source for a particular
1878! river(s), you just need to specify such values on those
1879! river(s). Then, set the values to ZERO on the other river(s)
1880! that do NOT require such river forcing for that tracer.
1881! Recall that you need to specify the tracer values for all
1882! rivers, even if their values are zero.
1883!
1884!------------------------------------------------------------------------------
1885! Logical switches to process climatology fields. The climatology fields are
1886! either read from a NetCDF file or set with analytical CPP options.
1887!------------------------------------------------------------------------------
1888!
1889! LsshCLM Logical switch (T/F) to process sea-surface height climatology.
1890! The CPP option ZCLIMATOLOGY is now obsolete and replaced with
1891! this switch to facilitate nesting applications. Currently,
1892! the sea-surface height climatology, CLIMA(ng)%ssh, is NOT
1893! used but it is kept for future use.
1894!
1895! The nudging of SSH on the free-surface governing equation
1896! (vertically integrated continuity equation) is NOT allowed
1897! because it violates mass/volume conservation. Recall that
1898! the time rate of change of free-surface is computed from the
1899! divergence of "ubar" and "vbar". If such nudging term is
1900! required, it needs to be specified on the momentum equations
1901! for (u,v) and/or (ubar,vbar). If done on (u,v) only, its
1902! effects enter the 2D momentum equations via the residual
1903! vertically integrated forcing term.
1904!
1905! Lm2CLM Logical switch (T/F) to process 2D momentum (ubar, vbar)
1906! climatology. The CPP option M2CLIMATOLOGY is now obsolete
1907! and replaced with this switch to facilitate nesting
1908! applications. Currently, the CLIMA(ng)%ubarclm and
1909! CLIMA(ng)%vbarclm are used for sponges and nudging. If
1910! tidal forcing, the climatological values are adjusted to
1911! include tides.
1912!
1913! Lm3CLM Logical switch (T/F) to process 3D momentum climatology (u,v)
1914! The CPP option M3CLIMATOLOGY is now obsolete and replaced
1915! with this switch to facilitate nesting applications.
1916! Currently, the CLIMA(ng)%uclm and CLIMA(ng)%vclm are used
1917! for sponges and nudging.
1918!
1919! LtracerCLM Logical switches (T/F) to process active and inert tracer
1920! variables climatology. The CPP option TCLIMATOLOGY is now
1921! obsolete and replaced with these switches to facilitate
1922! nesting applications. Currently, the CLIMA(ng)%tclm is
1923! used for horizontal mixing, sponges, and nudging.
1924!
1925! Only NAT active tracers (temperature, salinity) and NPT inert
1926! tracers need to be specified here:
1927!
1928! LtracerCLM(itemp,ng) for temperature (itemp=1)
1929! LtracerCLM(isalt,ng) for salinity (isalt=2)
1930! LtracerCLM(NAT+1,ng) for inert tracer 1
1931! ... ...
1932! LtracerCLM(NAT+NPT,ng) for inert tracer NPT
1933!
1934! Other biological and sediment tracers switches are specified
1935! in their respective input scripts.
1936!
1937! These switches also controls which climatology tracer fields
1938! (specially passive tracers) needs to be processed. So we
1939! may reduce the memory allocation for the CLIMA(ng)%tclm array.
1940!
1941!------------------------------------------------------------------------------
1942! Logical switches for nudging to climatology fields.
1943!------------------------------------------------------------------------------
1944!
1945! LnudgeM2CLM Logical switch (T/F) to activate the nugding of 2D momentum
1946! climatology. The CPP option M2CLM_NUDGING is now obsolete
1947! and replaced with this switch to facilitate nesting
1948! applications. Users also need to TURN ON the logical
1949! switch "Lm2CLM", described above, to process the required
1950! 2D momentum climatology data. This data can be set with
1951! analytical functions (ANA_M2CLIMA) or read from input
1952! climatology NetCDF file(s).
1953!
1954! The nudging coefficients CLIMA(ng)%M2nudgcof can be set
1955! with analytical functions in "ana_nudgcoef.h" using CPP
1956! option ANA_NUDGCOEF. Otherwise, it will be read from
1957! NetCDF file NUDNAME.
1958!
1959! LnudgeM3CLM Logical switch (T/F) to activate the nugding of 3D momentum
1960! climatology. The CPP option M3CLM_NUDGING is now obsolete
1961! and replaced with this switch to facilitate nesting
1962! applications.
1963!
1964! Users also need to TURN ON the logical switch "Lm3CLM",
1965! described above, to process the required 3D momentum
1966! climatology data. This data can be set with analytical
1967! functions (ANA_M3CLIMA) or read from input climatology
1968! NetCDF file(s).
1969!
1970! The nudging coefficients CLIMA(ng)%M3nudgcof can be set
1971! with analytical functions in "ana_nudgcoef.h" using CPP
1972! option ANA_NUDGCOEF. Otherwise, it will be read from
1973! NetCDF file NUDNAME.
1974!
1975! LnudgeTCLM Logical switches (T/F) to activate the nugding of active and
1976! inert tracer variables climatology. These switches also
1977! control which tracer variables to nudge. The CPP option
1978! TCLM_NUDGING is now obsolete and replaced with these
1979! switches to facilitate nesting applications.
1980!
1981! User also needs to TURN ON the respective logical switches
1982! "LtracerCLM", described above, to process the required 3D
1983! tracer climatology data. This data can be set with analytical
1984! functions (ANA_TCLIMA) or read from input climatology
1985! NetCDF file(s).
1986!
1987! The nudging coefficients CLIMA(ng)%Tnudgcof can be set
1988! with analytical functions in "ana_nudgcoef.h" using CPP
1989! option ANA_NUDGCOEF. Otherwise, it will be read from
1990! NetCDF file NUDNAME.
1991!
1992!------------------------------------------------------------------------------
1993! Adjoint sensitivity parameters.
1994!------------------------------------------------------------------------------
1995!
1996! DstrS Starting day for adjoint sensitivity forcing.
1997!
1998! DendS Ending day for adjoint sensitivity forcing.
1999!
2000! The adjoint forcing is applied at every time step according
2001! to desired state functional stored in the adjoint sensitivity
2002! NetCDF file. DstrS must be less than or equal to DendS. If
2003! both values are zero, their values are reset internally to
2004! the full range of the adjoint integration.
2005!
2006! KstrS Starting vertical level of the 3D adjoint state variables whose
2007! sensitivity is required.
2008!
2009! KendS Ending vertical level of the 3D adjoint state variables whose
2010! sensitivity is required.
2011!
2012! Lstate Logical switches (TRUE/FALSE) to specify the adjoint state
2013! variables whose sensitivity is required.
2014!
2015! Lstate(isFsur): Free-surface
2016! Lstate(isUbar): 2D U-momentum
2017! Lstate(isVbar): 2D V-momentum
2018! Lstate(isUvel): 3D U-momentum
2019! Lstate(isVvel): 3D V-momentum
2020! Lstate(isTvar): Traces (NT values expected)
2021!
2022!------------------------------------------------------------------------------
2023! Forcing Singular Vectors or Stochastic Optimals parameters.
2024!------------------------------------------------------------------------------
2025!
2026! Fstate Logical switches (TRUE/FALSE) to specify state variables for
2027! which Forcing Singular Vectors or Stochastic Optimals is
2028! required.
2029!
2030! Fstate(isFsur): Free-surface
2031! Fstate(isUbar): 2D U-momentum
2032! Fstate(isVbar): 2D V-momentum
2033! Fstate(isUvel): 3D U-momentum
2034! Fstate(isVvel): 3D V-momentum
2035! Fstate(isTvar): Traces (NT values expected)
2036!
2037! Fstate(isUstr): surface U-stress
2038! Fstate(isVstr): surface V-stress
2039! Fstate(isTsur): surface tracers flux (NT values expected)
2040!
2041! SO_decay Stochastic Optimals time decorrelation scale (days) assumed
2042! for red noise processes.
2043!
2044! SO_sdev Stochastic Optimals surface forcing standard deviation for
2045! dimensionalization.
2046!
2047! SO_sdev(isFsur): Free-surface
2048! SO_sdev(isUbar): 2D U-momentum
2049! SO_sdev(isVbar): 2D V-momentum
2050! SO_sdev(isUvel): 3D U-momentum
2051! SO_sdev(isVvel): 3D V-momentum
2052! SO_sdev(isTvar): Traces (NT values expected)
2053!
2054! SO_sdev(isUstr): surface U-stress
2055! SO_sdev(isVstr): surface V-stress
2056! SO_sdev(isTsur): surface tracer flux (NT values expected)
2057!
2058!------------------------------------------------------------------------------
2059! Logical switches (T/F) to activate writing of instantaneous fields into
2060! HISTORY file.
2061!------------------------------------------------------------------------------
2062!
2063! Hout(idUvel) Write out 3D U-velocity component.
2064! Hout(idVvel) Write out 3D V-velocity component.
2065! Hout(idu3dE) Write out 3D Eastward velocity component at RHO-points.
2066! Hout(idv3dN) Write out 3D Northward velocity component at RHO-points.
2067! Hout(idWvel) Write out 3D W-velocity component.
2068! Hout(idOvel) Write out 3D omega vertical velocity.
2069! Hout(idUbar) Write out 2D U-velocity component.
2070! Hout(idVbar) Write out 2D V-velocity component.
2071! Hout(idu2dE) Write out 2D Eastward velocity component at RHO-points.
2072! Hout(idv2dN) Write out 2D Northward velocity component at RHO-points.
2073! Hout(idFsur) Write out free-surface.
2074! Hout(idBath) Write out time-dependent bathymetry.
2075!
2076! Hout(idTvar) Write out active (NAT) tracers: temperature and salinity.
2077!
2078! Hout(idUsms) Write out surface U-momentum stress.
2079! Hout(idVsms) Write out surface V-momentum stress.
2080! Hout(idUbms) Write out bottom U-momentum stress.
2081! Hout(idVbms) Write out bottom V-momentum stress.
2082!
2083! Hout(idUbrs) Write out current-induced, U-momentum stress.
2084! Hout(idVbrs) Write out current-induced, V-momentum stress.
2085! Hout(idUbws) Write out wind-induced, bottom U-wave stress.
2086! Hout(idVbws) Write out wind-induced, bottom V-wave stress.
2087! Hout(idUbcs) Write out bottom maximum wave and current U-stress.
2088! Hout(idVbcs) Write out bottom maximum wave and current V-stress.
2089!
2090! Hout(idUbot) Write out wind-induced, bed wave orbital U-velocity.
2091! Hout(idVbot) Write out wind-induced, bed wave orbital V-velocity.
2092! Hout(idUbur) Write out bottom U-velocity above bed.
2093! Hout(idVbvr) Write out bottom V-velocity above bed.
2094!
2095! Hout(idW2xx) Write out 2D radiation stress, Sxx component.
2096! Hout(idW2xy) Write out 2D radiation stress, Sxy component.
2097! Hout(idW2yy) Write out 2D radiation stress, Syy component.
2098! Hout(idU2rs) Write out 2D U-radiation stress.
2099! Hout(idV2rs) Write out 2D V-radiation stress.
2100! Hout(idU2Sd) Write out 2D U-Stokes velocity.
2101! Hout(idV2Sd) Write out 2D V-Stokes velocity.
2102!
2103! Hout(idW3xx) Write out 3D radiation stress, Sxx component.
2104! Hout(idW3xy) Write out 3D radiation stress, Sxy component.
2105! Hout(idW3yy) Write out 3D radiation stress, Syy component.
2106! Hout(idW3zx) Write out 3D radiation stress, Szx component.
2107! Hout(idW3zy) Write out 3D radiation stress, Szy component.
2108! Hout(idU3rs) Write out 3D U-radiation stress.
2109! Hout(idV3rs) Write out 3D V-radiation stress.
2110! Hout(idU3Sd) Write out 3D U-Stokes velocity.
2111! Hout(idV3Sd) Write out 3D V-Stokes velocity.
2112!
2113! Hout(idWamp) Write out wave height.
2114! Hout(idWlen) Write out wave length.
2115! Hout(idWdir) Write out wave direction.
2116! Hout(idWptp) Write out wave surface period.
2117! Hout(idWpbt) Write out wave bottom period.
2118! Hout(idWorb) Write out wave bottom orbital velocity.
2119! Hout(idWdis) Write out wave dissipation.
2120!
2121! Hout(idPair) Write out surface air pressure.
2122! Hout(idUair) Write out surface U-wind component.
2123! Hout(idVair) Write out surface V-wind component.
2124!
2125! Hout(idTsur) Write out surface net heat and salt flux
2126! Hout(idLhea) Write out latent heat flux.
2127! Hout(idShea) Write out sensible heat flux.
2128! Hout(idLrad) Write out long-wave radiation flux.
2129! Hout(idSrad) Write out short-wave radiation flux.
2130! Hout(idEmPf) Write out E-P flux.
2131! Hout(idevap) Write out evaporation rate.
2132! Hout(idrain) Write out precipitation rate.
2133!
2134! Hout(idDano) Write out density anomaly.
2135! Hout(idVvis) Write out vertical viscosity coefficient.
2136! Hout(idTdif) Write out vertical diffusion coefficient of temperature.
2137! Hout(idSdif) Write out vertical diffusion coefficient of salinity.
2138! Hout(idHsbl) Write out depth of oceanic surface boundary layer.
2139! Hout(idHbbl) Write out depth of oceanic bottom boundary layer.
2140! Hout(idMtke) Write out turbulent kinetic energy.
2141! Hout(idMtls) Write out turbulent kinetic energy times length scale.
2142!
2143! Hout(inert) Write out extra inert passive tracers.
2144!
2145! Hout(idBott) Write out exposed sediment layer properties, 1:MBOTP.
2146!
2147!------------------------------------------------------------------------------
2148! Logical switches (T/F) to activate writing of time-averaged fields into
2149! AVERAGE file.
2150!------------------------------------------------------------------------------
2151!
2152! Aout(idUvel) Write out 3D U-velocity component.
2153! Aout(idVvel) Write out 3D V-velocity component.
2154! Aout(idu3dE) Write out 3D Eastward velocity component at RHO-points.
2155! Aout(idv3dN) Write out 3D Northward velocity component at RHO-points.
2156! Aout(idWvel) Write out 3D W-velocity component.
2157! Aout(idOvel) Write out 3D omega vertical velocity.
2158! Aout(idUbar) Write out 2D U-velocity component.
2159! Aout(idVbar) Write out 2D V-velocity component.
2160! Aout(idu2dE) Write out 2D Eastward velocity component at RHO-points.
2161! Aout(idv2dN) Write out 2D Northward velocity component at RHO-points.
2162! Aout(idFsur) Write out free-surface.
2163!
2164! Aout(idTvar) Write out active (NAT) tracers: temperature and salinity.
2165!
2166! Aout(idUsms) Write out surface U-momentum stress.
2167! Aout(idVsms) Write out surface V-momentum stress.
2168! Aout(idUbms) Write out bottom U-momentum stress.
2169! Aout(idVbms) Write out bottom V-momentum stress.
2170!
2171! Aout(idW2xx) Write out 2D radiation stress, Sxx component.
2172! Aout(idW2xy) Write out 2D radiation stress, Sxy component.
2173! Aout(idW2yy) Write out 2D radiation stress, Syy component.
2174! Aout(idU2rs) Write out 2D U-radiation stress.
2175! Aout(idV2rs) Write out 2D V-radiation stress.
2176! Aout(idU2Sd) Write out 2D U-Stokes velocity.
2177! Aout(idV2Sd) Write out 2D V-Stokes velocity.
2178!
2179! Aout(idW3xx) Write out 3D radiation stress, Sxx component.
2180! Aout(idW3xy) Write out 3D radiation stress, Sxy component.
2181! Aout(idW3yy) Write out 3D radiation stress, Syy component.
2182! Aout(idW3zx) Write out 3D radiation stress, Szx component.
2183! Aout(idW3zy) Write out 3D radiation stress, Szy component.
2184! Aout(idU3rs) Write out 3D U-radiation stress.
2185! Aout(idV3rs) Write out 3D V-radiation stress.
2186! Aout(idU3Sd) Write out 3D U-Stokes velocity.
2187! Aout(idV3Sd) Write out 3D V-Stokes velocity.
2188!
2189! Aout(idPair) Write out surface air pressure.
2190! Aout(idUair) Write out surface U-wind component.
2191! Aout(idVair) Write out surface V-wind component.
2192!
2193! Aout(idTsur) Write out surface net heat and salt flux
2194! Aout(idLhea) Write out latent heat flux.
2195! Aout(idShea) Write out sensible heat flux.
2196! Aout(idLrad) Write out long-wave radiation flux.
2197! Aout(idSrad) Write out short-wave radiation flux.
2198! Aout(idevap) Write out evaporation rate.
2199! Aout(idrain) Write out precipitation rate.
2200!
2201! Aout(idDano) Write out density anomaly.
2202! Aout(idVvis) Write out vertical viscosity coefficient.
2203! Aout(idTdif) Write out vertical diffusion coefficient of temperature.
2204! Aout(idSdif) Write out vertical diffusion coefficient of salinity.
2205! Aout(idHsbl) Write out depth of oceanic surface boundary layer.
2206! Aout(idHbbl) Write out depth of oceanic bottom boundary layer.
2207!
2208! Aout(id2dRV) Write out 2D relative vorticity (vertically integrated).
2209! Aout(id3dRV) Write out 3D relative vorticity.
2210! Aout(id2dPV) Write out 2D potential vorticity (shallow water).
2211! Aout(id3dPV) Write out 3D potential vorticity.
2212!
2213! Aout(idu3dD) Write out detided 3D U-velocity.
2214! Aout(idv3dD) Write out detided 3D V-velocity.
2215! Aout(idu2dD) Write out detided 2D U-velocity.
2216! Aout(idv2dD) Write out detided 2D V-velocity.
2217! Aout(idFsuD) Write out detided free-surface
2218!
2219! Aout(idTrcD) Write out detided temperature and salinity.
2220!
2221! Aout(idHUav) Write out u-volume flux, Huon.
2222! Aout(idHVav) Write out v-volume flux, Hvom.
2223! Aout(idUUav) Write out quadratic <u*u> term.
2224! Aout(idUVav) Write out quadratic <u*v> term.
2225! Aout(idVVav) Write out quadratic <v*v> term.
2226! Aout(idU2av) Write out quadratic <ubar*ubar> term.
2227! Aout(idV2av) Write out quadratic <vbar*vbar> term.
2228! Aout(idZZav) Write out quadratic <zeta*zeta> term.
2229!
2230! Aout(idTTav) Write out quadratic <t*t> active and inert tracers terms.
2231! Aout(idUTav) Write out quadratic <u*t> active and inert tracers terms.
2232! Aout(idVTav) Write out quadratic <v*t> active and inert tracers terms.
2233! Aout(iHUTav) Write out active and inert tracer u-volume flux, <Huon*t>.
2234! Aout(iHVTav) Write out active and inert tracer v-volume flux, <Hvom*t>.
2235!
2236! Aout(inert) Write out extra inert passive tracers.
2237!
2238!------------------------------------------------------------------------------
2239! Logical switches (T/F) to activate writing of time-averaged fields into
2240! DIAGNOSTIC file.
2241!------------------------------------------------------------------------------
2242!
2243! Time-averaged, 2D momentum (ubar,vbar) diagnostic terms:
2244! (if DIAGNOSTICS_UV)
2245!
2246! Dout(M2rate) Write out acceleration.
2247! Dout(M2pgrd) Write out pressure gradient.
2248! Dout(M2fcor) Write out Coriolis force, if UV_COR.
2249! Dout(M2hadv) Write out horizontal total advection, if UV_ADV.
2250! Dout(M2xadv) Write out horizontal XI-advection, if UV_ADV.
2251! Dout(M2yadv) Write out horizontal ETA-advection, if UV_ADV.
2252! Dout(M2hrad) Write out horizontal total radiation stress, NEARSHORE_MELLOR.
2253! Dout(M2hvis) Write out horizontal total viscosity, if UV_VIS2 or UV_VIS4.
2254! Dout(M2xvis) Write out horizontal XI-viscosity, if UV_VIS2 or UV_VIS4.
2255! Dout(M2yvis) Write out horizontal ETA-viscosity, if UV_VIS2 or UV_VIS4.
2256! Dout(M2sstr) Write out surface stress.
2257! Dout(M2bstr) Write out bottom stress
2258!
2259! Time-averaged, 3D momentum (u,v) diagnostic terms:
2260! (if SOLVE3D and DIAGNOSTICS_UV)
2261!
2262! Dout(M3rate) Write out acceleration.
2263! Dout(M3pgrd) Write out pressure gradient.
2264! Dout(M3fcor) Write out Coriolis force, if UV_COR.
2265! Dout(M3hadv) Write out horizontal total advection, if UV_ADV.
2266! Dout(M3xadv) Write out horizontal XI-advection, if UV_ADV.
2267! Dout(M3yadv) Write out horizontal ETA-advection, if UV_ADV.
2268! Dout(M3hrad) Write out horizontal total radiation stress, NEARSHORE_MELLOR.
2269! Dout(M3vrad) Write out vertical radiation stress, if NEARSHORE_MELLOR.
2270! Dout(M3hvis) Write out horizontal total viscosity, if UV_VIS2 or UV_VIS4.
2271! Dout(M3xvis) Write out horizontal XI-viscosity, if UV_VIS2 or UV_VIS4.
2272! Dout(M3yvis) Write out horizontal ETA-viscosity, if UV_VIS2 or UV_VIS4.
2273! Dout(M3yvis) Write out horizontal ETA-viscosity, if UV_VIS2 or UV_VIS4.
2274! Dout(M3vvis) Write out vertical viscosity.
2275!
2276! Time-averaged, active (temperature and salinity) and passive (inert) tracer
2277! diagnostic terms, [1:NAT+NPT,Ngrids] values expected:
2278! (if SOLVE3D and DIAGNOSTICS_TS)
2279!
2280! Dout(iTrate) Write out time rate of change.
2281! Dout(iThadv) Write out horizontal total advection.
2282! Dout(iTxadv) Write out horizontal XI-advection.
2283! Dout(iTyadv) Write out horizontal ETA-advection.
2284! Dout(iTvadv) Write out vertical advection.
2285! Dout(iThdif) Write out horizontal total diffusion, if TS_DIF2 or TS_DIF4.
2286! Dout(iTxdif) Write out horizonta1 XI-diffusion, if TS_DIF2 or TS_DIF4.
2287! Dout(iTydif) Write out horizontal ETA-diffusion, if TS_DIF2 or TS_DIF4.
2288! Dout(iTsdif) Write out horizontal S-diffusion, if TS_DIF2 or TS_DIF4 and
2289! rotated tensor (MIX_GEO_TS or MIX_ISO_TS).
2290! Dout(iTvdif) Write out vertical diffusion.
2291!
2292!------------------------------------------------------------------------------
2293! Generic User parameters.
2294!------------------------------------------------------------------------------
2295!
2296! NUSER Number of User parameters to consider (integer).
2297!
2298! USER Vector containing user parameters (real array). This array
2299! is used with the SANITY_CHECK to test the correctness of
2300! the tangent linear adjoint models. It contains information
2301! of the model variable and grid point to perturb:
2302!
2303! INT(user(1)): tangent state variable to perturb
2304! INT(user(2)): adjoint state variable to perturb
2305! [isFsur=1] free-surface
2306! [isUbar=2] 2D U-momentum
2307! [isVbar=3] 2D V-momentum
2308! [isUvel=4] 3D U-momentum
2309! [isVvel=5] 3D V-momentum
2310! [isTvar=6] First tracer (temperature)
2311! [ ... ]
2312! [isTvar=?] Last tracer
2313!
2314! INT(user(3)): I-index of tangent variable to perturb
2315! INT(user(4)): I-index of adjoint variable to perturb
2316! INT(user(5)): J-index of tangent variable to perturb
2317! INT(user(6)): J-index of adjoint variable to perturb
2318! INT(user(7)): K-index of tangent variable to perturb, if 3D
2319! INT(user(8)): K-index of adjoint variable to perturb, if 3D
2320!
2321! Set tangent and adjoint parameters to the same values
2322! if perturbing and reporting the same variable.
2323!
2324!------------------------------------------------------------------------------
2325! I/O NetCDF files parameters.
2326!------------------------------------------------------------------------------
2327!
2328! NetCDF-4/HDF5 compression parameters for output files. This capability
2329! is used when both HDF5 and DEFLATE C-preprocessing options are
2330! activated. The user needs to compile with the NetCDF-4/HDF5 and MPI
2331! libraries. File deflation cannot be used in parallel I/O for writing
2332! because the compression makes it impossible for the HDF5 library
2333! to exactly map the data to the disk location. For more information,
2334! check NetCDF official website: www.unidata.ucar.edu/software/netcdf.
2335!
2336! NC_SHUFFLE Shuffle filter integer flag. If non-zero, turn on shuffle
2337! filter.
2338!
2339! NC_DEFLATE Deflate filter integer flag, If non-zero, turn on deflate
2340! filter at the level specified by the NC_DLEVEL parameter.
2341!
2342! NC_DLEVEL Deflate filter level parameter (integer). If NC_DEFLATE is
2343! non-zero, set the deflate level to this value. Must be
2344! between 0 and 9.
2345!
2346!------------------------------------------------------------------------------
2347! Input/output NetCDF file names (string with a maximum of 256 characters).
2348!------------------------------------------------------------------------------
2349!
2350! Input file names:
2351!
2352! GRDNAME Input grid file name.
2353!
2354! ININAME Input nonlinear initial conditions file name. It can be a
2355! re-start file.
2356!
2357! ITLNAME Input tangent linear model initial conditions file name.
2358!
2359! IRPNAME Input representer model initial conditions file name.
2360!
2361! IADNAME Input adjoint model initial conditions file name.
2362!
2363! FWDNAME Input forward solution fields file name.
2364!
2365! ADSNAME Input adjoint sensitivity functional file name.
2366!
2367!
2368! Nesting grids connectivity data:
2369!
2370! NGCNAME Input nested grids contact points information file name. This
2371! NetCDF file is currently generated using script:
2372!
2373! matlab/grid/contact.m
2374!
2375! from the ROMS Matlab repository. The nesting information
2376! is not trivial and this Matlab scripts is quite complex. See
2377!
2378! https://www.myroms.org/wiki/index.php/Nested_Grids
2379! https://www.myroms.org/wiki/index.php/Grid_Processing_Scripts
2380!
2381! for more information.
2382!
2383!
2384! Input lateral boundary conditions and climatology file names:
2385!
2386! BRYNAME Input open boundary data file name(s) per nested grid.
2387!
2388! CLMNAME Input climatology fields file name(s) per nested grid
2389!
2390! The USER has the option to split input data time records into several
2391! NetCDF files, as many as required. If so, use a single line per entry
2392! with a vertical bar (|) symbol after each entry, except the last one:
2393!
2394! BRYNAME == my_bry_year1.nc |
2395! my_bry_year2.nc
2396!
2397! CLMNAME == my_clm_year1.nc |
2398! my_clm_year2.nc
2399!
2400!
2401! Input nudging coefficients file name:
2402!
2403! NUDNAME Input nudging coefficients file name.
2404!
2405!
2406! Input Sources/Sinks forcing file name:
2407!
2408! SSFNAME River runoff data. This file is now separated from the
2409! regular forcing files to allow manipulations over nested
2410! grids. A particular nesting grid may or may not have
2411! Sources/Sinks forcing.
2412!
2413! For example, in an application with 3 nested grids but
2414! with river forcing in grids 1 and 3 we would have:
2415!
2416! LuvSrc == T F T
2417! LtracerSrc == 2*T 2*F 2*T
2418!
2419! SSFNAME == my_rivers_grid1.nc \
2420! my_rivers_grid2.nc \
2421! my_rivers_grid3.nc
2422!
2423! Here, "my_rivers_grid2.nc" is a dummy name that will never
2424! be processed in ROMS because of the logical switches are
2425! FALSE the second grid.
2426!
2427!
2428! Input forcing file(s) name:
2429!
2430! NFFILES Number of unique forcing files per nested grid.
2431!
2432! FRCNAME Input forcing fields file name per nested grid.
2433!
2434! The USER has the option to enter several file names for forcing fields
2435! and/or split input data time records for each nested grid. For example,
2436! the USER may have different files for wind products, heat fluxes, tides,
2437! etc. The model will scan the file list and will read the needed data
2438! from the first file in the list containing the forcing field. Therefore,
2439! the order of the file names is very important. It is also possible to
2440! split input data time records into several NetCDF files.
2441!
2442! Use a single line per entry with a continuation (\) or vertical bar (|)
2443! symbol after each entry, except the last one:
2444!
2445! NFFILES == 7 ! number of unique forcing files
2446!
2447! FRCNAME == my_tides.nc \ ! tidal forcing
2448! my_lwrad_year1.nc | ! net longwave radiation flux
2449! my_lwrad_year2.nc \
2450! my_swrad_year1.nc | ! solar shortwave radiation flux
2451! my_swrad_year2.nc \
2452! my_winds_year1.nc | ! surface winds
2453! my_winds_year2.nc \
2454! my_Pair_year1.nc | ! surface air pressure
2455! my_Pair_year2.nc \
2456! my_Qair_year1.nc | ! surface air relative humidity
2457! my_Qair_year2.nc \
2458! my_Tair_year1.nc | ! surface air temperature
2459! my_Tair_year2.nc
2460!
2461!
2462! Output file names:
2463!
2464! GSTNAME Output GST analysis re-start file name.
2465! RSTNAME Output re-start file name.
2466! HISNAME Output history file name.
2467! TLFNAME Output impulse forcing for tangent linear (TLM and RPM) models.
2468! TLMNAME Output tangent linear file name.
2469! ADJNAME Output adjoint file name.
2470! AVGNAME Output averages file name.
2471! DIANAME Output diagnostics file name.
2472! STANAME Output stations file name.
2473! FLTNAME Output floats file name.
2474!
2475!------------------------------------------------------------------------------
2476! Input ASCII parameters file names.
2477!------------------------------------------------------------------------------
2478!
2479! APARNAM Input assimilation parameters file name.
2480! SPOSNAM Input stations positions file name.
2481! FPOSNAM Input initial drifters positions file name.
2482! BPARNAM Input biological parameters file name.
2483! SPARNAM Input sediment transport parameters file name.
2484! USRNAME USER's input generic file name.
2485!