1 | /*
|
---|
2 | ** Include file "cppdefs.h"
|
---|
3 | **
|
---|
4 | ** svn $Id$
|
---|
5 | ********************************************************** Hernan G. Arango ***
|
---|
6 | ** Copyright (c) 2002-2019 The ROMS/TOMS Group **
|
---|
7 | ** Licensed under a MIT/X style license **
|
---|
8 | ** See License_ROMS.txt **
|
---|
9 | *******************************************************************************
|
---|
10 | ** **
|
---|
11 | ** The following is short description of all available CPP options. **
|
---|
12 | ** **
|
---|
13 | ** OPTIONS associated with momentum equations: **
|
---|
14 | ** **
|
---|
15 | ** The default horizontal advection is 3rd-order upstream bias for **
|
---|
16 | ** 3D momentum and 4th-order centered for 2D momentum. The default **
|
---|
17 | ** vertical advection is 4th-order centered for 3D momentum. If this **
|
---|
18 | ** is the case, no flags for momentum advection need to be activated. **
|
---|
19 | ** **
|
---|
20 | ** The 3rd-order upstream split advection (UV_U3ADV_SPLIT) can be used **
|
---|
21 | ** to correct for the spurious mixing of the advection operator in **
|
---|
22 | ** terrain-following coordinates. If this is the case, the advection **
|
---|
23 | ** operator is split in advective and viscosity components and several **
|
---|
24 | ** internal flags are activated in "globaldefs.h". Notice that **
|
---|
25 | ** horizontal and vertical advection of momentum is 4th-order centered **
|
---|
26 | ** plus biharmonic viscosity to correct for spurious mixing. The total **
|
---|
27 | ** time-dependent horizontal mixing coefficient are computed in **
|
---|
28 | ** "hmixing.F". **
|
---|
29 | ** **
|
---|
30 | ** WARNING: Use the splines vertical advection option (UV_SADVECTION) **
|
---|
31 | ** only in idealized, high vertical resolution applications. **
|
---|
32 | ** **
|
---|
33 | ** UV_ADV use to turn ON or OFF advection terms **
|
---|
34 | ** UV_COR use to turn ON or OFF Coriolis term **
|
---|
35 | ** UV_U3ADV_SPLIT use if 3rd-order upstream split momentum advection **
|
---|
36 | ** UV_C2ADVECTION use to turn ON or OFF 2nd-order centered advection **
|
---|
37 | ** UV_C4ADVECTION use to turn ON or OFF 4th-order centered advection **
|
---|
38 | ** UV_SADVECTION use to turn ON or OFF splines vertical advection **
|
---|
39 | ** UV_VIS2 use to turn ON or OFF harmonic horizontal mixing **
|
---|
40 | ** UV_VIS4 use to turn ON or OFF biharmonic horizontal mixing **
|
---|
41 | ** UV_SMAGORINSKY use to turn ON or OFF Smagorinsky-like viscosity **
|
---|
42 | ** UV_DRAG_GRID use if spatially varying bottom friction parameters **
|
---|
43 | ** UV_LOGDRAG use to turn ON or OFF logarithmic bottom friction **
|
---|
44 | ** UV_LDRAG use to turn ON or OFF linear bottom friction **
|
---|
45 | ** UV_QDRAG use to turn ON or OFF quadratic bottom friction **
|
---|
46 | ** SPLINES_VVISC use if splines reconstruction of vertical viscosity **
|
---|
47 | ** **
|
---|
48 | ** OPTION to not allow the bottom stress components to change the direction **
|
---|
49 | ** of bottom momentum (change sign of velocity components. **
|
---|
50 | ** **
|
---|
51 | ** LIMIT_BSTRESS use to limit the magnitude of bottom stress **
|
---|
52 | ** **
|
---|
53 | ** OPTIONS associated with tracers equations: **
|
---|
54 | ** **
|
---|
55 | ** The default horizontal and vertical advection is 4th-order centered. **
|
---|
56 | ** **
|
---|
57 | ** The 3rd-order upstream split advection (TS_U3ADV_SPLIT) can be used **
|
---|
58 | ** to correct for the spurious diapycnal diffusion of the advection **
|
---|
59 | ** operator in terrain-following coordinates. If this is the case, the **
|
---|
60 | ** advection operator is split in advective and diffusive components **
|
---|
61 | ** and several internal flags are activated in "globaldefs.h". Notice **
|
---|
62 | ** that horizontal and vertical advection of tracer is 4th-order centered **
|
---|
63 | ** plus biharmonic diffusion to correct for spurious diapycnal mixing. **
|
---|
64 | ** The total time-dependent horizontal mixing coefficient are computed **
|
---|
65 | ** in "hmixing.F". It is also recommended to use the rotated mixing **
|
---|
66 | ** tensor along geopotentials (MIX_GEO_TS) for the biharmonic operator. **
|
---|
67 | ** **
|
---|
68 | ** WARNING: Use the splines vertical advection option (TS_SVADVECTION) **
|
---|
69 | ** only in idealized, high vertical resolution applications. **
|
---|
70 | ** **
|
---|
71 | ** TS_U3ADV_SPLIT use if 3rd-order upstream split tracer advection **
|
---|
72 | ** TS_A4HADVECTION use if 4th-order Akima horizontal advection **
|
---|
73 | ** TS_C2HADVECTION use if 2nd-order centered horizontal advection **
|
---|
74 | ** TS_C4HADVECTION use if 4th-order centered horizontal advection **
|
---|
75 | ** TS_MPDATA use if recursive MPDATA 3D advection **
|
---|
76 | ** TS_U3HADVECTION use if 3rd-order upstream horiz. advection **
|
---|
77 | ** TS_A4VADVECTION use if 4th-order Akima vertical advection **
|
---|
78 | ** TS_C2VADVECTION use if 2nd-order centered vertical advection **
|
---|
79 | ** TS_C4VADVECTION use if 4th-order centered vertical advection **
|
---|
80 | ** TS_SVADVECTION use if splines vertical advection **
|
---|
81 | ** TS_DIF2 use to turn ON or OFF harmonic horizontal mixing **
|
---|
82 | ** TS_DIF4 use to turn ON or OFF biharmonic horizontal mixing **
|
---|
83 | ** TS_SMAGORINSKY use to turn ON or OFF Smagorinsky-like diffusion **
|
---|
84 | ** TS_FIXED use if diagnostic run, no evolution of tracers **
|
---|
85 | ** T_PASSIVE use if inert passive tracers (dyes, etc) **
|
---|
86 | ** AGE_MEAN use if computing Mean Age of inert passive tracers **
|
---|
87 | ** NONLIN_EOS use if using nonlinear equation of state **
|
---|
88 | ** QCORRECTION use if net heat flux correction **
|
---|
89 | ** SALINITY use if having salinity **
|
---|
90 | ** SCORRECTION use if freshwater flux correction **
|
---|
91 | ** SOLAR_SOURCE use if solar radiation source term **
|
---|
92 | ** SPLINES_VDIFF use if splines reconstruction of vertical diffusion **
|
---|
93 | ** SRELAXATION use if salinity relaxation as a freshwater flux **
|
---|
94 | ** WTYPE_GRID use to turn ON spatially varying Jerlov water type **
|
---|
95 | ** **
|
---|
96 | ** OPTION to suppress further surface cooling if the SST is at freezing **
|
---|
97 | ** point or below and the net surface heat flux is cooling: **
|
---|
98 | ** **
|
---|
99 | ** LIMIT_STFLX_COOLING use to suppress SST cooling below freezing point **
|
---|
100 | ** **
|
---|
101 | ** OPTIONS for MPDATA 3D Advection: **
|
---|
102 | ** **
|
---|
103 | ** TS_MPDATA_LIMIT use to limit upwind corrector fluxes for stability **
|
---|
104 | ** **
|
---|
105 | ** Tracer advection OPTIONS for adjoint-based algorithms: **
|
---|
106 | ** **
|
---|
107 | ** Some of the tracer advection algorithms are highly nonlinear and **
|
---|
108 | ** may become unstable when running the tangent linear, representer, **
|
---|
109 | ** and adjoint models. This may affect the convergence of the 4DVar **
|
---|
110 | ** data assimilation algorithms. Therefore, it is possible to choose **
|
---|
111 | ** a simpler (less nonlinear) horizontal and vertical tracer advection **
|
---|
112 | ** scheme, if so desired, for the tangent linear, representer and **
|
---|
113 | ** adjoint models. Notice that this strategy still allows us to use **
|
---|
114 | ** highly nonlinear tracer advection schemes in the basic state upon **
|
---|
115 | ** which the tangent linear and adjoint models are linearized. Also, **
|
---|
116 | ** it allows us to use those schemes that have not been adjointed yet, **
|
---|
117 | ** for example, TS_MPDATA. Recall that basic state trajectory is **
|
---|
118 | ** computed by running the nonlinear model. **
|
---|
119 | ** **
|
---|
120 | ** The flags below are optional. By default, the same options chosen **
|
---|
121 | ** for the nonlinear model are selected for the tangent linear, **
|
---|
122 | ** representer, and adjoint models. **
|
---|
123 | ** **
|
---|
124 | ** TS_A4HADVECTION_TL use if 4th-order Akima horizontal advection **
|
---|
125 | ** TS_C2HADVECTION_TL use if 2nd-order centered horizontal advection **
|
---|
126 | ** TS_C4HADVECTION_TL use if 4th-order centered horizontal advection **
|
---|
127 | ** TS_U3HADVECTION_TL use if 3rd-order upstream horiz. advection **
|
---|
128 | ** **
|
---|
129 | ** TS_A4VADVECTION_TL use if 4th-order Akima vertical advection **
|
---|
130 | ** TS_C2VADVECTION_TL use if 2nd-order centered vertical advection **
|
---|
131 | ** TS_C4VADVECTION_TL use if 4th-order centered vertical advection **
|
---|
132 | ** TS_SVADVECTION_TL use if splines vertical advection **
|
---|
133 | ** **
|
---|
134 | ** Pressure gradient algorithm OPTIONS: **
|
---|
135 | ** **
|
---|
136 | ** If no option is selected, the pressure gradient term is computed using **
|
---|
137 | ** standard density Jacobian algorithm. Notice that there are two quartic **
|
---|
138 | ** pressure Jacobian options. They differ on how the WENO reconciliation **
|
---|
139 | ** step is done and in the monotonicity constraining algorithms. **
|
---|
140 | ** **
|
---|
141 | ** DJ_GRADPS use if splines density Jacobian (Shchepetkin, 2000) **
|
---|
142 | ** PJ_GRADP use if finite volume Pressure Jacobian (Lin,1997) **
|
---|
143 | ** PJ_GRADPQ2 use if quartic 2 Pressure Jacobian (Shchepetkin,2000) **
|
---|
144 | ** PJ_GRADPQ4 use if quartic 4 Pressure Jacobian (Shchepetkin,2000) **
|
---|
145 | ** WJ_GRADP use if weighted density Jacobian (Song,1998) **
|
---|
146 | ** **
|
---|
147 | ** ATM_PRESS use to impose atmospheric pressure onto sea surface **
|
---|
148 | ** PRESS_COMPENSATE use to compensate for boundary without atm. pressure **
|
---|
149 | ** **
|
---|
150 | ** OPTIONS for surface fluxes formulation using atmospheric boundary layer **
|
---|
151 | ** (Fairall et al, 1996): **
|
---|
152 | ** **
|
---|
153 | ** There are three ways to provide longwave radiation in the atmospheric **
|
---|
154 | ** boundary layer: (1) Compute the net longwave radiation internally using **
|
---|
155 | ** the Berliand (1952) equation (LONGWAVE) as function of air temperature, **
|
---|
156 | ** sea surface temperature, relative humidity, and cloud fraction; **
|
---|
157 | ** (2) provide (read) longwave downwelling radiation only and then add **
|
---|
158 | ** outgoing longwave radiation (LONGWAVE_OUT) as a function of the model **
|
---|
159 | ** sea surface temperature; (3) provide net longwave radiation (default). **
|
---|
160 | ** **
|
---|
161 | ** BULK_FLUXES use if bulk fluxes computation **
|
---|
162 | ** NL_BULK_FLUXES use bulk fluxes computed by nonlinear model **
|
---|
163 | ** COOL_SKIN use if cool skin correction **
|
---|
164 | ** LONGWAVE use if computing net longwave radiation **
|
---|
165 | ** LONGWAVE_OUT use if computing outgoing longwave radiation **
|
---|
166 | ** EMINUSP use if computing E-P **
|
---|
167 | ** WIND_MINUS_CURRENT use if compute effective wind by removing current **
|
---|
168 | ** **
|
---|
169 | ** OPTIONS for wave roughness formulation in bulk fluxes: **
|
---|
170 | ** **
|
---|
171 | ** COARE_TAYLOR_YELLAND use Taylor and Yelland (2001) relation **
|
---|
172 | ** COARE_OOST use Oost et al (2002) relation **
|
---|
173 | ** DEEPWATER_WAVES use Deep water waves approximation **
|
---|
174 | ** **
|
---|
175 | ** OPTIONS for shortwave radiation: **
|
---|
176 | ** **
|
---|
177 | ** The shortwave radiation can be computed using the global albedo **
|
---|
178 | ** equation with a cloud correction. Alternatively, input shortwave **
|
---|
179 | ** radiation data computed from averaged data (with snapshots greater **
|
---|
180 | ** or equal than 24 hours) can be modulated by the local diurnal cycle **
|
---|
181 | ** which is a function longitude, latitude and day-of-year. **
|
---|
182 | ** **
|
---|
183 | ** ALBEDO use if albedo equation for shortwave radiation **
|
---|
184 | ** DIURNAL_SRFLUX use to impose shortwave radiation local diurnal cycle **
|
---|
185 | ** **
|
---|
186 | ** Model configuration OPTIONS: **
|
---|
187 | ** **
|
---|
188 | ** SOLVE3D use if solving 3D primitive equations **
|
---|
189 | ** CURVGRID use if curvilinear coordinates grid **
|
---|
190 | ** MASKING use if land/sea masking **
|
---|
191 | ** BODYFORCE use if applying stresses as bodyforces **
|
---|
192 | ** PROFILE use if time profiling **
|
---|
193 | ** AVERAGES use if writing out NLM time-averaged data **
|
---|
194 | ** AVERAGES_DETIDE use if writing out NLM time-averaged detided fields **
|
---|
195 | ** AD_AVERAGES use if writing out ADM time-averaged data **
|
---|
196 | ** RP_AVERAGES use if writing out TLM time-averaged data **
|
---|
197 | ** TL_AVERAGES use if writing out ADM time-averaged data **
|
---|
198 | ** DIAGNOSTICS_BIO use if writing out biological diagnostics **
|
---|
199 | ** DIAGNOSTICS_UV use if writing out momentum diagnostics **
|
---|
200 | ** DIAGNOSTICS_TS use if writing out tracer diagnostics **
|
---|
201 | ** ICESHELF use if including ice shelf cavities **
|
---|
202 | ** SINGLE_PRECISION use if single precision arithmetic numerical kernel **
|
---|
203 | ** SPHERICAL use if analytical spherical grid **
|
---|
204 | ** STATIONS use if writing out station data **
|
---|
205 | ** STATIONS_CGRID use if extracting data at native C-grid **
|
---|
206 | ** **
|
---|
207 | ** OPTIONS for Lagrangian drifters: **
|
---|
208 | ** **
|
---|
209 | ** FLOATS use to activate simulated Lagrangian drifters **
|
---|
210 | ** FLOAT_OYSTER use to activate oyster model behavior in floats **
|
---|
211 | ** FLOAT_STICKY use to reflect/stick floats that hit surface/bottom **
|
---|
212 | ** FLOAT_VWALK use if vertical random walk **
|
---|
213 | ** VWALK_FORWARD use if forward time stepping vertical random walk **
|
---|
214 | ** **
|
---|
215 | ** OPTIONS for analytical fields configuration: **
|
---|
216 | ** **
|
---|
217 | ** Any of the analytical expressions are coded in "analytical.F". **
|
---|
218 | ** **
|
---|
219 | ** ANA_BIOLOGY use if analytical biology initial conditions **
|
---|
220 | ** ANA_BPFLUX use if analytical bottom passive tracers fluxes **
|
---|
221 | ** ANA_BSFLUX use if analytical bottom salinity flux **
|
---|
222 | ** ANA_BTFLUX use if analytical bottom temperature flux **
|
---|
223 | ** ANA_CLOUD use if analytical cloud fraction **
|
---|
224 | ** ANA_DIAG use if customized diagnostics **
|
---|
225 | ** ANA_DQDSST use if analytical surface heat flux sensitivity to SST**
|
---|
226 | ** ANA_DRAG use if analytical spatially varying drag parameters **
|
---|
227 | ** ANA_FSOBC use if analytical free-surface boundary conditions **
|
---|
228 | ** ANA_GRID use if analytical model grid set-up **
|
---|
229 | ** ANA_HUMIDITY use if analytical surface air humidity **
|
---|
230 | ** ANA_INITIAL use if analytical initial conditions **
|
---|
231 | ** ANA_M2CLIMA use if analytical 2D momentum climatology **
|
---|
232 | ** ANA_M2OBC use if analytical 2D momentum boundary conditions **
|
---|
233 | ** ANA_M3CLIMA use if analytical 3D momentum climatology **
|
---|
234 | ** ANA_M3OBC use if analytical 3D momentum boundary conditions **
|
---|
235 | ** ANA_MASK use if analytical Land/Sea masking **
|
---|
236 | ** ANA_NUDGCOEF use if analytical climatology nudging coefficients **
|
---|
237 | ** ANA_PAIR use if analytical surface air pressure **
|
---|
238 | ** ANA_PASSIVE use if analytical inert tracers initial conditions **
|
---|
239 | ** ANA_PERTURB use if analytical perturbation of initial conditions **
|
---|
240 | ** ANA_PSOURCE use if analytical point Sources/Sinks **
|
---|
241 | ** ANA_RAIN use if analytical rain fall rate **
|
---|
242 | ** ANA_SEDIMENT use if analytical sediment initial fields **
|
---|
243 | ** ANA_SMFLUX use if analytical surface momentum stress **
|
---|
244 | ** ANA_SPFLUX use if analytical surface passive tracers fluxes **
|
---|
245 | ** ANA_SPINNING use if analytical time-varying rotation force **
|
---|
246 | ** ANA_SPONGE use if analytical enhanced viscosity/diffusion sponge **
|
---|
247 | ** ANA_SRFLUX use if analytical surface shortwave radiation flux **
|
---|
248 | ** ANA_SSFLUX use if analytical surface salinity flux **
|
---|
249 | ** ANA_SSH use if analytical sea surface height **
|
---|
250 | ** ANA_SSS use if analytical sea surface salinity **
|
---|
251 | ** ANA_SST use if analytical sea surface temperature, SST **
|
---|
252 | ** ANA_STFLUX use if analytical surface net heat flux **
|
---|
253 | ** ANA_TAIR use if analytical surface air temperature **
|
---|
254 | ** ANA_TCLIMA use if analytical tracers climatology **
|
---|
255 | ** ANA_TOBC use if analytical tracers boundary conditions **
|
---|
256 | ** ANA_VMIX use if analytical vertical mixing coefficients **
|
---|
257 | ** ANA_WINDS use if analytical surface winds **
|
---|
258 | ** ANA_WWAVE use if analytical wind induced waves **
|
---|
259 | ** **
|
---|
260 | ** OPTIONS for horizontal mixing of momentum: **
|
---|
261 | ** **
|
---|
262 | ** VISC_GRID use to scale viscosity coefficient by grid size **
|
---|
263 | ** MIX_S_UV use if mixing along constant S-surfaces **
|
---|
264 | ** MIX_GEO_UV use if mixing on geopotential (constant Z) surfaces **
|
---|
265 | ** **
|
---|
266 | ** OPTIONS for horizontal mixing of tracers: **
|
---|
267 | ** **
|
---|
268 | ** DIFF_GRID use to scale diffusion coefficients by grid size **
|
---|
269 | ** MIX_S_TS use if mixing along constant S-surfaces **
|
---|
270 | ** MIX_GEO_TS use if mixing on geopotential (constant Z) surfaces **
|
---|
271 | ** MIX_ISO_TS use if mixing on epineutral (constant RHO) surfaces **
|
---|
272 | ** TS_MIX_CLIMA use if diffusion of tracer perturbation (t-tclm) **
|
---|
273 | ** TS_MIX_MAX_SLOPE use if maximum slope in epineutral diffusion **
|
---|
274 | ** TS_MIX_MIN_STRAT use if minimum stratification in epineutral diffusion **
|
---|
275 | ** TS_MIX_STABILITY use if weighting diffusion between two time levels **
|
---|
276 | ** **
|
---|
277 | ** OPTIONS for vertical turbulent mixing scheme of momentum and tracers **
|
---|
278 | ** (activate only one closure): **
|
---|
279 | ** **
|
---|
280 | ** BVF_MIXING use if Brunt-Vaisala frequency mixing **
|
---|
281 | ** GLS_MIXING use if Generic Length-Scale mixing closure **
|
---|
282 | ** MY25_MIXING use if Mellor/Yamada Level-2.5 closure **
|
---|
283 | ** LMD_MIXING use if Large et al. (1994) interior closure **
|
---|
284 | ** **
|
---|
285 | ** LIMIT_VDIFF use to impose an upper limit on vertical diffusion **
|
---|
286 | ** LIMIT_VVISC use to impose an upper limit on vertical viscosity **
|
---|
287 | ** **
|
---|
288 | ** OPTIONS for the Generic Length-Scale closure (Warner et al., 2005): **
|
---|
289 | ** **
|
---|
290 | ** The default horizontal advection is third-order upstream bias. The **
|
---|
291 | ** default vertical advection is 4th-order centered advection. **
|
---|
292 | ** **
|
---|
293 | ** CANUTO_A use if Canuto A-stability function formulation **
|
---|
294 | ** CANUTO_B use if Canuto B-stability function formulation **
|
---|
295 | ** CHARNOK use if Charnok surface roughness from wind stress **
|
---|
296 | ** CRAIG_BANNER use if Craig and Banner wave breaking surface flux **
|
---|
297 | ** KANTHA_CLAYSON use if Kantha and Clayson stability function **
|
---|
298 | ** K_C2ADVECTION use if 2nd-order centered advection **
|
---|
299 | ** K_C4ADVECTION use if 4th-order centered advection **
|
---|
300 | ** N2S2_HORAVG use if horizontal smoothing of buoyancy/shear **
|
---|
301 | ** RI_SPLINES use if splines reconstruction for vertical sheer **
|
---|
302 | ** ZOS_HSIG use if surface roughness from wave amplitude **
|
---|
303 | ** TKE_WAVEDISS use if wave breaking surface flux from wave amplitude **
|
---|
304 | ** **
|
---|
305 | ** OPTIONS for the Mellor/Yamada level 2.5 closure: **
|
---|
306 | ** **
|
---|
307 | ** The default horizontal advection is third-order upstream bias. The **
|
---|
308 | ** default vertical advection is 4th-order centered advection. **
|
---|
309 | ** **
|
---|
310 | ** N2S2_HORAVG use if horizontal smoothing of buoyancy/shear **
|
---|
311 | ** KANTHA_CLAYSON use if Kantha and Clayson stability function **
|
---|
312 | ** K_C2ADVECTION use if 2nd-order centered advection **
|
---|
313 | ** K_C4ADVECTION use if 4th-order centered advection **
|
---|
314 | ** RI_SPLINES use if splines reconstruction for vertical sheer **
|
---|
315 | ** **
|
---|
316 | ** OPTIONS for the Large et al. (1994) K-profile parameterization mixing: **
|
---|
317 | ** mixing: **
|
---|
318 | ** **
|
---|
319 | ** LMD_BKPP use if bottom boundary layer KPP mixing **
|
---|
320 | ** LMD_CONVEC use to add convective mixing due to shear instability **
|
---|
321 | ** LMD_DDMIX use to add double-diffusive mixing **
|
---|
322 | ** LMD_NONLOCAL use if nonlocal transport **
|
---|
323 | ** LMD_RIMIX use to add diffusivity due to shear instability **
|
---|
324 | ** LMD_SHAPIRO use if Shapiro filtering boundary layer depth **
|
---|
325 | ** LMD_SKPP use if surface boundary layer KPP mixing **
|
---|
326 | ** RI_SPLINES use if splines reconstruction for Richardson Number **
|
---|
327 | ** **
|
---|
328 | ** OPTIONS in the K-profile parameterization to activate smoothing of **
|
---|
329 | ** Richardson number, if RI_SPLINES is not activated: **
|
---|
330 | ** **
|
---|
331 | ** RI_HORAVG use if horizontal Richardson number smoothing **
|
---|
332 | ** RI_VERAVG use if vertical Richardson number smoothing **
|
---|
333 | ** **
|
---|
334 | ** OPTIONS for Meinte Blass bottom boundary layer closure: **
|
---|
335 | ** **
|
---|
336 | ** The Options MB_Z0BL and MB_Z0RIP should be activated concurrently. **
|
---|
337 | ** **
|
---|
338 | ** MB_BBL use if Meinte Blaas BBL closure **
|
---|
339 | ** MB_CALC_ZNOT use if computing bottom roughness internally **
|
---|
340 | ** MB_CALC_UB use if computing bottom orbital velocity internally **
|
---|
341 | ** MB_Z0BIO use if biogenic bedform roughness for ripples **
|
---|
342 | ** MB_Z0BL use if bedload roughness for ripples **
|
---|
343 | ** MB_Z0RIP use if bedform roughness for ripples **
|
---|
344 | ** **
|
---|
345 | ** OPTIONS for Styles and Glenn (2000) bottom boundary layer closure: **
|
---|
346 | ** **
|
---|
347 | ** SG_BBL use if Styles and Glenn (2000) BBL closure **
|
---|
348 | ** SG_CALC_ZNOT use if computing bottom roughness internally **
|
---|
349 | ** SG_CALC_UB use if computing bottom orbital velocity internally **
|
---|
350 | ** SG_LOGINT use if logarithmic interpolation of (Ur,Vr) **
|
---|
351 | ** **
|
---|
352 | ** OPTIONS for the Sherwood/Signell/Warner bottom boundary layer closure: **
|
---|
353 | ** **
|
---|
354 | ** SSW_BBL use if Sherwood et al. BBL closure **
|
---|
355 | ** SSW_CALC_ZNOT use if computing bottom roughness internally **
|
---|
356 | ** SSW_LOGINT use if logarithmic interpolation of (Ur,Vr) **
|
---|
357 | ** SSW_CALC_UB use if computing bottom orbital velocity internally **
|
---|
358 | ** SSW_FORM_DRAG_COR use to activate form drag coefficient **
|
---|
359 | ** SSW_ZOBIO use if biogenic bedform roughness from ripples **
|
---|
360 | ** SSW_ZOBL use if bedload roughness for ripples **
|
---|
361 | ** SSW_ZORIP use if bedform roughness from ripples **
|
---|
362 | ** **
|
---|
363 | ** Lateral boundary conditions OPTIONS: **
|
---|
364 | ** **
|
---|
365 | ** IMPLICIT_NUDGING use if implicit nudging term in momentum radiation **
|
---|
366 | ** RADIATION_2D use if tangential phase speed in radiation conditions **
|
---|
367 | ** **
|
---|
368 | ** OPTIONS for tidal forcing at open boundaries: **
|
---|
369 | ** **
|
---|
370 | ** The tidal data is processed in terms of tidal components, classified by **
|
---|
371 | ** period. The tidal forcing is computed for the full horizontal grid. If **
|
---|
372 | ** requested, the tidal forcing is added to the processed open boundary **
|
---|
373 | ** data. **
|
---|
374 | ** **
|
---|
375 | ** Both tidal elevation and tidal currents are required to force the model **
|
---|
376 | ** properly. However, if only the tidal elevation is available, the tidal **
|
---|
377 | ** currents at the open boundary can be estimated by reduced physics. Only **
|
---|
378 | ** the pressure gradient, Coriolis, and surface and bottom stresses terms **
|
---|
379 | ** are considered at the open boundary. See "u2dbc_im.F" or "v2dbc_im.F" **
|
---|
380 | ** for details. Notice that there is an additional option (FSOBC_REDUCED) **
|
---|
381 | ** for the computation of the pressure gradient term in both Flather or **
|
---|
382 | ** reduced physics conditions (*_M2FLATHER, *_M2REDUCED). **
|
---|
383 | ** **
|
---|
384 | ** SSH_TIDES use if imposing tidal elevation **
|
---|
385 | ** UV_TIDES use if imposing tidal currents **
|
---|
386 | ** RAMP_TIDES use if ramping (over one day) tidal forcing **
|
---|
387 | ** FSOBC_REDUCED use if SSH data and reduced physics conditions **
|
---|
388 | ** ADD_FSOBC use to add tidal elevation to processed OBC data **
|
---|
389 | ** ADD_M2OBC use to add tidal currents to processed OBC data **
|
---|
390 | ** **
|
---|
391 | ** ROMS/TOMS driver OPTIONS: **
|
---|
392 | ** **
|
---|
393 | ** ADM_DRIVER use if generic adjoint model driver **
|
---|
394 | ** AD_SENSITIVITY use if adjoint sensitivity driver **
|
---|
395 | ** AFT_EIGENMODES use if adjoint finite time eingenmodes driver **
|
---|
396 | ** ARRAY_MODES use if W4DVAR representer matrix array modes **
|
---|
397 | ** BEOFS_ONLY use to compute EOFs of background error covariance **
|
---|
398 | ** BGQC use if background quality control of observations **
|
---|
399 | ** BNORM use if Background norm for Hessian singular vectors **
|
---|
400 | ** CLIPPING use if W4DVAR representer matrix clipping analysis **
|
---|
401 | ** CORRELATION use if background-error correlation model driver **
|
---|
402 | ** ENSEMBLE use if ensemble prediction driver **
|
---|
403 | ** EVOLVED_LCZ use to Compute 4DVar evolved Hessian singular vectors **
|
---|
404 | ** FORCING_SV use if forcing singular vectors driver **
|
---|
405 | ** FT_EIGENMODES use if finite time eingenmodes driver: normal modes **
|
---|
406 | ** GEOPOTENTIAL_HCONV use if horizontal convolutions along geopotentials **
|
---|
407 | ** HESSIAN_FSV use if Hessian forcing singular vectors **
|
---|
408 | ** HESSIAN_SO use if Hessian stochastic optimals **
|
---|
409 | ** HESSIAN_SV use if Hessian singular vectors **
|
---|
410 | ** INNER_PRODUCT use if tangent linear and adjoint inner product check **
|
---|
411 | ** IS4DVAR use if incremental 4DVar data assimilation **
|
---|
412 | ** IS4DVAR_SENSITIVITY use if I4DVar observations sensitivity driver **
|
---|
413 | ** LCZ_FINAL use to compute 4DVar Hessian singular vectors **
|
---|
414 | ** OPT_OBSERVATIONS use if optimal observations driver **
|
---|
415 | ** OPT_PERTURBATION use if optimal perturbations driver, singular vectors **
|
---|
416 | ** PICARD_TEST use if representer tangent linear model test **
|
---|
417 | ** PSEUDOSPECTRA use if pseudospectra of tangent linear resolvant **
|
---|
418 | ** R_SYMMETRY use if representer matrix symmetry test **
|
---|
419 | ** RPCG use if Restricted B-preconditioned Lanczos solver **
|
---|
420 | ** RPM_DRIVER use if generic representers model driver **
|
---|
421 | ** SANITY_CHECK use if tangent linear and adjoint codes sanity check **
|
---|
422 | ** SO_SEMI use if stochastic optimals driver, semi-norm **
|
---|
423 | ** SO_TRACE use if stochastic optimals, randomized trace **
|
---|
424 | ** STOCHASTIC_OPT use if stochastic optimals **
|
---|
425 | ** TIME_CONV use if weak-constraint 4DVar time convolutions **
|
---|
426 | ** TLM_CHECK use if tangent linear model linearization check **
|
---|
427 | ** TLM_DRIVER use if generic tangent linear model driver **
|
---|
428 | ** W4DPSAS use if weak constraint 4DPSAS data assimilation **
|
---|
429 | ** W4DPSAS_SENSITIVITY use if weak constraint 4DPSAS observation sensitivity **
|
---|
430 | ** W4DVAR use if Weak constraint 4DVar data assimilation **
|
---|
431 | ** W4DVAR_SENSITIVITY use if Weak constraint 4DVar observation sensitivity **
|
---|
432 | ** **
|
---|
433 | ** OPTIONS associated with tangent linear, representer and adjoint models: **
|
---|
434 | ** **
|
---|
435 | ** AD_IMPULSE use to force adjoint model with intermittent impulses **
|
---|
436 | ** ADJUST_BOUNDARY use if including boundary conditions in 4DVar state **
|
---|
437 | ** ADJUST_STFLUX use if including surface tracer flux in 4DVar state **
|
---|
438 | ** ADJUST_WSTRESS use if including wind-stress in 4DVar state **
|
---|
439 | ** ARRAY_MODES_SPLIT use to separate analysis due to IC, forcing, and OBC **
|
---|
440 | ** BALANCE_OPERATOR use if error covariance multivariate balance term **
|
---|
441 | ** CELERITY_WRITE use if writing radiation celerity in forward file **
|
---|
442 | ** CLIPPING_SPLIT use to separate analysis due to IC, forcing, and OBC **
|
---|
443 | ** DATALESS_LOOPS use if testing convergence of Picard iterations **
|
---|
444 | ** ENKF_RESTART use if writting restart fields for EnKF **
|
---|
445 | ** FORWARD_MIXING use if processing forward vertical mixing coefficient **
|
---|
446 | ** FORWARD_WRITE use if writing out forward solution, basic state **
|
---|
447 | ** FORWARD_READ use if reading in forward solution, basic state **
|
---|
448 | ** FORWARD_RHS use if processing forward right-hand-side terms **
|
---|
449 | ** IMPACT_INNER use to write observations impacts for each inner loop **
|
---|
450 | ** IMPLICIT_VCONV use if implicit vertical convolution algorithm **
|
---|
451 | ** IMPULSE use if processing adjoint impulse forcing **
|
---|
452 | ** MINRES use if Minimal Residual Method for 4DVar minimization **
|
---|
453 | ** MULTIPLE_TLM use if multiple TLM history files in 4DVAR **
|
---|
454 | ** NLM_OUTER use if nonlinear model as basic state in outer loop **
|
---|
455 | ** OBS_IMPACT use if observation impact to 4DVAR data assimilation **
|
---|
456 | ** OBS_IMPACT_SPLIT use to separate impact due to IC, forcing, and OBC **
|
---|
457 | ** POSTERIOR_EOFS use if posterior analysis error covariance EOFS **
|
---|
458 | ** POSTERIOR_ERROR_F use if final posterior analysis error covariance **
|
---|
459 | ** POSTERIOR_ERROR_I use if initial posterior analysis error covariance **
|
---|
460 | ** RECOMPUTE_4DVAR use if recomputing 4DVar in analysis algorithms **
|
---|
461 | ** RPM_RELAXATION use if Picard iterations, Diffusive Relaxation of RPM **
|
---|
462 | ** SKIP_NLM use to skip running NLM, reading NLM trajectory **
|
---|
463 | ** SO_SEMI_WHITE use to activate SO semi norm white/red noise processes**
|
---|
464 | ** STOCH_OPT_WHITE use to activate SO white/red noise processes **
|
---|
465 | ** SPLINES_VCONV use to activate implicit splines vertical convolution **
|
---|
466 | ** VCONVOLUTION use to add vertical correlation to 3D convolution **
|
---|
467 | ** VERIFICATION use if writing out solution at observation locations **
|
---|
468 | ** ZETA_ELLIPTIC use if SSH elliptic Equation in balance operator **
|
---|
469 | ** **
|
---|
470 | ** OPTION for processing the full grid range (interior and boundary points) **
|
---|
471 | ** of the state vector in variational data assimilation and generalized **
|
---|
472 | ** stability theory analysis. Otherwise, only interior points are processed. **
|
---|
473 | ** **
|
---|
474 | ** FULL_GRID use to consider both interior and boundary points **
|
---|
475 | ** **
|
---|
476 | ** Fennel et al. (2006) biology model OPTIONS: **
|
---|
477 | ** **
|
---|
478 | ** BIO_FENNEL use if Fennel et al. (2006) nitrogen-based model **
|
---|
479 | ** BIO_SEDIMENT use to restore fallen material to the nutrient pool **
|
---|
480 | ** CARBON use to add carbon constituents **
|
---|
481 | ** DENITRIFICATION use to add denitrification processes **
|
---|
482 | ** OXYGEN use to add oxygen dynamics **
|
---|
483 | ** OCMIP_OXYGEN_SC use if Schmidt number from Keeling et al. (1998) **
|
---|
484 | ** TALK_NONCONSERV use if nonconservative computation of alkalinity **
|
---|
485 | ** **
|
---|
486 | ** Hypoxia ecosysten model OPTIONS: **
|
---|
487 | ** **
|
---|
488 | ** HYPOXIA_SRM use if Hypoxia Simple Respiration Model **
|
---|
489 | ** **
|
---|
490 | ** NPZD biology model OPTIONS: **
|
---|
491 | ** **
|
---|
492 | ** NPZD_FRANKS use if NPZD Biology model, Franks et al. (1986) **
|
---|
493 | ** NPZD_IRON use if NPZD Biology model with iron limitation **
|
---|
494 | ** NPZD_POWELL use if NPZD Biology model, Powell et al. (2006) **
|
---|
495 | ** IRON_LIMIT use if Fe limitation on phytoplankton growth **
|
---|
496 | ** IRON_RELAX use if nudging Fe over the shelf, h <= FeHmin **
|
---|
497 | ** **
|
---|
498 | ** Bio-optical EcoSim model OPTIONS: **
|
---|
499 | ** **
|
---|
500 | ** ECOSIM use if bio-optical EcoSim model **
|
---|
501 | ** **
|
---|
502 | ** Nemuro lower trophic level ecosystem model OPTIONS: **
|
---|
503 | ** **
|
---|
504 | ** Need to choose a zooplankton grazing option (HOLLING_GRAZING or **
|
---|
505 | ** IVLEV_EXPLICIT). The default implicit IVLEV algorithm does not **
|
---|
506 | ** work yet. **
|
---|
507 | ** **
|
---|
508 | ** NEMURO use if Nemuro ecosystem model. **
|
---|
509 | ** BIO_SEDIMENT use to restore fallen material to the nutrient pool **
|
---|
510 | ** HOLLING_GRAZING use Holling-type s-shaped curve grazing (implicit) **
|
---|
511 | ** IVLEV_EXPLICIT use Ivlev explicit grazing algorithm **
|
---|
512 | ** **
|
---|
513 | ** Red tide biological model OPTIONS: **
|
---|
514 | ** **
|
---|
515 | ** RED_TIDE use if red tide biological model. **
|
---|
516 | ** **
|
---|
517 | ** Sediment transport model OPTIONS: **
|
---|
518 | ** **
|
---|
519 | ** SEDIMENT use to activate sediment transport model **
|
---|
520 | ** BEDLOAD_MPM use to activate Meyer-Peter-Mueller bed load **
|
---|
521 | ** BEDLOAD_SOULSBY use to activate Soulsby wave/current bed load **
|
---|
522 | ** SED_DENS use to activate sediment to affect equation of state **
|
---|
523 | ** SED_MORPH use to allow bottom model elevation to evolve **
|
---|
524 | ** SUSPLOAD use to activate suspended load transport **
|
---|
525 | ** **
|
---|
526 | ** OPTIONS for grid nesting: **
|
---|
527 | ** **
|
---|
528 | ** NESTING use to activate grid nesting: composite/refinement **
|
---|
529 | ** NESTING_DEBUG use to check mass fluxes conservation in refinement **
|
---|
530 | ** NO_CORRECT_TRACER use to avoid two-way correction of boundary tracer **
|
---|
531 | ** ONE_WAY use if one-way nesting in refinement grids **
|
---|
532 | ** TIME_INTERP_FLUX time interpolate coarse mass flux instead of persist **
|
---|
533 | ** **
|
---|
534 | ** OPTIONS for coupling to other Earth System Models (ESM) via the Earth **
|
---|
535 | ** Modeling Framework (ESMF) or Modeling Coupling Toolkit (MCT) libraries. **
|
---|
536 | ** If coupling with ESMF library, it uses the National Unified Operational **
|
---|
537 | ** Prediction Capability (NUOPC) layer "cap" files to facilitate exchanges **
|
---|
538 | ** with other ESM components. **
|
---|
539 | ** **
|
---|
540 | ** ESMF_LIB use if coupling with the ESMF/NUOPC library **
|
---|
541 | ** MCT_LIB use if Coupling with the MCT library **
|
---|
542 | ** **
|
---|
543 | ** CICE_COUPLING use if coupling to CICE sea ice model **
|
---|
544 | ** COAMPS_COUPLING use if coupling to COAMPS atmospheric model **
|
---|
545 | ** DATA_COUPLING use if coupling to DATA model **
|
---|
546 | ** EXCLUDE_SPONGE use if excluding sponge point in export fields **
|
---|
547 | ** FRC_COUPLING use if forcing from Atmopheric or Data model **
|
---|
548 | ** REFDIF_COUPLING use if coupling to REFDIT wave model **
|
---|
549 | ** REGCM_COUPLING use if coupling to RegCM atmospheric model **
|
---|
550 | ** SWAN_COUPLING use if coupling to SWAN wave model **
|
---|
551 | ** TIME_INTERP use if importing snapshots for time interpolation **
|
---|
552 | ** WAM_COUPLING use if coupling to WAM wave model **
|
---|
553 | ** WRF_COUPLING use if coupling to WRF atmospheric model **
|
---|
554 | ** WRF_TIMEAVG use if time-averaged fields over coupling interval **
|
---|
555 | ** **
|
---|
556 | ** Nearshore and shallow water model OPTIONS: **
|
---|
557 | ** **
|
---|
558 | ** WET_DRY use to activate wetting and drying **
|
---|
559 | ** NEARSHORE_MELLOR05 use to activate radiation stress terms (Mellor 2005). **
|
---|
560 | ** NEARSHORE_MELLOR08 use to activate radiation stress terms (Mellor 2008). **
|
---|
561 | ** **
|
---|
562 | ** MPI communication OPTIONS: The routines "mp_assemble" (used in nesting), **
|
---|
563 | ** "mp_collect" (used in NetCDF I/O and 4D-Var), **
|
---|
564 | ** and "mp_reduce" (used in global reductions) are coded in "distribution.F" **
|
---|
565 | ** by either using low-level ("mpi_isend" and "mpi_irecv") or high-level **
|
---|
566 | ** ("mpi_allgather" and "mpi_allreduce") MPI calls. The default is to use **
|
---|
567 | ** the low-level MPI calls. The options for routine "mp_boundary" (used to **
|
---|
568 | ** process lateral open boundary conditions is either "mpi_allgather" or **
|
---|
569 | ** "mpi_allreduce" (default). **
|
---|
570 | ** **
|
---|
571 | ** The user needs to be aware that the choice of these MPI communication **
|
---|
572 | ** routines it will affect performance issue. In some computers, the **
|
---|
573 | ** low-level are either slower or faster than the high-level MPI library **
|
---|
574 | ** calls. It depends on the computer (cluster) set-up. Some vendors provide **
|
---|
575 | ** native MPI libraries fine-tuned for the computer architecture. The **
|
---|
576 | ** user needs to find which function option performs better by carrying on **
|
---|
577 | ** benchmarks. We provides the following choices: **
|
---|
578 | ** **
|
---|
579 | ** ASSEMBLE_ALLGATHER use "mpi_allgather" in "mp_assemble" **
|
---|
580 | ** ASSEMBLE_ALLREDUCE use "mpi_allreduce" in "mp_assemble" **
|
---|
581 | ** **
|
---|
582 | ** BOUNDARY_ALLGATHER use "mpi_allgather" in "mp_boundary" **
|
---|
583 | ** **
|
---|
584 | ** COLLECT_ALLGATHER use "mpi_allgather" in "mp_collect" **
|
---|
585 | ** COLLECT_ALLREDUCE use "mpi_allreduce" in "mp_collect" **
|
---|
586 | ** **
|
---|
587 | ** REDUCE_ALLGATHER use "mpi_allgather" in "mp_reduce" **
|
---|
588 | ** REDUCE_ALLREDUCE use "mpi_allreduce" in "mp_reduce" **
|
---|
589 | ** **
|
---|
590 | ** NetCDF input/output OPTIONS: **
|
---|
591 | ** **
|
---|
592 | ** DEFLATE use to set compression NetCDF-4/HDF5 format files **
|
---|
593 | ** HDF5 use to create NetCDF-4/HDF5 format files **
|
---|
594 | ** NO_LBC_ATT use to not check NLM_LBC global attribute on restart **
|
---|
595 | ** NO_READ_GHOST use to not include ghost points during read/scatter **
|
---|
596 | ** NO_WRITE_GRID use if not writing grid arrays **
|
---|
597 | ** PARALLEL_IO use if parallel I/O via HDF5 or pnetcdf libraries **
|
---|
598 | ** PERFECT_RESTART use to include perfect restart variables **
|
---|
599 | ** PNETCDF use if parallel I/O with pnetcdf (classic format) **
|
---|
600 | ** POSITIVE_ZERO use to impose positive zero in ouput data **
|
---|
601 | ** READ_WATER use if only reading water points data **
|
---|
602 | ** WRITE_WATER use if only writing water points data **
|
---|
603 | ** RST_SINGLE use if writing single precision restart fields **
|
---|
604 | ** OUT_DOUBLE use if writing double precision output fields **
|
---|
605 | ** **
|
---|
606 | ** OPTION to process 3D data by levels (2D slabs) to reduce memory needs in **
|
---|
607 | ** distributed-memory configurations. This option is convenient for large **
|
---|
608 | ** problems on nodes with limited memory. **
|
---|
609 | ** **
|
---|
610 | ** INLINE_2DIO use if processing 3D IO level by level **
|
---|
611 | ** **
|
---|
612 | ** OPTION to avoid writing current date and CPP options to NetCDF file **
|
---|
613 | ** headers. This is used to compare serial and parallel solutions where **
|
---|
614 | ** the UNIX command "diff" is used between NetCDF files. It will only **
|
---|
615 | ** tell us that the binary files are different or not. Finding the **
|
---|
616 | ** parallel bug is complete different story. **
|
---|
617 | ** **
|
---|
618 | ** DEBUGGING use to activate parallel debugging switch **
|
---|
619 | ** **
|
---|
620 | *******************************************************************************
|
---|
621 | *******************************************************************************
|
---|
622 | *******************************************************************************
|
---|
623 | ** **
|
---|
624 | ** Idealized Test Problems: **
|
---|
625 | ** **
|
---|
626 | ** BASIN Big Bad Basin Example **
|
---|
627 | ** BENCHMARK Benchmark Tests (small, Medium, big grids) **
|
---|
628 | ** BIO_TOY One-dimension (vertical) Biology Toy **
|
---|
629 | ** BL_TEST Boundary Layers Test **
|
---|
630 | ** CHANNEL Periodic channel, Optimal Perturbations Test **
|
---|
631 | ** CANYON Coastal form stress Canyon Test **
|
---|
632 | ** CHANNEL_NECK Channel with a Constriction **
|
---|
633 | ** COUPLING_TEST Two-way Atmosphere-Ocean Coupling Test **
|
---|
634 | ** DOGBONE Idealize nesting grids (Composite and Refinement) Test**
|
---|
635 | ** DOUBLE_GYRE Idealized Double-gyre Example **
|
---|
636 | ** ESTUARY_TEST Test Estuary for Sediment **
|
---|
637 | ** FLT_TEST Float Tracking Example **
|
---|
638 | ** GRAV_ADJ Gravitational Adjustment Example **
|
---|
639 | ** INLET_TEST Test Inlet Application **
|
---|
640 | ** KELVIN Kelvin wave test **
|
---|
641 | ** LAB_CANYON Lab Canyon, Polar Coordinates Example **
|
---|
642 | ** LAKE_JERSEY Lake Jersey Nesting Test Case **
|
---|
643 | ** LAKE_SIGNELL Lake Signell Sediment Test Case **
|
---|
644 | ** LMD_TEST Test for LMD and KPP **
|
---|
645 | ** OVERFLOW Gravitational/Overflow Example **
|
---|
646 | ** RIVERPLUME1 River Plume Example 1 **
|
---|
647 | ** RIVERPLUME2 River plume Example 2 (Hyatt and Signell) **
|
---|
648 | ** SEAMOUNT Seamount Example **
|
---|
649 | ** SED_TEST1 Suspended Sediment Test in a Channel **
|
---|
650 | ** SED_TOY One-dimension (vertical) Sediment Toy **
|
---|
651 | ** SHOREFACE Shore Face Planar Beach Test Case **
|
---|
652 | ** SOLITON Equatorial Rossby Wave Example **
|
---|
653 | ** TEST_CHAN Sediment Test Channel Case **
|
---|
654 | ** TEST_HEAD Sediment Test Headland Case **
|
---|
655 | ** UPWELLING Upwelling Example (default) **
|
---|
656 | ** WEDDELL Idealized Weddell Sea Shelf Application **
|
---|
657 | ** WINDBASIN Linear Wind-driven Constant Coriolis Basin **
|
---|
658 | ** **
|
---|
659 | ** Climatological Applications: (See www.myroms.org/Datasets) **
|
---|
660 | ** **
|
---|
661 | ** DAMEE_4 North Atlantic DAMEE Application, 3/4 degree **
|
---|
662 | ** **
|
---|
663 | ** Selected Realistic Applications: **
|
---|
664 | ** **
|
---|
665 | ** ADRIA02 Adriatic Sea Application **
|
---|
666 | ** NJ_BIGHT New Jersey Bight Application **
|
---|
667 | ** WC13 California Current System, 1/3 degree resolution **
|
---|
668 | ** **
|
---|
669 | *******************************************************************************
|
---|
670 | *******************************************************************************
|
---|
671 | *******************************************************************************
|
---|
672 | ** **
|
---|
673 | ** The user needs to choose either a pre-defined application or his/her **
|
---|
674 | ** own application. The application CPP flag to run is activated in the **
|
---|
675 | ** makefile. For example, to activate the upwelling example (UPWELLING) **
|
---|
676 | ** set: **
|
---|
677 | ** **
|
---|
678 | ** ROMS_APPLICATION ?= UPWELLING **
|
---|
679 | ** **
|
---|
680 | ** in the makefile. ROMS will include the associated header file located **
|
---|
681 | ** in the ROMS/Include directory. The application header file name is the **
|
---|
682 | ** lowercase value of ROMS_APPLICATION with the .h extension and passed **
|
---|
683 | ** as ROMS_HEADER definition during C-preprocessing. For example, the **
|
---|
684 | ** upwelling test problem includes the "upwelling.h" header file: **
|
---|
685 | ** **
|
---|
686 | ** ROMS_HEADER="upwelling.h" **
|
---|
687 | ** **
|
---|
688 | ** If building a new application, choose an unique CPP flag for it and **
|
---|
689 | ** create its associated include file (*.h) to specify the appropriate **
|
---|
690 | ** configuration options. **
|
---|
691 | ** **
|
---|
692 | *******************************************************************************
|
---|
693 | */
|
---|
694 |
|
---|
695 | #if defined ROMS_HEADER
|
---|
696 | # include ROMS_HEADER
|
---|
697 | #else
|
---|
698 | CPPDEFS - Choose an appropriate ROMS application.
|
---|
699 | #endif
|
---|
700 |
|
---|
701 | /*
|
---|
702 | ** Include internal CPP definitions.
|
---|
703 | */
|
---|
704 |
|
---|
705 | #include "globaldefs.h"
|
---|