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

Annotation 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 - (hide 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 dcarroll 1.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