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

Annotation of /MITgcm/pkg/ctrl/ctrl.h

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


Revision 1.7 - (hide 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 heimbach 1.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 heimbach 1.3 parameter ( maxcvars = 30 )
25    
26     integer ctrlprec
27     parameter ( ctrlprec = 64 )
28    
29 heimbach 1.1 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 heimbach 1.3 & nwetwtile,
42     & nwetvtile,
43     & nwetcglobal,
44     & nwetsglobal,
45     & nwetwglobal,
46     & nwetvglobal
47 heimbach 1.1 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 heimbach 1.3 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 heimbach 1.1
94     common /controlvars_c/
95     & ncvargrd
96 heimbach 1.7 & , yadprefix
97 heimbach 1.1 character*(1) ncvargrd(maxcvars)
98 heimbach 1.7 character*(2) yadprefix
99 heimbach 1.1
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 heimbach 1.3 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 heimbach 1.1 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 heimbach 1.3 & 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 heimbach 1.1
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 heimbach 1.3 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 heimbach 1.1 common /controlfiles_c/
277     & xx_theta_file
278     & , xx_salt_file
279 heimbach 1.3 & , xx_hflux_file
280     & , xx_sflux_file
281 heimbach 1.1 & , xx_tauu_file
282     & , xx_tauv_file
283 heimbach 1.3 & , 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 heimbach 1.1 & , xx_diffkr_file
292     & , xx_kapgm_file
293 heimbach 1.3 & , xx_tr1_file
294 heimbach 1.5 & , xx_sst_file
295     & , xx_sss_file
296     & , xx_hfacc_file
297 heimbach 1.3 & , xx_efluxy_file
298     & , xx_efluxp_file
299 heimbach 1.5 & , xx_bottomdrag_file
300 heimbach 1.6 & , xx_theta_ini_fin_file
301     & , xx_salt_ini_fin_file
302 heimbach 1.3
303 heimbach 1.1 character*(MAX_LEN_FNAM) xx_theta_file
304     character*(MAX_LEN_FNAM) xx_salt_file
305 heimbach 1.3 character*(MAX_LEN_FNAM) xx_hflux_file
306     character*(MAX_LEN_FNAM) xx_sflux_file
307 heimbach 1.1 character*(MAX_LEN_FNAM) xx_tauu_file
308     character*(MAX_LEN_FNAM) xx_tauv_file
309 heimbach 1.3 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 heimbach 1.1 character*(MAX_LEN_FNAM) xx_diffkr_file
318     character*(MAX_LEN_FNAM) xx_kapgm_file
319 heimbach 1.3 character*(MAX_LEN_FNAM) xx_tr1_file
320 heimbach 1.5 character*(MAX_LEN_FNAM) xx_sst_file
321     character*(MAX_LEN_FNAM) xx_sss_file
322     character*(MAX_LEN_FNAM) xx_hfacc_file
323 heimbach 1.3 character*(MAX_LEN_FNAM) xx_efluxy_file
324     character*(MAX_LEN_FNAM) xx_efluxp_file
325 heimbach 1.5 character*(MAX_LEN_FNAM) xx_bottomdrag_file
326 heimbach 1.6 character*(MAX_LEN_FNAM) xx_theta_ini_fin_file
327     character*(MAX_LEN_FNAM) xx_salt_ini_fin_file
328 heimbach 1.1
329     common /packnames_c/
330 heimbach 1.3 & yadmark,
331     & ctrlname,
332     & costname,
333     & scalname,
334     & maskname,
335     & metaname,
336     & yctrlid
337 heimbach 1.1 character*2 yadmark
338     character*9 ctrlname
339     character*9 costname
340     character*9 scalname
341     character*9 maskname
342     character*9 metaname
343 heimbach 1.3 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 heimbach 1.1
467     c ==================================================================
468     c END OF HEADER CONTROLVARS
469     c ==================================================================
470    
471    

  ViewVC Help
Powered by ViewVC 1.1.22