/[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.7 - (show annotations) (download)
Thu Oct 2 21:34:45 2003 UTC (20 years, 7 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint51k_post, checkpoint51o_pre, checkpoint51l_post, checkpoint51n_post, checkpoint51j_post, checkpoint51n_pre, checkpoint51l_pre, checkpoint51h_pre, checkpoint51i_post, checkpoint51i_pre, checkpoint51o_post, checkpoint51g_post, checkpoint51m_post, checkpoint51p_post
Branch point for: tg2-branch, checkpoint51n_branch
Changes since 1.6: +2 -7 lines
File MIME type: text/plain
Bringing cost/ ctrl/ up to date.

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

  ViewVC Help
Powered by ViewVC 1.1.22