/[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.9 - (show annotations) (download)
Thu Nov 6 22:05:08 2003 UTC (20 years, 5 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint52d_pre, checkpoint52, checkpoint52f_post, checkpoint52i_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint52e_pre, checkpoint52e_post, checkpoint52b_pre, checkpoint52b_post, checkpoint52c_post, checkpoint52f_pre, checkpoint52d_post, checkpoint52a_pre, checkpoint52i_post, checkpoint52h_pre, branch-netcdf, checkpoint52a_post, ecco_c52_e35, checkpoint51u_post
Branch point for: netcdf-sm0
Changes since 1.8: +5 -0 lines
File MIME type: text/plain
o merging from ecco-branch
o cleaned some cross-dependencies and updated CPP options

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 integer ctrlprec
28 parameter ( ctrlprec = 64 )
29
30 common /controlvars_i/
31 & nvartype,
32 & nvarlength,
33 & ncvarindex,
34 & ncvarrecs,
35 & ncvarrecstart,
36 & ncvarrecsend,
37 & ncvarxmax,
38 & ncvarymax,
39 & ncvarnrmax,
40 & nwetctile,
41 & nwetstile,
42 & nwetwtile,
43 & nwetvtile,
44 & nwetcglobal,
45 & nwetsglobal,
46 & nwetwglobal,
47 & nwetvglobal
48 integer nvartype
49 integer nvarlength
50 integer ncvarindex ( maxcvars )
51 integer ncvarrecs ( maxcvars )
52 integer ncvarrecstart ( maxcvars )
53 integer ncvarrecsend ( maxcvars )
54 integer ncvarxmax ( maxcvars )
55 integer ncvarymax ( maxcvars )
56 integer ncvarnrmax ( maxcvars )
57 integer nwetctile ( nsx,nsy,nr )
58 integer nwetstile ( nsx,nsy,nr )
59 integer nwetwtile ( nsx,nsy,nr )
60 integer nwetvtile ( nsx,nsy,nr )
61 integer nwetcglobal ( nr )
62 integer nwetsglobal ( nr )
63 integer nwetwglobal ( nr )
64 integer nwetvglobal ( nr )
65
66 #ifdef ALLOW_OBCSN_CONTROL
67 common /controlvars_i_obcsn/
68 & nwetobcsn,
69 & nwetobcsnglo
70 integer nwetobcsn ( nsx,nsy,nr,nobcs )
71 integer nwetobcsnglo ( nr,nobcs )
72 #endif
73 #ifdef ALLOW_OBCSS_CONTROL
74 common /controlvars_i_obcss/
75 & nwetobcss,
76 & nwetobcssglo
77 integer nwetobcss ( nsx,nsy,nr,nobcs )
78 integer nwetobcssglo ( nr,nobcs )
79 #endif
80 #ifdef ALLOW_OBCSW_CONTROL
81 common /controlvars_i_obcsw/
82 & nwetobcsw,
83 & nwetobcswglo
84 integer nwetobcsw ( nsx,nsy,nr,nobcs )
85 integer nwetobcswglo ( nr,nobcs )
86 #endif
87 #ifdef ALLOW_OBCSE_CONTROL
88 common /controlvars_i_obcse/
89 & nwetobcse,
90 & nwetobcseglo
91 integer nwetobcse ( nsx,nsy,nr,nobcs )
92 integer nwetobcseglo ( nr,nobcs )
93 #endif
94
95 common /controlvars_c/
96 & ncvargrd
97 & , yadprefix
98 character*(1) ncvargrd(maxcvars)
99 character*(2) yadprefix
100
101 c Define unit weight as a placeholder
102 common /ctrl_weights_unit_r/
103 & wunit
104 _RL wunit ( nr,nsx,nsy )
105
106 c Control variables:
107 c ==================
108 c
109 c xx_theta - control vector temperature part.
110 c xx_salt - control vector salt part.
111 c xx_hflux - control vector surface heat flux part.
112 c xx_sflux - control vector surface salt flux part.
113 c xx_tauu - control vector zonal wind stress part.
114 c xx_tauv - control vector meridional wind stress part.
115 cph(
116 c xx_... are to be replaced by tmpfld2d/3d throughout the code;
117 c control variables are written to / read from active files
118 c TAMC sees xx_..._dummy
119
120 common /controlvars_r/
121 & tmpfld2d
122 & , tmpfld3d
123 _RL tmpfld2d
124 & (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
125 _RL tmpfld3d
126 & (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
127
128 cgg This caused a lot of confusion.
129 #ifdef ALLOW_OBCS_CONTROL
130 common /controlvars_r_obcs/
131 & tmpfldxz
132 & , tmpfldxz2
133 & , tmpfldyz
134 & , tmpfldyz2
135
136 _RL tmpfldxz (1-olx:snx+olx,nr,nsx,nsy)
137 _RL tmpfldxz2 (1-olx:snx+olx,nr,nsx,nsy)
138 _RL tmpfldyz (1-oly:sny+oly,nr,nsx,nsy)
139 _RL tmpfldyz2 (1-oly:sny+oly,nr,nsx,nsy)
140 #endif
141
142 c Auxiliary storage arrays for the control variables:
143 c ===================================================
144 c
145 c xx_hflux0 - heat flux record before current date.
146 c xx_hflux1 - heat flux record after current date
147 c xx_sflux0 - salt flux record before current date.
148 c xx_sflux1 - salt flux record after current date.
149 c xx_tauu0 - zonal wind stress record before current date.
150 c xx_tauu1 - zonal wind stress record after current date.
151 c xx_tauv0 - meridional wind stress record before current date.
152 c xx_tauv1 - meridional wind stress record after current date.
153
154 #if (defined (ALLOW_HFLUX_CONTROL))
155 common /controlaux_1_r/
156 & xx_hflux0,
157 & xx_hflux1
158 #elif (defined (ALLOW_ATEMP_CONTROL))
159 common /controlaux_1_r/
160 & xx_atemp0,
161 & xx_atemp1
162 #endif
163
164 #if (defined (ALLOW_SFLUX_CONTROL))
165 common /controlaux_2_r/
166 & xx_sflux0,
167 & xx_sflux1
168 #elif (defined (ALLOW_AQH_CONTROL))
169 common /controlaux_2_r/
170 & xx_aqh0,
171 & xx_aqh1
172 #endif
173
174 #if (defined (ALLOW_USTRESS_CONTROL))
175 common /controlaux_3_r/
176 & xx_tauu0,
177 & xx_tauu1
178 #elif (defined (ALLOW_UWIND_CONTROL))
179 common /controlaux_3_r/
180 & xx_uwind0,
181 & xx_uwind1
182 #endif
183
184 #if (defined (ALLOW_VSTRESS_CONTROL))
185 common /controlaux_4_r/
186 & xx_tauv0,
187 & xx_tauv1
188 #elif (defined (ALLOW_VWIND_CONTROL))
189 common /controlaux_4_r/
190 & xx_vwind0,
191 & xx_vwind1
192 #endif
193
194 #ifdef ALLOW_OBCS_CONTROL
195 #if (defined (ALLOW_OBCSN_CONTROL))
196 common /controlaux_5obcsn_r/
197 & xx_obcsn0,
198 & xx_obcsn1
199 #endif
200
201 #if (defined (ALLOW_OBCSS_CONTROL))
202 common /controlaux_5obcss_r/
203 & xx_obcss0,
204 & xx_obcss1
205 #endif
206 #if (defined (ALLOW_OBCSW_CONTROL))
207 common /controlaux_5obcsw_r/
208 & xx_obcsw0,
209 & xx_obcsw1
210 #endif
211 #if (defined (ALLOW_OBCSE_CONTROL))
212 common /controlaux_5obcse_r/
213 & xx_obcse0,
214 & xx_obcse1
215 #endif
216 #endif
217
218 #if (defined (ALLOW_HFLUX_CONTROL))
219 _RL xx_hflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
220 _RL xx_hflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
221 #elif (defined (ALLOW_ATEMP_CONTROL))
222 _RL xx_atemp0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
223 _RL xx_atemp1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
224 #endif
225 #if (defined (ALLOW_SFLUX_CONTROL))
226 _RL xx_sflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
227 _RL xx_sflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
228 #elif (defined (ALLOW_AQH_CONTROL))
229 _RL xx_aqh0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
230 _RL xx_aqh1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
231 #endif
232 #if (defined (ALLOW_USTRESS_CONTROL))
233 _RL xx_tauu0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
234 _RL xx_tauu1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
235 #elif (defined (ALLOW_UWIND_CONTROL))
236 _RL xx_uwind0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
237 _RL xx_uwind1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
238 #endif
239 #if (defined (ALLOW_VSTRESS_CONTROL))
240 _RL xx_tauv0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
241 _RL xx_tauv1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
242 #elif (defined (ALLOW_VWIND_CONTROL))
243 _RL xx_vwind0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
244 _RL xx_vwind1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
245 #endif
246 cgg(
247 #ifdef ALLOW_OBCSN_CONTROL
248 _RL xx_obcsn0 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs)
249 _RL xx_obcsn1 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs)
250 #endif
251
252 #ifdef ALLOW_OBCSS_CONTROL
253 _RL xx_obcss0 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs)
254 _RL xx_obcss1 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs)
255 #endif
256
257 #ifdef ALLOW_OBCSW_CONTROL
258 _RL xx_obcsw0 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs)
259 _RL xx_obcsw1 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs)
260 #endif
261
262 #ifdef ALLOW_OBCSE_CONTROL
263 _RL xx_obcse0 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs)
264 _RL xx_obcse1 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs)
265 #endif
266 cgg)
267
268
269 c Files where the control variables are stored:
270 c =============================================
271 c
272 c xx_theta_file - control vector temperature part.
273 c xx_salt_file - control vector salinity part.
274 c xx_hflux_file - control vector surface heat flux file.
275 c xx_sflux_file - control vector surface salt flux file.
276 c xx_tauu_file - control vector zonal wind stress file.
277 c xx_tauv_file - control vector meridional wind stress file.
278 c xx_obcsn_file - control vector Uvel at boundary
279 c xx_obcss_file - control vector Vvel at boundary
280 c xx_obcsw_file - control vector temp. at boundary
281 c xx_obcse_file - control vector salin. at boundary
282 common /controlfiles_c/
283 & xx_theta_file
284 & , xx_salt_file
285 & , xx_hflux_file
286 & , xx_sflux_file
287 & , xx_tauu_file
288 & , xx_tauv_file
289 & , xx_atemp_file
290 & , xx_aqh_file
291 & , xx_uwind_file
292 & , xx_vwind_file
293 & , xx_obcsn_file
294 & , xx_obcss_file
295 & , xx_obcsw_file
296 & , xx_obcse_file
297 & , xx_diffkr_file
298 & , xx_kapgm_file
299 & , xx_tr1_file
300 & , xx_sst_file
301 & , xx_sss_file
302 & , xx_hfacc_file
303 & , xx_efluxy_file
304 & , xx_efluxp_file
305 & , xx_bottomdrag_file
306 & , xx_theta_ini_fin_file
307 & , xx_salt_ini_fin_file
308
309 character*(MAX_LEN_FNAM) xx_theta_file
310 character*(MAX_LEN_FNAM) xx_salt_file
311 character*(MAX_LEN_FNAM) xx_hflux_file
312 character*(MAX_LEN_FNAM) xx_sflux_file
313 character*(MAX_LEN_FNAM) xx_tauu_file
314 character*(MAX_LEN_FNAM) xx_tauv_file
315 character*(MAX_LEN_FNAM) xx_atemp_file
316 character*(MAX_LEN_FNAM) xx_aqh_file
317 character*(MAX_LEN_FNAM) xx_uwind_file
318 character*(MAX_LEN_FNAM) xx_vwind_file
319 character*(MAX_LEN_FNAM) xx_obcsn_file
320 character*(MAX_LEN_FNAM) xx_obcss_file
321 character*(MAX_LEN_FNAM) xx_obcsw_file
322 character*(MAX_LEN_FNAM) xx_obcse_file
323 character*(MAX_LEN_FNAM) xx_diffkr_file
324 character*(MAX_LEN_FNAM) xx_kapgm_file
325 character*(MAX_LEN_FNAM) xx_tr1_file
326 character*(MAX_LEN_FNAM) xx_sst_file
327 character*(MAX_LEN_FNAM) xx_sss_file
328 character*(MAX_LEN_FNAM) xx_hfacc_file
329 character*(MAX_LEN_FNAM) xx_efluxy_file
330 character*(MAX_LEN_FNAM) xx_efluxp_file
331 character*(MAX_LEN_FNAM) xx_bottomdrag_file
332 character*(MAX_LEN_FNAM) xx_theta_ini_fin_file
333 character*(MAX_LEN_FNAM) xx_salt_ini_fin_file
334
335 common /packnames_c/
336 & yadmark,
337 & ctrlname,
338 & costname,
339 & scalname,
340 & maskname,
341 & metaname,
342 & yctrlid
343 character*2 yadmark
344 character*9 ctrlname
345 character*9 costname
346 character*9 scalname
347 character*9 maskname
348 character*9 metaname
349 character*10 yctrlid
350
351 c Calendar information for the control variables:
352 c ===============================================
353 c
354 c xx_hfluxperiod - sampling interval for the heat flux control part.
355 c xx_sfluxperiod - sampling interval for the salt flux control part.
356 c xx_tauuperiod - sampling interval for the zonal wind
357 c stress control part.
358 c xx_tauvperiod - sampling interval for the meridional wind
359 c stress control part.
360 c xx_obcsuperiod - sampling interval
361 c xx_obcsvperiod - sampling interval
362 c xx_obcstperiod - sampling interval
363 c xx_obcssperiod - sampling interval
364
365 common /controltimes_r/
366 & xx_hfluxperiod
367 & , xx_sfluxperiod
368 & , xx_tauuperiod
369 & , xx_tauvperiod
370 & , xx_atempperiod
371 & , xx_aqhperiod
372 & , xx_uwindperiod
373 & , xx_vwindperiod
374 & , xx_obcsnperiod
375 & , xx_obcssperiod
376 & , xx_obcswperiod
377 & , xx_obcseperiod
378 _RL xx_hfluxperiod
379 _RL xx_sfluxperiod
380 _RL xx_tauuperiod
381 _RL xx_tauvperiod
382 _RL xx_atempperiod
383 _RL xx_aqhperiod
384 _RL xx_uwindperiod
385 _RL xx_vwindperiod
386 _RL xx_obcsnperiod
387 _RL xx_obcssperiod
388 _RL xx_obcswperiod
389 _RL xx_obcseperiod
390
391 c xx_hfluxstartdate - start date for the heat flux control part.
392 c xx_sfluxstartdate - start date for the salt flux control part.
393 c xx_tauustartdate - start date for the zonal wind stress
394 c control part.
395 c xx_tauvstartdate - start date for the meridional wind stress
396 c control part.
397
398 common /controltimes_i/
399 & xx_hfluxstartdate1
400 & , xx_hfluxstartdate2
401 & , xx_sfluxstartdate1
402 & , xx_sfluxstartdate2
403 & , xx_tauustartdate1
404 & , xx_tauustartdate2
405 & , xx_tauvstartdate1
406 & , xx_tauvstartdate2
407 & , xx_atempstartdate1
408 & , xx_atempstartdate2
409 & , xx_aqhstartdate1
410 & , xx_aqhstartdate2
411 & , xx_uwindstartdate1
412 & , xx_uwindstartdate2
413 & , xx_vwindstartdate1
414 & , xx_vwindstartdate2
415 & , xx_hfluxstartdate
416 & , xx_sfluxstartdate
417 & , xx_tauustartdate
418 & , xx_tauvstartdate
419 & , xx_atempstartdate
420 & , xx_aqhstartdate
421 & , xx_uwindstartdate
422 & , xx_vwindstartdate
423 & , xx_obcsnstartdate1
424 & , xx_obcsnstartdate2
425 & , xx_obcssstartdate1
426 & , xx_obcssstartdate2
427 & , xx_obcswstartdate1
428 & , xx_obcswstartdate2
429 & , xx_obcsestartdate1
430 & , xx_obcsestartdate2
431 & , xx_obcsnstartdate
432 & , xx_obcssstartdate
433 & , xx_obcswstartdate
434 & , xx_obcsestartdate
435 integer xx_hfluxstartdate1
436 integer xx_hfluxstartdate2
437 integer xx_sfluxstartdate1
438 integer xx_sfluxstartdate2
439 integer xx_tauustartdate1
440 integer xx_tauustartdate2
441 integer xx_tauvstartdate1
442 integer xx_tauvstartdate2
443 integer xx_atempstartdate1
444 integer xx_atempstartdate2
445 integer xx_aqhstartdate1
446 integer xx_aqhstartdate2
447 integer xx_uwindstartdate1
448 integer xx_uwindstartdate2
449 integer xx_vwindstartdate1
450 integer xx_vwindstartdate2
451 integer xx_obcsnstartdate1
452 integer xx_obcsnstartdate2
453 integer xx_obcssstartdate1
454 integer xx_obcssstartdate2
455 integer xx_obcswstartdate1
456 integer xx_obcswstartdate2
457 integer xx_obcsestartdate1
458 integer xx_obcsestartdate2
459
460 integer xx_hfluxstartdate(4)
461 integer xx_sfluxstartdate(4)
462 integer xx_tauustartdate(4)
463 integer xx_tauvstartdate(4)
464 integer xx_atempstartdate(4)
465 integer xx_aqhstartdate(4)
466 integer xx_uwindstartdate(4)
467 integer xx_vwindstartdate(4)
468 integer xx_obcsnstartdate(4)
469 integer xx_obcssstartdate(4)
470 integer xx_obcswstartdate(4)
471 integer xx_obcsestartdate(4)
472
473 character*( 80) fname_theta(2)
474 character*( 80) fname_salt(2)
475 character*( 80) fname_hflux(2)
476 character*( 80) fname_sflux(2)
477 character*( 80) fname_tauu(2)
478 character*( 80) fname_tauv(2)
479 character*( 80) fname_atemp(2)
480 character*( 80) fname_aqh(2)
481 character*( 80) fname_uwind(2)
482 character*( 80) fname_vwind(2)
483 character*( 80) fname_obcsn(2)
484 character*( 80) fname_obcss(2)
485 character*( 80) fname_obcsw(2)
486 character*( 80) fname_obcse(2)
487 character*( 80) fname_diffkr(2)
488 character*( 80) fname_kapgm(2)
489 character*( 80) fname_tr1(2)
490 character*( 80) fname_sst(2)
491 character*( 80) fname_sss(2)
492 character*( 80) fname_hfacc(2)
493 character*( 80) fname_efluxy(2)
494 character*( 80) fname_efluxp(2)
495 character*( 80) fname_bottomdrag(2)
496
497 c ==================================================================
498 c END OF HEADER CONTROLVARS
499 c ==================================================================
500
501

  ViewVC Help
Powered by ViewVC 1.1.22