1 |
C $Header: /u/gcmpack/MITgcm/pkg/ctrl/ctrl.h,v 1.49 2009/10/14 20:09:40 heimbach Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
|
5 |
c ================================================================== |
6 |
c HEADER CONTROLVARS |
7 |
c ================================================================== |
8 |
c |
9 |
c o Control variables of the ECCO state estimation tool. |
10 |
c |
11 |
c Depending on the specific problem to be studied users will have to |
12 |
c modify this header file. |
13 |
c |
14 |
c started: Christian Eckert eckert@mit.edu 30-Jun-1999 |
15 |
c |
16 |
c changed: Christian Eckert eckert@mit.edu |
17 |
c |
18 |
c |
19 |
c ================================================================== |
20 |
c HEADER CONTROLVARS |
21 |
c ================================================================== |
22 |
c |
23 |
c nwet[c/s/w]tile - Number of wet points in a tile for center (c), |
24 |
c south (s), and western (w) mask, resp. . |
25 |
|
26 |
integer dimgen2d |
27 |
integer dimgen3d |
28 |
parameter ( dimgen2d = 1, dimgen3d = 0 ) |
29 |
|
30 |
integer maxcvars |
31 |
#if (defined (CTRL_SET_OLD_MAXCVARS_30)) |
32 |
parameter ( maxcvars = 30 ) |
33 |
#elif (defined (CTRL_SET_OLD_MAXCVARS_40)) |
34 |
parameter ( maxcvars = 40 ) |
35 |
#else |
36 |
parameter ( maxcvars = 60 ) |
37 |
#endif |
38 |
|
39 |
cph ctrlprec will be set to 32 for ECCO to reduce I/O |
40 |
cph but jeopardizes some gradient checks, so should be |
41 |
cph set to 64 by default. |
42 |
cph Need to put this in namelist at some point! |
43 |
integer ctrlprec |
44 |
#ifdef CTRL_SET_PREC_32 |
45 |
parameter ( ctrlprec = 32 ) |
46 |
#else |
47 |
parameter ( ctrlprec = 64 ) |
48 |
#endif |
49 |
|
50 |
#ifdef ALLOW_ADMTLM |
51 |
integer admtlmrec |
52 |
parameter( admtlmrec = Nx*Ny*(4*Nr+1) ) |
53 |
common / controlvars_admtlm_r / |
54 |
& cbuffGlobal |
55 |
_RL cbuffGlobal( admtlmrec ) |
56 |
#endif |
57 |
|
58 |
common /controlparams_r/ |
59 |
& delZexp, |
60 |
& forcingPrecond |
61 |
|
62 |
_RL delZexp |
63 |
_RL forcingPrecond |
64 |
|
65 |
common /controlvars_l / |
66 |
& doInitXX, |
67 |
& doAdmTlm, |
68 |
& doPackDiag, |
69 |
& doZscaleUnpack, |
70 |
& doZscalePack, |
71 |
& doMainUnpack, |
72 |
& doMainPack, |
73 |
& doSinglePrecTapelev, |
74 |
& doAdmtlmBypassAD |
75 |
|
76 |
logical doInitXX |
77 |
logical doAdmTlm |
78 |
logical doPackDiag |
79 |
logical doZscaleUnpack |
80 |
logical doZscalePack |
81 |
logical doMainUnpack |
82 |
logical doMainPack |
83 |
logical doSinglePrecTapelev |
84 |
logical doAdmtlmBypassAD |
85 |
|
86 |
common /controlvars_i/ |
87 |
& nvartype, |
88 |
& nvarlength, |
89 |
& ncvarindex, |
90 |
& ncvarrecs, |
91 |
& ncvarrecstart, |
92 |
& ncvarrecsend, |
93 |
& ncvarxmax, |
94 |
& ncvarymax, |
95 |
& ncvarnrmax, |
96 |
& nwetctile, |
97 |
& nwetstile, |
98 |
& nwetwtile, |
99 |
& nwetvtile, |
100 |
& nwetcglobal, |
101 |
& nwetsglobal, |
102 |
& nwetwglobal, |
103 |
& nwetvglobal, |
104 |
& nbuffglobal |
105 |
integer nvartype |
106 |
integer nvarlength |
107 |
integer ncvarindex ( maxcvars ) |
108 |
integer ncvarrecs ( maxcvars ) |
109 |
integer ncvarrecstart ( maxcvars ) |
110 |
integer ncvarrecsend ( maxcvars ) |
111 |
integer ncvarxmax ( maxcvars ) |
112 |
integer ncvarymax ( maxcvars ) |
113 |
integer ncvarnrmax ( maxcvars ) |
114 |
integer nwetctile ( nsx,nsy,nr ) |
115 |
integer nwetstile ( nsx,nsy,nr ) |
116 |
integer nwetwtile ( nsx,nsy,nr ) |
117 |
integer nwetvtile ( nsx,nsy,nr ) |
118 |
integer nwetcglobal ( nr ) |
119 |
integer nwetsglobal ( nr ) |
120 |
integer nwetwglobal ( nr ) |
121 |
integer nwetvglobal ( nr ) |
122 |
integer nbuffglobal |
123 |
|
124 |
#ifdef ALLOW_OBCSN_CONTROL |
125 |
common /controlvars_i_obcsn/ |
126 |
& nwetobcsn, |
127 |
& nwetobcsnglo |
128 |
integer nwetobcsn ( nsx,nsy,nr,nobcs ) |
129 |
integer nwetobcsnglo ( nr,nobcs ) |
130 |
#endif |
131 |
#ifdef ALLOW_OBCSS_CONTROL |
132 |
common /controlvars_i_obcss/ |
133 |
& nwetobcss, |
134 |
& nwetobcssglo |
135 |
integer nwetobcss ( nsx,nsy,nr,nobcs ) |
136 |
integer nwetobcssglo ( nr,nobcs ) |
137 |
#endif |
138 |
#ifdef ALLOW_OBCSW_CONTROL |
139 |
common /controlvars_i_obcsw/ |
140 |
& nwetobcsw, |
141 |
& nwetobcswglo |
142 |
integer nwetobcsw ( nsx,nsy,nr,nobcs ) |
143 |
integer nwetobcswglo ( nr,nobcs ) |
144 |
#endif |
145 |
#ifdef ALLOW_OBCSE_CONTROL |
146 |
common /controlvars_i_obcse/ |
147 |
& nwetobcse, |
148 |
& nwetobcseglo |
149 |
integer nwetobcse ( nsx,nsy,nr,nobcs ) |
150 |
integer nwetobcseglo ( nr,nobcs ) |
151 |
#endif |
152 |
|
153 |
common /controlvars_c/ |
154 |
& ncvargrd |
155 |
& , yadprefix |
156 |
character*(1) ncvargrd(maxcvars) |
157 |
character*(2) yadprefix |
158 |
|
159 |
common /controlvec_header_i/ |
160 |
& filenvartype, |
161 |
& filenvarlength, |
162 |
& fileOptimCycle, |
163 |
& filencbuffindex, |
164 |
& fileIg, |
165 |
& fileJg, |
166 |
& fileI, |
167 |
& fileJ, |
168 |
& filensx, |
169 |
& filensy, |
170 |
& filek, |
171 |
& filenWetcGlobal, |
172 |
& filenWetsGlobal, |
173 |
& filenWetwGlobal, |
174 |
& filenWetvGlobal, |
175 |
& filencvarindex, |
176 |
& filencvarrecs, |
177 |
& filencvarxmax, |
178 |
& filencvarymax, |
179 |
& filencvarnrmax |
180 |
integer filenvartype |
181 |
integer filenvarlength |
182 |
integer fileOptimCycle |
183 |
integer filencbuffindex |
184 |
integer fileIg |
185 |
integer fileJg |
186 |
integer fileI |
187 |
integer fileJ |
188 |
integer filensx |
189 |
integer filensy |
190 |
integer filek |
191 |
integer filenWetcGlobal(nr) |
192 |
integer filenWetsGlobal(nr) |
193 |
integer filenWetwGlobal(nr) |
194 |
integer filenWetvGlobal(nr) |
195 |
integer filencvarindex(maxcvars) |
196 |
integer filencvarrecs(maxcvars) |
197 |
integer filencvarxmax(maxcvars) |
198 |
integer filencvarymax(maxcvars) |
199 |
integer filencvarnrmax(maxcvars) |
200 |
|
201 |
common /controlvec_header_r/ |
202 |
& filefc |
203 |
_RL filefc |
204 |
|
205 |
common /controlvec_header_c/ |
206 |
& fileYctrlid, |
207 |
& filencvargrd |
208 |
character*(10) fileYctrlid |
209 |
character*( 1) filencvargrd(maxcvars) |
210 |
|
211 |
c Define unit weight as a placeholder |
212 |
common /ctrl_weights_unit_r/ |
213 |
& wunit, |
214 |
& wareaunit |
215 |
_RL wunit (nr,nsx,nsy) |
216 |
_RL wareaunit (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
217 |
|
218 |
#ifndef ALLOW_ECCO |
219 |
common /ctrl_weights_atmos_r/ |
220 |
& whflux, |
221 |
& wsflux, |
222 |
& wtauu, |
223 |
& wtauv, |
224 |
& watemp, |
225 |
& waqh, |
226 |
& wprecip, |
227 |
& wswflux, |
228 |
& wswdown, |
229 |
& wuwind, |
230 |
& wvwind, |
231 |
& wlwflux, |
232 |
& wlwdown, |
233 |
& wevap, |
234 |
& wsnowprecip, |
235 |
& wapressure, |
236 |
& wrunoff, |
237 |
& wsst, |
238 |
& wsss, |
239 |
& wbp |
240 |
_RL whflux (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
241 |
_RL wsflux (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
242 |
_RL wtauu (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
243 |
_RL wtauv (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
244 |
_RL watemp (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
245 |
_RL waqh (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
246 |
_RL wprecip (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
247 |
_RL wswflux (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
248 |
_RL wswdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
249 |
_RL wuwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
250 |
_RL wvwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
251 |
_RL wlwflux (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
252 |
_RL wlwdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
253 |
_RL wevap (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
254 |
_RL wsnowprecip (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
255 |
_RL wapressure(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
256 |
_RL wrunoff (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
257 |
_RL wsst (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
258 |
_RL wsss (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
259 |
_RL wbp (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
260 |
#endif |
261 |
|
262 |
c Control variables: |
263 |
c ================== |
264 |
c |
265 |
c xx_theta - control vector temperature part. |
266 |
c xx_salt - control vector salt part. |
267 |
c xx_hflux - control vector surface heat flux part. |
268 |
c xx_sflux - control vector surface salt flux part. |
269 |
c xx_tauu - control vector zonal wind stress part. |
270 |
c xx_tauv - control vector meridional wind stress part. |
271 |
cph( |
272 |
c xx_... are to be replaced by tmpfld2d/3d throughout the code; |
273 |
c control variables are written to / read from active files |
274 |
c TAMC sees xx_..._dummy |
275 |
|
276 |
common /controlvars_r/ |
277 |
& tmpfld2d |
278 |
& , tmpfld3d |
279 |
_RL tmpfld2d |
280 |
& (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
281 |
_RL tmpfld3d |
282 |
& (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
283 |
|
284 |
#ifdef ALLOW_AUTODIFF_OPENAD |
285 |
common /controlvars_r_openad/ |
286 |
& xx_theta |
287 |
& , xx_salt |
288 |
& , xx_uvel |
289 |
& , xx_vvel |
290 |
& , xx_etan |
291 |
# ifdef ALLOW_DIFFKR_CONTROL |
292 |
& , xx_diffkr |
293 |
# endif |
294 |
# ifdef ALLOW_KAPGM_CONTROL |
295 |
& , xx_kapgm |
296 |
# endif |
297 |
_RL xx_theta(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
298 |
_RL xx_salt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
299 |
_RL xx_uvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
300 |
_RL xx_vvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
301 |
_RL xx_etan(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
302 |
# ifdef ALLOW_DIFFKR_CONTROL |
303 |
_RL xx_diffkr(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
304 |
# endif |
305 |
# ifdef ALLOW_KAPGM_CONTROL |
306 |
_RL xx_kapgm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
307 |
# endif |
308 |
#endif |
309 |
|
310 |
|
311 |
cgg This caused a lot of confusion. |
312 |
#ifdef ALLOW_OBCS_CONTROL |
313 |
common /controlvars_r_obcs/ |
314 |
& tmpfldxz |
315 |
& , tmpfldxz2 |
316 |
& , tmpfldyz |
317 |
& , tmpfldyz2 |
318 |
|
319 |
_RL tmpfldxz (1-olx:snx+olx,nr,nsx,nsy) |
320 |
_RL tmpfldxz2 (1-olx:snx+olx,nr,nsx,nsy) |
321 |
_RL tmpfldyz (1-oly:sny+oly,nr,nsx,nsy) |
322 |
_RL tmpfldyz2 (1-oly:sny+oly,nr,nsx,nsy) |
323 |
#endif |
324 |
|
325 |
c Auxiliary storage arrays for the control variables: |
326 |
c =================================================== |
327 |
c |
328 |
c xx_hflux0 - heat flux record before current date. |
329 |
c xx_hflux1 - heat flux record after current date |
330 |
c xx_sflux0 - salt flux record before current date. |
331 |
c xx_sflux1 - salt flux record after current date. |
332 |
c xx_tauu0 - zonal wind stress record before current date. |
333 |
c xx_tauu1 - zonal wind stress record after current date. |
334 |
c xx_tauv0 - meridional wind stress record before current date. |
335 |
c xx_tauv1 - meridional wind stress record after current date. |
336 |
|
337 |
#if (defined (ALLOW_HFLUX_CONTROL) || (defined (ALLOW_AUTODIFF_OPENAD) && defined (ALLOW_HFLUX0_CONTROL))) |
338 |
common /controlaux_hflux_r/ |
339 |
& xx_hflux0, |
340 |
& xx_hflux1 |
341 |
#elif (defined (ALLOW_ATEMP_CONTROL)) |
342 |
common /controlaux_atemp_r/ |
343 |
& xx_atemp0, |
344 |
& xx_atemp1 |
345 |
#endif |
346 |
|
347 |
#if (defined (ALLOW_SFLUX_CONTROL) || (defined (ALLOW_AUTODIFF_OPENAD) && defined (ALLOW_SFLUX0_CONTROL))) |
348 |
common /controlaux_swflux_r/ |
349 |
& xx_sflux0, |
350 |
& xx_sflux1 |
351 |
#elif (defined (ALLOW_AQH_CONTROL)) |
352 |
common /controlaux_aqh_r/ |
353 |
& xx_aqh0, |
354 |
& xx_aqh1 |
355 |
#endif |
356 |
|
357 |
#if (defined (ALLOW_USTRESS_CONTROL) || (defined (ALLOW_AUTODIFF_OPENAD) && defined (ALLOW_TAUU0_CONTROL))) |
358 |
common /controlaux_ustress_r/ |
359 |
& xx_tauu0, |
360 |
& xx_tauu1 |
361 |
#elif (defined (ALLOW_UWIND_CONTROL)) |
362 |
common /controlaux_uwind_r/ |
363 |
& xx_uwind0, |
364 |
& xx_uwind1 |
365 |
#endif |
366 |
|
367 |
#if (defined (ALLOW_VSTRESS_CONTROL) || (defined (ALLOW_AUTODIFF_OPENAD) && defined (ALLOW_TAUV0_CONTROL))) |
368 |
common /controlaux_vstress_r/ |
369 |
& xx_tauv0, |
370 |
& xx_tauv1 |
371 |
#elif (defined (ALLOW_VWIND_CONTROL)) |
372 |
common /controlaux_vwind_r/ |
373 |
& xx_vwind0, |
374 |
& xx_vwind1 |
375 |
#endif |
376 |
|
377 |
#ifdef ALLOW_OBCS_CONTROL |
378 |
#if (defined (ALLOW_OBCSN_CONTROL)) |
379 |
common /controlaux_obcsn_r/ |
380 |
& xx_obcsn0, |
381 |
& xx_obcsn1 |
382 |
#endif |
383 |
|
384 |
#if (defined (ALLOW_OBCSS_CONTROL)) |
385 |
common /controlaux_obcss_r/ |
386 |
& xx_obcss0, |
387 |
& xx_obcss1 |
388 |
#endif |
389 |
#if (defined (ALLOW_OBCSW_CONTROL)) |
390 |
common /controlaux_obcsw_r/ |
391 |
& xx_obcsw0, |
392 |
& xx_obcsw1 |
393 |
#endif |
394 |
#if (defined (ALLOW_OBCSE_CONTROL)) |
395 |
common /controlaux_obcse_r/ |
396 |
& xx_obcse0, |
397 |
& xx_obcse1 |
398 |
#endif |
399 |
#endif |
400 |
|
401 |
#if (defined (ALLOW_PRECIP_CONTROL)) |
402 |
common /controlaux_precip_r/ |
403 |
& xx_precip0, |
404 |
& xx_precip1 |
405 |
#endif |
406 |
|
407 |
#if (defined (ALLOW_SWFLUX_CONTROL)) |
408 |
common /controlaux_swflux_r/ |
409 |
& xx_swflux0, |
410 |
& xx_swflux1 |
411 |
#endif |
412 |
|
413 |
#if (defined (ALLOW_SWDOWN_CONTROL)) |
414 |
common /controlaux_swdown_r/ |
415 |
& xx_swdown0, |
416 |
& xx_swdown1 |
417 |
#endif |
418 |
|
419 |
#if (defined (ALLOW_LWFLUX_CONTROL)) |
420 |
common /controlaux_lwflux_r/ |
421 |
& xx_lwflux0, |
422 |
& xx_lwflux1 |
423 |
#endif |
424 |
|
425 |
#if (defined (ALLOW_LWDOWN_CONTROL)) |
426 |
common /controlaux_lwdown_r/ |
427 |
& xx_lwdown0, |
428 |
& xx_lwdown1 |
429 |
#endif |
430 |
|
431 |
#if (defined (ALLOW_EVAP_CONTROL)) |
432 |
common /controlaux_evap_r/ |
433 |
& xx_evap0, |
434 |
& xx_evap1 |
435 |
#endif |
436 |
|
437 |
#if (defined (ALLOW_SNOWPRECIP_CONTROL)) |
438 |
common /controlaux_snowprecip_r/ |
439 |
& xx_snowprecip0, |
440 |
& xx_snowprecip1 |
441 |
#endif |
442 |
|
443 |
#if (defined (ALLOW_APRESSURE_CONTROL)) |
444 |
common /controlaux_apressure_r/ |
445 |
& xx_apressure0, |
446 |
& xx_apressure1 |
447 |
#endif |
448 |
|
449 |
#if (defined (ALLOW_RUNOFF_CONTROL)) |
450 |
common /controlaux_runoff_r/ |
451 |
& xx_runoff0, |
452 |
& xx_runoff1 |
453 |
#endif |
454 |
|
455 |
#if (defined (ALLOW_SST_CONTROL)) |
456 |
common /controlaux_sst_r/ |
457 |
& xx_sst0, |
458 |
& xx_sst1 |
459 |
#endif |
460 |
#if (defined (ALLOW_SSS_CONTROL)) |
461 |
common /controlaux_sss_r/ |
462 |
& xx_sss0, |
463 |
& xx_sss1 |
464 |
#endif |
465 |
|
466 |
#if (defined (ALLOW_HFLUX_CONTROL) || (defined (ALLOW_AUTODIFF_OPENAD) && defined (ALLOW_HFLUX0_CONTROL))) |
467 |
_RL xx_hflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
468 |
_RL xx_hflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
469 |
#elif (defined (ALLOW_ATEMP_CONTROL)) |
470 |
_RL xx_atemp0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
471 |
_RL xx_atemp1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
472 |
#endif |
473 |
#if (defined (ALLOW_SFLUX_CONTROL) || (defined (ALLOW_AUTODIFF_OPENAD) && defined (ALLOW_SFLUX0_CONTROL))) |
474 |
_RL xx_sflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
475 |
_RL xx_sflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
476 |
#elif (defined (ALLOW_AQH_CONTROL)) |
477 |
_RL xx_aqh0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
478 |
_RL xx_aqh1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
479 |
#endif |
480 |
#if (defined (ALLOW_USTRESS_CONTROL) || (defined (ALLOW_AUTODIFF_OPENAD) && defined (ALLOW_TAUU0_CONTROL))) |
481 |
_RL xx_tauu0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
482 |
_RL xx_tauu1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
483 |
#elif (defined (ALLOW_UWIND_CONTROL)) |
484 |
_RL xx_uwind0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
485 |
_RL xx_uwind1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
486 |
#endif |
487 |
#if (defined (ALLOW_VSTRESS_CONTROL) || (defined (ALLOW_AUTODIFF_OPENAD) && defined (ALLOW_TAUV0_CONTROL))) |
488 |
_RL xx_tauv0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
489 |
_RL xx_tauv1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
490 |
#elif (defined (ALLOW_VWIND_CONTROL)) |
491 |
_RL xx_vwind0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
492 |
_RL xx_vwind1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
493 |
#endif |
494 |
#if (defined (ALLOW_PRECIP_CONTROL)) |
495 |
_RL xx_precip0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
496 |
_RL xx_precip1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
497 |
#endif |
498 |
#if (defined (ALLOW_SWFLUX_CONTROL)) |
499 |
_RL xx_swflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
500 |
_RL xx_swflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
501 |
#endif |
502 |
#if (defined (ALLOW_SWDOWN_CONTROL)) |
503 |
_RL xx_swdown0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
504 |
_RL xx_swdown1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
505 |
#endif |
506 |
#if (defined (ALLOW_LWFLUX_CONTROL)) |
507 |
_RL xx_lwflux0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
508 |
_RL xx_lwflux1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
509 |
#endif |
510 |
#if (defined (ALLOW_LWDOWN_CONTROL)) |
511 |
_RL xx_lwdown0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
512 |
_RL xx_lwdown1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
513 |
#endif |
514 |
#if (defined (ALLOW_EVAP_CONTROL)) |
515 |
_RL xx_evap0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
516 |
_RL xx_evap1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
517 |
#endif |
518 |
#if (defined (ALLOW_SNOWPRECIP_CONTROL)) |
519 |
_RL xx_snowprecip0 |
520 |
& (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
521 |
_RL xx_snowprecip1 |
522 |
& (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
523 |
#endif |
524 |
#if (defined (ALLOW_APRESSURE_CONTROL)) |
525 |
_RL xx_apressure0 |
526 |
& (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
527 |
_RL xx_apressure1 |
528 |
& (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
529 |
#endif |
530 |
#if (defined (ALLOW_RUNOFF_CONTROL)) |
531 |
_RL xx_runoff0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
532 |
_RL xx_runoff1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
533 |
#endif |
534 |
#if (defined (ALLOW_SST_CONTROL)) |
535 |
_RL xx_sst0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
536 |
_RL xx_sst1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
537 |
#endif |
538 |
#if (defined (ALLOW_SSS_CONTROL)) |
539 |
_RL xx_sss0 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
540 |
_RL xx_sss1 (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
541 |
#endif |
542 |
|
543 |
#ifdef ALLOW_OBCSN_CONTROL |
544 |
_RL xx_obcsn0 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs) |
545 |
_RL xx_obcsn1 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs) |
546 |
#endif |
547 |
#ifdef ALLOW_OBCSS_CONTROL |
548 |
_RL xx_obcss0 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs) |
549 |
_RL xx_obcss1 (1-Olx:sNx+Olx,Nr,nSx,nSy,nobcs) |
550 |
#endif |
551 |
#ifdef ALLOW_OBCSW_CONTROL |
552 |
_RL xx_obcsw0 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs) |
553 |
_RL xx_obcsw1 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs) |
554 |
#endif |
555 |
#ifdef ALLOW_OBCSE_CONTROL |
556 |
_RL xx_obcse0 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs) |
557 |
_RL xx_obcse1 (1-Oly:sNy+Oly,Nr,nSx,nSy,nobcs) |
558 |
#endif |
559 |
|
560 |
|
561 |
c Files where the control variables are stored: |
562 |
c ============================================= |
563 |
c |
564 |
c xx_theta_file - control vector temperature part. |
565 |
c xx_salt_file - control vector salinity part. |
566 |
c xx_hflux_file - control vector surface heat flux file. |
567 |
c xx_sflux_file - control vector surface salt flux file. |
568 |
c xx_tauu_file - control vector zonal wind stress file. |
569 |
c xx_tauv_file - control vector meridional wind stress file. |
570 |
c xx_obcsn_file - control vector Uvel at boundary |
571 |
c xx_obcss_file - control vector Vvel at boundary |
572 |
c xx_obcsw_file - control vector temp. at boundary |
573 |
c xx_obcse_file - control vector salin. at boundary |
574 |
common /controlfiles_c/ |
575 |
& xx_theta_file |
576 |
& , xx_salt_file |
577 |
& , xx_hflux_file |
578 |
& , xx_sflux_file |
579 |
& , xx_tauu_file |
580 |
& , xx_tauv_file |
581 |
& , xx_atemp_file |
582 |
& , xx_aqh_file |
583 |
& , xx_precip_file |
584 |
& , xx_swflux_file |
585 |
& , xx_swdown_file |
586 |
& , xx_lwflux_file |
587 |
& , xx_lwdown_file |
588 |
& , xx_evap_file |
589 |
& , xx_snowprecip_file |
590 |
& , xx_apressure_file |
591 |
& , xx_runoff_file |
592 |
& , xx_uwind_file |
593 |
& , xx_vwind_file |
594 |
& , xx_obcsn_file |
595 |
& , xx_obcss_file |
596 |
& , xx_obcsw_file |
597 |
& , xx_obcse_file |
598 |
& , xx_diffkr_file |
599 |
& , xx_kapgm_file |
600 |
& , xx_kapredi_file |
601 |
& , xx_tr1_file |
602 |
& , xx_sst_file |
603 |
& , xx_sss_file |
604 |
& , xx_depth_file |
605 |
& , xx_efluxy_file |
606 |
& , xx_efluxp_file |
607 |
& , xx_bottomdrag_file |
608 |
& , xx_edtaux_file |
609 |
& , xx_edtauy_file |
610 |
& , xx_uvel_file |
611 |
& , xx_vvel_file |
612 |
& , xx_etan_file |
613 |
& , xx_relaxsst_file |
614 |
& , xx_relaxsss_file |
615 |
& , xx_theta_ini_fin_file |
616 |
& , xx_salt_ini_fin_file |
617 |
& , xx_siarea_file |
618 |
& , xx_siheff_file |
619 |
& , xx_sihsnow_file |
620 |
& , xx_gen2d_file |
621 |
& , xx_gen3d_file |
622 |
cHFLUXM_CONTROL |
623 |
& , xx_hfluxm_file |
624 |
cHFLUXM_CONTROL |
625 |
|
626 |
character*(MAX_LEN_FNAM) xx_theta_file |
627 |
character*(MAX_LEN_FNAM) xx_salt_file |
628 |
character*(MAX_LEN_FNAM) xx_hflux_file |
629 |
character*(MAX_LEN_FNAM) xx_sflux_file |
630 |
character*(MAX_LEN_FNAM) xx_tauu_file |
631 |
character*(MAX_LEN_FNAM) xx_tauv_file |
632 |
character*(MAX_LEN_FNAM) xx_atemp_file |
633 |
character*(MAX_LEN_FNAM) xx_aqh_file |
634 |
character*(MAX_LEN_FNAM) xx_precip_file |
635 |
character*(MAX_LEN_FNAM) xx_swflux_file |
636 |
character*(MAX_LEN_FNAM) xx_swdown_file |
637 |
character*(MAX_LEN_FNAM) xx_lwflux_file |
638 |
character*(MAX_LEN_FNAM) xx_lwdown_file |
639 |
character*(MAX_LEN_FNAM) xx_evap_file |
640 |
character*(MAX_LEN_FNAM) xx_snowprecip_file |
641 |
character*(MAX_LEN_FNAM) xx_apressure_file |
642 |
character*(MAX_LEN_FNAM) xx_runoff_file |
643 |
character*(MAX_LEN_FNAM) xx_uwind_file |
644 |
character*(MAX_LEN_FNAM) xx_vwind_file |
645 |
character*(MAX_LEN_FNAM) xx_obcsn_file |
646 |
character*(MAX_LEN_FNAM) xx_obcss_file |
647 |
character*(MAX_LEN_FNAM) xx_obcsw_file |
648 |
character*(MAX_LEN_FNAM) xx_obcse_file |
649 |
character*(MAX_LEN_FNAM) xx_diffkr_file |
650 |
character*(MAX_LEN_FNAM) xx_kapgm_file |
651 |
character*(MAX_LEN_FNAM) xx_kapredi_file |
652 |
character*(MAX_LEN_FNAM) xx_tr1_file |
653 |
character*(MAX_LEN_FNAM) xx_sst_file |
654 |
character*(MAX_LEN_FNAM) xx_sss_file |
655 |
character*(MAX_LEN_FNAM) xx_depth_file |
656 |
character*(MAX_LEN_FNAM) xx_efluxy_file |
657 |
character*(MAX_LEN_FNAM) xx_efluxp_file |
658 |
character*(MAX_LEN_FNAM) xx_bottomdrag_file |
659 |
character*(MAX_LEN_FNAM) xx_edtaux_file |
660 |
character*(MAX_LEN_FNAM) xx_edtauy_file |
661 |
character*(MAX_LEN_FNAM) xx_uvel_file |
662 |
character*(MAX_LEN_FNAM) xx_vvel_file |
663 |
character*(MAX_LEN_FNAM) xx_etan_file |
664 |
character*(MAX_LEN_FNAM) xx_relaxsst_file |
665 |
character*(MAX_LEN_FNAM) xx_relaxsss_file |
666 |
character*(MAX_LEN_FNAM) xx_theta_ini_fin_file |
667 |
character*(MAX_LEN_FNAM) xx_salt_ini_fin_file |
668 |
character*(MAX_LEN_FNAM) xx_siarea_file |
669 |
character*(MAX_LEN_FNAM) xx_siheff_file |
670 |
character*(MAX_LEN_FNAM) xx_sihsnow_file |
671 |
character*(MAX_LEN_FNAM) xx_gen2d_file |
672 |
character*(MAX_LEN_FNAM) xx_gen3d_file |
673 |
cHFLUXM_CONTROL |
674 |
character*(MAX_LEN_FNAM) xx_hfluxm_file |
675 |
cHFLUXM_CONTROL |
676 |
|
677 |
common /packnames_c/ |
678 |
& yadmark, |
679 |
& ctrlname, |
680 |
& costname, |
681 |
& scalname, |
682 |
& maskname, |
683 |
& metaname, |
684 |
& yctrlid, |
685 |
& yctrlposunpack, |
686 |
& yctrlpospack |
687 |
character*2 yadmark |
688 |
character*9 ctrlname |
689 |
character*9 costname |
690 |
character*9 scalname |
691 |
character*9 maskname |
692 |
character*9 metaname |
693 |
character*10 yctrlid |
694 |
character*4 yctrlposunpack |
695 |
character*4 yctrlpospack |
696 |
|
697 |
c Calendar information for the control variables: |
698 |
c =============================================== |
699 |
c |
700 |
c xx_hfluxperiod - sampling interval for the heat flux control part. |
701 |
c xx_sfluxperiod - sampling interval for the salt flux control part. |
702 |
c xx_tauuperiod - sampling interval for the zonal wind |
703 |
c stress control part. |
704 |
c xx_tauvperiod - sampling interval for the meridional wind |
705 |
c stress control part. |
706 |
c xx_obcsuperiod - sampling interval |
707 |
c xx_obcsvperiod - sampling interval |
708 |
c xx_obcstperiod - sampling interval |
709 |
c xx_obcssperiod - sampling interval |
710 |
|
711 |
common /controltimes_r/ |
712 |
& xx_hfluxperiod |
713 |
& , xx_sfluxperiod |
714 |
& , xx_tauuperiod |
715 |
& , xx_tauvperiod |
716 |
& , xx_atempperiod |
717 |
& , xx_aqhperiod |
718 |
& , xx_precipperiod |
719 |
& , xx_swfluxperiod |
720 |
& , xx_swdownperiod |
721 |
& , xx_lwfluxperiod |
722 |
& , xx_lwdownperiod |
723 |
& , xx_evapperiod |
724 |
& , xx_snowprecipperiod |
725 |
& , xx_apressureperiod |
726 |
& , xx_runoffperiod |
727 |
& , xx_uwindperiod |
728 |
& , xx_vwindperiod |
729 |
& , xx_sstperiod |
730 |
& , xx_sssperiod |
731 |
& , xx_obcsnperiod |
732 |
& , xx_obcssperiod |
733 |
& , xx_obcswperiod |
734 |
& , xx_obcseperiod |
735 |
_RL xx_hfluxperiod |
736 |
_RL xx_sfluxperiod |
737 |
_RL xx_tauuperiod |
738 |
_RL xx_tauvperiod |
739 |
_RL xx_atempperiod |
740 |
_RL xx_aqhperiod |
741 |
_RL xx_precipperiod |
742 |
_RL xx_swfluxperiod |
743 |
_RL xx_swdownperiod |
744 |
_RL xx_lwfluxperiod |
745 |
_RL xx_lwdownperiod |
746 |
_RL xx_evapperiod |
747 |
_RL xx_snowprecipperiod |
748 |
_RL xx_apressureperiod |
749 |
_RL xx_runoffperiod |
750 |
_RL xx_uwindperiod |
751 |
_RL xx_vwindperiod |
752 |
_RL xx_sstperiod |
753 |
_RL xx_sssperiod |
754 |
_RL xx_obcsnperiod |
755 |
_RL xx_obcssperiod |
756 |
_RL xx_obcswperiod |
757 |
_RL xx_obcseperiod |
758 |
|
759 |
common /ctrl_param_trend_removal/ |
760 |
& xx_hflux_remo_intercept, xx_hflux_remo_slope, |
761 |
& xx_sflux_remo_intercept, xx_sflux_remo_slope, |
762 |
& xx_tauu_remo_intercept, xx_tauu_remo_slope, |
763 |
& xx_tauv_remo_intercept, xx_tauv_remo_slope, |
764 |
& xx_atemp_remo_intercept, xx_atemp_remo_slope, |
765 |
& xx_aqh_remo_intercept, xx_aqh_remo_slope, |
766 |
& xx_precip_remo_intercept, xx_precip_remo_slope, |
767 |
& xx_swflux_remo_intercept, xx_swflux_remo_slope, |
768 |
& xx_swdown_remo_intercept, xx_swdown_remo_slope, |
769 |
& xx_lwflux_remo_intercept, xx_lwflux_remo_slope, |
770 |
& xx_lwdown_remo_intercept, xx_lwdown_remo_slope, |
771 |
& xx_evap_remo_intercept, xx_evap_remo_slope, |
772 |
& xx_snowprecip_remo_intercept, |
773 |
& xx_snowprecip_remo_slope, |
774 |
& xx_apressure_remo_intercept, |
775 |
& xx_apressure_remo_slope, |
776 |
& xx_runoff_remo_intercept, xx_runoff_remo_slope, |
777 |
& xx_uwind_remo_intercept, xx_uwind_remo_slope, |
778 |
& xx_vwind_remo_intercept, xx_vwind_remo_slope |
779 |
|
780 |
_RL xx_hflux_remo_intercept, xx_hflux_remo_slope |
781 |
_RL xx_sflux_remo_intercept, xx_sflux_remo_slope |
782 |
_RL xx_tauu_remo_intercept, xx_tauu_remo_slope |
783 |
_RL xx_tauv_remo_intercept, xx_tauv_remo_slope |
784 |
_RL xx_atemp_remo_intercept, xx_atemp_remo_slope |
785 |
_RL xx_aqh_remo_intercept, xx_aqh_remo_slope |
786 |
_RL xx_precip_remo_intercept, xx_precip_remo_slope |
787 |
_RL xx_swflux_remo_intercept, xx_swflux_remo_slope |
788 |
_RL xx_swdown_remo_intercept, xx_swdown_remo_slope |
789 |
_RL xx_lwflux_remo_intercept, xx_lwflux_remo_slope |
790 |
_RL xx_lwdown_remo_intercept, xx_lwdown_remo_slope |
791 |
_RL xx_evap_remo_intercept, xx_evap_remo_slope |
792 |
_RL xx_snowprecip_remo_intercept |
793 |
_RL xx_snowprecip_remo_slope |
794 |
_RL xx_apressure_remo_intercept |
795 |
_RL xx_apressure_remo_slope |
796 |
_RL xx_runoff_remo_intercept, xx_runoff_remo_slope |
797 |
_RL xx_uwind_remo_intercept, xx_uwind_remo_slope |
798 |
_RL xx_vwind_remo_intercept, xx_vwind_remo_slope |
799 |
|
800 |
|
801 |
c xx_hfluxstartdate - start date for the heat flux control part. |
802 |
c xx_sfluxstartdate - start date for the salt flux control part. |
803 |
c xx_tauustartdate - start date for the zonal wind stress |
804 |
c control part. |
805 |
c xx_tauvstartdate - start date for the meridional wind stress |
806 |
c control part. |
807 |
|
808 |
common /controltimes_i/ |
809 |
& xx_hfluxstartdate1 |
810 |
& , xx_hfluxstartdate2 |
811 |
& , xx_sfluxstartdate1 |
812 |
& , xx_sfluxstartdate2 |
813 |
& , xx_tauustartdate1 |
814 |
& , xx_tauustartdate2 |
815 |
& , xx_tauvstartdate1 |
816 |
& , xx_tauvstartdate2 |
817 |
& , xx_atempstartdate1 |
818 |
& , xx_atempstartdate2 |
819 |
& , xx_aqhstartdate1 |
820 |
& , xx_aqhstartdate2 |
821 |
& , xx_precipstartdate1 |
822 |
& , xx_precipstartdate2 |
823 |
& , xx_swfluxstartdate1 |
824 |
& , xx_swfluxstartdate2 |
825 |
& , xx_swdownstartdate1 |
826 |
& , xx_swdownstartdate2 |
827 |
& , xx_snowprecipstartdate1 |
828 |
& , xx_snowprecipstartdate2 |
829 |
& , xx_lwfluxstartdate1 |
830 |
& , xx_lwfluxstartdate2 |
831 |
& , xx_lwdownstartdate1 |
832 |
& , xx_lwdownstartdate2 |
833 |
& , xx_evapstartdate1 |
834 |
& , xx_evapstartdate2 |
835 |
& , xx_apressurestartdate1 |
836 |
& , xx_apressurestartdate2 |
837 |
& , xx_runoffstartdate1 |
838 |
& , xx_runoffstartdate2 |
839 |
& , xx_uwindstartdate1 |
840 |
& , xx_uwindstartdate2 |
841 |
& , xx_vwindstartdate1 |
842 |
& , xx_vwindstartdate2 |
843 |
& , xx_sststartdate1 |
844 |
& , xx_sststartdate2 |
845 |
& , xx_sssstartdate1 |
846 |
& , xx_sssstartdate2 |
847 |
& , xx_hfluxstartdate |
848 |
& , xx_sfluxstartdate |
849 |
& , xx_tauustartdate |
850 |
& , xx_tauvstartdate |
851 |
& , xx_atempstartdate |
852 |
& , xx_aqhstartdate |
853 |
& , xx_precipstartdate |
854 |
& , xx_swfluxstartdate |
855 |
& , xx_swdownstartdate |
856 |
& , xx_uwindstartdate |
857 |
& , xx_snowprecipstartdate |
858 |
& , xx_lwfluxstartdate |
859 |
& , xx_lwdownstartdate |
860 |
& , xx_evapstartdate |
861 |
& , xx_apressurestartdate |
862 |
& , xx_runoffstartdate |
863 |
& , xx_vwindstartdate |
864 |
& , xx_sststartdate |
865 |
& , xx_sssstartdate |
866 |
& , xx_obcsnstartdate1 |
867 |
& , xx_obcsnstartdate2 |
868 |
& , xx_obcssstartdate1 |
869 |
& , xx_obcssstartdate2 |
870 |
& , xx_obcswstartdate1 |
871 |
& , xx_obcswstartdate2 |
872 |
& , xx_obcsestartdate1 |
873 |
& , xx_obcsestartdate2 |
874 |
& , xx_obcsnstartdate |
875 |
& , xx_obcssstartdate |
876 |
& , xx_obcswstartdate |
877 |
& , xx_obcsestartdate |
878 |
integer xx_hfluxstartdate1 |
879 |
integer xx_hfluxstartdate2 |
880 |
integer xx_sfluxstartdate1 |
881 |
integer xx_sfluxstartdate2 |
882 |
integer xx_tauustartdate1 |
883 |
integer xx_tauustartdate2 |
884 |
integer xx_tauvstartdate1 |
885 |
integer xx_tauvstartdate2 |
886 |
integer xx_atempstartdate1 |
887 |
integer xx_atempstartdate2 |
888 |
integer xx_aqhstartdate1 |
889 |
integer xx_aqhstartdate2 |
890 |
integer xx_precipstartdate1 |
891 |
integer xx_precipstartdate2 |
892 |
integer xx_swfluxstartdate1 |
893 |
integer xx_swfluxstartdate2 |
894 |
integer xx_swdownstartdate1 |
895 |
integer xx_swdownstartdate2 |
896 |
integer xx_snowprecipstartdate1 |
897 |
integer xx_snowprecipstartdate2 |
898 |
integer xx_lwfluxstartdate1 |
899 |
integer xx_lwfluxstartdate2 |
900 |
integer xx_lwdownstartdate1 |
901 |
integer xx_lwdownstartdate2 |
902 |
integer xx_evapstartdate1 |
903 |
integer xx_evapstartdate2 |
904 |
integer xx_apressurestartdate1 |
905 |
integer xx_apressurestartdate2 |
906 |
integer xx_runoffstartdate1 |
907 |
integer xx_runoffstartdate2 |
908 |
integer xx_uwindstartdate1 |
909 |
integer xx_uwindstartdate2 |
910 |
integer xx_vwindstartdate1 |
911 |
integer xx_vwindstartdate2 |
912 |
integer xx_sststartdate1 |
913 |
integer xx_sststartdate2 |
914 |
integer xx_sssstartdate1 |
915 |
integer xx_sssstartdate2 |
916 |
integer xx_obcsnstartdate1 |
917 |
integer xx_obcsnstartdate2 |
918 |
integer xx_obcssstartdate1 |
919 |
integer xx_obcssstartdate2 |
920 |
integer xx_obcswstartdate1 |
921 |
integer xx_obcswstartdate2 |
922 |
integer xx_obcsestartdate1 |
923 |
integer xx_obcsestartdate2 |
924 |
|
925 |
integer xx_hfluxstartdate(4) |
926 |
integer xx_sfluxstartdate(4) |
927 |
integer xx_tauustartdate(4) |
928 |
integer xx_tauvstartdate(4) |
929 |
integer xx_atempstartdate(4) |
930 |
integer xx_aqhstartdate(4) |
931 |
integer xx_precipstartdate(4) |
932 |
integer xx_swfluxstartdate(4) |
933 |
integer xx_swdownstartdate(4) |
934 |
integer xx_snowprecipstartdate(4) |
935 |
integer xx_lwfluxstartdate(4) |
936 |
integer xx_lwdownstartdate(4) |
937 |
integer xx_evapstartdate(4) |
938 |
integer xx_apressurestartdate(4) |
939 |
integer xx_runoffstartdate(4) |
940 |
integer xx_uwindstartdate(4) |
941 |
integer xx_vwindstartdate(4) |
942 |
integer xx_sststartdate(4) |
943 |
integer xx_sssstartdate(4) |
944 |
integer xx_obcsnstartdate(4) |
945 |
integer xx_obcssstartdate(4) |
946 |
integer xx_obcswstartdate(4) |
947 |
integer xx_obcsestartdate(4) |
948 |
|
949 |
character*( 80) fname_theta(2) |
950 |
character*( 80) fname_salt(2) |
951 |
character*( 80) fname_hflux(2) |
952 |
character*( 80) fname_sflux(2) |
953 |
character*( 80) fname_tauu(2) |
954 |
character*( 80) fname_tauv(2) |
955 |
character*( 80) fname_atemp(2) |
956 |
character*( 80) fname_aqh(2) |
957 |
character*( 80) fname_precip(2) |
958 |
character*( 80) fname_swflux(2) |
959 |
character*( 80) fname_swdown(2) |
960 |
character*( 80) fname_snowprecip(2) |
961 |
character*( 80) fname_lwflux(2) |
962 |
character*( 80) fname_lwdown(2) |
963 |
character*( 80) fname_evap(2) |
964 |
character*( 80) fname_apressure(2) |
965 |
character*( 80) fname_runoff(2) |
966 |
character*( 80) fname_uwind(2) |
967 |
character*( 80) fname_vwind(2) |
968 |
character*( 80) fname_obcsn(2) |
969 |
character*( 80) fname_obcss(2) |
970 |
character*( 80) fname_obcsw(2) |
971 |
character*( 80) fname_obcse(2) |
972 |
character*( 80) fname_diffkr(2) |
973 |
character*( 80) fname_kapgm(2) |
974 |
character*( 80) fname_kapredi(2) |
975 |
character*( 80) fname_tr1(2) |
976 |
character*( 80) fname_sst(2) |
977 |
character*( 80) fname_sss(2) |
978 |
character*( 80) fname_depth(2) |
979 |
character*( 80) fname_hfacc(2) |
980 |
character*( 80) fname_efluxy(2) |
981 |
character*( 80) fname_efluxp(2) |
982 |
character*( 80) fname_bottomdrag(2) |
983 |
character*( 80) fname_edtaux(2) |
984 |
character*( 80) fname_edtauy(2) |
985 |
character*( 80) fname_uvel(2) |
986 |
character*( 80) fname_vvel(2) |
987 |
character*( 80) fname_etan(2) |
988 |
character*( 80) fname_relaxsst(2) |
989 |
character*( 80) fname_relaxsss(2) |
990 |
character*( 80) fname_siarea(2) |
991 |
character*( 80) fname_siheff(2) |
992 |
character*( 80) fname_sihsnow(2) |
993 |
character*( 80) fname_gen2d(2) |
994 |
character*( 80) fname_gen3d(2) |
995 |
cHFLUXM_CONTROL |
996 |
character*( 80) fname_hfluxm(2) |
997 |
cHFLUXM_CONTROL |
998 |
|
999 |
#ifdef ALLOW_ADMTLM |
1000 |
integer maxm, maxn |
1001 |
parameter ( maxm = Nx*Ny*(4*Nr+1), maxn=Nx*Ny*(4*Nr+1) ) |
1002 |
|
1003 |
common /admtlm_i/ nveccount |
1004 |
integer nveccount |
1005 |
|
1006 |
common /admtlm_r/ phtmpadmtlm |
1007 |
double precision phtmpadmtlm(maxn) |
1008 |
#endif |
1009 |
|
1010 |
|
1011 |
c ================================================================== |
1012 |
c END OF HEADER CONTROLVARS |
1013 |
c ================================================================== |
1014 |
|
1015 |
|