/[MITgcm]/MITgcm_contrib/dcarroll/highres_darwin/code/EXF_PARAM.h
ViewVC logotype

Contents of /MITgcm_contrib/dcarroll/highres_darwin/code/EXF_PARAM.h

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


Revision 1.1 - (show annotations) (download)
Sun Sep 22 21:23:46 2019 UTC (5 years, 10 months ago) by dcarroll
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
Initial check in of high resolution Darwin simulation code

1 C $Header: /u/gcmpack/MITgcm_contrib/ecco_darwin/v4_llc270/code_darwin/EXF_PARAM.h,v 1.1 2017/12/01 19:02:11 dimitri Exp $
2 C $Name: $
3 C
4 C ==================================================================
5 C HEADER EXF_PARAM.h
6 C ==================================================================
7 C
8 C o Header file for the surface flux data. Used by the external
9 C forcing package.
10 C
11 C started: Christian Eckert eckert@mit.edu 30-Jun-1999
12 C
13 C changed: Christian Eckert eckert@mit.edu 14-Jan-2000
14 C - Restructured the original version in order to have a
15 C better interface to the MITgcmUV.
16 C
17 C Christian Eckert eckert@mit.edu 12-Feb-2000
18 C - Changed some variables names (package prefix: exf_)
19 C
20 C Patrick Heimbach, heimbach@mit.edu 04-May-2000
21 C - included exf_iprec to enable easy
22 C switch between 32bit/64 bit data format
23 C
24 C Patrick Heimbach, heimbach@mit.edu 01-May-2001
25 C - added obcs parameters
26 C
27 C mods for pkg/seaice: menemenlis@jpl.nasa.gov 20-Dec-2002
28 C
29 C ==================================================================
30 C HEADER EXF_PARAM.h
31 C ==================================================================
32
33 C Repeat period for forcing fields (s)
34 C For example, for yearly repeat period: repeatPeriod=31556925.
35 C Note: this option is not yet coded for sub-daily
36 C forcing and for leap years but this limitation can be
37 C circumvented by using a 4-year (1461-day) repeatPeriod
38 _RL repeatPeriod
39
40 C useExfCheckRange :: check range of input/output field values
41 C useExfYearlyFields :: when set, automatically add extension
42 C _YEAR to input file names; the yearly files need
43 C to contain all the records that pertain to
44 C a particular year, including day 1, hour zero
45 C twoDigitYear :: when set, use 2-digit year extension YR
46 C instead of _YEAR for useExfYearlyFields
47 C useOBCSYearlyFields :: when reading Open-Boundary values, assume yearly
48 C climatology (def=false)
49 C readStressOnAgrid :: read wind-streess located on model-grid, A-grid position
50 C rotateStressOnAgrid :: rotate from zonal/meridional components to U/V components
51 C readStressOnCgrid :: read wind-streess located on model-grid, C-grid position
52 C stressIsOnCgrid :: ustress & vstress are positioned on Arakawa C-grid
53 C useStabilityFct_overIce :: over sea-ice, compute turbulent transfert
54 C coeff. function of stability (like over
55 C open ocean) rather than using fixed Coeff.
56 C useAtmWind :: use wind vector (uwind/vwind) to compute
57 C the wind stress (ustress/vstress)
58 C useRelativeWind :: Subtract U/VVEL or U/VICE from U/VWIND before
59 C computing U/VSTRESS
60 C noNegativeEvap :: prevent negative evap (= sea-surface condensation)
61 C useExfZenAlbedo :: ocean albedo (direct part) may vary
62 C with zenith angle (see select_ZenAlbedo)
63 C select_ZenAlbedo :: switch to different methods to compute albedo (direct part)
64 C :: 0 just use exf_albedo
65 C :: 1 use daily mean albedo from exf_zenithangle_table.F
66 C :: 2 use daily mean albedo computed as in pkg/aim_v23
67 C :: 3 use daily variable albedo
68 C useExfZenIncoming :: compute incoming solar radiation along with zenith angle
69 C exf_debugLev :: select message printing to STDOUT (e.g., when read rec)
70 C exf_monFreq :: Monitor Frequency (s) for EXF
71
72 LOGICAL useExfCheckRange
73 LOGICAL useExfYearlyFields, twoDigitYear
74 LOGICAL useOBCSYearlyFields
75 LOGICAL readStressOnAgrid
76 LOGICAL rotateStressOnAgrid
77 LOGICAL readStressOnCgrid
78 LOGICAL stressIsOnCgrid
79 LOGICAL useStabilityFct_overIce
80 LOGICAL useRelativeWind
81 LOGICAL noNegativeEvap
82 LOGICAL useAtmWind
83
84 LOGICAL useExfZenAlbedo
85 INTEGER select_ZenAlbedo
86 LOGICAL useExfZenIncoming
87
88 INTEGER exf_debugLev
89 _RL exf_monFreq
90
91 C Drag coefficient scaling factor
92 _RL exf_scal_BulkCdn
93
94 C Maximum absolute windstress, used to reset unreastically high
95 C data values
96 _RL windstressmax
97
98 C freezing temperature is the minimum temperature allowed, used
99 C to reset climatological temperatures fields where they have
100 C values below climtempfreeze
101 _RL climtempfreeze
102
103 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
104
105 C Description of contents of surface boundary condition files
106 C Note: fieldperiod=0 means input file is one time-constant field
107 C fieldperiod=-12 means input file contains 12 monthly means
108 C- for each field:
109 C {fld}file :: file-name for this field
110 C {fld}startdate1 :: field starting date (YYYYMMDD)
111 C {fld}startdate1 :: field starting date (YYYYMMDD)
112 C {fld}startdate2 :: field starting date (HHMMSS)
113 C {fld}StartTime :: corresponding starting time (in sec) for this field
114 C {fld}period :: time period (in sec) between 2 reccords
115 C {fld}RepCycle :: time duration of a repeating cycle
116 C {fld}const :: uniform default field value
117
118 INTEGER hfluxstartdate1
119 INTEGER hfluxstartdate2
120 _RL hfluxStartTime
121 _RL hfluxperiod
122 _RL hfluxRepCycle
123 _RL hfluxconst
124 _RL hflux_exfremo_intercept
125 _RL hflux_exfremo_slope
126 character*1 hfluxmask
127
128 INTEGER atempstartdate1
129 INTEGER atempstartdate2
130 _RL atempStartTime
131 _RL atempperiod
132 _RL atempRepCycle
133 _RL atempconst
134 _RL atemp_exfremo_intercept
135 _RL atemp_exfremo_slope
136 character*1 atempmask
137
138 INTEGER aqhstartdate1
139 INTEGER aqhstartdate2
140 _RL aqhStartTime
141 _RL aqhperiod
142 _RL aqhRepCycle
143 _RL aqhconst
144 _RL aqh_exfremo_intercept
145 _RL aqh_exfremo_slope
146 character*1 aqhmask
147
148 INTEGER hs_startdate1
149 INTEGER hs_startdate2
150 _RL hs_StartTime
151 _RL hs_period
152 _RL hs_RepCycle
153 _RL hs_const
154 _RL hs_exfremo_intercept
155 _RL hs_exfremo_slope
156 character*1 hs_mask
157
158 INTEGER hl_startdate1
159 INTEGER hl_startdate2
160 _RL hl_StartTime
161 _RL hl_period
162 _RL hl_RepCycle
163 _RL hl_const
164 _RL hl_exfremo_intercept
165 _RL hl_exfremo_slope
166 character*1 hl_mask
167
168 INTEGER sfluxstartdate1
169 INTEGER sfluxstartdate2
170 _RL sfluxStartTime
171 _RL sfluxperiod
172 _RL sfluxRepCycle
173 _RL sfluxconst
174 _RL sflux_exfremo_intercept
175 _RL sflux_exfremo_slope
176 character*1 sfluxmask
177
178 INTEGER evapstartdate1
179 INTEGER evapstartdate2
180 _RL evapStartTime
181 _RL evapperiod
182 _RL evapRepCycle
183 _RL evapconst
184 _RL evap_exfremo_intercept
185 _RL evap_exfremo_slope
186 character*1 evapmask
187
188 INTEGER precipstartdate1
189 INTEGER precipstartdate2
190 _RL precipStartTime
191 _RL precipperiod
192 _RL precipRepCycle
193 _RL precipconst
194 _RL precip_exfremo_intercept
195 _RL precip_exfremo_slope
196 character*1 precipmask
197
198 INTEGER snowprecipstartdate1
199 INTEGER snowprecipstartdate2
200 _RL snowprecipStartTime
201 _RL snowprecipperiod
202 _RL snowprecipRepCycle
203 _RL snowprecipconst
204 _RL snowprecip_exfremo_intercept
205 _RL snowprecip_exfremo_slope
206 character*1 snowprecipmask
207
208 INTEGER runoffstartdate1
209 INTEGER runoffstartdate2
210 _RL runoffStartTime
211 _RL runoffperiod
212 _RL runoffRepCycle
213 _RL runoffconst
214 _RL runoff_exfremo_intercept
215 _RL runoff_exfremo_slope
216 character*1 runoffmask
217
218 _RL runoftempconst
219 _RL runoftemp_exfremo_intercept
220 _RL runoftemp_exfremo_slope
221
222 INTEGER saltflxstartdate1
223 INTEGER saltflxstartdate2
224 _RL saltflxStartTime
225 _RL saltflxperiod
226 _RL saltflxRepCycle
227 _RL saltflxconst
228 _RL saltflx_exfremo_intercept
229 _RL saltflx_exfremo_slope
230 character*1 saltflxmask
231
232 INTEGER ustressstartdate1
233 INTEGER ustressstartdate2
234 _RL ustressStartTime
235 _RL ustressperiod
236 _RL ustressRepCycle
237 _RL ustressconst
238 _RL ustress_exfremo_intercept
239 _RL ustress_exfremo_slope
240 character*1 ustressmask
241
242 INTEGER vstressstartdate1
243 INTEGER vstressstartdate2
244 _RL vstressStartTime
245 _RL vstressperiod
246 _RL vstressRepCycle
247 _RL vstressconst
248 _RL vstress_exfremo_intercept
249 _RL vstress_exfremo_slope
250 character*1 vstressmask
251
252 INTEGER uwindstartdate1
253 INTEGER uwindstartdate2
254 _RL uwindStartTime
255 _RL uwindperiod
256 _RL uwindRepCycle
257 _RL uwindconst
258 _RL uwind_exfremo_intercept
259 _RL uwind_exfremo_slope
260 character*1 uwindmask
261
262 INTEGER vwindstartdate1
263 INTEGER vwindstartdate2
264 _RL vwindStartTime
265 _RL vwindperiod
266 _RL vwindRepCycle
267 _RL vwindconst
268 _RL vwind_exfremo_intercept
269 _RL vwind_exfremo_slope
270 character*1 vwindmask
271
272 INTEGER wspeedstartdate1
273 INTEGER wspeedstartdate2
274 _RL wspeedStartTime
275 _RL wspeedperiod
276 _RL wspeedRepCycle
277 _RL wspeedconst
278 _RL wspeed_exfremo_intercept
279 _RL wspeed_exfremo_slope
280 character*1 wspeedmask
281
282 INTEGER swfluxstartdate1
283 INTEGER swfluxstartdate2
284 _RL swfluxStartTime
285 _RL swfluxperiod
286 _RL swfluxRepCycle
287 _RL swfluxconst
288 _RL swflux_exfremo_intercept
289 _RL swflux_exfremo_slope
290 character*1 swfluxmask
291
292 INTEGER lwfluxstartdate1
293 INTEGER lwfluxstartdate2
294 _RL lwfluxStartTime
295 _RL lwfluxperiod
296 _RL lwfluxRepCycle
297 _RL lwfluxconst
298 _RL lwflux_exfremo_intercept
299 _RL lwflux_exfremo_slope
300 character*1 lwfluxmask
301
302 INTEGER swdownstartdate1
303 INTEGER swdownstartdate2
304 _RL swdownStartTime
305 _RL swdownperiod
306 _RL swdownRepCycle
307 _RL swdownconst
308 _RL swdown_exfremo_intercept
309 _RL swdown_exfremo_slope
310 character*1 swdownmask
311
312 INTEGER lwdownstartdate1
313 INTEGER lwdownstartdate2
314 _RL lwdownStartTime
315 _RL lwdownperiod
316 _RL lwdownRepCycle
317 _RL lwdownconst
318 _RL lwdown_exfremo_intercept
319 _RL lwdown_exfremo_slope
320 character*1 lwdownmask
321
322 INTEGER apressurestartdate1
323 INTEGER apressurestartdate2
324 _RL apressureStartTime
325 _RL apressureperiod
326 _RL apressureRepCycle
327 _RL apressureconst
328 _RL apressure_exfremo_intercept
329 _RL apressure_exfremo_slope
330 character*1 apressuremask
331
332 INTEGER tidePotStartdate1
333 INTEGER tidePotStartdate2
334 _RL tidePotStartTime
335 _RL tidePotPeriod
336 _RL tidePotRepCycle
337 _RL tidePotConst
338 _RL tidePot_exfremo_intercept
339 _RL tidePot_exfremo_slope
340 CHARACTER*1 tidePotMask
341
342 INTEGER areamaskstartdate1
343 INTEGER areamaskstartdate2
344 _RL areamaskStartTime
345 _RL areamaskperiod
346 _RL areamaskRepCycle
347 _RL areamaskTauRelax
348 _RL areamaskconst
349 _RL areamask_exfremo_intercept
350 _RL areamask_exfremo_slope
351 character*1 areamaskmask
352
353 C Calendar data.
354 INTEGER climsststartdate1
355 INTEGER climsststartdate2
356 _RL climsstStartTime
357 _RL climsstperiod
358 _RL climsstRepCycle
359 _RL climsstTauRelax
360 _RL climsstconst
361 _RL climsst_exfremo_intercept
362 _RL climsst_exfremo_slope
363 character*1 climsstmask
364
365 INTEGER climsssstartdate1
366 INTEGER climsssstartdate2
367 _RL climsssStartTime
368 _RL climsssperiod
369 _RL climsssRepCycle
370 _RL climsssTauRelax
371 _RL climsssconst
372 _RL climsss_exfremo_intercept
373 _RL climsss_exfremo_slope
374 character*1 climsssmask
375
376 INTEGER climustrstartdate1
377 INTEGER climustrstartdate2
378 _RL climustrStartTime
379 _RL climustrperiod
380 _RL climustrRepCycle
381 _RL climustrTauRelax
382 _RL climustrconst
383 _RL climustr_exfremo_intercept
384 _RL climustr_exfremo_slope
385 character*1 climustrmask
386
387 INTEGER climvstrstartdate1
388 INTEGER climvstrstartdate2
389 _RL climvstrStartTime
390 _RL climvstrperiod
391 _RL climvstrRepCycle
392 _RL climvstrTauRelax
393 _RL climvstrconst
394 _RL climvstr_exfremo_intercept
395 _RL climvstr_exfremo_slope
396 character*1 climvstrmask
397
398 C- The following variables are used in conjunction with pkg/obcs
399 C to describe S/T/U/V open boundary condition files
400 INTEGER obcsNstartdate1
401 INTEGER obcsNstartdate2
402 INTEGER obcsSstartdate1
403 INTEGER obcsSstartdate2
404 INTEGER obcsEstartdate1
405 INTEGER obcsEstartdate2
406 INTEGER obcsWstartdate1
407 INTEGER obcsWstartdate2
408 _RL obcsNstartTime
409 _RL obcsNperiod
410 _RL obcsNrepCycle
411 _RL obcsSstartTime
412 _RL obcsSperiod
413 _RL obcsSrepCycle
414 _RL obcsEstartTime
415 _RL obcsEperiod
416 _RL obcsErepCycle
417 _RL obcsWstartTime
418 _RL obcsWperiod
419 _RL obcsWrepCycle
420
421 C- The following variables are used in conjunction with pkg/obcs
422 C and pkg/seaice to describe area, heff, hsnow, hsalt, uice,
423 C and vice open boundary condition files
424 INTEGER siobNstartdate1
425 INTEGER siobNstartdate2
426 INTEGER siobSstartdate1
427 INTEGER siobSstartdate2
428 INTEGER siobEstartdate1
429 INTEGER siobEstartdate2
430 INTEGER siobWstartdate1
431 INTEGER siobWstartdate2
432 _RL siobNstartTime
433 _RL siobNperiod
434 _RL siobNrepCycle
435 _RL siobSstartTime
436 _RL siobSperiod
437 _RL siobSrepCycle
438 _RL siobEstartTime
439 _RL siobEperiod
440 _RL siobErepCycle
441 _RL siobWstartTime
442 _RL siobWperiod
443 _RL siobWrepCycle
444
445 INTEGER apco2startdate1
446 INTEGER apco2startdate2
447 _RL apco2StartTime
448 _RL apco2period
449 _RL apco2RepCycle
450 _RL apco2const
451 _RL apco2_exfremo_intercept
452 _RL apco2_exfremo_slope
453 character*1 apco2mask
454
455 C- File names.
456 character*(128) hfluxfile
457 character*(128) atempfile
458 character*(128) aqhfile
459 character*(128) hs_file
460 character*(128) hl_file
461 character*(128) evapfile
462 character*(128) precipfile
463 character*(128) snowprecipfile
464 character*(128) sfluxfile
465 character*(128) runofffile
466 character*(128) runoftempfile
467 character*(128) saltflxfile
468 character*(128) ustressfile
469 character*(128) vstressfile
470 character*(128) uwindfile
471 character*(128) vwindfile
472 character*(128) wspeedfile
473 character*(128) swfluxfile
474 character*(128) lwfluxfile
475 character*(128) swdownfile
476 character*(128) lwdownfile
477 character*(128) apressurefile
478 character*(128) tidePotFile
479 character*(128) areamaskfile
480 character*(128) climsstfile
481 character*(128) climsssfile
482 character*(128) climustrfile
483 character*(128) climvstrfile
484 character*(128) apco2file
485
486 COMMON /EXF_PARAM_L/
487 & useExfCheckRange,
488 & useExfYearlyFields, twoDigitYear,
489 & useOBCSYearlyFields,
490 & useExfZenAlbedo, useExfZenIncoming,
491 & readStressOnAgrid, readStressOnCgrid,
492 & stressIsOnCgrid, useStabilityFct_overIce,
493 & useAtmWind, useRelativeWind, noNegativeEvap,
494 & rotateStressOnAgrid
495
496 COMMON /EXF_PARAM_I/
497 & select_ZenAlbedo, exf_debugLev,
498 & hfluxstartdate1, hfluxstartdate2,
499 & atempstartdate1, atempstartdate2,
500 & aqhstartdate1, aqhstartdate2,
501 & hs_startdate1, hs_startdate2,
502 & hl_startdate1, hl_startdate2,
503 & sfluxstartdate1, sfluxstartdate2,
504 & evapstartdate1, evapstartdate2,
505 & runoffstartdate1, runoffstartdate2,
506 & saltflxstartdate1, saltflxstartdate2,
507 & precipstartdate1, precipstartdate2,
508 & snowprecipstartdate1, snowprecipstartdate2,
509 & ustressstartdate1, ustressstartdate2,
510 & vstressstartdate1, vstressstartdate2,
511 & uwindstartdate1, uwindstartdate2,
512 & vwindstartdate1, vwindstartdate2,
513 & wspeedstartdate1, wspeedstartdate2,
514 & swfluxstartdate1, swfluxstartdate2,
515 & lwfluxstartdate1, lwfluxstartdate2,
516 & swdownstartdate1, swdownstartdate2,
517 & lwdownstartdate1, lwdownstartdate2,
518 & apressurestartdate1, apressurestartdate2,
519 & tidePotStartdate1, tidePotStartdate2,
520 & areamaskstartdate1, areamaskstartdate2,
521 & obcsNstartdate1, obcsNstartdate2,
522 & obcsSstartdate1, obcsSstartdate2,
523 & obcsEstartdate1, obcsEstartdate2,
524 & obcsWstartdate1, obcsWstartdate2,
525 & siobNstartdate1, siobNstartdate2,
526 & siobSstartdate1, siobSstartdate2,
527 & siobEstartdate1, siobEstartdate2,
528 & siobWstartdate1, siobWstartdate2,
529 & apco2startdate1, apco2startdate2
530
531 COMMON /EXF_PARAM_R/
532 & repeatPeriod, exf_monFreq,
533 & exf_scal_BulkCdn, windstressmax,
534 & hfluxconst, hfluxRepCycle,
535 & hfluxperiod, hfluxStartTime,
536 & atempconst, atempRepCycle,
537 & atempperiod, atempStartTime,
538 & aqhconst, aqhRepCycle,
539 & aqhperiod, aqhStartTime,
540 & hs_const, hs_RepCycle,
541 & hs_period, hs_StartTime,
542 & hl_const, hl_RepCycle,
543 & hl_period, hl_StartTime,
544 & sfluxconst, sfluxRepCycle,
545 & sfluxperiod, sfluxStartTime,
546 & evapconst, evapRepCycle,
547 & evapperiod, evapStartTime,
548 & precipconst, precipRepCycle,
549 & precipperiod, precipStartTime,
550 & snowprecipconst, snowprecipRepCycle,
551 & snowprecipperiod, snowprecipStartTime,
552 & runoffconst, runoffRepCycle,
553 & runoffperiod, runoffStartTime,
554 & runoftempconst,
555 & saltflxconst, saltflxRepCycle,
556 & saltflxperiod, saltflxStartTime,
557 & ustressconst, ustressRepCycle,
558 & ustressperiod, ustressStartTime,
559 & vstressconst, vstressRepCycle,
560 & vstressperiod, vstressStartTime,
561 & uwindconst, uwindRepCycle,
562 & uwindperiod, uwindStartTime,
563 & vwindconst, vwindRepCycle,
564 & vwindperiod, vwindStartTime,
565 & wspeedconst, wspeedRepCycle,
566 & wspeedperiod, wspeedStartTime,
567 & swfluxconst, swfluxRepCycle,
568 & swfluxperiod, swfluxStartTime,
569 & lwfluxconst, lwfluxRepCycle,
570 & lwfluxperiod, lwfluxStartTime,
571 & swdownconst, swdownRepCycle,
572 & swdownperiod, swdownStartTime,
573 & lwdownconst, lwdownRepCycle,
574 & lwdownperiod, lwdownStartTime,
575 & apressureconst, apressureRepCycle,
576 & apressureperiod, apressureStartTime,
577 & tidePotConst, tidePotRepCycle,
578 & tidePotPeriod, tidePotStartTime,
579 & areamaskconst, areamaskRepCycle,
580 & areamaskperiod, areamaskStartTime,
581 & obcsNrepCycle, obcsNperiod, obcsNstartTime,
582 & obcsSrepCycle, obcsSperiod, obcsSstartTime,
583 & obcsErepCycle, obcsEperiod, obcsEstartTime,
584 & obcsWrepCycle, obcsWperiod, obcsWstartTime,
585 & siobNrepCycle, siobNperiod, siobNstartTime,
586 & siobSrepCycle, siobSperiod, siobSstartTime,
587 & siobErepCycle, siobEperiod, siobEstartTime,
588 & siobWrepCycle, siobWperiod, siobWstartTime,
589 & apco2const, apco2RepCycle,
590 & apco2period, apco2StartTime
591
592 COMMON /EXF_PARAM_TREND_REMOVAL/
593 & hflux_exfremo_intercept,
594 & atemp_exfremo_intercept,
595 & aqh_exfremo_intercept,
596 & hs_exfremo_intercept,
597 & hl_exfremo_intercept,
598 & sflux_exfremo_intercept,
599 & evap_exfremo_intercept,
600 & precip_exfremo_intercept,
601 & snowprecip_exfremo_intercept,
602 & runoff_exfremo_intercept,
603 & runoftemp_exfremo_intercept,
604 & saltflx_exfremo_intercept,
605 & ustress_exfremo_intercept,
606 & vstress_exfremo_intercept,
607 & uwind_exfremo_intercept,
608 & vwind_exfremo_intercept,
609 & wspeed_exfremo_intercept,
610 & swflux_exfremo_intercept,
611 & lwflux_exfremo_intercept,
612 & swdown_exfremo_intercept,
613 & lwdown_exfremo_intercept,
614 & apressure_exfremo_intercept,
615 & tidePot_exfremo_intercept,
616 & areamask_exfremo_intercept,
617 & hflux_exfremo_slope,
618 & atemp_exfremo_slope,
619 & aqh_exfremo_slope,
620 & hs_exfremo_slope,
621 & hl_exfremo_slope,
622 & sflux_exfremo_slope,
623 & evap_exfremo_slope,
624 & precip_exfremo_slope,
625 & snowprecip_exfremo_slope,
626 & runoff_exfremo_slope,
627 & runoftemp_exfremo_slope,
628 & saltflx_exfremo_slope,
629 & ustress_exfremo_slope,
630 & vstress_exfremo_slope,
631 & uwind_exfremo_slope,
632 & vwind_exfremo_slope,
633 & wspeed_exfremo_slope,
634 & swflux_exfremo_slope,
635 & lwflux_exfremo_slope,
636 & swdown_exfremo_slope,
637 & lwdown_exfremo_slope,
638 & apressure_exfremo_slope,
639 & tidePot_exfremo_slope,
640 & areamask_exfremo_slope,
641 & apco2_exfremo_intercept,
642 & apco2_exfremo_slope
643
644 COMMON /EXF_PARAM_C/
645 & hfluxfile, hfluxmask,
646 & atempfile, atempmask,
647 & aqhfile, aqhmask,
648 & hs_file, hs_mask,
649 & hl_file, hl_mask,
650 & sfluxfile, sfluxmask,
651 & evapfile, evapmask,
652 & precipfile, precipmask,
653 & snowprecipfile,snowprecipmask,
654 & runofffile, runoffmask,
655 & runoftempfile,
656 & saltflxfile, saltflxmask,
657 & ustressfile, ustressmask,
658 & vstressfile, vstressmask,
659 & uwindfile, uwindmask,
660 & vwindfile, vwindmask,
661 & wspeedfile, wspeedmask,
662 & swfluxfile, swfluxmask,
663 & lwfluxfile, lwfluxmask,
664 & swdownfile, swdownmask,
665 & lwdownfile, lwdownmask,
666 & apressurefile, apressuremask,
667 & tidePotFile, tidePotMask,
668 & areamaskfile, areamaskmask,
669 & apco2file, apco2mask
670
671 COMMON /EXF_CLIM_I/
672 & climsststartdate1, climsststartdate2,
673 & climsssstartdate1, climsssstartdate2,
674 & climustrstartdate1, climustrstartdate2,
675 & climvstrstartdate1, climvstrstartdate2
676
677 COMMON /EXF_CLIM_C/
678 & climsstfile, climsstmask,
679 & climsssfile, climsssmask,
680 & climustrfile, climustrmask,
681 & climvstrfile, climvstrmask
682
683 COMMON /EXF_CLIM_R/
684 & climtempfreeze,
685 & climsstconst, climsstRepCycle,
686 & climsstperiod, climsstStartTime,
687 & climsssconst, climsssRepCycle,
688 & climsssperiod, climsssStartTime,
689 & climustrconst, climustrRepCycle,
690 & climustrperiod, climustrStartTime,
691 & climvstrconst, climvstrRepCycle,
692 & climvstrperiod, climvstrStartTime,
693 & climsstTauRelax, climsssTauRelax,
694 & climustrTauRelax, climvstrTauRelax,
695 & areamaskTauRelax,
696 & climsst_exfremo_intercept, climsst_exfremo_slope,
697 & climsss_exfremo_intercept, climsss_exfremo_slope,
698 & climustr_exfremo_intercept, climustr_exfremo_slope,
699 & climvstr_exfremo_intercept, climvstr_exfremo_slope,
700 & exf_inscal_climsst, exf_inscal_climsss,
701 & exf_inscal_climustr, exf_inscal_climvstr
702
703 C file precision and field type
704
705 COMMON /EXF_PARAM_TYPE/
706 & exf_iprec,
707 & exf_iprec_obcs
708
709 INTEGER exf_iprec
710 INTEGER exf_iprec_obcs
711
712 C- Scaling factors:
713 C exf_inscal_{fld} :: input scaling factors
714 C exf_offset_atemp :: input air temperature offset
715 C :: (for conversion from C to K, if needed)
716 C exf_outscale_{fld} :: output scaling factors
717
718 _RL exf_inscal_hflux
719 _RL exf_inscal_sflux
720 _RL exf_inscal_ustress
721 _RL exf_inscal_vstress
722 _RL exf_inscal_uwind
723 _RL exf_inscal_vwind
724 _RL exf_inscal_wspeed
725 _RL exf_inscal_swflux
726 _RL exf_inscal_lwflux
727 _RL exf_inscal_precip
728 _RL exf_inscal_snowprecip
729 c _RL exf_inscal_sst
730 c _RL exf_inscal_sss
731 _RL exf_inscal_atemp, exf_offset_atemp
732 _RL exf_inscal_aqh
733 _RL exf_inscal_hs
734 _RL exf_inscal_hl
735 _RL exf_inscal_evap
736 _RL exf_inscal_apressure
737 _RL exf_inscal_runoff
738 _RL exf_inscal_runoftemp
739 _RL exf_inscal_saltflx
740 _RL exf_inscal_swdown
741 _RL exf_inscal_lwdown
742 _RL exf_inscal_tidePot
743 _RL exf_inscal_areamask
744 _RL exf_inscal_climsst
745 _RL exf_inscal_climsss
746 _RL exf_inscal_climustr
747 _RL exf_inscal_climvstr
748 _RL exf_inscal_apco2
749
750 _RL exf_outscal_hflux
751 _RL exf_outscal_sflux
752 _RL exf_outscal_ustress
753 _RL exf_outscal_vstress
754 _RL exf_outscal_swflux
755 _RL exf_outscal_sst
756 _RL exf_outscal_sss
757 _RL exf_outscal_apressure
758 _RL exf_outscal_tidePot
759 _RL exf_outscal_areamask
760 _RL exf_outscal_apco2
761
762 COMMON /EXF_PARAM_SCAL/
763 & exf_inscal_hflux,
764 & exf_inscal_sflux,
765 & exf_inscal_ustress,
766 & exf_inscal_vstress,
767 & exf_inscal_uwind,
768 & exf_inscal_vwind,
769 & exf_inscal_wspeed,
770 & exf_inscal_swflux,
771 & exf_inscal_lwflux,
772 & exf_inscal_precip,
773 & exf_inscal_snowprecip,
774 c & exf_inscal_sst,
775 c & exf_inscal_sss,
776 & exf_inscal_atemp, exf_offset_atemp,
777 & exf_inscal_aqh,
778 & exf_inscal_hs,
779 & exf_inscal_hl,
780 & exf_inscal_evap,
781 & exf_inscal_apressure,
782 & exf_inscal_runoff,
783 & exf_inscal_runoftemp,
784 & exf_inscal_saltflx,
785 & exf_inscal_swdown,
786 & exf_inscal_lwdown,
787 & exf_inscal_tidePot,
788 & exf_inscal_areamask,
789 & exf_outscal_hflux,
790 & exf_outscal_sflux,
791 & exf_outscal_ustress,
792 & exf_outscal_vstress,
793 & exf_outscal_swflux,
794 & exf_outscal_sst,
795 & exf_outscal_sss,
796 & exf_outscal_apressure,
797 & exf_outscal_tidePot,
798 & exf_outscal_areamask,
799 & exf_inscal_apco2,
800 & exf_outscal_apco2
801
802 #ifndef USE_EXF_INTERPOLATION
803 C- Set dummy dimension to 1
804 INTEGER MAX_LAT_INC
805 PARAMETER(MAX_LAT_INC = 1)
806 #else /* USE_EXF_INTERPOLATION */
807 C- To read input data without dynamical allocation (INTERP_USE_DYNALLOC undef):
808 C Note: exf_interp_bufferSize has been moved to EXF_INTERP_SIZE.h
809 c INTEGER exf_interp_bufferSize
810 c PARAMETER( exf_interp_bufferSize = 140000 )
811
812 C-- For lat interpolation, arraysize currently set to 1279 max data values
813 C to accomodate ECMWF operational analysis
814 INTEGER MAX_LAT_INC
815 PARAMETER(MAX_LAT_INC = 1279)
816
817 C-- Interpolation parameters (for each input field):
818 C {inputField}_lon0 :: longitude of the 1rst point (South-East corner)
819 C {inputField}_lon_inc :: longitude increment (uniform)
820 C {inputField}_lat0 :: latitude of the 1rst point (South-East corner)
821 C {inputField}_lat_inc :: latitude increment (vector, fct of latitude only)
822 C {inputField}_nlon :: input filed 1rst dim, longitudinal direction
823 C {inputField}_nlat :: input filed 2nd dim, latitudinal direction
824 C {inputField}_interpMethod :: interpolation method: =0 : no interpolation ;
825 C :: =1,11,21 : bilinear ; =2,12,22 : bicubic ;
826 C :: =1,2 for tracer ; =11,12 for U ; =21,22 for V.
827 C- Global parameters (for all fields):
828 C exf_output_interp :: output directly interpolation result (before
829 C rescaling, rotation or time-interp)
830 C- Internal parameters, for 2 components vector field:
831 C uvInterp_stress :: interpolate wind-stress u & v components together
832 C uvInterp_wind :: interpolate wind u & v components together
833 C uvInterp_climstr :: interpolate clim stress u & v components together
834 _RL ustress_lon0, ustress_lon_inc
835 _RL ustress_lat0, ustress_lat_inc(MAX_LAT_INC)
836 INTEGER ustress_nlon, ustress_nlat, ustress_interpMethod
837 _RL vstress_lon0, vstress_lon_inc
838 _RL vstress_lat0, vstress_lat_inc(MAX_LAT_INC)
839 INTEGER vstress_nlon, vstress_nlat, vstress_interpMethod
840 _RL hflux_lon0, hflux_lon_inc
841 _RL hflux_lat0, hflux_lat_inc(MAX_LAT_INC)
842 INTEGER hflux_nlon, hflux_nlat, hflux_interpMethod
843 _RL sflux_lon0, sflux_lon_inc
844 _RL sflux_lat0, sflux_lat_inc(MAX_LAT_INC)
845 INTEGER sflux_nlon, sflux_nlat, sflux_interpMethod
846 _RL swflux_lon0, swflux_lon_inc
847 _RL swflux_lat0, swflux_lat_inc(MAX_LAT_INC)
848 INTEGER swflux_nlon, swflux_nlat, swflux_interpMethod
849 _RL runoff_lon0, runoff_lon_inc
850 _RL runoff_lat0, runoff_lat_inc(MAX_LAT_INC)
851 INTEGER runoff_nlon, runoff_nlat, runoff_interpMethod
852 _RL saltflx_lon0, saltflx_lon_inc
853 _RL saltflx_lat0, saltflx_lat_inc(MAX_LAT_INC)
854 INTEGER saltflx_nlon, saltflx_nlat, saltflx_interpMethod
855 _RL atemp_lon0, atemp_lon_inc
856 _RL atemp_lat0, atemp_lat_inc(MAX_LAT_INC)
857 INTEGER atemp_nlon, atemp_nlat, atemp_interpMethod
858 _RL aqh_lon0, aqh_lon_inc
859 _RL aqh_lat0, aqh_lat_inc(MAX_LAT_INC)
860 INTEGER aqh_nlon, aqh_nlat, aqh_interpMethod
861 _RL hs_lon0, hs_lon_inc
862 _RL hs_lat0, hs_lat_inc(MAX_LAT_INC)
863 INTEGER hs_nlon, hs_nlat, hs_interpMethod
864 _RL hl_lon0, hl_lon_inc
865 _RL hl_lat0, hl_lat_inc(MAX_LAT_INC)
866 INTEGER hl_nlon, hl_nlat, hl_interpMethod
867 _RL evap_lon0, evap_lon_inc
868 _RL evap_lat0, evap_lat_inc(MAX_LAT_INC)
869 INTEGER evap_nlon, evap_nlat, evap_interpMethod
870 _RL precip_lon0, precip_lon_inc
871 _RL precip_lat0, precip_lat_inc(MAX_LAT_INC)
872 INTEGER precip_nlon, precip_nlat, precip_interpMethod
873 _RL snowprecip_lon0, snowprecip_lon_inc
874 _RL snowprecip_lat0, snowprecip_lat_inc(MAX_LAT_INC)
875 INTEGER snowprecip_nlon, snowprecip_nlat, snowprecip_interpMethod
876 _RL uwind_lon0, uwind_lon_inc
877 _RL uwind_lat0, uwind_lat_inc(MAX_LAT_INC)
878 INTEGER uwind_nlon, uwind_nlat, uwind_interpMethod
879 _RL vwind_lon0, vwind_lon_inc
880 _RL vwind_lat0, vwind_lat_inc(MAX_LAT_INC)
881 INTEGER vwind_nlon, vwind_nlat, vwind_interpMethod
882 _RL wspeed_lon0, wspeed_lon_inc
883 _RL wspeed_lat0, wspeed_lat_inc(MAX_LAT_INC)
884 INTEGER wspeed_nlon, wspeed_nlat, wspeed_interpMethod
885 _RL lwflux_lon0, lwflux_lon_inc
886 _RL lwflux_lat0, lwflux_lat_inc(MAX_LAT_INC)
887 INTEGER lwflux_nlon, lwflux_nlat, lwflux_interpMethod
888 _RL swdown_lon0, swdown_lon_inc
889 _RL swdown_lat0, swdown_lat_inc(MAX_LAT_INC)
890 INTEGER swdown_nlon, swdown_nlat, swdown_interpMethod
891 _RL lwdown_lon0, lwdown_lon_inc
892 _RL lwdown_lat0, lwdown_lat_inc(MAX_LAT_INC)
893 INTEGER lwdown_nlon, lwdown_nlat, lwdown_interpMethod
894 _RL apressure_lon0,apressure_lon_inc
895 _RL apressure_lat0,apressure_lat_inc(MAX_LAT_INC)
896 INTEGER apressure_nlon,apressure_nlat,apressure_interpMethod
897 _RL tidePot_lon0,tidePot_lon_inc
898 _RL tidePot_lat0,tidePot_lat_inc(MAX_LAT_INC)
899 INTEGER tidePot_nlon,tidePot_nlat,tidePot_interpMethod
900 _RL areamask_lon0,areamask_lon_inc
901 _RL areamask_lat0,areamask_lat_inc(MAX_LAT_INC)
902 INTEGER areamask_nlon,areamask_nlat,areamask_interpMethod
903 _RL apco2_lon0, apco2_lon_inc
904 _RL apco2_lat0, apco2_lat_inc(MAX_LAT_INC)
905 INTEGER apco2_nlon, apco2_nlat, apco2_interpMethod
906
907 LOGICAL exf_output_interp
908 LOGICAL uvInterp_stress
909 LOGICAL uvInterp_wind
910 LOGICAL uvInterp_climstr
911 COMMON /EXF_INTERPOLATION_L/
912 & exf_output_interp,
913 & uvInterp_stress, uvInterp_wind, uvInterp_climstr
914
915 COMMON /EXF_INTERPOLATION_RL/
916 & ustress_lon0, ustress_lon_inc,
917 & ustress_lat0, ustress_lat_inc,
918 & vstress_lon0, vstress_lon_inc,
919 & vstress_lat0, vstress_lat_inc,
920 & hflux_lon0, hflux_lon_inc,
921 & hflux_lat0, hflux_lat_inc,
922 & sflux_lon0, sflux_lon_inc,
923 & sflux_lat0, sflux_lat_inc,
924 & swflux_lon0, swflux_lon_inc,
925 & swflux_lat0, swflux_lat_inc,
926 & runoff_lon0, runoff_lon_inc,
927 & runoff_lat0, runoff_lat_inc,
928 & saltflx_lon0, saltflx_lon_inc,
929 & saltflx_lat0, saltflx_lat_inc,
930 & atemp_lon0, atemp_lon_inc,
931 & atemp_lat0, atemp_lat_inc,
932 & aqh_lon0, aqh_lon_inc,
933 & aqh_lat0, aqh_lat_inc,
934 & hs_lon0, hs_lon_inc,
935 & hs_lat0, hs_lat_inc,
936 & hl_lon0, hl_lon_inc,
937 & hl_lat0, hl_lat_inc,
938 & evap_lon0, evap_lon_inc,
939 & evap_lat0, evap_lat_inc,
940 & precip_lon0, precip_lon_inc,
941 & precip_lat0, precip_lat_inc,
942 & snowprecip_lon0, snowprecip_lon_inc,
943 & snowprecip_lat0, snowprecip_lat_inc,
944 & uwind_lon0, uwind_lon_inc,
945 & uwind_lat0, uwind_lat_inc,
946 & vwind_lon0, vwind_lon_inc,
947 & vwind_lat0, vwind_lat_inc,
948 & wspeed_lon0, wspeed_lon_inc,
949 & wspeed_lat0, wspeed_lat_inc,
950 & lwflux_lon0, lwflux_lon_inc,
951 & lwflux_lat0, lwflux_lat_inc,
952 & swdown_lon0, swdown_lon_inc,
953 & swdown_lat0, swdown_lat_inc,
954 & lwdown_lon0, lwdown_lon_inc,
955 & lwdown_lat0, lwdown_lat_inc,
956 & apressure_lon0, apressure_lon_inc,
957 & apressure_lat0, apressure_lat_inc,
958 & tidePot_lon0, tidePot_lon_inc,
959 & tidePot_lat0, tidePot_lat_inc,
960 & areamask_lon0, areamask_lon_inc,
961 & areamask_lat0, areamask_lat_inc,
962 & apco2_lon0, apco2_lon_inc,
963 & apco2_lat0, apco2_lat_inc
964
965 COMMON /EXF_INTERPOLATION_I/
966 & ustress_nlon, ustress_nlat, ustress_interpMethod,
967 & vstress_nlon, vstress_nlat, vstress_interpMethod,
968 & hflux_nlon, hflux_nlat, hflux_interpMethod,
969 & sflux_nlon, sflux_nlat, sflux_interpMethod,
970 & swflux_nlon, swflux_nlat, swflux_interpMethod,
971 & runoff_nlon, runoff_nlat, runoff_interpMethod,
972 & saltflx_nlon, saltflx_nlat, saltflx_interpMethod,
973 & atemp_nlon, atemp_nlat, atemp_interpMethod,
974 & aqh_nlon, aqh_nlat, aqh_interpMethod,
975 & hs_nlon, hs_nlat, hs_interpMethod,
976 & hl_nlon, hl_nlat, hl_interpMethod,
977 & evap_nlon, evap_nlat, evap_interpMethod,
978 & precip_nlon, precip_nlat, precip_interpMethod,
979 & snowprecip_nlon, snowprecip_nlat, snowprecip_interpMethod,
980 & uwind_nlon, uwind_nlat, uwind_interpMethod,
981 & vwind_nlon, vwind_nlat, vwind_interpMethod,
982 & wspeed_nlon, wspeed_nlat, wspeed_interpMethod,
983 & lwflux_nlon, lwflux_nlat, lwflux_interpMethod,
984 & swdown_nlon, swdown_nlat, swdown_interpMethod,
985 & lwdown_nlon, lwdown_nlat, lwdown_interpMethod,
986 & apressure_nlon, apressure_nlat, apressure_interpMethod,
987 & tidePot_nlon, tidePot_nlat, tidePot_interpMethod,
988 & areamask_nlon, areamask_nlat, areamask_interpMethod,
989 & apco2_nlon, apco2_nlat, apco2_interpMethod
990
991 _RL climsst_lon0, climsst_lon_inc
992 _RL climsst_lat0, climsst_lat_inc(MAX_LAT_INC)
993 INTEGER climsst_nlon, climsst_nlat, climsst_interpMethod
994 _RL climsss_lon0, climsss_lon_inc
995 _RL climsss_lat0, climsss_lat_inc(MAX_LAT_INC)
996 INTEGER climsss_nlon, climsss_nlat, climsss_interpMethod
997 _RL climustr_lon0, climustr_lon_inc
998 _RL climustr_lat0, climustr_lat_inc(MAX_LAT_INC)
999 INTEGER climustr_nlon, climustr_nlat, climustr_interpMethod
1000 _RL climvstr_lon0, climvstr_lon_inc
1001 _RL climvstr_lat0, climvstr_lat_inc(MAX_LAT_INC)
1002 INTEGER climvstr_nlon, climvstr_nlat, climvstr_interpMethod
1003
1004 COMMON /EXF_CLIM_INTERPOLATION/
1005 & climsst_lon0, climsst_lon_inc,
1006 & climsst_lat0, climsst_lat_inc,
1007 & climsss_lon0, climsss_lon_inc,
1008 & climsss_lat0, climsss_lat_inc,
1009 & climustr_lon0, climustr_lon_inc,
1010 & climustr_lat0, climustr_lat_inc,
1011 & climvstr_lon0, climvstr_lon_inc,
1012 & climvstr_lat0, climvstr_lat_inc,
1013 & climsst_nlon, climsst_nlat, climsst_interpMethod,
1014 & climsss_nlon, climsss_nlat, climsss_interpMethod,
1015 & climustr_nlon, climustr_nlat, climustr_interpMethod,
1016 & climvstr_nlon, climvstr_nlat, climvstr_interpMethod
1017
1018 #endif /* USE_EXF_INTERPOLATION */

  ViewVC Help
Powered by ViewVC 1.1.22