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 |
|
---|
89 | GridsInLayer = 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 |
|
---|
161 | ad_LBC(isFsur) == Clo Clo Clo Clo ! free-surface
|
---|
162 | ad_LBC(isUbar) == Clo Clo Clo Clo ! 2D U-momentum
|
---|
163 | ad_LBC(isVbar) == Clo Clo Clo Clo ! 2D V-momentum
|
---|
164 | ad_LBC(isUvel) == Clo Clo Clo Clo ! 3D U-momentum
|
---|
165 | ad_LBC(isVvel) == Clo Clo Clo Clo ! 3D V-momentum
|
---|
166 | ad_LBC(isMtke) == Clo Clo Clo Clo ! mixing TKE
|
---|
167 |
|
---|
168 | ad_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 |
|
---|
181 | ad_VolCons(west) == F ! western boundary
|
---|
182 | ad_VolCons(east) == F ! eastern boundary
|
---|
183 | ad_VolCons(south) == F ! southern boundary
|
---|
184 | ad_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
|
---|
273 | LtracerSponge == 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 |
|
---|
441 | Lstate(isFsur) == F ! free-surface
|
---|
442 | Lstate(isUbar) == F ! 2D U-momentum
|
---|
443 | Lstate(isVbar) == F ! 2D V-momentum
|
---|
444 | Lstate(isUvel) == F ! 3D U-momentum
|
---|
445 | Lstate(isVvel) == F ! 3D V-momentum
|
---|
446 |
|
---|
447 | Lstate(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 |
|
---|
452 | Fstate(isFsur) == F ! free-surface
|
---|
453 | Fstate(isUbar) == F ! 2D U-momentum
|
---|
454 | Fstate(isVbar) == F ! 2D V-momentum
|
---|
455 | Fstate(isUvel) == F ! 3D U-momentum
|
---|
456 | Fstate(isVvel) == F ! 3D V-momentum
|
---|
457 | Fstate(isTvar) == 2*F ! NT tracers
|
---|
458 |
|
---|
459 | Fstate(isUstr) == T ! surface U-stress
|
---|
460 | Fstate(isVstr) == T ! surface V-stress
|
---|
461 | Fstate(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 |
|
---|
471 | SO_sdev(isFsur) == 1.0d0 ! free-surface
|
---|
472 | SO_sdev(isUbar) == 1.0d0 ! 2D U-momentum
|
---|
473 | SO_sdev(isVbar) == 1.0d0 ! 2D V-momentum
|
---|
474 | SO_sdev(isUvel) == 1.0d0 ! 3D U-momentum
|
---|
475 | SO_sdev(isVvel) == 1.0d0 ! 3D V-momentum
|
---|
476 | SO_sdev(isTvar) == 2*1.0d0 ! NT tracers
|
---|
477 |
|
---|
478 | SO_sdev(isUstr) == 1.0d0 ! surface U-stress
|
---|
479 | SO_sdev(isVstr) == 1.0d0 ! surface V-stress
|
---|
480 | SO_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 |
|
---|
485 | Hout(idUvel) == T ! u 3D U-velocity
|
---|
486 | Hout(idVvel) == T ! v 3D V-velocity
|
---|
487 | Hout(idu3dE) == F ! u_eastward 3D U-eastward at RHO-points
|
---|
488 | Hout(idv3dN) == F ! v_northward 3D V-northward at RHO-points
|
---|
489 | Hout(idWvel) == T ! w 3D W-velocity
|
---|
490 | Hout(idOvel) == T ! omega omega vertical velocity
|
---|
491 | Hout(idUbar) == T ! ubar 2D U-velocity
|
---|
492 | Hout(idVbar) == T ! vbar 2D V-velocity
|
---|
493 | Hout(idu2dE) == F ! ubar_eastward 2D U-eastward at RHO-points
|
---|
494 | Hout(idv2dN) == F ! vbar_northward 2D V-northward at RHO-points
|
---|
495 | Hout(idFsur) == T ! zeta free-surface
|
---|
496 | Hout(idBath) == F ! bath time-dependent bathymetry
|
---|
497 |
|
---|
498 | Hout(idTvar) == 2*T ! temp, salt temperature and salinity
|
---|
499 |
|
---|
500 | Hout(idUsms) == F ! sustr surface U-stress
|
---|
501 | Hout(idVsms) == F ! svstr surface V-stress
|
---|
502 | Hout(idUbms) == F ! bustr bottom U-stress
|
---|
503 | Hout(idVbms) == F ! bvstr bottom V-stress
|
---|
504 |
|
---|
505 | Hout(idUbrs) == F ! bustrc bottom U-current stress
|
---|
506 | Hout(idVbrs) == F ! bvstrc bottom V-current stress
|
---|
507 | Hout(idUbws) == F ! bustrw bottom U-wave stress
|
---|
508 | Hout(idVbws) == F ! bvstrw bottom V-wave stress
|
---|
509 | Hout(idUbcs) == F ! bustrcwmax bottom max wave-current U-stress
|
---|
510 | Hout(idVbcs) == F ! bvstrcwmax bottom max wave-current V-stress
|
---|
511 |
|
---|
512 | Hout(idUbot) == F ! Ubot bed wave orbital U-velocity
|
---|
513 | Hout(idVbot) == F ! Vbot bed wave orbital V-velocity
|
---|
514 | Hout(idUbur) == F ! Ur bottom U-velocity above bed
|
---|
515 | Hout(idVbvr) == F ! Vr bottom V-velocity above bed
|
---|
516 |
|
---|
517 | Hout(idW2xx) == F ! Sxx_bar 2D radiation stress, Sxx component
|
---|
518 | Hout(idW2xy) == F ! Sxy_bar 2D radiation stress, Sxy component
|
---|
519 | Hout(idW2yy) == F ! Syy_bar 2D radiation stress, Syy component
|
---|
520 | Hout(idU2rs) == F ! Ubar_Rstress 2D radiation U-stress
|
---|
521 | Hout(idV2rs) == F ! Vbar_Rstress 2D radiation V-stress
|
---|
522 | Hout(idU2Sd) == F ! ubar_stokes 2D U-Stokes velocity
|
---|
523 | Hout(idV2Sd) == F ! vbar_stokes 2D V-Stokes velocity
|
---|
524 |
|
---|
525 | Hout(idW3xx) == F ! Sxx 3D radiation stress, Sxx component
|
---|
526 | Hout(idW3xy) == F ! Sxy 3D radiation stress, Sxy component
|
---|
527 | Hout(idW3yy) == F ! Syy 3D radiation stress, Syy component
|
---|
528 | Hout(idW3zx) == F ! Szx 3D radiation stress, Szx component
|
---|
529 | Hout(idW3zy) == F ! Szy 3D radiation stress, Szy component
|
---|
530 | Hout(idU3rs) == F ! u_Rstress 3D U-radiation stress
|
---|
531 | Hout(idV3rs) == F ! v_Rstress 3D V-radiation stress
|
---|
532 | Hout(idU3Sd) == F ! u_stokes 3D U-Stokes velocity
|
---|
533 | Hout(idV3Sd) == F ! v_stokes 3D V-Stokes velocity
|
---|
534 |
|
---|
535 | Hout(idWamp) == F ! Hwave wave height
|
---|
536 | Hout(idWlen) == F ! Lwave wave length
|
---|
537 | Hout(idWdir) == F ! Dwave wave direction
|
---|
538 | Hout(idWptp) == F ! Pwave_top wave surface period
|
---|
539 | Hout(idWpbt) == F ! Pwave_bot wave bottom period
|
---|
540 | Hout(idWorb) == F ! Ub_swan wave bottom orbital velocity
|
---|
541 | Hout(idWdis) == F ! Wave_dissip wave dissipation
|
---|
542 |
|
---|
543 | Hout(idPair) == F ! Pair surface air pressure
|
---|
544 | Hout(idUair) == F ! Uair surface U-wind component
|
---|
545 | Hout(idVair) == F ! Vair surface V-wind component
|
---|
546 |
|
---|
547 | Hout(idTsur) == 2*F ! shflux, ssflux surface net heat and salt flux
|
---|
548 | Hout(idLhea) == F ! latent latent heat flux
|
---|
549 | Hout(idShea) == F ! sensible sensible heat flux
|
---|
550 | Hout(idLrad) == F ! lwrad longwave radiation flux
|
---|
551 | Hout(idSrad) == F ! swrad shortwave radiation flux
|
---|
552 | Hout(idEmPf) == F ! EminusP E-P flux
|
---|
553 | Hout(idevap) == F ! evaporation evaporation rate
|
---|
554 | Hout(idrain) == F ! rain precipitation rate
|
---|
555 |
|
---|
556 | Hout(idDano) == F ! rho density anomaly
|
---|
557 | Hout(idVvis) == F ! AKv vertical viscosity
|
---|
558 | Hout(idTdif) == F ! AKt vertical T-diffusion
|
---|
559 | Hout(idSdif) == F ! AKs vertical Salinity diffusion
|
---|
560 | Hout(idHsbl) == F ! Hsbl depth of surface boundary layer
|
---|
561 | Hout(idHbbl) == F ! Hbbl depth of bottom boundary layer
|
---|
562 | Hout(idMtke) == F ! tke turbulent kinetic energy
|
---|
563 | Hout(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 |
|
---|
598 | Hout(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 |
|
---|
604 | Aout(idUvel) == T ! u 3D U-velocity
|
---|
605 | Aout(idVvel) == T ! v 3D V-velocity
|
---|
606 | Aout(idu3dE) == F ! u_eastward 3D U-eastward at RHO-points
|
---|
607 | Aout(idv3dN) == F ! v_northward 3D V-northward at RHO-points
|
---|
608 | Aout(idWvel) == T ! w 3D W-velocity
|
---|
609 | Aout(idOvel) == T ! omega omega vertical velocity
|
---|
610 | Aout(idUbar) == T ! ubar 2D U-velocity
|
---|
611 | Aout(idVbar) == T ! vbar 2D V-velocity
|
---|
612 | Aout(idu2dE) == F ! ubar_eastward 2D U-eastward at RHO-points
|
---|
613 | Aout(idv2dN) == F ! vbar_northward 2D V-northward at RHO-points
|
---|
614 | Aout(idFsur) == T ! zeta free-surface
|
---|
615 |
|
---|
616 | Aout(idTvar) == 2*T ! temp, salt temperature and salinity
|
---|
617 |
|
---|
618 | Aout(idUsms) == F ! sustr surface U-stress
|
---|
619 | Aout(idVsms) == F ! svstr surface V-stress
|
---|
620 | Aout(idUbms) == F ! bustr bottom U-stress
|
---|
621 | Aout(idVbms) == F ! bvstr bottom V-stress
|
---|
622 |
|
---|
623 | Aout(idW2xx) == F ! Sxx_bar 2D radiation stress, Sxx component
|
---|
624 | Aout(idW2xy) == F ! Sxy_bar 2D radiation stress, Sxy component
|
---|
625 | Aout(idW2yy) == F ! Syy_bar 2D radiation stress, Syy component
|
---|
626 | Aout(idU2rs) == F ! Ubar_Rstress 2D radiation U-stress
|
---|
627 | Aout(idV2rs) == F ! Vbar_Rstress 2D radiation V-stress
|
---|
628 | Aout(idU2Sd) == F ! ubar_stokes 2D U-Stokes velocity
|
---|
629 | Aout(idV2Sd) == F ! vbar_stokes 2D V-Stokes velocity
|
---|
630 |
|
---|
631 | Aout(idW3xx) == F ! Sxx 3D radiation stress, Sxx component
|
---|
632 | Aout(idW3xy) == F ! Sxy 3D radiation stress, Sxy component
|
---|
633 | Aout(idW3yy) == F ! Syy 3D radiation stress, Syy component
|
---|
634 | Aout(idW3zx) == F ! Szx 3D radiation stress, Szx component
|
---|
635 | Aout(idW3zy) == F ! Szy 3D radiation stress, Szy component
|
---|
636 | Aout(idU3rs) == F ! u_Rstress 3D U-radiation stress
|
---|
637 | Aout(idV3rs) == F ! v_Rstress 3D V-radiation stress
|
---|
638 | Aout(idU3Sd) == F ! u_stokes 3D U-Stokes velocity
|
---|
639 | Aout(idV3Sd) == F ! v_stokes 3D V-Stokes velocity
|
---|
640 |
|
---|
641 | Aout(idPair) == F ! Pair surface air pressure
|
---|
642 | Aout(idUair) == F ! Uair surface U-wind component
|
---|
643 | Aout(idVair) == F ! Vair surface V-wind component
|
---|
644 |
|
---|
645 | Aout(idTsur) == 2*F ! shflux, ssflux surface net heat and salt flux
|
---|
646 | Aout(idLhea) == F ! latent latent heat flux
|
---|
647 | Aout(idShea) == F ! sensible sensible heat flux
|
---|
648 | Aout(idLrad) == F ! lwrad longwave radiation flux
|
---|
649 | Aout(idSrad) == F ! swrad shortwave radiation flux
|
---|
650 | Aout(idevap) == F ! evaporation evaporation rate
|
---|
651 | Aout(idrain) == F ! rain precipitation rate
|
---|
652 |
|
---|
653 | Aout(idDano) == F ! rho density anomaly
|
---|
654 | Aout(idVvis) == F ! AKv vertical viscosity
|
---|
655 | Aout(idTdif) == F ! AKt vertical T-diffusion
|
---|
656 | Aout(idSdif) == F ! AKs vertical Salinity diffusion
|
---|
657 | Aout(idHsbl) == F ! Hsbl depth of surface boundary layer
|
---|
658 | Aout(idHbbl) == F ! Hbbl depth of bottom boundary layer
|
---|
659 |
|
---|
660 | Aout(id2dRV) == F ! pvorticity_bar 2D relative vorticity
|
---|
661 | Aout(id3dRV) == F ! pvorticity 3D relative vorticity
|
---|
662 | Aout(id2dPV) == F ! rvorticity_bar 2D potential vorticity
|
---|
663 | Aout(id3dPV) == F ! rvorticity 3D potential vorticity
|
---|
664 |
|
---|
665 | Aout(idu3dD) == F ! u_detided detided 3D U-velocity
|
---|
666 | Aout(idv3dD) == F ! v_detided detided 3D V-velocity
|
---|
667 | Aout(idu2dD) == F ! ubar_detided detided 2D U-velocity
|
---|
668 | Aout(idv2dD) == F ! vbar_detided detided 2D V-velocity
|
---|
669 | Aout(idFsuD) == F ! zeta_detided detided free-surface
|
---|
670 |
|
---|
671 | Aout(idTrcD) == 2*F ! temp_detided, ... detided temperature and salinity
|
---|
672 |
|
---|
673 | Aout(idHUav) == F ! Huon u-volume flux, Huon
|
---|
674 | Aout(idHVav) == F ! Hvom v-volume flux, Hvom
|
---|
675 | Aout(idUUav) == F ! uu quadratic <u*u> term
|
---|
676 | Aout(idUVav) == F ! uv quadratic <u*v> term
|
---|
677 | Aout(idVVav) == F ! vv quadratic <v*v> term
|
---|
678 | Aout(idU2av) == F ! ubar2 quadratic <ubar*ubar> term
|
---|
679 | Aout(idV2av) == F ! vbar2 quadratic <vbar*vbar> term
|
---|
680 | Aout(idZZav) == F ! zeta2 quadratic <zeta*zeta> term
|
---|
681 |
|
---|
682 | Aout(idTTav) == 2*F ! temp_2, ... quadratic <t*t> tracer terms
|
---|
683 | Aout(idUTav) == 2*F ! u_temp, ... quadratic <u*t> tracer terms
|
---|
684 | Aout(idVTav) == 2*F ! v_temp, ... quadratic <v*t> tracer terms
|
---|
685 | Aout(iHUTav) == 2*F ! Huon_temp, ... tracer volume flux, <Huon*t>
|
---|
686 | Aout(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 |
|
---|
696 | Dout(M2rate) == T ! ubar_accel, ... acceleration
|
---|
697 | Dout(M2pgrd) == T ! ubar_prsgrd, ... pressure gradient
|
---|
698 | Dout(M2fcor) == T ! ubar_cor, ... Coriolis force
|
---|
699 | Dout(M2hadv) == T ! ubar_hadv, ... horizontal total advection
|
---|
700 | Dout(M2xadv) == T ! ubar_xadv, ... horizontal XI-advection
|
---|
701 | Dout(M2yadv) == T ! ubar_yadv, ... horizontal ETA-advection
|
---|
702 | Dout(M2hrad) == T ! ubar_hrad, ... horizontal total radiation stress
|
---|
703 | Dout(M2hvis) == T ! ubar_hvisc, ... horizontal total viscosity
|
---|
704 | Dout(M2xvis) == T ! ubar_xvisc, ... horizontal XI-viscosity
|
---|
705 | Dout(M2yvis) == T ! ubar_yvisc, ... horizontal ETA-viscosity
|
---|
706 | Dout(M2sstr) == T ! ubar_sstr, ... surface stress
|
---|
707 | Dout(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 |
|
---|
712 | Dout(M3rate) == T ! u_accel, ... acceleration
|
---|
713 | Dout(M3pgrd) == T ! u_prsgrd, ... pressure gradient
|
---|
714 | Dout(M3fcor) == T ! u_cor, ... Coriolis force
|
---|
715 | Dout(M3hadv) == T ! u_hadv, ... horizontal total advection
|
---|
716 | Dout(M3xadv) == T ! u_xadv, ... horizontal XI-advection
|
---|
717 | Dout(M3yadv) == T ! u_yadv, ... horizontal ETA-advection
|
---|
718 | Dout(M3vadv) == T ! u_vadv, ... vertical advection
|
---|
719 | Dout(M3hrad) == T ! u_hrad, ... horizontal total radiation stress
|
---|
720 | Dout(M3vrad) == T ! u_vrad, ... vertical radiation stress
|
---|
721 | Dout(M3hvis) == T ! u_hvisc, ... horizontal total viscosity
|
---|
722 | Dout(M3xvis) == T ! u_xvisc, ... horizontal XI-viscosity
|
---|
723 | Dout(M3yvis) == T ! u_yvisc, ... horizontal ETA-viscosity
|
---|
724 | Dout(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 |
|
---|
730 | Dout(iTrate) == 2*T ! temp_rate, ... time rate of change
|
---|
731 | Dout(iThadv) == 2*T ! temp_hadv, ... horizontal total advection
|
---|
732 | Dout(iTxadv) == 2*T ! temp_xadv, ... horizontal XI-advection
|
---|
733 | Dout(iTyadv) == 2*T ! temp_yadv, ... horizontal ETA-advection
|
---|
734 | Dout(iTvadv) == 2*T ! temp_vadv, ... vertical advection
|
---|
735 | Dout(iThdif) == 2*T ! temp_hdiff, ... horizontal total diffusion
|
---|
736 | Dout(iTxdif) == 2*T ! temp_xdiff, ... horizontal XI-diffusion
|
---|
737 | Dout(iTydif) == 2*T ! temp_ydiff, ... horizontal ETA-diffusion
|
---|
738 | Dout(iTsdif) == 2*T ! temp_sdiff, ... horizontal S-diffusion
|
---|
739 | Dout(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 | !
|
---|