1 |
heimbach |
1.1 |
|
2 |
|
|
|
3 |
|
|
c ================================================================== |
4 |
|
|
c HEADER CONTROLVARS |
5 |
|
|
c ================================================================== |
6 |
|
|
c |
7 |
|
|
c o Control variables of the ECCO state estimation tool. |
8 |
|
|
c |
9 |
|
|
c Depending on the specific problem to be studied users will have to |
10 |
|
|
c modify this header file. |
11 |
|
|
c |
12 |
|
|
c started: Christian Eckert eckert@mit.edu 30-Jun-1999 |
13 |
|
|
c |
14 |
|
|
c changed: Christian Eckert eckert@mit.edu |
15 |
|
|
c |
16 |
|
|
c |
17 |
|
|
c ================================================================== |
18 |
|
|
c HEADER CONTROLVARS |
19 |
|
|
c ================================================================== |
20 |
|
|
c |
21 |
|
|
c nwet[c/s/w]tile - Number of wet points in a tile for center (c), |
22 |
|
|
c south (s), and western (w) mask, resp. . |
23 |
|
|
|
24 |
|
|
integer maxcvars |
25 |
|
|
parameter ( maxcvars = 30 ) |
26 |
|
|
|
27 |
|
|
cph ctrlprec will be set to 32 for ECCO to reduce I/O |
28 |
|
|
cph but jeopardizes some gradient checks, so should be |
29 |
|
|
cph set to 64 by default. |
30 |
|
|
cph Need to put this in namelist at some point! |
31 |
|
|
integer ctrlprec |
32 |
|
|
parameter ( ctrlprec = 32 ) |
33 |
|
|
|
34 |
|
|
#ifdef ALLOW_ADMTLM |
35 |
|
|
integer admtlmrec |
36 |
|
|
parameter( admtlmrec = 2315 ) |
37 |
|
|
common / controlvars_admtlm_r / |
38 |
|
|
& cbuffGlobal |
39 |
|
|
_RL cbuffGlobal( admtlmrec ) |
40 |
|
|
#endif |
41 |
|
|
|
42 |
|
|
common /controlvars_l / |
43 |
|
|
& doInitXX, |
44 |
|
|
& doAdmTlm, |
45 |
|
|
& doPackDiag, |
46 |
|
|
& doZscaleUnpack, |
47 |
|
|
& doZscalePack |
48 |
|
|
logical doInitXX |
49 |
|
|
logical doAdmTlm |
50 |
|
|
logical doPackDiag |
51 |
|
|
logical doZscaleUnpack |
52 |
|
|
logical doZscalePack |
53 |
|
|
|
54 |
|
|
common /controlvars_i/ |
55 |
|
|
& nvartype, |
56 |
|
|
& nvarlength, |
57 |
|
|
& ncvarindex, |
58 |
|
|
& ncvarrecs, |
59 |
|
|
& ncvarrecstart, |
60 |
|
|
& ncvarrecsend, |
61 |
|
|
& ncvarxmax, |
62 |
|
|
& ncvarymax, |
63 |
|
|
& ncvarnrmax, |
64 |
|
|
& nwetctile, |
65 |
|
|
& nwetstile, |
66 |
|
|
& nwetwtile, |
67 |
|
|
& nwetvtile, |
68 |
|
|
& nwetcglobal, |
69 |
|
|
& nwetsglobal, |
70 |
|
|
& nwetwglobal, |
71 |
|
|
& nwetvglobal, |
72 |
|
|
& nbuffglobal |
73 |
|
|
integer nvartype |
74 |
|
|
integer nvarlength |
75 |
|
|
integer ncvarindex ( maxcvars ) |
76 |
|
|
integer ncvarrecs ( maxcvars ) |
77 |
|
|
integer ncvarrecstart ( maxcvars ) |
78 |
|
|
integer ncvarrecsend ( maxcvars ) |
79 |
|
|
integer ncvarxmax ( maxcvars ) |
80 |
|
|
integer ncvarymax ( maxcvars ) |
81 |
|
|
integer ncvarnrmax ( maxcvars ) |
82 |
|
|
integer nwetctile ( nsx,nsy,nr ) |
83 |
|
|
integer nwetstile ( nsx,nsy,nr ) |
84 |
|
|
integer nwetwtile ( nsx,nsy,nr ) |
85 |
|
|
integer nwetvtile ( nsx,nsy,nr ) |
86 |
|
|
integer nwetcglobal ( nr ) |
87 |
|
|
integer nwetsglobal ( nr ) |
88 |
|
|
integer nwetwglobal ( nr ) |
89 |
|
|
integer nwetvglobal ( nr ) |
90 |
|
|
integer nbuffglobal |
91 |
|
|
|
92 |
|
|
#ifdef ALLOW_OBCSN_CONTROL |
93 |
|
|
common /controlvars_i_obcsn/ |
94 |
|
|
& nwetobcsn, |
95 |
|
|
& nwetobcsnglo |
96 |
|
|
integer nwetobcsn ( nsx,nsy,nr,nobcs ) |
97 |
|
|
integer nwetobcsnglo ( nr,nobcs ) |
98 |
|
|
#endif |
99 |
|
|
#ifdef ALLOW_OBCSS_CONTROL |
100 |
|
|
common /controlvars_i_obcss/ |
101 |
|
|
& nwetobcss, |
102 |
|
|
& nwetobcssglo |
103 |
|
|
integer nwetobcss ( nsx,nsy,nr,nobcs ) |
104 |
|
|
integer nwetobcssglo ( nr,nobcs ) |
105 |
|
|
#endif |
106 |
|
|
#ifdef ALLOW_OBCSW_CONTROL |
107 |
|
|
common /controlvars_i_obcsw/ |
108 |
|
|
& nwetobcsw, |
109 |
|
|
& nwetobcswglo |
110 |
|
|
integer nwetobcsw ( nsx,nsy,nr,nobcs ) |
111 |
|
|
integer nwetobcswglo ( nr,nobcs ) |
112 |
|
|
#endif |
113 |
|
|
#ifdef ALLOW_OBCSE_CONTROL |
114 |
|
|
common /controlvars_i_obcse/ |
115 |
|
|
& nwetobcse, |
116 |
|
|
& nwetobcseglo |
117 |
|
|
integer nwetobcse ( nsx,nsy,nr,nobcs ) |
118 |
|
|
integer nwetobcseglo ( nr,nobcs ) |
119 |
|
|
#endif |
120 |
|
|
|
121 |
|
|
common /controlvars_c/ |
122 |
|
|
& ncvargrd |
123 |
|
|
& , yadprefix |
124 |
|
|
character*(1) ncvargrd(maxcvars) |
125 |
|
|
character*(2) yadprefix |
126 |
|
|
|
127 |
|
|
common /controlvec_header_i/ |
128 |
|
|
& filenvartype, |
129 |
|
|
& filenvarlength, |
130 |
|
|
& fileOptimCycle, |
131 |
|
|
& filencbuffindex, |
132 |
|
|
& fileIg, |
133 |
|
|
& fileJg, |
134 |
|
|
& fileI, |
135 |
|
|
& fileJ, |
136 |
|
|
& filensx, |
137 |
|
|
& filensy, |
138 |
|
|
& filek, |
139 |
|
|
& filenWetcGlobal, |
140 |
|
|
& filenWetsGlobal, |
141 |
|
|
& filenWetwGlobal, |
142 |
|
|
& filenWetvGlobal, |
143 |
|
|
& filencvarindex, |
144 |
|
|
& filencvarrecs, |
145 |
|
|
& filencvarxmax, |
146 |
|
|
& filencvarymax, |
147 |
|
|
& filencvarnrmax |
148 |
|
|
integer filenvartype |
149 |
|
|
integer filenvarlength |
150 |
|
|
integer fileOptimCycle |
151 |
|
|
integer filencbuffindex |
152 |
|
|
integer fileIg |
153 |
|
|
integer fileJg |
154 |
|
|
integer fileI |
155 |
|
|
integer fileJ |
156 |
|
|
integer filensx |
157 |
|
|
integer filensy |
158 |
|
|
integer filek |
159 |
|
|
integer filenWetcGlobal(nr) |
160 |
|
|
integer filenWetsGlobal(nr) |
161 |
|
|
integer filenWetwGlobal(nr) |
162 |
|
|
integer filenWetvGlobal(nr) |
163 |
|
|
integer filencvarindex(maxcvars) |
164 |
|
|
integer filencvarrecs(maxcvars) |
165 |
|
|
integer filencvarxmax(maxcvars) |
166 |
|
|
integer filencvarymax(maxcvars) |
167 |
|
|
integer filencvarnrmax(maxcvars) |
168 |
|
|
|
169 |
|
|
common /controlvec_header_r/ |
170 |
|
|
& filefc |
171 |
|
|
_RL filefc |
172 |
|
|
|
173 |
|
|
common /controlvec_header_c/ |
174 |
|
|
& fileYctrlid, |
175 |
|
|
& filencvargrd |
176 |
|
|
character*(10) fileYctrlid |
177 |
|
|
character*( 1) filencvargrd(maxcvars) |
178 |
|
|
|
179 |
|
|
c Define unit weight as a placeholder |
180 |
|
|
common /ctrl_weights_unit_r/ |
181 |
|
|
& wunit |
182 |
|
|
_RL wunit ( nr,nsx,nsy ) |
183 |
|
|
|
184 |
|
|
c Control variables: |
185 |
|
|
c ================== |
186 |
|
|
c |
187 |
|
|
c xx_theta - control vector temperature part. |
188 |
|
|
c xx_salt - control vector salt part. |
189 |
|
|
c xx_hflux - control vector surface heat flux part. |
190 |
|
|
c xx_sflux - control vector surface salt flux part. |
191 |
|
|
c xx_tauu - control vector zonal wind stress part. |
192 |
|
|
c xx_tauv - control vector meridional wind stress part. |
193 |
|
|
cph( |
194 |
|
|
c xx_... are to be replaced by tmpfld2d/3d throughout the code; |
195 |
|
|
c control variables are written to / read from active files |
196 |
|
|
c TAMC sees xx_..._dummy |
197 |
|
|
|
198 |
|
|
common /controlvars_r/ |
199 |
|
|
& tmpfld2d |
200 |
|
|
& , tmpfld3d |
201 |
|
|
_RL tmpfld2d |
202 |
|
|
& (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
203 |
|
|
_RL tmpfld3d |
204 |
|
|
& (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
205 |
|
|
|
206 |
|
|
cgg This caused a lot of confusion. |
207 |
|
|
#ifdef ALLOW_OBCS_CONTROL |
208 |
|
|
common /controlvars_r_obcs/ |
209 |
|
|
& tmpfldxz |
210 |
|
|
& , tmpfldxz2 |
211 |
|
|
& , tmpfldyz |
212 |
|
|
& , tmpfldyz2 |
213 |
|
|
|
214 |
|
|
_RL tmpfldxz (1-olx:snx+olx,nr,nsx,nsy) |
215 |
|
|
_RL tmpfldxz2 (1-olx:snx+olx,nr,nsx,nsy) |
216 |
|
|
_RL tmpfldyz (1-oly:sny+oly,nr,nsx,nsy) |
217 |
|
|
_RL tmpfldyz2 (1-oly:sny+oly,nr,nsx,nsy) |
218 |
|
|
#endif |
219 |
|
|
|
220 |
|
|
c Auxiliary storage arrays for the control variables: |
221 |
|
|
c =================================================== |
222 |
|
|
c |
223 |
|
|
c xx_hflux0 - heat flux record before current date. |
224 |
|
|
c xx_hflux1 - heat flux record after current date |
225 |
|
|
c xx_sflux0 - salt flux record before current date. |
226 |
|
|
c xx_sflux1 - salt flux record after current date. |
227 |
|
|
c xx_tauu0 - zonal wind stress record before current date. |
228 |
|
|
c xx_tauu1 - zonal wind stress record after current date. |
229 |
|
|
c xx_tauv0 - meridional wind stress record before current date. |
230 |
|
|
c xx_tauv1 - meridional wind stress record after current date. |
231 |
|
|
|
232 |
|
|
#if (defined (ALLOW_HFLUX_CONTROL)) |
233 |
|
|
common /controlaux_1_r/ |
234 |
|
|
& xx_hflux0, |
235 |
|
|
& xx_hflux1 |
236 |
|
|
#elif (defined (ALLOW_ATEMP_CONTROL)) |
237 |
|
|
common /controlaux_1_r/ |
238 |
|
|
& xx_atemp0, |
239 |
|
|
& xx_atemp1 |
240 |
|
|
#endif |
241 |
|
|
|
242 |
|
|
#if (defined (ALLOW_SFLUX_CONTROL)) |
243 |
|
|
common /controlaux_2_r/ |
244 |
|
|
& xx_sflux0, |
245 |
|
|
& xx_sflux1 |
246 |
|
|
#elif (defined (ALLOW_AQH_CONTROL)) |
247 |
|
|
common /controlaux_2_r/ |
248 |
|
|
& xx_aqh0, |
249 |
|
|
& xx_aqh1 |
250 |
|
|
#endif |
251 |
|
|
|
252 |
|
|
#if (defined (ALLOW_USTRESS_CONTROL)) |
253 |
|
|
common /controlaux_3_r/ |
254 |
|
|
& xx_tauu0, |
255 |
|
|
& xx_tauu1 |
256 |
|
|
#elif (defined (ALLOW_UWIND_CONTROL)) |
257 |
|
|
common /controlaux_3_r/ |
258 |
|
|
& xx_uwind0, |
259 |
|
|
& xx_uwind1 |
260 |
|
|
#endif |
261 |
|
|
|
262 |
|
|
#if (defined (ALLOW_VSTRESS_CONTROL)) |
263 |
|
|
common /controlaux_4_r/ |
264 |
|
|
& xx_tauv0, |
265 |
|
|
& xx_tauv1 |
266 |
|
|
#elif (defined (ALLOW_VWIND_CONTROL)) |
267 |
|
|
common /controlaux_4_r/ |
268 |
|
|
& xx_vwind0, |
269 |
|
|
& xx_vwind1 |
270 |
|
|
#endif |
271 |
|
|
|
272 |
|
|
#ifdef ALLOW_OBCS_CONTROL |
273 |
|
|
#if (defined (ALLOW_OBCSN_CONTROL)) |
274 |
|
|
common /controlaux_5obcsn_r/ |
275 |
|
|
& xx_obcsn0, |
276 |
|
|
& xx_obcsn1 |
277 |
|
|
#endif |
278 |
|
|
|
279 |
|
|
#if (defined (ALLOW_OBCSS_CONTROL)) |
280 |
|
|
common /controlaux_5obcss_r/ |
281 |
|
|
& xx_obcss0, |
282 |
|
|
& xx_obcss1 |
283 |
|
|
#endif |
284 |
|
|
#if (defined (ALLOW_OBCSW_CONTROL)) |
285 |
|
|
common /controlaux_5obcsw_r/ |
286 |
|
|
& xx_obcsw0, |
287 |
|
|
& xx_obcsw1 |
288 |
|
|
#endif |
289 |
|
|
#if (defined (ALLOW_OBCSE_CONTROL)) |
290 |
|
|
common /controlaux_5obcse_r/ |
291 |
|
|
& xx_obcse0, |
292 |
|
|
& xx_obcse1 |
293 |
|
|
#endif |
294 |
|
|
#endif |
295 |
|
|
|
296 |
|
|
#if (defined (ALLOW_HFLUX_CONTROL)) |
297 |
|
|
_RL xx_hflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
298 |
|
|
_RL xx_hflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
299 |
|
|
#elif (defined (ALLOW_ATEMP_CONTROL)) |
300 |
|
|
_RL xx_atemp0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
301 |
|
|
_RL xx_atemp1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
302 |
|
|
#endif |
303 |
|
|
#if (defined (ALLOW_SFLUX_CONTROL)) |
304 |
|
|
_RL xx_sflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
305 |
|
|
_RL xx_sflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
306 |
|
|
#elif (defined (ALLOW_AQH_CONTROL)) |
307 |
|
|
_RL xx_aqh0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
308 |
|
|
_RL xx_aqh1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
309 |
|
|
#endif |
310 |
|
|
#if (defined (ALLOW_USTRESS_CONTROL)) |
311 |
|
|
_RL xx_tauu0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
312 |
|
|
_RL xx_tauu1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
313 |
|
|
#elif (defined (ALLOW_UWIND_CONTROL)) |
314 |
|
|
_RL xx_uwind0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
315 |
|
|
_RL xx_uwind1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
316 |
|
|
#endif |
317 |
|
|
#if (defined (ALLOW_VSTRESS_CONTROL)) |
318 |
|
|
_RL xx_tauv0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
319 |
|
|
_RL xx_tauv1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
320 |
|
|
#elif (defined (ALLOW_VWIND_CONTROL)) |
321 |
|
|
_RL xx_vwind0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
322 |
|
|
_RL xx_vwind1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
323 |
|
|
#endif |
324 |
|
|
cgg( |
325 |
|
|
#ifdef ALLOW_OBCSN_CONTROL |
326 |
|
|
_RL xx_obcsn0 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs) |
327 |
|
|
_RL xx_obcsn1 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs) |
328 |
|
|
#endif |
329 |
|
|
|
330 |
|
|
#ifdef ALLOW_OBCSS_CONTROL |
331 |
|
|
_RL xx_obcss0 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs) |
332 |
|
|
_RL xx_obcss1 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs) |
333 |
|
|
#endif |
334 |
|
|
|
335 |
|
|
#ifdef ALLOW_OBCSW_CONTROL |
336 |
|
|
_RL xx_obcsw0 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs) |
337 |
|
|
_RL xx_obcsw1 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs) |
338 |
|
|
#endif |
339 |
|
|
|
340 |
|
|
#ifdef ALLOW_OBCSE_CONTROL |
341 |
|
|
_RL xx_obcse0 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs) |
342 |
|
|
_RL xx_obcse1 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs) |
343 |
|
|
#endif |
344 |
|
|
cgg) |
345 |
|
|
|
346 |
|
|
|
347 |
|
|
c Files where the control variables are stored: |
348 |
|
|
c ============================================= |
349 |
|
|
c |
350 |
|
|
c xx_theta_file - control vector temperature part. |
351 |
|
|
c xx_salt_file - control vector salinity part. |
352 |
|
|
c xx_hflux_file - control vector surface heat flux file. |
353 |
|
|
c xx_sflux_file - control vector surface salt flux file. |
354 |
|
|
c xx_tauu_file - control vector zonal wind stress file. |
355 |
|
|
c xx_tauv_file - control vector meridional wind stress file. |
356 |
|
|
c xx_obcsn_file - control vector Uvel at boundary |
357 |
|
|
c xx_obcss_file - control vector Vvel at boundary |
358 |
|
|
c xx_obcsw_file - control vector temp. at boundary |
359 |
|
|
c xx_obcse_file - control vector salin. at boundary |
360 |
|
|
common /controlfiles_c/ |
361 |
|
|
& xx_theta_file |
362 |
|
|
& , xx_salt_file |
363 |
|
|
& , xx_hflux_file |
364 |
|
|
& , xx_sflux_file |
365 |
|
|
& , xx_tauu_file |
366 |
|
|
& , xx_tauv_file |
367 |
|
|
& , xx_atemp_file |
368 |
|
|
& , xx_aqh_file |
369 |
|
|
& , xx_uwind_file |
370 |
|
|
& , xx_vwind_file |
371 |
|
|
& , xx_obcsn_file |
372 |
|
|
& , xx_obcss_file |
373 |
|
|
& , xx_obcsw_file |
374 |
|
|
& , xx_obcse_file |
375 |
|
|
& , xx_diffkr_file |
376 |
|
|
& , xx_kapgm_file |
377 |
|
|
& , xx_tr1_file |
378 |
|
|
& , xx_sst_file |
379 |
|
|
& , xx_sss_file |
380 |
|
|
& , xx_hfacc_file |
381 |
|
|
& , xx_efluxy_file |
382 |
|
|
& , xx_efluxp_file |
383 |
|
|
& , xx_bottomdrag_file |
384 |
|
|
& , xx_theta_ini_fin_file |
385 |
|
|
& , xx_salt_ini_fin_file |
386 |
|
|
|
387 |
|
|
character*(MAX_LEN_FNAM) xx_theta_file |
388 |
|
|
character*(MAX_LEN_FNAM) xx_salt_file |
389 |
|
|
character*(MAX_LEN_FNAM) xx_hflux_file |
390 |
|
|
character*(MAX_LEN_FNAM) xx_sflux_file |
391 |
|
|
character*(MAX_LEN_FNAM) xx_tauu_file |
392 |
|
|
character*(MAX_LEN_FNAM) xx_tauv_file |
393 |
|
|
character*(MAX_LEN_FNAM) xx_atemp_file |
394 |
|
|
character*(MAX_LEN_FNAM) xx_aqh_file |
395 |
|
|
character*(MAX_LEN_FNAM) xx_uwind_file |
396 |
|
|
character*(MAX_LEN_FNAM) xx_vwind_file |
397 |
|
|
character*(MAX_LEN_FNAM) xx_obcsn_file |
398 |
|
|
character*(MAX_LEN_FNAM) xx_obcss_file |
399 |
|
|
character*(MAX_LEN_FNAM) xx_obcsw_file |
400 |
|
|
character*(MAX_LEN_FNAM) xx_obcse_file |
401 |
|
|
character*(MAX_LEN_FNAM) xx_diffkr_file |
402 |
|
|
character*(MAX_LEN_FNAM) xx_kapgm_file |
403 |
|
|
character*(MAX_LEN_FNAM) xx_tr1_file |
404 |
|
|
character*(MAX_LEN_FNAM) xx_sst_file |
405 |
|
|
character*(MAX_LEN_FNAM) xx_sss_file |
406 |
|
|
character*(MAX_LEN_FNAM) xx_hfacc_file |
407 |
|
|
character*(MAX_LEN_FNAM) xx_efluxy_file |
408 |
|
|
character*(MAX_LEN_FNAM) xx_efluxp_file |
409 |
|
|
character*(MAX_LEN_FNAM) xx_bottomdrag_file |
410 |
|
|
character*(MAX_LEN_FNAM) xx_theta_ini_fin_file |
411 |
|
|
character*(MAX_LEN_FNAM) xx_salt_ini_fin_file |
412 |
|
|
|
413 |
|
|
common /packnames_c/ |
414 |
|
|
& yadmark, |
415 |
|
|
& ctrlname, |
416 |
|
|
& costname, |
417 |
|
|
& scalname, |
418 |
|
|
& maskname, |
419 |
|
|
& metaname, |
420 |
|
|
& yctrlid, |
421 |
|
|
& yctrlposunpack, |
422 |
|
|
& yctrlpospack |
423 |
|
|
character*2 yadmark |
424 |
|
|
character*9 ctrlname |
425 |
|
|
character*9 costname |
426 |
|
|
character*9 scalname |
427 |
|
|
character*9 maskname |
428 |
|
|
character*9 metaname |
429 |
|
|
character*10 yctrlid |
430 |
|
|
character*4 yctrlposunpack |
431 |
|
|
character*4 yctrlpospack |
432 |
|
|
|
433 |
|
|
c Calendar information for the control variables: |
434 |
|
|
c =============================================== |
435 |
|
|
c |
436 |
|
|
c xx_hfluxperiod - sampling interval for the heat flux control part. |
437 |
|
|
c xx_sfluxperiod - sampling interval for the salt flux control part. |
438 |
|
|
c xx_tauuperiod - sampling interval for the zonal wind |
439 |
|
|
c stress control part. |
440 |
|
|
c xx_tauvperiod - sampling interval for the meridional wind |
441 |
|
|
c stress control part. |
442 |
|
|
c xx_obcsuperiod - sampling interval |
443 |
|
|
c xx_obcsvperiod - sampling interval |
444 |
|
|
c xx_obcstperiod - sampling interval |
445 |
|
|
c xx_obcssperiod - sampling interval |
446 |
|
|
|
447 |
|
|
common /controltimes_r/ |
448 |
|
|
& xx_hfluxperiod |
449 |
|
|
& , xx_sfluxperiod |
450 |
|
|
& , xx_tauuperiod |
451 |
|
|
& , xx_tauvperiod |
452 |
|
|
& , xx_atempperiod |
453 |
|
|
& , xx_aqhperiod |
454 |
|
|
& , xx_uwindperiod |
455 |
|
|
& , xx_vwindperiod |
456 |
|
|
& , xx_obcsnperiod |
457 |
|
|
& , xx_obcssperiod |
458 |
|
|
& , xx_obcswperiod |
459 |
|
|
& , xx_obcseperiod |
460 |
|
|
_RL xx_hfluxperiod |
461 |
|
|
_RL xx_sfluxperiod |
462 |
|
|
_RL xx_tauuperiod |
463 |
|
|
_RL xx_tauvperiod |
464 |
|
|
_RL xx_atempperiod |
465 |
|
|
_RL xx_aqhperiod |
466 |
|
|
_RL xx_uwindperiod |
467 |
|
|
_RL xx_vwindperiod |
468 |
|
|
_RL xx_obcsnperiod |
469 |
|
|
_RL xx_obcssperiod |
470 |
|
|
_RL xx_obcswperiod |
471 |
|
|
_RL xx_obcseperiod |
472 |
|
|
|
473 |
|
|
c xx_hfluxstartdate - start date for the heat flux control part. |
474 |
|
|
c xx_sfluxstartdate - start date for the salt flux control part. |
475 |
|
|
c xx_tauustartdate - start date for the zonal wind stress |
476 |
|
|
c control part. |
477 |
|
|
c xx_tauvstartdate - start date for the meridional wind stress |
478 |
|
|
c control part. |
479 |
|
|
|
480 |
|
|
common /controltimes_i/ |
481 |
|
|
& xx_hfluxstartdate1 |
482 |
|
|
& , xx_hfluxstartdate2 |
483 |
|
|
& , xx_sfluxstartdate1 |
484 |
|
|
& , xx_sfluxstartdate2 |
485 |
|
|
& , xx_tauustartdate1 |
486 |
|
|
& , xx_tauustartdate2 |
487 |
|
|
& , xx_tauvstartdate1 |
488 |
|
|
& , xx_tauvstartdate2 |
489 |
|
|
& , xx_atempstartdate1 |
490 |
|
|
& , xx_atempstartdate2 |
491 |
|
|
& , xx_aqhstartdate1 |
492 |
|
|
& , xx_aqhstartdate2 |
493 |
|
|
& , xx_uwindstartdate1 |
494 |
|
|
& , xx_uwindstartdate2 |
495 |
|
|
& , xx_vwindstartdate1 |
496 |
|
|
& , xx_vwindstartdate2 |
497 |
|
|
& , xx_hfluxstartdate |
498 |
|
|
& , xx_sfluxstartdate |
499 |
|
|
& , xx_tauustartdate |
500 |
|
|
& , xx_tauvstartdate |
501 |
|
|
& , xx_atempstartdate |
502 |
|
|
& , xx_aqhstartdate |
503 |
|
|
& , xx_uwindstartdate |
504 |
|
|
& , xx_vwindstartdate |
505 |
|
|
& , xx_obcsnstartdate1 |
506 |
|
|
& , xx_obcsnstartdate2 |
507 |
|
|
& , xx_obcssstartdate1 |
508 |
|
|
& , xx_obcssstartdate2 |
509 |
|
|
& , xx_obcswstartdate1 |
510 |
|
|
& , xx_obcswstartdate2 |
511 |
|
|
& , xx_obcsestartdate1 |
512 |
|
|
& , xx_obcsestartdate2 |
513 |
|
|
& , xx_obcsnstartdate |
514 |
|
|
& , xx_obcssstartdate |
515 |
|
|
& , xx_obcswstartdate |
516 |
|
|
& , xx_obcsestartdate |
517 |
|
|
integer xx_hfluxstartdate1 |
518 |
|
|
integer xx_hfluxstartdate2 |
519 |
|
|
integer xx_sfluxstartdate1 |
520 |
|
|
integer xx_sfluxstartdate2 |
521 |
|
|
integer xx_tauustartdate1 |
522 |
|
|
integer xx_tauustartdate2 |
523 |
|
|
integer xx_tauvstartdate1 |
524 |
|
|
integer xx_tauvstartdate2 |
525 |
|
|
integer xx_atempstartdate1 |
526 |
|
|
integer xx_atempstartdate2 |
527 |
|
|
integer xx_aqhstartdate1 |
528 |
|
|
integer xx_aqhstartdate2 |
529 |
|
|
integer xx_uwindstartdate1 |
530 |
|
|
integer xx_uwindstartdate2 |
531 |
|
|
integer xx_vwindstartdate1 |
532 |
|
|
integer xx_vwindstartdate2 |
533 |
|
|
integer xx_obcsnstartdate1 |
534 |
|
|
integer xx_obcsnstartdate2 |
535 |
|
|
integer xx_obcssstartdate1 |
536 |
|
|
integer xx_obcssstartdate2 |
537 |
|
|
integer xx_obcswstartdate1 |
538 |
|
|
integer xx_obcswstartdate2 |
539 |
|
|
integer xx_obcsestartdate1 |
540 |
|
|
integer xx_obcsestartdate2 |
541 |
|
|
|
542 |
|
|
integer xx_hfluxstartdate(4) |
543 |
|
|
integer xx_sfluxstartdate(4) |
544 |
|
|
integer xx_tauustartdate(4) |
545 |
|
|
integer xx_tauvstartdate(4) |
546 |
|
|
integer xx_atempstartdate(4) |
547 |
|
|
integer xx_aqhstartdate(4) |
548 |
|
|
integer xx_uwindstartdate(4) |
549 |
|
|
integer xx_vwindstartdate(4) |
550 |
|
|
integer xx_obcsnstartdate(4) |
551 |
|
|
integer xx_obcssstartdate(4) |
552 |
|
|
integer xx_obcswstartdate(4) |
553 |
|
|
integer xx_obcsestartdate(4) |
554 |
|
|
|
555 |
|
|
character*( 80) fname_theta(2) |
556 |
|
|
character*( 80) fname_salt(2) |
557 |
|
|
character*( 80) fname_hflux(2) |
558 |
|
|
character*( 80) fname_sflux(2) |
559 |
|
|
character*( 80) fname_tauu(2) |
560 |
|
|
character*( 80) fname_tauv(2) |
561 |
|
|
character*( 80) fname_atemp(2) |
562 |
|
|
character*( 80) fname_aqh(2) |
563 |
|
|
character*( 80) fname_uwind(2) |
564 |
|
|
character*( 80) fname_vwind(2) |
565 |
|
|
character*( 80) fname_obcsn(2) |
566 |
|
|
character*( 80) fname_obcss(2) |
567 |
|
|
character*( 80) fname_obcsw(2) |
568 |
|
|
character*( 80) fname_obcse(2) |
569 |
|
|
character*( 80) fname_diffkr(2) |
570 |
|
|
character*( 80) fname_kapgm(2) |
571 |
|
|
character*( 80) fname_tr1(2) |
572 |
|
|
character*( 80) fname_sst(2) |
573 |
|
|
character*( 80) fname_sss(2) |
574 |
|
|
character*( 80) fname_hfacc(2) |
575 |
|
|
character*( 80) fname_efluxy(2) |
576 |
|
|
character*( 80) fname_efluxp(2) |
577 |
|
|
character*( 80) fname_bottomdrag(2) |
578 |
|
|
|
579 |
|
|
c ================================================================== |
580 |
|
|
c END OF HEADER CONTROLVARS |
581 |
|
|
c ================================================================== |
582 |
|
|
|
583 |
|
|
|