/[MITgcm]/MITgcm/pkg/ctrl/ctrl.h
ViewVC logotype

Contents of /MITgcm/pkg/ctrl/ctrl.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.79 - (show annotations) (download)
Mon May 9 11:39:00 2016 UTC (8 years ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65w, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, HEAD
Changes since 1.78: +2 -2 lines
File MIME type: text/plain
fix a small comma, so that code compiles with ECCO_CTRL_DEPRECATED defined

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

  ViewVC Help
Powered by ViewVC 1.1.22