/[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.5 - (show annotations) (download)
Fri May 23 16:26:26 2003 UTC (21 years, 1 month ago) by heimbach
Branch: ecco-branch
CVS Tags: ecco_c50_e32, ecco_c50_e33, ecco_c50_e31, ecco_c51_e34d, ecco_c51_e34e, ecco_c51_e34f, ecco_c51_e34g, ecco_c51_e34a, ecco_c51_e34b, ecco_c51_e34c, ecco_c50_e33a, ecco_c51_e34
Changes since 1.2.6.4: +4 -0 lines
File MIME type: text/plain
o New cost function: Tini-Tfin to do model spinup optimization.

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 character*2 yadprefix
30 #ifdef ALLOW_TANGENTLINEAR_RUN
31 parameter ( yadprefix = 'g_')
32 #else
33 parameter ( yadprefix = 'ad')
34 #endif
35
36 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 & nwetwtile,
49 & nwetvtile,
50 & nwetcglobal,
51 & nwetsglobal,
52 & nwetwglobal,
53 & nwetvglobal
54 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 integer nwetctile ( nsx,nsy,nr )
64 integer nwetstile ( nsx,nsy,nr )
65 integer nwetwtile ( nsx,nsy,nr )
66 integer nwetvtile ( nsx,nsy,nr )
67 integer nwetcglobal ( nr )
68 integer nwetsglobal ( nr )
69 integer nwetwglobal ( nr )
70 integer nwetvglobal ( nr )
71
72 #ifdef ALLOW_OBCSN_CONTROL
73 common /controlvars_i_obcsn/
74 & nwetobcsn,
75 & nwetobcsnglo
76 integer nwetobcsn ( nsx,nsy,nr,nobcs )
77 integer nwetobcsnglo ( nr,nobcs )
78 #endif
79 #ifdef ALLOW_OBCSS_CONTROL
80 common /controlvars_i_obcss/
81 & nwetobcss,
82 & nwetobcssglo
83 integer nwetobcss ( nsx,nsy,nr,nobcs )
84 integer nwetobcssglo ( nr,nobcs )
85 #endif
86 #ifdef ALLOW_OBCSW_CONTROL
87 common /controlvars_i_obcsw/
88 & nwetobcsw,
89 & nwetobcswglo
90 integer nwetobcsw ( nsx,nsy,nr,nobcs )
91 integer nwetobcswglo ( nr,nobcs )
92 #endif
93 #ifdef ALLOW_OBCSE_CONTROL
94 common /controlvars_i_obcse/
95 & nwetobcse,
96 & nwetobcseglo
97 integer nwetobcse ( nsx,nsy,nr,nobcs )
98 integer nwetobcseglo ( nr,nobcs )
99 #endif
100
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 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 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 & 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 cgg This caused a lot of confusion.
128 #ifdef ALLOW_OBCS_CONTROL
129 common /controlvars_r_obcs/
130 & tmpfldxz
131 & , tmpfldxz2
132 & , tmpfldyz
133 & , 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 #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
173 #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 #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 #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 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
251 #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 #endif
255
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
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 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 common /controlfiles_c/
282 & xx_theta_file
283 & , xx_salt_file
284 & , xx_hflux_file
285 & , xx_sflux_file
286 & , xx_tauu_file
287 & , xx_tauv_file
288 & , 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 & , 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 & , xx_theta_ini_fin_file
306 & , xx_salt_ini_fin_file
307
308 character*(MAX_LEN_FNAM) xx_theta_file
309 character*(MAX_LEN_FNAM) xx_salt_file
310 character*(MAX_LEN_FNAM) xx_hflux_file
311 character*(MAX_LEN_FNAM) xx_sflux_file
312 character*(MAX_LEN_FNAM) xx_tauu_file
313 character*(MAX_LEN_FNAM) xx_tauv_file
314 character*(MAX_LEN_FNAM) xx_atemp_file
315 character*(MAX_LEN_FNAM) xx_aqh_file
316 character*(MAX_LEN_FNAM) xx_uwind_file
317 character*(MAX_LEN_FNAM) xx_vwind_file
318 character*(MAX_LEN_FNAM) xx_obcsn_file
319 character*(MAX_LEN_FNAM) xx_obcss_file
320 character*(MAX_LEN_FNAM) xx_obcsw_file
321 character*(MAX_LEN_FNAM) xx_obcse_file
322 character*(MAX_LEN_FNAM) xx_diffkr_file
323 character*(MAX_LEN_FNAM) xx_kapgm_file
324 character*(MAX_LEN_FNAM) xx_tr1_file
325 character*(MAX_LEN_FNAM) xx_sst_file
326 character*(MAX_LEN_FNAM) xx_sss_file
327 character*(MAX_LEN_FNAM) xx_hfacc_file
328 character*(MAX_LEN_FNAM) xx_efluxy_file
329 character*(MAX_LEN_FNAM) xx_efluxp_file
330 character*(MAX_LEN_FNAM) xx_bottomdrag_file
331 character*(MAX_LEN_FNAM) xx_theta_ini_fin_file
332 character*(MAX_LEN_FNAM) xx_salt_ini_fin_file
333
334 common /packnames_c/
335 & yadmark,
336 & ctrlname,
337 & costname,
338 & scalname,
339 & maskname,
340 & metaname,
341 & yctrlid
342 character*2 yadmark
343 character*9 ctrlname
344 character*9 costname
345 character*9 scalname
346 character*9 maskname
347 character*9 metaname
348 character*10 yctrlid
349
350 c Calendar information for the control variables:
351 c ===============================================
352 c
353 c xx_hfluxperiod - sampling interval for the heat flux control part.
354 c xx_sfluxperiod - sampling interval for the salt flux control part.
355 c xx_tauuperiod - sampling interval for the zonal wind
356 c stress control part.
357 c xx_tauvperiod - sampling interval for the meridional wind
358 c stress control part.
359 c xx_obcsuperiod - sampling interval
360 c xx_obcsvperiod - sampling interval
361 c xx_obcstperiod - sampling interval
362 c xx_obcssperiod - sampling interval
363
364 common /controltimes_r/
365 & xx_hfluxperiod
366 & , xx_sfluxperiod
367 & , xx_tauuperiod
368 & , xx_tauvperiod
369 & , xx_atempperiod
370 & , xx_aqhperiod
371 & , xx_uwindperiod
372 & , xx_vwindperiod
373 & , xx_obcsnperiod
374 & , xx_obcssperiod
375 & , xx_obcswperiod
376 & , xx_obcseperiod
377 _RL xx_hfluxperiod
378 _RL xx_sfluxperiod
379 _RL xx_tauuperiod
380 _RL xx_tauvperiod
381 _RL xx_atempperiod
382 _RL xx_aqhperiod
383 _RL xx_uwindperiod
384 _RL xx_vwindperiod
385 _RL xx_obcsnperiod
386 _RL xx_obcssperiod
387 _RL xx_obcswperiod
388 _RL xx_obcseperiod
389
390 c xx_hfluxstartdate - start date for the heat flux control part.
391 c xx_sfluxstartdate - start date for the salt flux control part.
392 c xx_tauustartdate - start date for the zonal wind stress
393 c control part.
394 c xx_tauvstartdate - start date for the meridional wind stress
395 c control part.
396
397 common /controltimes_i/
398 & xx_hfluxstartdate1
399 & , xx_hfluxstartdate2
400 & , xx_sfluxstartdate1
401 & , xx_sfluxstartdate2
402 & , xx_tauustartdate1
403 & , xx_tauustartdate2
404 & , xx_tauvstartdate1
405 & , xx_tauvstartdate2
406 & , xx_atempstartdate1
407 & , xx_atempstartdate2
408 & , xx_aqhstartdate1
409 & , xx_aqhstartdate2
410 & , xx_uwindstartdate1
411 & , xx_uwindstartdate2
412 & , xx_vwindstartdate1
413 & , xx_vwindstartdate2
414 & , xx_hfluxstartdate
415 & , xx_sfluxstartdate
416 & , xx_tauustartdate
417 & , xx_tauvstartdate
418 & , xx_atempstartdate
419 & , xx_aqhstartdate
420 & , xx_uwindstartdate
421 & , xx_vwindstartdate
422 & , xx_obcsnstartdate1
423 & , xx_obcsnstartdate2
424 & , xx_obcssstartdate1
425 & , xx_obcssstartdate2
426 & , xx_obcswstartdate1
427 & , xx_obcswstartdate2
428 & , xx_obcsestartdate1
429 & , xx_obcsestartdate2
430 & , xx_obcsnstartdate
431 & , xx_obcssstartdate
432 & , xx_obcswstartdate
433 & , xx_obcsestartdate
434 integer xx_hfluxstartdate1
435 integer xx_hfluxstartdate2
436 integer xx_sfluxstartdate1
437 integer xx_sfluxstartdate2
438 integer xx_tauustartdate1
439 integer xx_tauustartdate2
440 integer xx_tauvstartdate1
441 integer xx_tauvstartdate2
442 integer xx_atempstartdate1
443 integer xx_atempstartdate2
444 integer xx_aqhstartdate1
445 integer xx_aqhstartdate2
446 integer xx_uwindstartdate1
447 integer xx_uwindstartdate2
448 integer xx_vwindstartdate1
449 integer xx_vwindstartdate2
450 integer xx_obcsnstartdate1
451 integer xx_obcsnstartdate2
452 integer xx_obcssstartdate1
453 integer xx_obcssstartdate2
454 integer xx_obcswstartdate1
455 integer xx_obcswstartdate2
456 integer xx_obcsestartdate1
457 integer xx_obcsestartdate2
458
459 integer xx_hfluxstartdate(4)
460 integer xx_sfluxstartdate(4)
461 integer xx_tauustartdate(4)
462 integer xx_tauvstartdate(4)
463 integer xx_atempstartdate(4)
464 integer xx_aqhstartdate(4)
465 integer xx_uwindstartdate(4)
466 integer xx_vwindstartdate(4)
467 integer xx_obcsnstartdate(4)
468 integer xx_obcssstartdate(4)
469 integer xx_obcswstartdate(4)
470 integer xx_obcsestartdate(4)
471
472 c ==================================================================
473 c END OF HEADER CONTROLVARS
474 c ==================================================================
475
476

  ViewVC Help
Powered by ViewVC 1.1.22