/[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.2.6.4 - (hide annotations) (download)
Tue Mar 4 01:25:20 2003 UTC (21 years, 3 months ago) by heimbach
Branch: ecco-branch
CVS Tags: ecco_c50_e30, icebear5, ecco_c50_e29, ecco_c50_e28, ecco_c44_e27
Branch point for: icebear
Changes since 1.2.6.3: +32 -3 lines
File MIME type: text/plain
Committing updated and merged grdchk package
- has both ADM and TLM checks
- works for single- and multi-proc.
- output cleaned
- worked successfully for parallel DIVA
Needed one update in EEPARAMS.h and updates in ctrl package

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

  ViewVC Help
Powered by ViewVC 1.1.22