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

Diff of /MITgcm/pkg/ctrl/ctrl.h

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

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

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22