/[MITgcm]/MITgcm_contrib/heimbach/config_global1x1_tot/code/ctrl.h
ViewVC logotype

Contents of /MITgcm_contrib/heimbach/config_global1x1_tot/code/ctrl.h

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


Revision 1.1.1.1 - (show annotations) (download) (vendor branch)
Fri Jan 14 23:20:22 2005 UTC (20 years, 6 months ago) by heimbach
Branch: MAIN, original_nasa_ames
CVS Tags: start, HEAD
Changes since 1.1: +0 -0 lines
File MIME type: text/plain
Import various global1x1_tot setups

1
2
3 c ==================================================================
4 c HEADER CONTROLVARS
5 c ==================================================================
6 c
7 c o Control variables of the ECCO state estimation tool.
8 c
9 c Depending on the specific problem to be studied users will have to
10 c modify this header file.
11 c
12 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
13 c
14 c changed: Christian Eckert eckert@mit.edu
15 c
16 c
17 c ==================================================================
18 c HEADER CONTROLVARS
19 c ==================================================================
20 c
21 c nwet[c/s/w]tile - Number of wet points in a tile for center (c),
22 c south (s), and western (w) mask, resp. .
23
24 integer maxcvars
25 parameter ( maxcvars = 30 )
26
27 cph ctrlprec will be set to 32 for ECCO to reduce I/O
28 cph but jeopardizes some gradient checks, so should be
29 cph set to 64 by default.
30 cph Need to put this in namelist at some point!
31 integer ctrlprec
32 parameter ( ctrlprec = 32 )
33
34 #ifdef ALLOW_ADMTLM
35 integer admtlmrec
36 parameter( admtlmrec = 2315 )
37 common / controlvars_admtlm_r /
38 & cbuffGlobal
39 _RL cbuffGlobal( admtlmrec )
40 #endif
41
42 common /controlvars_l /
43 & doInitXX,
44 & doAdmTlm,
45 & doPackDiag,
46 & doZscaleUnpack,
47 & doZscalePack
48 logical doInitXX
49 logical doAdmTlm
50 logical doPackDiag
51 logical doZscaleUnpack
52 logical doZscalePack
53
54 common /controlvars_i/
55 & nvartype,
56 & nvarlength,
57 & ncvarindex,
58 & ncvarrecs,
59 & ncvarrecstart,
60 & ncvarrecsend,
61 & ncvarxmax,
62 & ncvarymax,
63 & ncvarnrmax,
64 & nwetctile,
65 & nwetstile,
66 & nwetwtile,
67 & nwetvtile,
68 & nwetcglobal,
69 & nwetsglobal,
70 & nwetwglobal,
71 & nwetvglobal,
72 & nbuffglobal
73 integer nvartype
74 integer nvarlength
75 integer ncvarindex ( maxcvars )
76 integer ncvarrecs ( maxcvars )
77 integer ncvarrecstart ( maxcvars )
78 integer ncvarrecsend ( maxcvars )
79 integer ncvarxmax ( maxcvars )
80 integer ncvarymax ( maxcvars )
81 integer ncvarnrmax ( maxcvars )
82 integer nwetctile ( nsx,nsy,nr )
83 integer nwetstile ( nsx,nsy,nr )
84 integer nwetwtile ( nsx,nsy,nr )
85 integer nwetvtile ( nsx,nsy,nr )
86 integer nwetcglobal ( nr )
87 integer nwetsglobal ( nr )
88 integer nwetwglobal ( nr )
89 integer nwetvglobal ( nr )
90 integer nbuffglobal
91
92 #ifdef ALLOW_OBCSN_CONTROL
93 common /controlvars_i_obcsn/
94 & nwetobcsn,
95 & nwetobcsnglo
96 integer nwetobcsn ( nsx,nsy,nr,nobcs )
97 integer nwetobcsnglo ( nr,nobcs )
98 #endif
99 #ifdef ALLOW_OBCSS_CONTROL
100 common /controlvars_i_obcss/
101 & nwetobcss,
102 & nwetobcssglo
103 integer nwetobcss ( nsx,nsy,nr,nobcs )
104 integer nwetobcssglo ( nr,nobcs )
105 #endif
106 #ifdef ALLOW_OBCSW_CONTROL
107 common /controlvars_i_obcsw/
108 & nwetobcsw,
109 & nwetobcswglo
110 integer nwetobcsw ( nsx,nsy,nr,nobcs )
111 integer nwetobcswglo ( nr,nobcs )
112 #endif
113 #ifdef ALLOW_OBCSE_CONTROL
114 common /controlvars_i_obcse/
115 & nwetobcse,
116 & nwetobcseglo
117 integer nwetobcse ( nsx,nsy,nr,nobcs )
118 integer nwetobcseglo ( nr,nobcs )
119 #endif
120
121 common /controlvars_c/
122 & ncvargrd
123 & , yadprefix
124 character*(1) ncvargrd(maxcvars)
125 character*(2) yadprefix
126
127 common /controlvec_header_i/
128 & filenvartype,
129 & filenvarlength,
130 & fileOptimCycle,
131 & filencbuffindex,
132 & fileIg,
133 & fileJg,
134 & fileI,
135 & fileJ,
136 & filensx,
137 & filensy,
138 & filek,
139 & filenWetcGlobal,
140 & filenWetsGlobal,
141 & filenWetwGlobal,
142 & filenWetvGlobal,
143 & filencvarindex,
144 & filencvarrecs,
145 & filencvarxmax,
146 & filencvarymax,
147 & filencvarnrmax
148 integer filenvartype
149 integer filenvarlength
150 integer fileOptimCycle
151 integer filencbuffindex
152 integer fileIg
153 integer fileJg
154 integer fileI
155 integer fileJ
156 integer filensx
157 integer filensy
158 integer filek
159 integer filenWetcGlobal(nr)
160 integer filenWetsGlobal(nr)
161 integer filenWetwGlobal(nr)
162 integer filenWetvGlobal(nr)
163 integer filencvarindex(maxcvars)
164 integer filencvarrecs(maxcvars)
165 integer filencvarxmax(maxcvars)
166 integer filencvarymax(maxcvars)
167 integer filencvarnrmax(maxcvars)
168
169 common /controlvec_header_r/
170 & filefc
171 _RL filefc
172
173 common /controlvec_header_c/
174 & fileYctrlid,
175 & filencvargrd
176 character*(10) fileYctrlid
177 character*( 1) filencvargrd(maxcvars)
178
179 c Define unit weight as a placeholder
180 common /ctrl_weights_unit_r/
181 & wunit
182 _RL wunit ( nr,nsx,nsy )
183
184 c Control variables:
185 c ==================
186 c
187 c xx_theta - control vector temperature part.
188 c xx_salt - control vector salt part.
189 c xx_hflux - control vector surface heat flux part.
190 c xx_sflux - control vector surface salt flux part.
191 c xx_tauu - control vector zonal wind stress part.
192 c xx_tauv - control vector meridional wind stress part.
193 cph(
194 c xx_... are to be replaced by tmpfld2d/3d throughout the code;
195 c control variables are written to / read from active files
196 c TAMC sees xx_..._dummy
197
198 common /controlvars_r/
199 & tmpfld2d
200 & , tmpfld3d
201 _RL tmpfld2d
202 & (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
203 _RL tmpfld3d
204 & (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
205
206 cgg This caused a lot of confusion.
207 #ifdef ALLOW_OBCS_CONTROL
208 common /controlvars_r_obcs/
209 & tmpfldxz
210 & , tmpfldxz2
211 & , tmpfldyz
212 & , tmpfldyz2
213
214 _RL tmpfldxz (1-olx:snx+olx,nr,nsx,nsy)
215 _RL tmpfldxz2 (1-olx:snx+olx,nr,nsx,nsy)
216 _RL tmpfldyz (1-oly:sny+oly,nr,nsx,nsy)
217 _RL tmpfldyz2 (1-oly:sny+oly,nr,nsx,nsy)
218 #endif
219
220 c Auxiliary storage arrays for the control variables:
221 c ===================================================
222 c
223 c xx_hflux0 - heat flux record before current date.
224 c xx_hflux1 - heat flux record after current date
225 c xx_sflux0 - salt flux record before current date.
226 c xx_sflux1 - salt flux record after current date.
227 c xx_tauu0 - zonal wind stress record before current date.
228 c xx_tauu1 - zonal wind stress record after current date.
229 c xx_tauv0 - meridional wind stress record before current date.
230 c xx_tauv1 - meridional wind stress record after current date.
231
232 #if (defined (ALLOW_HFLUX_CONTROL))
233 common /controlaux_1_r/
234 & xx_hflux0,
235 & xx_hflux1
236 #elif (defined (ALLOW_ATEMP_CONTROL))
237 common /controlaux_1_r/
238 & xx_atemp0,
239 & xx_atemp1
240 #endif
241
242 #if (defined (ALLOW_SFLUX_CONTROL))
243 common /controlaux_2_r/
244 & xx_sflux0,
245 & xx_sflux1
246 #elif (defined (ALLOW_AQH_CONTROL))
247 common /controlaux_2_r/
248 & xx_aqh0,
249 & xx_aqh1
250 #endif
251
252 #if (defined (ALLOW_USTRESS_CONTROL))
253 common /controlaux_3_r/
254 & xx_tauu0,
255 & xx_tauu1
256 #elif (defined (ALLOW_UWIND_CONTROL))
257 common /controlaux_3_r/
258 & xx_uwind0,
259 & xx_uwind1
260 #endif
261
262 #if (defined (ALLOW_VSTRESS_CONTROL))
263 common /controlaux_4_r/
264 & xx_tauv0,
265 & xx_tauv1
266 #elif (defined (ALLOW_VWIND_CONTROL))
267 common /controlaux_4_r/
268 & xx_vwind0,
269 & xx_vwind1
270 #endif
271
272 #ifdef ALLOW_OBCS_CONTROL
273 #if (defined (ALLOW_OBCSN_CONTROL))
274 common /controlaux_5obcsn_r/
275 & xx_obcsn0,
276 & xx_obcsn1
277 #endif
278
279 #if (defined (ALLOW_OBCSS_CONTROL))
280 common /controlaux_5obcss_r/
281 & xx_obcss0,
282 & xx_obcss1
283 #endif
284 #if (defined (ALLOW_OBCSW_CONTROL))
285 common /controlaux_5obcsw_r/
286 & xx_obcsw0,
287 & xx_obcsw1
288 #endif
289 #if (defined (ALLOW_OBCSE_CONTROL))
290 common /controlaux_5obcse_r/
291 & xx_obcse0,
292 & xx_obcse1
293 #endif
294 #endif
295
296 #if (defined (ALLOW_HFLUX_CONTROL))
297 _RL xx_hflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
298 _RL xx_hflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
299 #elif (defined (ALLOW_ATEMP_CONTROL))
300 _RL xx_atemp0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
301 _RL xx_atemp1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
302 #endif
303 #if (defined (ALLOW_SFLUX_CONTROL))
304 _RL xx_sflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
305 _RL xx_sflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
306 #elif (defined (ALLOW_AQH_CONTROL))
307 _RL xx_aqh0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
308 _RL xx_aqh1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
309 #endif
310 #if (defined (ALLOW_USTRESS_CONTROL))
311 _RL xx_tauu0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
312 _RL xx_tauu1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
313 #elif (defined (ALLOW_UWIND_CONTROL))
314 _RL xx_uwind0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
315 _RL xx_uwind1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
316 #endif
317 #if (defined (ALLOW_VSTRESS_CONTROL))
318 _RL xx_tauv0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
319 _RL xx_tauv1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
320 #elif (defined (ALLOW_VWIND_CONTROL))
321 _RL xx_vwind0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
322 _RL xx_vwind1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
323 #endif
324 cgg(
325 #ifdef ALLOW_OBCSN_CONTROL
326 _RL xx_obcsn0 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs)
327 _RL xx_obcsn1 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs)
328 #endif
329
330 #ifdef ALLOW_OBCSS_CONTROL
331 _RL xx_obcss0 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs)
332 _RL xx_obcss1 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs)
333 #endif
334
335 #ifdef ALLOW_OBCSW_CONTROL
336 _RL xx_obcsw0 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs)
337 _RL xx_obcsw1 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs)
338 #endif
339
340 #ifdef ALLOW_OBCSE_CONTROL
341 _RL xx_obcse0 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs)
342 _RL xx_obcse1 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs)
343 #endif
344 cgg)
345
346
347 c Files where the control variables are stored:
348 c =============================================
349 c
350 c xx_theta_file - control vector temperature part.
351 c xx_salt_file - control vector salinity part.
352 c xx_hflux_file - control vector surface heat flux file.
353 c xx_sflux_file - control vector surface salt flux file.
354 c xx_tauu_file - control vector zonal wind stress file.
355 c xx_tauv_file - control vector meridional wind stress file.
356 c xx_obcsn_file - control vector Uvel at boundary
357 c xx_obcss_file - control vector Vvel at boundary
358 c xx_obcsw_file - control vector temp. at boundary
359 c xx_obcse_file - control vector salin. at boundary
360 common /controlfiles_c/
361 & xx_theta_file
362 & , xx_salt_file
363 & , xx_hflux_file
364 & , xx_sflux_file
365 & , xx_tauu_file
366 & , xx_tauv_file
367 & , xx_atemp_file
368 & , xx_aqh_file
369 & , xx_uwind_file
370 & , xx_vwind_file
371 & , xx_obcsn_file
372 & , xx_obcss_file
373 & , xx_obcsw_file
374 & , xx_obcse_file
375 & , xx_diffkr_file
376 & , xx_kapgm_file
377 & , xx_tr1_file
378 & , xx_sst_file
379 & , xx_sss_file
380 & , xx_hfacc_file
381 & , xx_efluxy_file
382 & , xx_efluxp_file
383 & , xx_bottomdrag_file
384 & , xx_theta_ini_fin_file
385 & , xx_salt_ini_fin_file
386
387 character*(MAX_LEN_FNAM) xx_theta_file
388 character*(MAX_LEN_FNAM) xx_salt_file
389 character*(MAX_LEN_FNAM) xx_hflux_file
390 character*(MAX_LEN_FNAM) xx_sflux_file
391 character*(MAX_LEN_FNAM) xx_tauu_file
392 character*(MAX_LEN_FNAM) xx_tauv_file
393 character*(MAX_LEN_FNAM) xx_atemp_file
394 character*(MAX_LEN_FNAM) xx_aqh_file
395 character*(MAX_LEN_FNAM) xx_uwind_file
396 character*(MAX_LEN_FNAM) xx_vwind_file
397 character*(MAX_LEN_FNAM) xx_obcsn_file
398 character*(MAX_LEN_FNAM) xx_obcss_file
399 character*(MAX_LEN_FNAM) xx_obcsw_file
400 character*(MAX_LEN_FNAM) xx_obcse_file
401 character*(MAX_LEN_FNAM) xx_diffkr_file
402 character*(MAX_LEN_FNAM) xx_kapgm_file
403 character*(MAX_LEN_FNAM) xx_tr1_file
404 character*(MAX_LEN_FNAM) xx_sst_file
405 character*(MAX_LEN_FNAM) xx_sss_file
406 character*(MAX_LEN_FNAM) xx_hfacc_file
407 character*(MAX_LEN_FNAM) xx_efluxy_file
408 character*(MAX_LEN_FNAM) xx_efluxp_file
409 character*(MAX_LEN_FNAM) xx_bottomdrag_file
410 character*(MAX_LEN_FNAM) xx_theta_ini_fin_file
411 character*(MAX_LEN_FNAM) xx_salt_ini_fin_file
412
413 common /packnames_c/
414 & yadmark,
415 & ctrlname,
416 & costname,
417 & scalname,
418 & maskname,
419 & metaname,
420 & yctrlid,
421 & yctrlposunpack,
422 & yctrlpospack
423 character*2 yadmark
424 character*9 ctrlname
425 character*9 costname
426 character*9 scalname
427 character*9 maskname
428 character*9 metaname
429 character*10 yctrlid
430 character*4 yctrlposunpack
431 character*4 yctrlpospack
432
433 c Calendar information for the control variables:
434 c ===============================================
435 c
436 c xx_hfluxperiod - sampling interval for the heat flux control part.
437 c xx_sfluxperiod - sampling interval for the salt flux control part.
438 c xx_tauuperiod - sampling interval for the zonal wind
439 c stress control part.
440 c xx_tauvperiod - sampling interval for the meridional wind
441 c stress control part.
442 c xx_obcsuperiod - sampling interval
443 c xx_obcsvperiod - sampling interval
444 c xx_obcstperiod - sampling interval
445 c xx_obcssperiod - sampling interval
446
447 common /controltimes_r/
448 & xx_hfluxperiod
449 & , xx_sfluxperiod
450 & , xx_tauuperiod
451 & , xx_tauvperiod
452 & , xx_atempperiod
453 & , xx_aqhperiod
454 & , xx_uwindperiod
455 & , xx_vwindperiod
456 & , xx_obcsnperiod
457 & , xx_obcssperiod
458 & , xx_obcswperiod
459 & , xx_obcseperiod
460 _RL xx_hfluxperiod
461 _RL xx_sfluxperiod
462 _RL xx_tauuperiod
463 _RL xx_tauvperiod
464 _RL xx_atempperiod
465 _RL xx_aqhperiod
466 _RL xx_uwindperiod
467 _RL xx_vwindperiod
468 _RL xx_obcsnperiod
469 _RL xx_obcssperiod
470 _RL xx_obcswperiod
471 _RL xx_obcseperiod
472
473 c xx_hfluxstartdate - start date for the heat flux control part.
474 c xx_sfluxstartdate - start date for the salt flux control part.
475 c xx_tauustartdate - start date for the zonal wind stress
476 c control part.
477 c xx_tauvstartdate - start date for the meridional wind stress
478 c control part.
479
480 common /controltimes_i/
481 & xx_hfluxstartdate1
482 & , xx_hfluxstartdate2
483 & , xx_sfluxstartdate1
484 & , xx_sfluxstartdate2
485 & , xx_tauustartdate1
486 & , xx_tauustartdate2
487 & , xx_tauvstartdate1
488 & , xx_tauvstartdate2
489 & , xx_atempstartdate1
490 & , xx_atempstartdate2
491 & , xx_aqhstartdate1
492 & , xx_aqhstartdate2
493 & , xx_uwindstartdate1
494 & , xx_uwindstartdate2
495 & , xx_vwindstartdate1
496 & , xx_vwindstartdate2
497 & , xx_hfluxstartdate
498 & , xx_sfluxstartdate
499 & , xx_tauustartdate
500 & , xx_tauvstartdate
501 & , xx_atempstartdate
502 & , xx_aqhstartdate
503 & , xx_uwindstartdate
504 & , xx_vwindstartdate
505 & , xx_obcsnstartdate1
506 & , xx_obcsnstartdate2
507 & , xx_obcssstartdate1
508 & , xx_obcssstartdate2
509 & , xx_obcswstartdate1
510 & , xx_obcswstartdate2
511 & , xx_obcsestartdate1
512 & , xx_obcsestartdate2
513 & , xx_obcsnstartdate
514 & , xx_obcssstartdate
515 & , xx_obcswstartdate
516 & , xx_obcsestartdate
517 integer xx_hfluxstartdate1
518 integer xx_hfluxstartdate2
519 integer xx_sfluxstartdate1
520 integer xx_sfluxstartdate2
521 integer xx_tauustartdate1
522 integer xx_tauustartdate2
523 integer xx_tauvstartdate1
524 integer xx_tauvstartdate2
525 integer xx_atempstartdate1
526 integer xx_atempstartdate2
527 integer xx_aqhstartdate1
528 integer xx_aqhstartdate2
529 integer xx_uwindstartdate1
530 integer xx_uwindstartdate2
531 integer xx_vwindstartdate1
532 integer xx_vwindstartdate2
533 integer xx_obcsnstartdate1
534 integer xx_obcsnstartdate2
535 integer xx_obcssstartdate1
536 integer xx_obcssstartdate2
537 integer xx_obcswstartdate1
538 integer xx_obcswstartdate2
539 integer xx_obcsestartdate1
540 integer xx_obcsestartdate2
541
542 integer xx_hfluxstartdate(4)
543 integer xx_sfluxstartdate(4)
544 integer xx_tauustartdate(4)
545 integer xx_tauvstartdate(4)
546 integer xx_atempstartdate(4)
547 integer xx_aqhstartdate(4)
548 integer xx_uwindstartdate(4)
549 integer xx_vwindstartdate(4)
550 integer xx_obcsnstartdate(4)
551 integer xx_obcssstartdate(4)
552 integer xx_obcswstartdate(4)
553 integer xx_obcsestartdate(4)
554
555 character*( 80) fname_theta(2)
556 character*( 80) fname_salt(2)
557 character*( 80) fname_hflux(2)
558 character*( 80) fname_sflux(2)
559 character*( 80) fname_tauu(2)
560 character*( 80) fname_tauv(2)
561 character*( 80) fname_atemp(2)
562 character*( 80) fname_aqh(2)
563 character*( 80) fname_uwind(2)
564 character*( 80) fname_vwind(2)
565 character*( 80) fname_obcsn(2)
566 character*( 80) fname_obcss(2)
567 character*( 80) fname_obcsw(2)
568 character*( 80) fname_obcse(2)
569 character*( 80) fname_diffkr(2)
570 character*( 80) fname_kapgm(2)
571 character*( 80) fname_tr1(2)
572 character*( 80) fname_sst(2)
573 character*( 80) fname_sss(2)
574 character*( 80) fname_hfacc(2)
575 character*( 80) fname_efluxy(2)
576 character*( 80) fname_efluxp(2)
577 character*( 80) fname_bottomdrag(2)
578
579 c ==================================================================
580 c END OF HEADER CONTROLVARS
581 c ==================================================================
582
583

  ViewVC Help
Powered by ViewVC 1.1.22