1 |
C $Header: /u/gcmpack/MITgcm/pkg/ctrl/ctrl.h,v 1.78 2015/10/26 03:21:27 gforget Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
c ================================================================== |
5 |
c HEADER CONTROLVARS |
6 |
c ================================================================== |
7 |
c |
8 |
c o Control variables of the ECCO state estimation tool. |
9 |
c |
10 |
c Depending on the specific problem to be studied users will have to |
11 |
c modify this header file. |
12 |
c |
13 |
c started: Christian Eckert eckert@mit.edu 30-Jun-1999 |
14 |
c |
15 |
c ================================================================== |
16 |
c HEADER CONTROLVARS ctrl.h |
17 |
c ================================================================== |
18 |
|
19 |
integer maxcvars |
20 |
#if (defined (CTRL_SET_OLD_MAXCVARS_30)) |
21 |
parameter ( maxcvars = 30 ) |
22 |
#elif (defined (CTRL_SET_OLD_MAXCVARS_40)) |
23 |
parameter ( maxcvars = 40 ) |
24 |
#elif (defined (ALLOW_GENARR2D_CONTROL) || defined (ALLOW_GENARR3D_CONTROL) || defined (ALLOW_GENTIM2D_CONTROL)) |
25 |
parameter ( maxcvars = 400 ) |
26 |
#else |
27 |
parameter ( maxcvars = 60 ) |
28 |
#endif |
29 |
|
30 |
cph ctrlprec will be set to 32 for ECCO to reduce I/O |
31 |
cph but jeopardizes some gradient checks, so should be |
32 |
cph set to 64 by default. |
33 |
cph Need to put this in namelist at some point! |
34 |
integer ctrlprec |
35 |
#ifdef CTRL_SET_PREC_32 |
36 |
parameter ( ctrlprec = 32 ) |
37 |
#else |
38 |
parameter ( ctrlprec = 64 ) |
39 |
#endif |
40 |
|
41 |
#ifdef ALLOW_ADMTLM |
42 |
integer admtlmrec |
43 |
parameter( admtlmrec = Nx*Ny*(4*Nr+1) ) |
44 |
common / controlvars_admtlm_r / |
45 |
& cbuffGlobal |
46 |
_RL cbuffGlobal( admtlmrec ) |
47 |
#endif |
48 |
|
49 |
common /controlparams_r/ |
50 |
& delZexp, |
51 |
& forcingPrecond |
52 |
|
53 |
_RL delZexp |
54 |
_RL forcingPrecond |
55 |
|
56 |
C doInitXX :: at iter 0 only, set ctrls to 0 and write to xx*000.data |
57 |
C doMainPack :: pack adxx*data files into ecco_cost_* file (usually for optim.x) |
58 |
C doMainUnpack :: unpack ecco_ctrl_* file (usually from optim.x) into xx_*data files |
59 |
C doPackDiag :: output diag_pack*/diag_unpack* files during ctrl_pack/ctrl_unpack |
60 |
C doSinglePrecTapelev :: reduce precision of ad tape files to float32 (only used in pkg/autodiff ...) |
61 |
C ctrlSmoothCorrel2D :: use pkg/smooth correlation operator (incl. smoother) for 2D controls (Weaver, Courtier 01) |
62 |
C ctrlSmoothCorrel3D :: use pkg/smooth correlation operator (incl. smoother) for 3D controls (Weaver, Courtier 01) |
63 |
C ctrlUseGen :: use generic control approach rather than old codes from pkg/ecco |
64 |
|
65 |
common /controlvars_l / |
66 |
& ctrlSmoothCorrel2D, |
67 |
& ctrlSmoothCorrel3D, |
68 |
& ctrlUseGen, |
69 |
& doInitXX, |
70 |
& doAdmTlm, |
71 |
& doPackDiag, |
72 |
& doZscaleUnpack, |
73 |
& doZscalePack, |
74 |
& doMainUnpack, |
75 |
& doMainPack, |
76 |
& doSinglePrecTapelev, |
77 |
& doAdmtlmBypassAD |
78 |
|
79 |
logical ctrlSmoothCorrel2D, ctrlSmoothCorrel3D |
80 |
logical ctrlUseGen |
81 |
logical doInitXX |
82 |
logical doAdmTlm |
83 |
logical doPackDiag |
84 |
logical doZscaleUnpack |
85 |
logical doZscalePack |
86 |
logical doMainUnpack |
87 |
logical doMainPack |
88 |
logical doSinglePrecTapelev |
89 |
logical doAdmtlmBypassAD |
90 |
|
91 |
common /controlvars_i/ |
92 |
& nvartype, |
93 |
& nvarlength, |
94 |
& ncvarindex, |
95 |
& ncvarrecs, |
96 |
& ncvarrecstart, |
97 |
& ncvarrecsend, |
98 |
& ncvarxmax, |
99 |
& ncvarymax, |
100 |
& ncvarnrmax, |
101 |
& nwetctile, |
102 |
& nwetstile, |
103 |
& nwetwtile, |
104 |
& nwetvtile, |
105 |
& nwetcglobal, |
106 |
& nwetsglobal, |
107 |
& nwetwglobal, |
108 |
& nwetvglobal, |
109 |
& nbuffglobal |
110 |
integer nvartype |
111 |
integer nvarlength |
112 |
integer ncvarindex ( maxcvars ) |
113 |
integer ncvarrecs ( maxcvars ) |
114 |
integer ncvarrecstart ( maxcvars ) |
115 |
integer ncvarrecsend ( maxcvars ) |
116 |
integer ncvarxmax ( maxcvars ) |
117 |
integer ncvarymax ( maxcvars ) |
118 |
integer ncvarnrmax ( maxcvars ) |
119 |
integer nwetctile ( nsx,nsy,nr ) |
120 |
integer nwetstile ( nsx,nsy,nr ) |
121 |
integer nwetwtile ( nsx,nsy,nr ) |
122 |
integer nwetvtile ( nsx,nsy,nr ) |
123 |
integer nwetcglobal ( nr ) |
124 |
integer nwetsglobal ( nr ) |
125 |
integer nwetwglobal ( nr ) |
126 |
integer nwetvglobal ( nr ) |
127 |
integer nbuffglobal |
128 |
|
129 |
#ifdef ALLOW_SHIFWFLX_CONTROL |
130 |
common /controlvars_i_shifwflx/ |
131 |
& nwetitile, nwetiglobal, filenWetiGlobal |
132 |
integer nwetitile ( nsx,nsy,nr ) |
133 |
integer nwetiglobal ( nr ) |
134 |
integer filenWetiGlobal(nr) |
135 |
#endif /* ALLOW_SHIFWFLX_CONTROL */ |
136 |
|
137 |
common /controlvars_c/ |
138 |
& ncvargrd |
139 |
& , yadprefix |
140 |
character*(1) ncvargrd(maxcvars) |
141 |
character*(2) yadprefix |
142 |
|
143 |
common /controlvec_header_i/ |
144 |
& filenvartype, |
145 |
& filenvarlength, |
146 |
& fileOptimCycle, |
147 |
& filencbuffindex, |
148 |
& fileIg, |
149 |
& fileJg, |
150 |
& fileI, |
151 |
& fileJ, |
152 |
& filensx, |
153 |
& filensy, |
154 |
& filek, |
155 |
& filenWetcGlobal, |
156 |
& filenWetsGlobal, |
157 |
& filenWetwGlobal, |
158 |
& filenWetvGlobal, |
159 |
& filencvarindex, |
160 |
& filencvarrecs, |
161 |
& filencvarxmax, |
162 |
& filencvarymax, |
163 |
& filencvarnrmax |
164 |
integer filenvartype |
165 |
integer filenvarlength |
166 |
integer fileOptimCycle |
167 |
integer filencbuffindex |
168 |
integer fileIg |
169 |
integer fileJg |
170 |
integer fileI |
171 |
integer fileJ |
172 |
integer filensx |
173 |
integer filensy |
174 |
integer filek |
175 |
integer filenWetcGlobal(nr) |
176 |
integer filenWetsGlobal(nr) |
177 |
integer filenWetwGlobal(nr) |
178 |
integer filenWetvGlobal(nr) |
179 |
integer filencvarindex(maxcvars) |
180 |
integer filencvarrecs(maxcvars) |
181 |
integer filencvarxmax(maxcvars) |
182 |
integer filencvarymax(maxcvars) |
183 |
integer filencvarnrmax(maxcvars) |
184 |
|
185 |
common /controlvec_header_r/ |
186 |
& filefc |
187 |
_RL filefc |
188 |
|
189 |
common /controlvec_header_c/ |
190 |
& fileYctrlid, |
191 |
& filencvargrd |
192 |
character*(10) fileYctrlid |
193 |
character*( 1) filencvargrd(maxcvars) |
194 |
|
195 |
c Define unit weight as a placeholder |
196 |
common /ctrl_weights_unit_r/ |
197 |
& wunit, |
198 |
& wareaunit |
199 |
_RL wunit (nr,nsx,nsy) |
200 |
_RL wareaunit (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
201 |
|
202 |
cph common /controlvars_r/ |
203 |
cph & tmpfld2d |
204 |
cph & , tmpfld3d |
205 |
_RL tmpfld2d |
206 |
& (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
207 |
_RL tmpfld3d |
208 |
& (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
209 |
|
210 |
common /packnames_c/ |
211 |
& yadmark, |
212 |
& ctrlname, |
213 |
& costname, |
214 |
& scalname, |
215 |
& maskname, |
216 |
& metaname, |
217 |
& yctrlid, |
218 |
& yctrlposunpack, |
219 |
& yctrlpospack |
220 |
character*2 yadmark |
221 |
character*9 ctrlname |
222 |
character*9 costname |
223 |
character*9 scalname |
224 |
character*9 maskname |
225 |
character*9 metaname |
226 |
character*10 yctrlid |
227 |
character*4 yctrlposunpack |
228 |
character*4 yctrlpospack |
229 |
|
230 |
#ifdef ALLOW_ADMTLM |
231 |
integer maxm, maxn |
232 |
parameter ( maxm = Nx*Ny*(4*Nr+1), maxn=Nx*Ny*(4*Nr+1) ) |
233 |
|
234 |
common /admtlm_i/ nveccount |
235 |
integer nveccount |
236 |
|
237 |
common /admtlm_r/ phtmpadmtlm |
238 |
double precision phtmpadmtlm(maxn) |
239 |
#endif |
240 |
|
241 |
#ifdef ECCO_CTRL_DEPRECATED |
242 |
_RL num_zero_mean (nsx,nsy) |
243 |
_RL objf_zero_mean (nsx,nsy) |
244 |
_RL objf_zero_smoo (nsx,nsy) |
245 |
common /ctrl_zero_r/ num_zero_mean, |
246 |
& objf_zero_mean, objf_zero_smoo |
247 |
#endif |
248 |
|
249 |
#ifndef ALLOW_ECCO |
250 |
common /ctrl_weights_atmos_r/ |
251 |
& whflux, |
252 |
& wsflux, |
253 |
& wtauu, |
254 |
& wtauv, |
255 |
& watemp, |
256 |
& waqh, |
257 |
& wprecip, |
258 |
& wswflux, |
259 |
& wswdown, |
260 |
& wuwind, |
261 |
& wvwind, |
262 |
& wlwflux, |
263 |
& wlwdown, |
264 |
& wevap, |
265 |
& wsnowprecip, |
266 |
& wapressure, |
267 |
& wrunoff, |
268 |
& wsst, |
269 |
& wsss |
270 |
_RL whflux (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
271 |
_RL wsflux (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
272 |
_RL wtauu (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
273 |
_RL wtauv (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
274 |
_RL watemp (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
275 |
_RL waqh (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
276 |
_RL wprecip (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
277 |
_RL wswflux (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
278 |
_RL wswdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
279 |
_RL wuwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
280 |
_RL wvwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
281 |
_RL wlwflux (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
282 |
_RL wlwdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
283 |
_RL wevap (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
284 |
_RL wsnowprecip (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
285 |
_RL wapressure(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
286 |
_RL wrunoff (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
287 |
_RL wsst (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
288 |
_RL wsss (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
289 |
#endif |
290 |
|
291 |
c Control variables: |
292 |
c ================== |
293 |
c |
294 |
c xx_theta - control vector temperature part. |
295 |
c xx_salt - control vector salt part. |
296 |
c xx_hflux - control vector surface heat flux part. |
297 |
c xx_sflux - control vector surface salt flux part. |
298 |
c xx_tauu - control vector zonal wind stress part. |
299 |
c xx_tauv - control vector meridional wind stress part. |
300 |
cph( |
301 |
c xx_... are to be replaced by tmpfld2d/3d throughout the code; |
302 |
c control variables are written to / read from active files |
303 |
c TAMC sees xx_..._dummy |
304 |
|
305 |
#ifdef ALLOW_OPENAD |
306 |
C |
307 |
common /controlvars_r_openad/ |
308 |
& xx_place_holder |
309 |
# ifdef ECCO_CTRL_DEPRECATED |
310 |
& , xx_theta |
311 |
& , xx_salt |
312 |
& , xx_uvel |
313 |
& , xx_vvel |
314 |
& , xx_etan |
315 |
# ifdef ALLOW_DIFFKR_CONTROL |
316 |
& , xx_diffkr |
317 |
# endif |
318 |
# ifdef ALLOW_KAPGM_CONTROL |
319 |
& , xx_kapgm |
320 |
# endif |
321 |
# ifdef ALLOW_TR10_CONTROL |
322 |
& , xx_tr1 |
323 |
# endif |
324 |
# ifdef ALLOW_HFLUXM_CONTROL |
325 |
& , xx_hfluxm |
326 |
# endif |
327 |
# endif /* ECCO_CTRL_DEPRECATED */ |
328 |
|
329 |
# ifdef ALLOW_GENARR2D_CONTROL |
330 |
& , xx_genarr2d |
331 |
# endif |
332 |
# ifdef ALLOW_GENARR3D_CONTROL |
333 |
& , xx_genarr3d |
334 |
# endif |
335 |
C |
336 |
# ifdef ECCO_CTRL_DEPRECATED |
337 |
_RL xx_theta(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
338 |
_RL xx_salt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
339 |
_RL xx_uvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
340 |
_RL xx_vvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
341 |
_RL xx_etan(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
342 |
# ifdef ALLOW_DIFFKR_CONTROL |
343 |
_RL xx_diffkr(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
344 |
# endif |
345 |
# ifdef ALLOW_KAPGM_CONTROL |
346 |
_RL xx_kapgm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
347 |
# endif |
348 |
# ifdef ALLOW_TR10_CONTROL |
349 |
_RL xx_tr1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
350 |
# endif |
351 |
# ifdef ALLOW_HFLUXM_CONTROL |
352 |
_RL xx_hfluxm(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
353 |
# endif |
354 |
# endif /* ECCO_CTRL_DEPRECATED */ |
355 |
|
356 |
_RL xx_place_holder |
357 |
|
358 |
# ifdef ALLOW_GENARR2D_CONTROL |
359 |
_RL xx_genarr2d(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy, |
360 |
& maxCtrlArr2D) |
361 |
# endif |
362 |
# ifdef ALLOW_GENARR3D_CONTROL |
363 |
_RL xx_genarr3d(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy, |
364 |
& maxCtrlArr3D) |
365 |
# endif |
366 |
|
367 |
#endif |
368 |
|
369 |
c Auxiliary storage arrays for the control variables: |
370 |
c =================================================== |
371 |
c |
372 |
c xx_hflux0 - heat flux record before current date. |
373 |
c xx_hflux1 - heat flux record after current date |
374 |
c xx_sflux0 - salt flux record before current date. |
375 |
c xx_sflux1 - salt flux record after current date. |
376 |
c xx_tauu0 - zonal wind stress record before current date. |
377 |
c xx_tauu1 - zonal wind stress record after current date. |
378 |
c xx_tauv0 - meridional wind stress record before current date. |
379 |
c xx_tauv1 - meridional wind stress record after current date. |
380 |
|
381 |
#ifdef ECCO_CTRL_DEPRECATED |
382 |
# if (defined (ALLOW_HFLUX_CONTROL) || (defined (ALLOW_OPENAD) && defined (ALLOW_HFLUX0_CONTROL))) |
383 |
common /controlaux_hflux_r/ |
384 |
& xx_hflux0, |
385 |
& xx_hflux1 |
386 |
# elif (defined (ALLOW_ATEMP_CONTROL)) |
387 |
common /controlaux_atemp_r/ |
388 |
& xx_atemp0, |
389 |
& xx_atemp1 |
390 |
# endif |
391 |
|
392 |
# if (defined (ALLOW_SFLUX_CONTROL) || (defined (ALLOW_OPENAD) && defined (ALLOW_SFLUX0_CONTROL))) |
393 |
common /controlaux_swflux_r/ |
394 |
& xx_sflux0, |
395 |
& xx_sflux1 |
396 |
# elif (defined (ALLOW_AQH_CONTROL)) |
397 |
common /controlaux_aqh_r/ |
398 |
& xx_aqh0, |
399 |
& xx_aqh1 |
400 |
# endif |
401 |
|
402 |
# if (defined (ALLOW_ATM_MEAN_CONTROL)) |
403 |
common /controlaux_atm_mean_r/ |
404 |
& xx_atemp_mean, |
405 |
& xx_aqh_mean, |
406 |
& xx_uwind_mean, |
407 |
& xx_vwind_mean, |
408 |
& xx_precip_mean, |
409 |
& xx_swdown_mean |
410 |
# endif |
411 |
|
412 |
# if (defined (ALLOW_USTRESS_CONTROL) || (defined (ALLOW_OPENAD) && defined (ALLOW_TAUU0_CONTROL))) |
413 |
common /controlaux_ustress_r/ |
414 |
& xx_tauu0, |
415 |
& xx_tauu1 |
416 |
# endif |
417 |
|
418 |
# if (defined (ALLOW_UWIND_CONTROL)) |
419 |
common /controlaux_uwind_r/ |
420 |
& xx_uwind0, |
421 |
& xx_uwind1 |
422 |
# endif |
423 |
|
424 |
# if (defined (ALLOW_VSTRESS_CONTROL) || (defined (ALLOW_OPENAD) && defined (ALLOW_TAUV0_CONTROL))) |
425 |
common /controlaux_vstress_r/ |
426 |
& xx_tauv0, |
427 |
& xx_tauv1 |
428 |
# endif |
429 |
|
430 |
# if (defined (ALLOW_VWIND_CONTROL)) |
431 |
common /controlaux_vwind_r/ |
432 |
& xx_vwind0, |
433 |
& xx_vwind1 |
434 |
# endif |
435 |
|
436 |
# if (defined (ALLOW_PRECIP_CONTROL)) |
437 |
common /controlaux_precip_r/ |
438 |
& xx_precip0, |
439 |
& xx_precip1 |
440 |
# endif |
441 |
|
442 |
# if (defined (ALLOW_SWFLUX_CONTROL)) |
443 |
common /controlaux_swflux_r/ |
444 |
& xx_swflux0, |
445 |
& xx_swflux1 |
446 |
# endif |
447 |
|
448 |
# if (defined (ALLOW_SWDOWN_CONTROL)) |
449 |
common /controlaux_swdown_r/ |
450 |
& xx_swdown0, |
451 |
& xx_swdown1 |
452 |
# endif |
453 |
|
454 |
# if (defined (ALLOW_LWFLUX_CONTROL)) |
455 |
common /controlaux_lwflux_r/ |
456 |
& xx_lwflux0, |
457 |
& xx_lwflux1 |
458 |
# endif |
459 |
|
460 |
# if (defined (ALLOW_LWDOWN_CONTROL)) |
461 |
common /controlaux_lwdown_r/ |
462 |
& xx_lwdown0, |
463 |
& xx_lwdown1 |
464 |
# endif |
465 |
|
466 |
# if (defined (ALLOW_EVAP_CONTROL)) |
467 |
common /controlaux_evap_r/ |
468 |
& xx_evap0, |
469 |
& xx_evap1 |
470 |
# endif |
471 |
|
472 |
# if (defined (ALLOW_SNOWPRECIP_CONTROL)) |
473 |
common /controlaux_snowprecip_r/ |
474 |
& xx_snowprecip0, |
475 |
& xx_snowprecip1 |
476 |
# endif |
477 |
|
478 |
# if (defined (ALLOW_APRESSURE_CONTROL)) |
479 |
common /controlaux_apressure_r/ |
480 |
& xx_apressure0, |
481 |
& xx_apressure1 |
482 |
# endif |
483 |
|
484 |
# if (defined (ALLOW_RUNOFF_CONTROL)) |
485 |
common /controlaux_runoff_r/ |
486 |
& xx_runoff0, |
487 |
& xx_runoff1 |
488 |
# endif |
489 |
|
490 |
# if (defined (ALLOW_SST_CONTROL)) |
491 |
common /controlaux_sst_r/ |
492 |
& xx_sst0, |
493 |
& xx_sst1 |
494 |
# endif |
495 |
# if (defined (ALLOW_SSS_CONTROL)) |
496 |
common /controlaux_sss_r/ |
497 |
& xx_sss0, |
498 |
& xx_sss1 |
499 |
# endif |
500 |
|
501 |
# ifdef ALLOW_SHIFWFLX_CONTROL |
502 |
common /controlaux_shifwflx_r/ |
503 |
& xx_shifwflx0, |
504 |
& xx_shifwflx1 |
505 |
_RL xx_shifwflx0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
506 |
_RL xx_shifwflx1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
507 |
# endif /* ALLOW_SHIFWFLX_CONTROL */ |
508 |
|
509 |
# if (defined (ALLOW_HFLUX_CONTROL) || (defined (ALLOW_OPENAD) && defined (ALLOW_HFLUX0_CONTROL))) |
510 |
_RL xx_hflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
511 |
_RL xx_hflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
512 |
# elif (defined (ALLOW_ATEMP_CONTROL)) |
513 |
_RL xx_atemp0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
514 |
_RL xx_atemp1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
515 |
# endif |
516 |
# if (defined (ALLOW_SFLUX_CONTROL) || (defined (ALLOW_OPENAD) && defined (ALLOW_SFLUX0_CONTROL))) |
517 |
_RL xx_sflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
518 |
_RL xx_sflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
519 |
# elif (defined (ALLOW_AQH_CONTROL)) |
520 |
_RL xx_aqh0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
521 |
_RL xx_aqh1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
522 |
# endif |
523 |
# if (defined (ALLOW_USTRESS_CONTROL) || (defined (ALLOW_OPENAD) && defined (ALLOW_TAUU0_CONTROL))) |
524 |
_RL xx_tauu0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
525 |
_RL xx_tauu1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
526 |
# endif |
527 |
# if (defined (ALLOW_UWIND_CONTROL)) |
528 |
_RL xx_uwind0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
529 |
_RL xx_uwind1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
530 |
# endif |
531 |
# if (defined (ALLOW_VSTRESS_CONTROL) || (defined (ALLOW_OPENAD) && defined (ALLOW_TAUV0_CONTROL))) |
532 |
_RL xx_tauv0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
533 |
_RL xx_tauv1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
534 |
# endif |
535 |
# if (defined (ALLOW_VWIND_CONTROL)) |
536 |
_RL xx_vwind0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
537 |
_RL xx_vwind1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
538 |
# endif |
539 |
#if (defined (ALLOW_PRECIP_CONTROL)) |
540 |
_RL xx_precip0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
541 |
_RL xx_precip1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
542 |
# endif |
543 |
#if (defined (ALLOW_SWFLUX_CONTROL)) |
544 |
_RL xx_swflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
545 |
_RL xx_swflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
546 |
#endif |
547 |
# if (defined (ALLOW_SWDOWN_CONTROL)) |
548 |
_RL xx_swdown0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
549 |
_RL xx_swdown1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
550 |
# endif |
551 |
# if (defined (ALLOW_LWFLUX_CONTROL)) |
552 |
_RL xx_lwflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
553 |
_RL xx_lwflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
554 |
# endif |
555 |
# if (defined (ALLOW_LWDOWN_CONTROL)) |
556 |
_RL xx_lwdown0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
557 |
_RL xx_lwdown1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
558 |
# endif |
559 |
# if (defined (ALLOW_EVAP_CONTROL)) |
560 |
_RL xx_evap0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
561 |
_RL xx_evap1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
562 |
# endif |
563 |
# if (defined (ALLOW_SNOWPRECIP_CONTROL)) |
564 |
_RL xx_snowprecip0 |
565 |
& (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
566 |
_RL xx_snowprecip1 |
567 |
& (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
568 |
# endif |
569 |
# if (defined (ALLOW_APRESSURE_CONTROL)) |
570 |
_RL xx_apressure0 |
571 |
& (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
572 |
_RL xx_apressure1 |
573 |
& (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
574 |
# endif |
575 |
# if (defined (ALLOW_RUNOFF_CONTROL)) |
576 |
_RL xx_runoff0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
577 |
_RL xx_runoff1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
578 |
# endif |
579 |
# if (defined (ALLOW_SST_CONTROL)) |
580 |
_RL xx_sst0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
581 |
_RL xx_sst1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
582 |
# endif |
583 |
# if (defined (ALLOW_SSS_CONTROL)) |
584 |
_RL xx_sss0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
585 |
_RL xx_sss1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
586 |
# endif |
587 |
# if (defined (ALLOW_ATM_MEAN_CONTROL)) |
588 |
_RL xx_atemp_mean (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
589 |
_RL xx_aqh_mean (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
590 |
_RL xx_uwind_mean (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
591 |
_RL xx_vwind_mean (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
592 |
_RL xx_precip_mean(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
593 |
_RL xx_swdown_mean(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
594 |
# endif |
595 |
#endif /* ECCO_CTRL_DEPRECATED */ |
596 |
|
597 |
#ifdef ECCO_CTRL_DEPRECATED |
598 |
c Files where the control variables are stored: |
599 |
c ============================================= |
600 |
c |
601 |
c xx_theta_file - control vector temperature part. |
602 |
c xx_salt_file - control vector salinity part. |
603 |
c xx_hflux_file - control vector surface heat flux file. |
604 |
c xx_sflux_file - control vector surface salt flux file. |
605 |
c xx_tauu_file - control vector zonal wind stress file. |
606 |
c xx_tauv_file - control vector meridional wind stress file. |
607 |
common /controlfiles_c/ |
608 |
& xx_theta_file |
609 |
& , xx_salt_file |
610 |
& , xx_hflux_file |
611 |
& , xx_sflux_file |
612 |
& , xx_tauu_file |
613 |
& , xx_tauv_file |
614 |
& , xx_atemp_file |
615 |
& , xx_aqh_file |
616 |
& , xx_precip_file |
617 |
& , xx_swflux_file |
618 |
& , xx_swdown_file |
619 |
& , xx_lwflux_file |
620 |
& , xx_lwdown_file |
621 |
& , xx_evap_file |
622 |
& , xx_snowprecip_file |
623 |
& , xx_apressure_file |
624 |
& , xx_runoff_file |
625 |
& , xx_uwind_file |
626 |
& , xx_vwind_file |
627 |
& , xx_atemp_mean_file |
628 |
& , xx_aqh_mean_file |
629 |
& , xx_precip_mean_file |
630 |
& , xx_swdown_mean_file |
631 |
& , xx_uwind_mean_file |
632 |
& , xx_vwind_mean_file |
633 |
& , xx_diffkr_file |
634 |
& , xx_kapgm_file |
635 |
& , xx_kapredi_file |
636 |
& , xx_tr1_file |
637 |
& , xx_sst_file |
638 |
& , xx_sss_file |
639 |
& , xx_depth_file |
640 |
& , xx_efluxy_file |
641 |
& , xx_efluxp_file |
642 |
& , xx_bottomdrag_file |
643 |
& , xx_edtaux_file |
644 |
& , xx_edtauy_file |
645 |
& , xx_uvel_file |
646 |
& , xx_vvel_file |
647 |
& , xx_etan_file |
648 |
& , xx_relaxsst_file |
649 |
& , xx_relaxsss_file |
650 |
& , xx_theta_ini_fin_file |
651 |
& , xx_salt_ini_fin_file |
652 |
& , xx_siarea_file |
653 |
& , xx_siheff_file |
654 |
& , xx_sihsnow_file |
655 |
& , xx_gen2d_file |
656 |
& , xx_gen3d_file |
657 |
cHFLUXM_CONTROL |
658 |
& , xx_hfluxm_file |
659 |
cHFLUXM_CONTROL |
660 |
& , xx_shifwflx_file |
661 |
|
662 |
character*(MAX_LEN_FNAM) xx_theta_file |
663 |
character*(MAX_LEN_FNAM) xx_salt_file |
664 |
character*(MAX_LEN_FNAM) xx_hflux_file |
665 |
character*(MAX_LEN_FNAM) xx_sflux_file |
666 |
character*(MAX_LEN_FNAM) xx_tauu_file |
667 |
character*(MAX_LEN_FNAM) xx_tauv_file |
668 |
character*(MAX_LEN_FNAM) xx_atemp_file |
669 |
character*(MAX_LEN_FNAM) xx_aqh_file |
670 |
character*(MAX_LEN_FNAM) xx_precip_file |
671 |
character*(MAX_LEN_FNAM) xx_swflux_file |
672 |
character*(MAX_LEN_FNAM) xx_swdown_file |
673 |
character*(MAX_LEN_FNAM) xx_lwflux_file |
674 |
character*(MAX_LEN_FNAM) xx_lwdown_file |
675 |
character*(MAX_LEN_FNAM) xx_evap_file |
676 |
character*(MAX_LEN_FNAM) xx_snowprecip_file |
677 |
character*(MAX_LEN_FNAM) xx_apressure_file |
678 |
character*(MAX_LEN_FNAM) xx_runoff_file |
679 |
character*(MAX_LEN_FNAM) xx_uwind_file |
680 |
character*(MAX_LEN_FNAM) xx_vwind_file |
681 |
character*(MAX_LEN_FNAM) xx_atemp_mean_file |
682 |
character*(MAX_LEN_FNAM) xx_aqh_mean_file |
683 |
character*(MAX_LEN_FNAM) xx_precip_mean_file |
684 |
character*(MAX_LEN_FNAM) xx_swdown_mean_file |
685 |
character*(MAX_LEN_FNAM) xx_uwind_mean_file |
686 |
character*(MAX_LEN_FNAM) xx_vwind_mean_file |
687 |
character*(MAX_LEN_FNAM) xx_diffkr_file |
688 |
character*(MAX_LEN_FNAM) xx_kapgm_file |
689 |
character*(MAX_LEN_FNAM) xx_kapredi_file |
690 |
character*(MAX_LEN_FNAM) xx_tr1_file |
691 |
character*(MAX_LEN_FNAM) xx_sst_file |
692 |
character*(MAX_LEN_FNAM) xx_sss_file |
693 |
character*(MAX_LEN_FNAM) xx_depth_file |
694 |
character*(MAX_LEN_FNAM) xx_efluxy_file |
695 |
character*(MAX_LEN_FNAM) xx_efluxp_file |
696 |
character*(MAX_LEN_FNAM) xx_bottomdrag_file |
697 |
character*(MAX_LEN_FNAM) xx_edtaux_file |
698 |
character*(MAX_LEN_FNAM) xx_edtauy_file |
699 |
character*(MAX_LEN_FNAM) xx_uvel_file |
700 |
character*(MAX_LEN_FNAM) xx_vvel_file |
701 |
character*(MAX_LEN_FNAM) xx_etan_file |
702 |
character*(MAX_LEN_FNAM) xx_relaxsst_file |
703 |
character*(MAX_LEN_FNAM) xx_relaxsss_file |
704 |
character*(MAX_LEN_FNAM) xx_theta_ini_fin_file |
705 |
character*(MAX_LEN_FNAM) xx_salt_ini_fin_file |
706 |
character*(MAX_LEN_FNAM) xx_siarea_file |
707 |
character*(MAX_LEN_FNAM) xx_siheff_file |
708 |
character*(MAX_LEN_FNAM) xx_sihsnow_file |
709 |
character*(MAX_LEN_FNAM) xx_gen2d_file |
710 |
character*(MAX_LEN_FNAM) xx_gen3d_file |
711 |
cHFLUXM_CONTROL |
712 |
character*(MAX_LEN_FNAM) xx_hfluxm_file |
713 |
cHFLUXM_CONTROL |
714 |
character*(MAX_LEN_FNAM) xx_shifwflx_file |
715 |
|
716 |
c Calendar information for the control variables: |
717 |
c =============================================== |
718 |
c |
719 |
c xx_${varname}period - sampling interval for the ${varname} control |
720 |
c part in seconds |
721 |
c special cases for ifdef ALLOW_CAL (in anology to pkg/exf): |
722 |
c xx_${varname}period = -12. : control parameter is the seasonal cycle |
723 |
c xx_${varname}period = 0. : control parameter is constant in time |
724 |
c |
725 |
c The naming convention follows mostly that of the exf-pkg. A few |
726 |
c examples follow: |
727 |
c xx_atempperiod - sampling interval for the atmospheric surface |
728 |
c temperature control part. |
729 |
c ... |
730 |
c xx_hfluxperiod - sampling interval for the heat flux control part. |
731 |
c xx_sfluxperiod - sampling interval for the salt flux control part. |
732 |
c xx_tauuperiod - sampling interval for the zonal wind |
733 |
c stress control part. |
734 |
c xx_tauvperiod - sampling interval for the meridional wind |
735 |
c stress control part. |
736 |
c ... |
737 |
|
738 |
common /controltimes_r/ |
739 |
& xx_hfluxperiod |
740 |
& , xx_sfluxperiod |
741 |
& , xx_tauuperiod |
742 |
& , xx_tauvperiod |
743 |
& , xx_atempperiod |
744 |
& , xx_aqhperiod |
745 |
& , xx_precipperiod |
746 |
& , xx_swfluxperiod |
747 |
& , xx_swdownperiod |
748 |
& , xx_lwfluxperiod |
749 |
& , xx_lwdownperiod |
750 |
& , xx_evapperiod |
751 |
& , xx_snowprecipperiod |
752 |
& , xx_apressureperiod |
753 |
& , xx_runoffperiod |
754 |
& , xx_uwindperiod |
755 |
& , xx_vwindperiod |
756 |
& , xx_sstperiod |
757 |
& , xx_sssperiod |
758 |
& , xx_shifwflxperiod |
759 |
_RL xx_hfluxperiod |
760 |
_RL xx_sfluxperiod |
761 |
_RL xx_tauuperiod |
762 |
_RL xx_tauvperiod |
763 |
_RL xx_atempperiod |
764 |
_RL xx_aqhperiod |
765 |
_RL xx_precipperiod |
766 |
_RL xx_swfluxperiod |
767 |
_RL xx_swdownperiod |
768 |
_RL xx_lwfluxperiod |
769 |
_RL xx_lwdownperiod |
770 |
_RL xx_evapperiod |
771 |
_RL xx_snowprecipperiod |
772 |
_RL xx_apressureperiod |
773 |
_RL xx_runoffperiod |
774 |
_RL xx_uwindperiod |
775 |
_RL xx_vwindperiod |
776 |
_RL xx_sstperiod |
777 |
_RL xx_sssperiod |
778 |
_RL xx_shifwflxperiod |
779 |
|
780 |
common /ctrl_param_trend_removal/ |
781 |
& xx_hflux_remo_intercept, xx_hflux_remo_slope, |
782 |
& xx_sflux_remo_intercept, xx_sflux_remo_slope, |
783 |
& xx_tauu_remo_intercept, xx_tauu_remo_slope, |
784 |
& xx_tauv_remo_intercept, xx_tauv_remo_slope, |
785 |
& xx_atemp_remo_intercept, xx_atemp_remo_slope, |
786 |
& xx_aqh_remo_intercept, xx_aqh_remo_slope, |
787 |
& xx_precip_remo_intercept, xx_precip_remo_slope, |
788 |
& xx_swflux_remo_intercept, xx_swflux_remo_slope, |
789 |
& xx_swdown_remo_intercept, xx_swdown_remo_slope, |
790 |
& xx_lwflux_remo_intercept, xx_lwflux_remo_slope, |
791 |
& xx_lwdown_remo_intercept, xx_lwdown_remo_slope, |
792 |
& xx_evap_remo_intercept, xx_evap_remo_slope, |
793 |
& xx_snowprecip_remo_intercept, |
794 |
& xx_snowprecip_remo_slope, |
795 |
& xx_apressure_remo_intercept, |
796 |
& xx_apressure_remo_slope, |
797 |
& xx_sst_remo_intercept, xx_sst_remo_slope, |
798 |
& xx_sss_remo_intercept, xx_sss_remo_slope, |
799 |
& xx_runoff_remo_intercept, xx_runoff_remo_slope, |
800 |
& xx_uwind_remo_intercept, xx_uwind_remo_slope, |
801 |
& xx_vwind_remo_intercept, xx_vwind_remo_slope, |
802 |
& xx_shifwflx_remo_intercept, xx_shifwflx_remo_slope |
803 |
|
804 |
_RL xx_hflux_remo_intercept, xx_hflux_remo_slope |
805 |
_RL xx_sflux_remo_intercept, xx_sflux_remo_slope |
806 |
_RL xx_tauu_remo_intercept, xx_tauu_remo_slope |
807 |
_RL xx_tauv_remo_intercept, xx_tauv_remo_slope |
808 |
_RL xx_atemp_remo_intercept, xx_atemp_remo_slope |
809 |
_RL xx_aqh_remo_intercept, xx_aqh_remo_slope |
810 |
_RL xx_precip_remo_intercept, xx_precip_remo_slope |
811 |
_RL xx_swflux_remo_intercept, xx_swflux_remo_slope |
812 |
_RL xx_swdown_remo_intercept, xx_swdown_remo_slope |
813 |
_RL xx_lwflux_remo_intercept, xx_lwflux_remo_slope |
814 |
_RL xx_lwdown_remo_intercept, xx_lwdown_remo_slope |
815 |
_RL xx_evap_remo_intercept, xx_evap_remo_slope |
816 |
_RL xx_snowprecip_remo_intercept |
817 |
_RL xx_snowprecip_remo_slope |
818 |
_RL xx_apressure_remo_intercept |
819 |
_RL xx_apressure_remo_slope |
820 |
_RL xx_sst_remo_intercept, xx_sst_remo_slope |
821 |
_RL xx_sss_remo_intercept, xx_sss_remo_slope |
822 |
_RL xx_runoff_remo_intercept, xx_runoff_remo_slope |
823 |
_RL xx_uwind_remo_intercept, xx_uwind_remo_slope |
824 |
_RL xx_vwind_remo_intercept, xx_vwind_remo_slope |
825 |
_RL xx_shifwflx_remo_intercept,xx_shifwflx_remo_slope |
826 |
|
827 |
c xx_hfluxstartdate - start date for the heat flux control part. |
828 |
c xx_sfluxstartdate - start date for the salt flux control part. |
829 |
c xx_tauustartdate - start date for the zonal wind stress |
830 |
c control part. |
831 |
c xx_tauvstartdate - start date for the meridional wind stress |
832 |
c control part. |
833 |
|
834 |
common /controltimes_i/ |
835 |
& xx_hfluxstartdate1 |
836 |
& , xx_hfluxstartdate2 |
837 |
& , xx_sfluxstartdate1 |
838 |
& , xx_sfluxstartdate2 |
839 |
& , xx_tauustartdate1 |
840 |
& , xx_tauustartdate2 |
841 |
& , xx_tauvstartdate1 |
842 |
& , xx_tauvstartdate2 |
843 |
& , xx_atempstartdate1 |
844 |
& , xx_atempstartdate2 |
845 |
& , xx_aqhstartdate1 |
846 |
& , xx_aqhstartdate2 |
847 |
& , xx_precipstartdate1 |
848 |
& , xx_precipstartdate2 |
849 |
& , xx_swfluxstartdate1 |
850 |
& , xx_swfluxstartdate2 |
851 |
& , xx_swdownstartdate1 |
852 |
& , xx_swdownstartdate2 |
853 |
& , xx_snowprecipstartdate1 |
854 |
& , xx_snowprecipstartdate2 |
855 |
& , xx_lwfluxstartdate1 |
856 |
& , xx_lwfluxstartdate2 |
857 |
& , xx_lwdownstartdate1 |
858 |
& , xx_lwdownstartdate2 |
859 |
& , xx_evapstartdate1 |
860 |
& , xx_evapstartdate2 |
861 |
& , xx_apressurestartdate1 |
862 |
& , xx_apressurestartdate2 |
863 |
& , xx_runoffstartdate1 |
864 |
& , xx_runoffstartdate2 |
865 |
& , xx_uwindstartdate1 |
866 |
& , xx_uwindstartdate2 |
867 |
& , xx_vwindstartdate1 |
868 |
& , xx_vwindstartdate2 |
869 |
& , xx_sststartdate1 |
870 |
& , xx_sststartdate2 |
871 |
& , xx_sssstartdate1 |
872 |
& , xx_sssstartdate2 |
873 |
& , xx_hfluxstartdate |
874 |
& , xx_sfluxstartdate |
875 |
& , xx_tauustartdate |
876 |
& , xx_tauvstartdate |
877 |
& , xx_atempstartdate |
878 |
& , xx_aqhstartdate |
879 |
& , xx_precipstartdate |
880 |
& , xx_swfluxstartdate |
881 |
& , xx_swdownstartdate |
882 |
& , xx_uwindstartdate |
883 |
& , xx_snowprecipstartdate |
884 |
& , xx_lwfluxstartdate |
885 |
& , xx_lwdownstartdate |
886 |
& , xx_evapstartdate |
887 |
& , xx_apressurestartdate |
888 |
& , xx_runoffstartdate |
889 |
& , xx_vwindstartdate |
890 |
& , xx_sststartdate |
891 |
& , xx_sssstartdate |
892 |
& , xx_shifwflxstartdate1 |
893 |
& , xx_shifwflxstartdate2 |
894 |
& , xx_shifwflxstartdate |
895 |
integer xx_hfluxstartdate1 |
896 |
integer xx_hfluxstartdate2 |
897 |
integer xx_sfluxstartdate1 |
898 |
integer xx_sfluxstartdate2 |
899 |
integer xx_tauustartdate1 |
900 |
integer xx_tauustartdate2 |
901 |
integer xx_tauvstartdate1 |
902 |
integer xx_tauvstartdate2 |
903 |
integer xx_atempstartdate1 |
904 |
integer xx_atempstartdate2 |
905 |
integer xx_aqhstartdate1 |
906 |
integer xx_aqhstartdate2 |
907 |
integer xx_precipstartdate1 |
908 |
integer xx_precipstartdate2 |
909 |
integer xx_swfluxstartdate1 |
910 |
integer xx_swfluxstartdate2 |
911 |
integer xx_swdownstartdate1 |
912 |
integer xx_swdownstartdate2 |
913 |
integer xx_snowprecipstartdate1 |
914 |
integer xx_snowprecipstartdate2 |
915 |
integer xx_lwfluxstartdate1 |
916 |
integer xx_lwfluxstartdate2 |
917 |
integer xx_lwdownstartdate1 |
918 |
integer xx_lwdownstartdate2 |
919 |
integer xx_evapstartdate1 |
920 |
integer xx_evapstartdate2 |
921 |
integer xx_apressurestartdate1 |
922 |
integer xx_apressurestartdate2 |
923 |
integer xx_runoffstartdate1 |
924 |
integer xx_runoffstartdate2 |
925 |
integer xx_uwindstartdate1 |
926 |
integer xx_uwindstartdate2 |
927 |
integer xx_vwindstartdate1 |
928 |
integer xx_vwindstartdate2 |
929 |
integer xx_sststartdate1 |
930 |
integer xx_sststartdate2 |
931 |
integer xx_sssstartdate1 |
932 |
integer xx_sssstartdate2 |
933 |
integer xx_shifwflxstartdate1 |
934 |
integer xx_shifwflxstartdate2 |
935 |
|
936 |
integer xx_hfluxstartdate(4) |
937 |
integer xx_sfluxstartdate(4) |
938 |
integer xx_tauustartdate(4) |
939 |
integer xx_tauvstartdate(4) |
940 |
integer xx_atempstartdate(4) |
941 |
integer xx_aqhstartdate(4) |
942 |
integer xx_precipstartdate(4) |
943 |
integer xx_swfluxstartdate(4) |
944 |
integer xx_swdownstartdate(4) |
945 |
integer xx_snowprecipstartdate(4) |
946 |
integer xx_lwfluxstartdate(4) |
947 |
integer xx_lwdownstartdate(4) |
948 |
integer xx_evapstartdate(4) |
949 |
integer xx_apressurestartdate(4) |
950 |
integer xx_runoffstartdate(4) |
951 |
integer xx_uwindstartdate(4) |
952 |
integer xx_vwindstartdate(4) |
953 |
integer xx_sststartdate(4) |
954 |
integer xx_sssstartdate(4) |
955 |
integer xx_shifwflxstartdate(4) |
956 |
|
957 |
character*( 80) fname_theta(3) |
958 |
character*( 80) fname_salt(3) |
959 |
character*( 80) fname_hflux(3) |
960 |
character*( 80) fname_sflux(3) |
961 |
character*( 80) fname_tauu(3) |
962 |
character*( 80) fname_tauv(3) |
963 |
character*( 80) fname_atemp(3) |
964 |
character*( 80) fname_aqh(3) |
965 |
character*( 80) fname_precip(3) |
966 |
character*( 80) fname_swflux(3) |
967 |
character*( 80) fname_swdown(3) |
968 |
character*( 80) fname_snowprecip(3) |
969 |
character*( 80) fname_lwflux(3) |
970 |
character*( 80) fname_lwdown(3) |
971 |
character*( 80) fname_evap(3) |
972 |
character*( 80) fname_apressure(3) |
973 |
character*( 80) fname_runoff(3) |
974 |
character*( 80) fname_uwind(3) |
975 |
character*( 80) fname_vwind(3) |
976 |
character*( 80) fname_atemp_mean(3) |
977 |
character*( 80) fname_aqh_mean(3) |
978 |
character*( 80) fname_precip_mean(3) |
979 |
character*( 80) fname_swdown_mean(3) |
980 |
character*( 80) fname_uwind_mean(3) |
981 |
character*( 80) fname_vwind_mean(3) |
982 |
character*( 80) fname_diffkr(3) |
983 |
character*( 80) fname_kapgm(3) |
984 |
character*( 80) fname_kapredi(3) |
985 |
character*( 80) fname_tr1(3) |
986 |
character*( 80) fname_sst(3) |
987 |
character*( 80) fname_sss(3) |
988 |
character*( 80) fname_depth(3) |
989 |
character*( 80) fname_hfacc(3) |
990 |
character*( 80) fname_efluxy(3) |
991 |
character*( 80) fname_efluxp(3) |
992 |
character*( 80) fname_bottomdrag(3) |
993 |
character*( 80) fname_edtaux(3) |
994 |
character*( 80) fname_edtauy(3) |
995 |
character*( 80) fname_uvel(3) |
996 |
character*( 80) fname_vvel(3) |
997 |
character*( 80) fname_etan(3) |
998 |
character*( 80) fname_relaxsst(3) |
999 |
character*( 80) fname_relaxsss(3) |
1000 |
character*( 80) fname_siarea(3) |
1001 |
character*( 80) fname_siheff(3) |
1002 |
character*( 80) fname_sihsnow(3) |
1003 |
character*( 80) fname_gen2d(3) |
1004 |
character*( 80) fname_gen3d(3) |
1005 |
cHFLUXM_CONTROL |
1006 |
character*( 80) fname_hfluxm(3) |
1007 |
cHFLUXM_CONTROL |
1008 |
character*( 80) fname_shifwflx(3) |
1009 |
|
1010 |
#endif /* ECCO_CTRL_DEPRECATED */ |
1011 |
|
1012 |
c ================================================================== |
1013 |
c END OF HEADER CONTROLVARS ctrl.h |
1014 |
c ================================================================== |
1015 |
|