/[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.2.6.3 - (show annotations) (download)
Thu May 30 19:56:44 2002 UTC (22 years ago) by heimbach
Branch: ecco-branch
CVS Tags: icebear4, icebear3, icebear2, ecco_ice2, ecco_ice1, ecco_c44_e25, ecco_c44_e26, ecco_c44_e24
Branch point for: c24_e25_ice
Changes since 1.2.6.2: +68 -17 lines
File MIME type: text/plain
o included obcs control part (G. Gebbie)
o introduced new global wet tile counter
  (separate from bi,bj counters)

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

  ViewVC Help
Powered by ViewVC 1.1.22