/[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.50 - (show annotations) (download)
Thu Nov 11 00:44:23 2010 UTC (13 years, 5 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint62t, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62o
Changes since 1.49: +9 -5 lines
File MIME type: text/plain
avoid excessive line lemgths

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

  ViewVC Help
Powered by ViewVC 1.1.22