Back to home page

MITgcm

 
 

    


File indexing completed on 2021-09-30 05:15:29 UTC

view on githubraw file Latest commit afd492c0 on 2021-08-25 07:19:11 UTC
9f46642c85 Jean*0001 C
                0002 C     ==================================================================
                0003 C     HEADER EXF_PARAM.h
                0004 C     ==================================================================
                0005 C
                0006 C     o Header file for the surface flux data. Used by the external
                0007 C       forcing package.
                0008 C
                0009 C     started: Christian Eckert eckert@mit.edu  30-Jun-1999
                0010 C
                0011 C     changed: Christian Eckert eckert@mit.edu  14-Jan-2000
                0012 C              - Restructured the original version in order to have a
                0013 C                better interface to the MITgcmUV.
                0014 C
                0015 C              Christian Eckert eckert@mit.edu  12-Feb-2000
                0016 C              - Changed some variables names (package prefix: exf_)
                0017 C
                0018 C              Patrick Heimbach, heimbach@mit.edu  04-May-2000
                0019 C              - included exf_iprec to enable easy
                0020 C                switch between 32bit/64 bit data format
                0021 C
                0022 C              Patrick Heimbach, heimbach@mit.edu  01-May-2001
                0023 C              - added obcs parameters
                0024 C
                0025 C     mods for pkg/seaice: menemenlis@jpl.nasa.gov 20-Dec-2002
                0026 C
                0027 C     ==================================================================
                0028 C     HEADER EXF_PARAM.h
                0029 C     ==================================================================
                0030 
                0031 C     Repeat period for forcing fields (s)
                0032 C     For example, for yearly repeat period: repeatPeriod=31556925.
                0033 C     Note: this option is not yet coded for sub-daily
                0034 C           forcing and for leap years but this limitation can be
                0035 C           circumvented by using a 4-year (1461-day) repeatPeriod
082e18c36c Jean*0036       _RL     repeatPeriod
                0037 
9f46642c85 Jean*0038 C     useExfCheckRange   :: check range of input/output field values
                0039 C     useExfYearlyFields :: when set, automatically add extension
                0040 C                           _YEAR to input file names; the yearly files need
                0041 C                           to contain all the records that pertain to
                0042 C                           a particular year, including day 1, hour zero
                0043 C     twoDigitYear       :: when set, use 2-digit year extension YR
                0044 C                           instead of _YEAR for useExfYearlyFields
                0045 C    useOBCSYearlyFields :: when reading Open-Boundary values, assume yearly
                0046 C                           climatology (def=false)
afd492c074 Mart*0047 C     readStressOnAgrid  :: read wind-streess located on model-grid,
                0048 C                            A-grid position
                0049 C     rotateStressOnAgrid:: rotate from zonal/meridional components to
                0050 C                           U/V components
                0051 C     readStressOnCgrid  :: read wind-streess located on model-grid, C-grid
                0052 C                           position
9f46642c85 Jean*0053 C     stressIsOnCgrid    :: ustress & vstress are positioned on Arakawa C-grid
                0054 C     useAtmWind         :: use wind vector (uwind/vwind) to compute
                0055 C                           the wind stress (ustress/vstress)
                0056 C     useRelativeWind    :: Subtract U/VVEL or U/VICE from U/VWIND before
                0057 C                           computing U/VSTRESS
                0058 C     noNegativeEvap     :: prevent negative evap (= sea-surface condensation)
afd492c074 Mart*0059 C     useStabilityFct_overIce :: over sea-ice, compute turbulent transfert
                0060 C                           coeff. function of stability (like over
                0061 C                           open ocean) rather than using fixed Coeff.
                0062 C     diags_opOceWeighted:: weight surface flux diagnostics with open-ocean
                0063 C                           fraction
9f46642c85 Jean*0064 C     useExfZenAlbedo    :: ocean albedo (direct part) may vary
                0065 C                           with zenith angle (see select_ZenAlbedo)
afd492c074 Mart*0066 C     select_ZenAlbedo   :: switch to different methods to compute albedo
                0067 C                           (direct part)
9f46642c85 Jean*0068 C                        :: 0 just use exf_albedo
                0069 C                        :: 1 use daily mean albedo from exf_zenithangle_table.F
                0070 C                        :: 2 use daily mean albedo computed as in pkg/aim_v23
                0071 C                        :: 3 use daily variable albedo
afd492c074 Mart*0072 C     useExfZenIncoming  :: compute incoming solar radiation along with
                0073 C                           zenith angle
                0074 C     exf_debugLev       :: select message printing to STDOUT (e.g., when
                0075 C                           read rec)
9f46642c85 Jean*0076 C     exf_monFreq        :: Monitor Frequency (s) for EXF
afd492c074 Mart*0077 C     exf_adjMonFreq     :: Monitor Frequency (s) for AD exf variables
                0078 C     exf_adjMonSelect   :: select group of exf AD-variables to monitor
                0079 C                           =0 : none
                0080 C                           =1 : ocean forcing fu, fv, qnet, empmr (default)
                0081 C                           =2 : + atmospheric forcing fields (u/vwind,
                0082 C                                  atemp, lwdown, precip, etc.)
                0083 C                           =3 : + derived forcing fields (u/vstress,
                0084 C                                  h/sflux, wspeed)
9f46642c85 Jean*0085 
d078fa0cf5 Jean*0086       LOGICAL useExfCheckRange
                0087       LOGICAL useExfYearlyFields, twoDigitYear
                0088       LOGICAL useOBCSYearlyFields
                0089       LOGICAL readStressOnAgrid
                0090       LOGICAL rotateStressOnAgrid
                0091       LOGICAL readStressOnCgrid
                0092       LOGICAL stressIsOnCgrid
1ccd5d14b8 Jean*0093       LOGICAL useAtmWind
d078fa0cf5 Jean*0094       LOGICAL useRelativeWind
                0095       LOGICAL noNegativeEvap
1ccd5d14b8 Jean*0096       LOGICAL useStabilityFct_overIce
                0097       LOGICAL diags_opOceWeighted
d078fa0cf5 Jean*0098 
                0099       LOGICAL useExfZenAlbedo
                0100       INTEGER select_ZenAlbedo
                0101       LOGICAL useExfZenIncoming
9f46642c85 Jean*0102 
                0103       INTEGER exf_debugLev
082e18c36c Jean*0104       _RL     exf_monFreq
afd492c074 Mart*0105       _RL     exf_adjMonFreq
                0106       INTEGER exf_adjMonSelect
082e18c36c Jean*0107 
9f46642c85 Jean*0108 C     Drag coefficient scaling factor
082e18c36c Jean*0109       _RL     exf_scal_BulkCdn
                0110 
9f46642c85 Jean*0111 C     Maximum absolute windstress, used to reset unreastically high
                0112 C     data values
082e18c36c Jean*0113       _RL     windstressmax
                0114 
9f46642c85 Jean*0115 C     freezing temperature is the minimum temperature allowed, used
                0116 C     to reset climatological temperatures fields where they have
                0117 C     values below climtempfreeze
                0118       _RL climtempfreeze
                0119 
                0120 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0121 
                0122 C     Description of contents of surface boundary condition files
                0123 C     Note: fieldperiod=0 means input file is one time-constant field
                0124 C           fieldperiod=-12 means input file contains 12 monthly means
473d957599 Jean*0125 C-    for each field:
                0126 C     {fld}file       :: file-name for this field
                0127 C     {fld}startdate1 :: field starting date (YYYYMMDD)
                0128 C     {fld}startdate1 :: field starting date (YYYYMMDD)
                0129 C     {fld}startdate2 :: field starting date (HHMMSS)
                0130 C     {fld}StartTime  :: corresponding starting time (in sec) for this field
                0131 C     {fld}period     :: time period (in sec) between 2 reccords
                0132 C     {fld}RepCycle   :: time duration of a repeating cycle
                0133 C     {fld}const      :: uniform default field value
d7c741f811 Dimi*0134 
d078fa0cf5 Jean*0135       INTEGER hfluxstartdate1
                0136       INTEGER hfluxstartdate2
32e4056e6a Jean*0137       _RL     hfluxStartTime
082e18c36c Jean*0138       _RL     hfluxperiod
d078fa0cf5 Jean*0139       _RL     hfluxRepCycle
082e18c36c Jean*0140       _RL     hfluxconst
83b72232fc Jean*0141       _RL     hflux_exfremo_intercept
082e18c36c Jean*0142       _RL     hflux_exfremo_slope
1ccd5d14b8 Jean*0143       CHARACTER*1 hfluxmask
082e18c36c Jean*0144 
d078fa0cf5 Jean*0145       INTEGER atempstartdate1
                0146       INTEGER atempstartdate2
32e4056e6a Jean*0147       _RL     atempStartTime
082e18c36c Jean*0148       _RL     atempperiod
d078fa0cf5 Jean*0149       _RL     atempRepCycle
082e18c36c Jean*0150       _RL     atempconst
83b72232fc Jean*0151       _RL     atemp_exfremo_intercept
082e18c36c Jean*0152       _RL     atemp_exfremo_slope
1ccd5d14b8 Jean*0153       CHARACTER*1 atempmask
082e18c36c Jean*0154 
d078fa0cf5 Jean*0155       INTEGER aqhstartdate1
                0156       INTEGER aqhstartdate2
32e4056e6a Jean*0157       _RL     aqhStartTime
082e18c36c Jean*0158       _RL     aqhperiod
d078fa0cf5 Jean*0159       _RL     aqhRepCycle
082e18c36c Jean*0160       _RL     aqhconst
83b72232fc Jean*0161       _RL     aqh_exfremo_intercept
082e18c36c Jean*0162       _RL     aqh_exfremo_slope
1ccd5d14b8 Jean*0163       CHARACTER*1 aqhmask
082e18c36c Jean*0164 
d078fa0cf5 Jean*0165       INTEGER hs_startdate1
                0166       INTEGER hs_startdate2
32e4056e6a Jean*0167       _RL     hs_StartTime
c994dbe735 Jean*0168       _RL     hs_period
d078fa0cf5 Jean*0169       _RL     hs_RepCycle
c994dbe735 Jean*0170       _RL     hs_const
                0171       _RL     hs_exfremo_intercept
                0172       _RL     hs_exfremo_slope
1ccd5d14b8 Jean*0173       CHARACTER*1 hs_mask
c994dbe735 Jean*0174 
d078fa0cf5 Jean*0175       INTEGER hl_startdate1
                0176       INTEGER hl_startdate2
32e4056e6a Jean*0177       _RL     hl_StartTime
c994dbe735 Jean*0178       _RL     hl_period
d078fa0cf5 Jean*0179       _RL     hl_RepCycle
c994dbe735 Jean*0180       _RL     hl_const
                0181       _RL     hl_exfremo_intercept
                0182       _RL     hl_exfremo_slope
1ccd5d14b8 Jean*0183       CHARACTER*1 hl_mask
c994dbe735 Jean*0184 
d078fa0cf5 Jean*0185       INTEGER sfluxstartdate1
                0186       INTEGER sfluxstartdate2
32e4056e6a Jean*0187       _RL     sfluxStartTime
082e18c36c Jean*0188       _RL     sfluxperiod
d078fa0cf5 Jean*0189       _RL     sfluxRepCycle
082e18c36c Jean*0190       _RL     sfluxconst
83b72232fc Jean*0191       _RL     sflux_exfremo_intercept
082e18c36c Jean*0192       _RL     sflux_exfremo_slope
1ccd5d14b8 Jean*0193       CHARACTER*1 sfluxmask
082e18c36c Jean*0194 
d078fa0cf5 Jean*0195       INTEGER evapstartdate1
                0196       INTEGER evapstartdate2
32e4056e6a Jean*0197       _RL     evapStartTime
082e18c36c Jean*0198       _RL     evapperiod
d078fa0cf5 Jean*0199       _RL     evapRepCycle
082e18c36c Jean*0200       _RL     evapconst
83b72232fc Jean*0201       _RL     evap_exfremo_intercept
082e18c36c Jean*0202       _RL     evap_exfremo_slope
1ccd5d14b8 Jean*0203       CHARACTER*1 evapmask
082e18c36c Jean*0204 
d078fa0cf5 Jean*0205       INTEGER precipstartdate1
                0206       INTEGER precipstartdate2
32e4056e6a Jean*0207       _RL     precipStartTime
082e18c36c Jean*0208       _RL     precipperiod
d078fa0cf5 Jean*0209       _RL     precipRepCycle
082e18c36c Jean*0210       _RL     precipconst
83b72232fc Jean*0211       _RL     precip_exfremo_intercept
082e18c36c Jean*0212       _RL     precip_exfremo_slope
1ccd5d14b8 Jean*0213       CHARACTER*1 precipmask
082e18c36c Jean*0214 
d078fa0cf5 Jean*0215       INTEGER snowprecipstartdate1
                0216       INTEGER snowprecipstartdate2
32e4056e6a Jean*0217       _RL     snowprecipStartTime
082e18c36c Jean*0218       _RL     snowprecipperiod
d078fa0cf5 Jean*0219       _RL     snowprecipRepCycle
082e18c36c Jean*0220       _RL     snowprecipconst
83b72232fc Jean*0221       _RL     snowprecip_exfremo_intercept
082e18c36c Jean*0222       _RL     snowprecip_exfremo_slope
1ccd5d14b8 Jean*0223       CHARACTER*1 snowprecipmask
082e18c36c Jean*0224 
d078fa0cf5 Jean*0225       INTEGER runoffstartdate1
                0226       INTEGER runoffstartdate2
32e4056e6a Jean*0227       _RL     runoffStartTime
082e18c36c Jean*0228       _RL     runoffperiod
d078fa0cf5 Jean*0229       _RL     runoffRepCycle
082e18c36c Jean*0230       _RL     runoffconst
83b72232fc Jean*0231       _RL     runoff_exfremo_intercept
082e18c36c Jean*0232       _RL     runoff_exfremo_slope
1ccd5d14b8 Jean*0233       CHARACTER*1 runoffmask
082e18c36c Jean*0234 
e603dbf008 Dimi*0235       _RL     runoftempconst
                0236       _RL     runoftemp_exfremo_intercept
                0237       _RL     runoftemp_exfremo_slope
                0238 
d078fa0cf5 Jean*0239       INTEGER saltflxstartdate1
                0240       INTEGER saltflxstartdate2
32e4056e6a Jean*0241       _RL     saltflxStartTime
a66aad0124 Gael*0242       _RL     saltflxperiod
d078fa0cf5 Jean*0243       _RL     saltflxRepCycle
a66aad0124 Gael*0244       _RL     saltflxconst
                0245       _RL     saltflx_exfremo_intercept
                0246       _RL     saltflx_exfremo_slope
1ccd5d14b8 Jean*0247       CHARACTER*1 saltflxmask
a66aad0124 Gael*0248 
d078fa0cf5 Jean*0249       INTEGER ustressstartdate1
                0250       INTEGER ustressstartdate2
32e4056e6a Jean*0251       _RL     ustressStartTime
082e18c36c Jean*0252       _RL     ustressperiod
d078fa0cf5 Jean*0253       _RL     ustressRepCycle
082e18c36c Jean*0254       _RL     ustressconst
83b72232fc Jean*0255       _RL     ustress_exfremo_intercept
082e18c36c Jean*0256       _RL     ustress_exfremo_slope
1ccd5d14b8 Jean*0257       CHARACTER*1 ustressmask
082e18c36c Jean*0258 
d078fa0cf5 Jean*0259       INTEGER vstressstartdate1
                0260       INTEGER vstressstartdate2
32e4056e6a Jean*0261       _RL     vstressStartTime
082e18c36c Jean*0262       _RL     vstressperiod
d078fa0cf5 Jean*0263       _RL     vstressRepCycle
082e18c36c Jean*0264       _RL     vstressconst
83b72232fc Jean*0265       _RL     vstress_exfremo_intercept
082e18c36c Jean*0266       _RL     vstress_exfremo_slope
1ccd5d14b8 Jean*0267       CHARACTER*1 vstressmask
082e18c36c Jean*0268 
d078fa0cf5 Jean*0269       INTEGER uwindstartdate1
                0270       INTEGER uwindstartdate2
32e4056e6a Jean*0271       _RL     uwindStartTime
082e18c36c Jean*0272       _RL     uwindperiod
d078fa0cf5 Jean*0273       _RL     uwindRepCycle
082e18c36c Jean*0274       _RL     uwindconst
83b72232fc Jean*0275       _RL     uwind_exfremo_intercept
082e18c36c Jean*0276       _RL     uwind_exfremo_slope
1ccd5d14b8 Jean*0277       CHARACTER*1 uwindmask
082e18c36c Jean*0278 
d078fa0cf5 Jean*0279       INTEGER vwindstartdate1
                0280       INTEGER vwindstartdate2
32e4056e6a Jean*0281       _RL     vwindStartTime
082e18c36c Jean*0282       _RL     vwindperiod
d078fa0cf5 Jean*0283       _RL     vwindRepCycle
082e18c36c Jean*0284       _RL     vwindconst
83b72232fc Jean*0285       _RL     vwind_exfremo_intercept
082e18c36c Jean*0286       _RL     vwind_exfremo_slope
1ccd5d14b8 Jean*0287       CHARACTER*1 vwindmask
082e18c36c Jean*0288 
d078fa0cf5 Jean*0289       INTEGER wspeedstartdate1
                0290       INTEGER wspeedstartdate2
32e4056e6a Jean*0291       _RL     wspeedStartTime
082e18c36c Jean*0292       _RL     wspeedperiod
d078fa0cf5 Jean*0293       _RL     wspeedRepCycle
082e18c36c Jean*0294       _RL     wspeedconst
83b72232fc Jean*0295       _RL     wspeed_exfremo_intercept
082e18c36c Jean*0296       _RL     wspeed_exfremo_slope
1ccd5d14b8 Jean*0297       CHARACTER*1 wspeedmask
082e18c36c Jean*0298 
d078fa0cf5 Jean*0299       INTEGER swfluxstartdate1
                0300       INTEGER swfluxstartdate2
32e4056e6a Jean*0301       _RL     swfluxStartTime
082e18c36c Jean*0302       _RL     swfluxperiod
d078fa0cf5 Jean*0303       _RL     swfluxRepCycle
082e18c36c Jean*0304       _RL     swfluxconst
83b72232fc Jean*0305       _RL     swflux_exfremo_intercept
082e18c36c Jean*0306       _RL     swflux_exfremo_slope
1ccd5d14b8 Jean*0307       CHARACTER*1 swfluxmask
082e18c36c Jean*0308 
d078fa0cf5 Jean*0309       INTEGER lwfluxstartdate1
                0310       INTEGER lwfluxstartdate2
32e4056e6a Jean*0311       _RL     lwfluxStartTime
082e18c36c Jean*0312       _RL     lwfluxperiod
d078fa0cf5 Jean*0313       _RL     lwfluxRepCycle
082e18c36c Jean*0314       _RL     lwfluxconst
83b72232fc Jean*0315       _RL     lwflux_exfremo_intercept
082e18c36c Jean*0316       _RL     lwflux_exfremo_slope
1ccd5d14b8 Jean*0317       CHARACTER*1 lwfluxmask
082e18c36c Jean*0318 
d078fa0cf5 Jean*0319       INTEGER swdownstartdate1
                0320       INTEGER swdownstartdate2
32e4056e6a Jean*0321       _RL     swdownStartTime
082e18c36c Jean*0322       _RL     swdownperiod
d078fa0cf5 Jean*0323       _RL     swdownRepCycle
082e18c36c Jean*0324       _RL     swdownconst
83b72232fc Jean*0325       _RL     swdown_exfremo_intercept
082e18c36c Jean*0326       _RL     swdown_exfremo_slope
1ccd5d14b8 Jean*0327       CHARACTER*1 swdownmask
082e18c36c Jean*0328 
d078fa0cf5 Jean*0329       INTEGER lwdownstartdate1
                0330       INTEGER lwdownstartdate2
32e4056e6a Jean*0331       _RL     lwdownStartTime
082e18c36c Jean*0332       _RL     lwdownperiod
d078fa0cf5 Jean*0333       _RL     lwdownRepCycle
082e18c36c Jean*0334       _RL     lwdownconst
83b72232fc Jean*0335       _RL     lwdown_exfremo_intercept
082e18c36c Jean*0336       _RL     lwdown_exfremo_slope
1ccd5d14b8 Jean*0337       CHARACTER*1 lwdownmask
082e18c36c Jean*0338 
d078fa0cf5 Jean*0339       INTEGER apressurestartdate1
                0340       INTEGER apressurestartdate2
32e4056e6a Jean*0341       _RL     apressureStartTime
082e18c36c Jean*0342       _RL     apressureperiod
d078fa0cf5 Jean*0343       _RL     apressureRepCycle
082e18c36c Jean*0344       _RL     apressureconst
83b72232fc Jean*0345       _RL     apressure_exfremo_intercept
082e18c36c Jean*0346       _RL     apressure_exfremo_slope
1ccd5d14b8 Jean*0347       CHARACTER*1 apressuremask
082e18c36c Jean*0348 
497d85062c Jean*0349       INTEGER tidePotStartdate1
                0350       INTEGER tidePotStartdate2
                0351       _RL     tidePotStartTime
                0352       _RL     tidePotPeriod
                0353       _RL     tidePotRepCycle
                0354       _RL     tidePotConst
                0355       _RL     tidePot_exfremo_intercept
                0356       _RL     tidePot_exfremo_slope
                0357       CHARACTER*1 tidePotMask
                0358 
d078fa0cf5 Jean*0359       INTEGER areamaskstartdate1
                0360       INTEGER areamaskstartdate2
32e4056e6a Jean*0361       _RL     areamaskStartTime
8f277f2728 Gael*0362       _RL     areamaskperiod
d078fa0cf5 Jean*0363       _RL     areamaskRepCycle
7b50f71112 Gael*0364       _RL     areamaskTauRelax
8f277f2728 Gael*0365       _RL     areamaskconst
                0366       _RL     areamask_exfremo_intercept
                0367       _RL     areamask_exfremo_slope
1ccd5d14b8 Jean*0368       CHARACTER*1 areamaskmask
8f277f2728 Gael*0369 
d078fa0cf5 Jean*0370 C     Calendar data.
                0371       INTEGER climsststartdate1
                0372       INTEGER climsststartdate2
32e4056e6a Jean*0373       _RL     climsstStartTime
ad5cdab327 Patr*0374       _RL     climsstperiod
d078fa0cf5 Jean*0375       _RL     climsstRepCycle
7b50f71112 Gael*0376       _RL     climsstTauRelax
ad5cdab327 Patr*0377       _RL     climsstconst
83b72232fc Jean*0378       _RL     climsst_exfremo_intercept
ad5cdab327 Patr*0379       _RL     climsst_exfremo_slope
1ccd5d14b8 Jean*0380       CHARACTER*1 climsstmask
ad5cdab327 Patr*0381 
d078fa0cf5 Jean*0382       INTEGER climsssstartdate1
                0383       INTEGER climsssstartdate2
32e4056e6a Jean*0384       _RL     climsssStartTime
ad5cdab327 Patr*0385       _RL     climsssperiod
d078fa0cf5 Jean*0386       _RL     climsssRepCycle
7b50f71112 Gael*0387       _RL     climsssTauRelax
ad5cdab327 Patr*0388       _RL     climsssconst
83b72232fc Jean*0389       _RL     climsss_exfremo_intercept
ad5cdab327 Patr*0390       _RL     climsss_exfremo_slope
1ccd5d14b8 Jean*0391       CHARACTER*1 climsssmask
ad5cdab327 Patr*0392 
d078fa0cf5 Jean*0393       INTEGER climustrstartdate1
                0394       INTEGER climustrstartdate2
32e4056e6a Jean*0395       _RL     climustrStartTime
de9be302a8 Patr*0396       _RL     climustrperiod
d078fa0cf5 Jean*0397       _RL     climustrRepCycle
de9be302a8 Patr*0398       _RL     climustrTauRelax
                0399       _RL     climustrconst
83b72232fc Jean*0400       _RL     climustr_exfremo_intercept
de9be302a8 Patr*0401       _RL     climustr_exfremo_slope
1ccd5d14b8 Jean*0402       CHARACTER*1 climustrmask
de9be302a8 Patr*0403 
d078fa0cf5 Jean*0404       INTEGER climvstrstartdate1
                0405       INTEGER climvstrstartdate2
32e4056e6a Jean*0406       _RL     climvstrStartTime
de9be302a8 Patr*0407       _RL     climvstrperiod
d078fa0cf5 Jean*0408       _RL     climvstrRepCycle
de9be302a8 Patr*0409       _RL     climvstrTauRelax
                0410       _RL     climvstrconst
83b72232fc Jean*0411       _RL     climvstr_exfremo_intercept
de9be302a8 Patr*0412       _RL     climvstr_exfremo_slope
1ccd5d14b8 Jean*0413       CHARACTER*1 climvstrmask
de9be302a8 Patr*0414 
473d957599 Jean*0415 C-    The following variables are used in conjunction with pkg/obcs
d078fa0cf5 Jean*0416 C     to describe S/T/U/V open boundary condition files
                0417       INTEGER obcsNstartdate1
                0418       INTEGER obcsNstartdate2
                0419       INTEGER obcsSstartdate1
                0420       INTEGER obcsSstartdate2
                0421       INTEGER obcsEstartdate1
                0422       INTEGER obcsEstartdate2
                0423       INTEGER obcsWstartdate1
                0424       INTEGER obcsWstartdate2
                0425       _RL     obcsNstartTime
212017a383 Dimi*0426       _RL     obcsNperiod
d078fa0cf5 Jean*0427       _RL     obcsNrepCycle
                0428       _RL     obcsSstartTime
212017a383 Dimi*0429       _RL     obcsSperiod
d078fa0cf5 Jean*0430       _RL     obcsSrepCycle
                0431       _RL     obcsEstartTime
212017a383 Dimi*0432       _RL     obcsEperiod
d078fa0cf5 Jean*0433       _RL     obcsErepCycle
                0434       _RL     obcsWstartTime
082e18c36c Jean*0435       _RL     obcsWperiod
d078fa0cf5 Jean*0436       _RL     obcsWrepCycle
                0437 
473d957599 Jean*0438 C-    The following variables are used in conjunction with pkg/obcs
d078fa0cf5 Jean*0439 C     and pkg/seaice to describe area, heff, hsnow, hsalt, uice,
                0440 C     and vice open boundary condition files
                0441       INTEGER siobNstartdate1
                0442       INTEGER siobNstartdate2
                0443       INTEGER siobSstartdate1
                0444       INTEGER siobSstartdate2
                0445       INTEGER siobEstartdate1
                0446       INTEGER siobEstartdate2
                0447       INTEGER siobWstartdate1
                0448       INTEGER siobWstartdate2
                0449       _RL     siobNstartTime
212017a383 Dimi*0450       _RL     siobNperiod
d078fa0cf5 Jean*0451       _RL     siobNrepCycle
                0452       _RL     siobSstartTime
212017a383 Dimi*0453       _RL     siobSperiod
d078fa0cf5 Jean*0454       _RL     siobSrepCycle
                0455       _RL     siobEstartTime
212017a383 Dimi*0456       _RL     siobEperiod
d078fa0cf5 Jean*0457       _RL     siobErepCycle
                0458       _RL     siobWstartTime
212017a383 Dimi*0459       _RL     siobWperiod
d078fa0cf5 Jean*0460       _RL     siobWrepCycle
212017a383 Dimi*0461 
473d957599 Jean*0462 C-    File names.
1ccd5d14b8 Jean*0463       CHARACTER*(128) hfluxfile
                0464       CHARACTER*(128) atempfile
                0465       CHARACTER*(128) aqhfile
                0466       CHARACTER*(128) hs_file
                0467       CHARACTER*(128) hl_file
                0468       CHARACTER*(128) evapfile
                0469       CHARACTER*(128) precipfile
                0470       CHARACTER*(128) snowprecipfile
                0471       CHARACTER*(128) sfluxfile
                0472       CHARACTER*(128) runofffile
                0473       CHARACTER*(128) runoftempfile
                0474       CHARACTER*(128) saltflxfile
                0475       CHARACTER*(128) ustressfile
                0476       CHARACTER*(128) vstressfile
                0477       CHARACTER*(128) uwindfile
                0478       CHARACTER*(128) vwindfile
                0479       CHARACTER*(128) wspeedfile
                0480       CHARACTER*(128) swfluxfile
                0481       CHARACTER*(128) lwfluxfile
                0482       CHARACTER*(128) swdownfile
                0483       CHARACTER*(128) lwdownfile
                0484       CHARACTER*(128) apressurefile
                0485       CHARACTER*(128) tidePotFile
                0486       CHARACTER*(128) areamaskfile
                0487       CHARACTER*(128) climsstfile
                0488       CHARACTER*(128) climsssfile
                0489       CHARACTER*(128) climustrfile
                0490       CHARACTER*(128) climvstrfile
082e18c36c Jean*0491 
64b979ef06 Jean*0492       COMMON /EXF_PARAM_L/
9f46642c85 Jean*0493      &       useExfCheckRange,
de9be302a8 Patr*0494      &       useExfYearlyFields, twoDigitYear,
26d79ac7cb Jean*0495      &       useOBCSYearlyFields,
de9be302a8 Patr*0496      &       useExfZenAlbedo, useExfZenIncoming,
                0497      &       readStressOnAgrid, readStressOnCgrid,
1ccd5d14b8 Jean*0498      &       stressIsOnCgrid, rotateStressOnAgrid,
63930fb278 Gael*0499      &       useAtmWind, useRelativeWind, noNegativeEvap,
1ccd5d14b8 Jean*0500      &       useStabilityFct_overIce, diags_opOceWeighted
63930fb278 Gael*0501 
64b979ef06 Jean*0502       COMMON /EXF_PARAM_I/
afd492c074 Mart*0503      &       select_ZenAlbedo,  exf_debugLev,    exf_adjMonSelect,
de9be302a8 Patr*0504      &       hfluxstartdate1,   hfluxstartdate2,
                0505      &       atempstartdate1,   atempstartdate2,
                0506      &       aqhstartdate1,     aqhstartdate2,
c994dbe735 Jean*0507      &       hs_startdate1,     hs_startdate2,
                0508      &       hl_startdate1,     hl_startdate2,
de9be302a8 Patr*0509      &       sfluxstartdate1,   sfluxstartdate2,
                0510      &       evapstartdate1,    evapstartdate2,
                0511      &       runoffstartdate1,  runoffstartdate2,
a66aad0124 Gael*0512      &       saltflxstartdate1, saltflxstartdate2,
de9be302a8 Patr*0513      &       precipstartdate1,  precipstartdate2,
                0514      &       snowprecipstartdate1, snowprecipstartdate2,
                0515      &       ustressstartdate1, ustressstartdate2,
                0516      &       vstressstartdate1, vstressstartdate2,
                0517      &       uwindstartdate1,   uwindstartdate2,
                0518      &       vwindstartdate1,   vwindstartdate2,
                0519      &       wspeedstartdate1,  wspeedstartdate2,
                0520      &       swfluxstartdate1,  swfluxstartdate2,
                0521      &       lwfluxstartdate1,  lwfluxstartdate2,
                0522      &       swdownstartdate1,  swdownstartdate2,
                0523      &       lwdownstartdate1,  lwdownstartdate2,
d078fa0cf5 Jean*0524      &       apressurestartdate1, apressurestartdate2,
497d85062c Jean*0525      &       tidePotStartdate1, tidePotStartdate2,
d078fa0cf5 Jean*0526      &       areamaskstartdate1,  areamaskstartdate2,
de9be302a8 Patr*0527      &       obcsNstartdate1,   obcsNstartdate2,
                0528      &       obcsSstartdate1,   obcsSstartdate2,
                0529      &       obcsEstartdate1,   obcsEstartdate2,
                0530      &       obcsWstartdate1,   obcsWstartdate2,
                0531      &       siobNstartdate1,   siobNstartdate2,
                0532      &       siobSstartdate1,   siobSstartdate2,
                0533      &       siobEstartdate1,   siobEstartdate2,
d078fa0cf5 Jean*0534      &       siobWstartdate1,   siobWstartdate2
082e18c36c Jean*0535 
64b979ef06 Jean*0536       COMMON /EXF_PARAM_R/
afd492c074 Mart*0537      &       repeatPeriod,      exf_monFreq,     exf_adjMonFreq,
95ce1287e7 Jean*0538      &       exf_scal_BulkCdn,  windstressmax,
d078fa0cf5 Jean*0539      &       hfluxconst,        hfluxRepCycle,
32e4056e6a Jean*0540      &       hfluxperiod,       hfluxStartTime,
d078fa0cf5 Jean*0541      &       atempconst,        atempRepCycle,
32e4056e6a Jean*0542      &       atempperiod,       atempStartTime,
d078fa0cf5 Jean*0543      &       aqhconst,          aqhRepCycle,
32e4056e6a Jean*0544      &       aqhperiod,         aqhStartTime,
d078fa0cf5 Jean*0545      &       hs_const,          hs_RepCycle,
32e4056e6a Jean*0546      &       hs_period,         hs_StartTime,
d078fa0cf5 Jean*0547      &       hl_const,          hl_RepCycle,
32e4056e6a Jean*0548      &       hl_period,         hl_StartTime,
d078fa0cf5 Jean*0549      &       sfluxconst,        sfluxRepCycle,
32e4056e6a Jean*0550      &       sfluxperiod,       sfluxStartTime,
d078fa0cf5 Jean*0551      &       evapconst,         evapRepCycle,
32e4056e6a Jean*0552      &       evapperiod,        evapStartTime,
d078fa0cf5 Jean*0553      &       precipconst,       precipRepCycle,
32e4056e6a Jean*0554      &       precipperiod,      precipStartTime,
d078fa0cf5 Jean*0555      &       snowprecipconst,   snowprecipRepCycle,
32e4056e6a Jean*0556      &       snowprecipperiod,  snowprecipStartTime,
d078fa0cf5 Jean*0557      &       runoffconst,       runoffRepCycle,
32e4056e6a Jean*0558      &       runoffperiod,      runoffStartTime,
d078fa0cf5 Jean*0559      &       runoftempconst,
                0560      &       saltflxconst,      saltflxRepCycle,
32e4056e6a Jean*0561      &       saltflxperiod,     saltflxStartTime,
d078fa0cf5 Jean*0562      &       ustressconst,      ustressRepCycle,
32e4056e6a Jean*0563      &       ustressperiod,     ustressStartTime,
d078fa0cf5 Jean*0564      &       vstressconst,      vstressRepCycle,
32e4056e6a Jean*0565      &       vstressperiod,     vstressStartTime,
d078fa0cf5 Jean*0566      &       uwindconst,        uwindRepCycle,
32e4056e6a Jean*0567      &       uwindperiod,       uwindStartTime,
d078fa0cf5 Jean*0568      &       vwindconst,        vwindRepCycle,
32e4056e6a Jean*0569      &       vwindperiod,       vwindStartTime,
d078fa0cf5 Jean*0570      &       wspeedconst,       wspeedRepCycle,
32e4056e6a Jean*0571      &       wspeedperiod,      wspeedStartTime,
d078fa0cf5 Jean*0572      &       swfluxconst,       swfluxRepCycle,
32e4056e6a Jean*0573      &       swfluxperiod,      swfluxStartTime,
d078fa0cf5 Jean*0574      &       lwfluxconst,       lwfluxRepCycle,
32e4056e6a Jean*0575      &       lwfluxperiod,      lwfluxStartTime,
d078fa0cf5 Jean*0576      &       swdownconst,       swdownRepCycle,
32e4056e6a Jean*0577      &       swdownperiod,      swdownStartTime,
d078fa0cf5 Jean*0578      &       lwdownconst,       lwdownRepCycle,
32e4056e6a Jean*0579      &       lwdownperiod,      lwdownStartTime,
d078fa0cf5 Jean*0580      &       apressureconst,    apressureRepCycle,
32e4056e6a Jean*0581      &       apressureperiod,   apressureStartTime,
497d85062c Jean*0582      &       tidePotConst,      tidePotRepCycle,
                0583      &       tidePotPeriod,     tidePotStartTime,
d078fa0cf5 Jean*0584      &       areamaskconst,     areamaskRepCycle,
                0585      &       areamaskperiod,    areamaskStartTime,
                0586      &       obcsNrepCycle,     obcsNperiod,     obcsNstartTime,
                0587      &       obcsSrepCycle,     obcsSperiod,     obcsSstartTime,
                0588      &       obcsErepCycle,     obcsEperiod,     obcsEstartTime,
                0589      &       obcsWrepCycle,     obcsWperiod,     obcsWstartTime,
                0590      &       siobNrepCycle,     siobNperiod,     siobNstartTime,
                0591      &       siobSrepCycle,     siobSperiod,     siobSstartTime,
                0592      &       siobErepCycle,     siobEperiod,     siobEstartTime,
                0593      &       siobWrepCycle,     siobWperiod,     siobWstartTime
082e18c36c Jean*0594 
64b979ef06 Jean*0595       COMMON /EXF_PARAM_TREND_REMOVAL/
de9be302a8 Patr*0596      &       hflux_exfremo_intercept,
                0597      &       atemp_exfremo_intercept,
                0598      &       aqh_exfremo_intercept,
c994dbe735 Jean*0599      &       hs_exfremo_intercept,
                0600      &       hl_exfremo_intercept,
de9be302a8 Patr*0601      &       sflux_exfremo_intercept,
                0602      &       evap_exfremo_intercept,
                0603      &       precip_exfremo_intercept,
                0604      &       snowprecip_exfremo_intercept,
                0605      &       runoff_exfremo_intercept,
e603dbf008 Dimi*0606      &       runoftemp_exfremo_intercept,
a66aad0124 Gael*0607      &       saltflx_exfremo_intercept,
de9be302a8 Patr*0608      &       ustress_exfremo_intercept,
                0609      &       vstress_exfremo_intercept,
                0610      &       uwind_exfremo_intercept,
                0611      &       vwind_exfremo_intercept,
                0612      &       wspeed_exfremo_intercept,
                0613      &       swflux_exfremo_intercept,
                0614      &       lwflux_exfremo_intercept,
                0615      &       swdown_exfremo_intercept,
                0616      &       lwdown_exfremo_intercept,
                0617      &       apressure_exfremo_intercept,
497d85062c Jean*0618      &       tidePot_exfremo_intercept,
de9be302a8 Patr*0619      &       areamask_exfremo_intercept,
                0620      &       hflux_exfremo_slope,
                0621      &       atemp_exfremo_slope,
                0622      &       aqh_exfremo_slope,
c994dbe735 Jean*0623      &       hs_exfremo_slope,
                0624      &       hl_exfremo_slope,
de9be302a8 Patr*0625      &       sflux_exfremo_slope,
                0626      &       evap_exfremo_slope,
                0627      &       precip_exfremo_slope,
                0628      &       snowprecip_exfremo_slope,
                0629      &       runoff_exfremo_slope,
e603dbf008 Dimi*0630      &       runoftemp_exfremo_slope,
a66aad0124 Gael*0631      &       saltflx_exfremo_slope,
de9be302a8 Patr*0632      &       ustress_exfremo_slope,
                0633      &       vstress_exfremo_slope,
                0634      &       uwind_exfremo_slope,
                0635      &       vwind_exfremo_slope,
                0636      &       wspeed_exfremo_slope,
                0637      &       swflux_exfremo_slope,
                0638      &       lwflux_exfremo_slope,
                0639      &       swdown_exfremo_slope,
                0640      &       lwdown_exfremo_slope,
                0641      &       apressure_exfremo_slope,
497d85062c Jean*0642      &       tidePot_exfremo_slope,
de9be302a8 Patr*0643      &       areamask_exfremo_slope
082e18c36c Jean*0644 
64b979ef06 Jean*0645       COMMON /EXF_PARAM_C/
                0646      &       hfluxfile,     hfluxmask,
                0647      &       atempfile,     atempmask,
                0648      &       aqhfile,       aqhmask,
c994dbe735 Jean*0649      &       hs_file,       hs_mask,
                0650      &       hl_file,       hl_mask,
64b979ef06 Jean*0651      &       sfluxfile,     sfluxmask,
                0652      &       evapfile,      evapmask,
                0653      &       precipfile,    precipmask,
                0654      &       snowprecipfile,snowprecipmask,
                0655      &       runofffile,    runoffmask,
e603dbf008 Dimi*0656      &       runoftempfile,
a66aad0124 Gael*0657      &       saltflxfile,   saltflxmask,
64b979ef06 Jean*0658      &       ustressfile,   ustressmask,
                0659      &       vstressfile,   vstressmask,
                0660      &       uwindfile,     uwindmask,
                0661      &       vwindfile,     vwindmask,
                0662      &       wspeedfile,    wspeedmask,
                0663      &       swfluxfile,    swfluxmask,
                0664      &       lwfluxfile,    lwfluxmask,
                0665      &       swdownfile,    swdownmask,
                0666      &       lwdownfile,    lwdownmask,
                0667      &       apressurefile, apressuremask,
497d85062c Jean*0668      &       tidePotFile,   tidePotMask,
e3eaf00330 Jean*0669      &       areamaskfile,  areamaskmask
64b979ef06 Jean*0670 
                0671       COMMON /EXF_CLIM_I/
de9be302a8 Patr*0672      &       climsststartdate1,  climsststartdate2,
                0673      &       climsssstartdate1,  climsssstartdate2,
                0674      &       climustrstartdate1,  climustrstartdate2,
                0675      &       climvstrstartdate1,  climvstrstartdate2
ad5cdab327 Patr*0676 
64b979ef06 Jean*0677       COMMON /EXF_CLIM_C/
                0678      &       climsstfile,  climsstmask,
                0679      &       climsssfile,  climsssmask,
                0680      &       climustrfile, climustrmask,
                0681      &       climvstrfile, climvstrmask
ad5cdab327 Patr*0682 
64b979ef06 Jean*0683       COMMON /EXF_CLIM_R/
de9be302a8 Patr*0684      &       climtempfreeze,
d078fa0cf5 Jean*0685      &       climsstconst,       climsstRepCycle,
32e4056e6a Jean*0686      &       climsstperiod,      climsstStartTime,
d078fa0cf5 Jean*0687      &       climsssconst,       climsssRepCycle,
32e4056e6a Jean*0688      &       climsssperiod,      climsssStartTime,
d078fa0cf5 Jean*0689      &       climustrconst,      climustrRepCycle,
32e4056e6a Jean*0690      &       climustrperiod,     climustrStartTime,
d078fa0cf5 Jean*0691      &       climvstrconst,      climvstrRepCycle,
32e4056e6a Jean*0692      &       climvstrperiod,     climvstrStartTime,
de9be302a8 Patr*0693      &       climsstTauRelax,    climsssTauRelax,
                0694      &       climustrTauRelax,   climvstrTauRelax,
d078fa0cf5 Jean*0695      &       areamaskTauRelax,
de9be302a8 Patr*0696      &       climsst_exfremo_intercept, climsst_exfremo_slope,
                0697      &       climsss_exfremo_intercept, climsss_exfremo_slope,
                0698      &       climustr_exfremo_intercept, climustr_exfremo_slope,
                0699      &       climvstr_exfremo_intercept, climvstr_exfremo_slope,
                0700      &       exf_inscal_climsst, exf_inscal_climsss,
                0701      &       exf_inscal_climustr, exf_inscal_climvstr
ad5cdab327 Patr*0702 
d078fa0cf5 Jean*0703 C     file precision and field type
082e18c36c Jean*0704 
64b979ef06 Jean*0705       COMMON /EXF_PARAM_TYPE/
de9be302a8 Patr*0706      &       exf_iprec,
ae1d4f326f Jean*0707      &       exf_iprec_obcs
082e18c36c Jean*0708 
d078fa0cf5 Jean*0709       INTEGER exf_iprec
                0710       INTEGER exf_iprec_obcs
082e18c36c Jean*0711 
473d957599 Jean*0712 C-    Scaling factors:
                0713 C     exf_inscal_{fld}   :: input scaling factors
                0714 C     exf_offset_atemp   :: input air temperature offset
                0715 C                        :: (for conversion from C to K, if needed)
                0716 C     exf_outscale_{fld} :: output scaling factors
082e18c36c Jean*0717 
                0718       _RL     exf_inscal_hflux
                0719       _RL     exf_inscal_sflux
                0720       _RL     exf_inscal_ustress
                0721       _RL     exf_inscal_vstress
                0722       _RL     exf_inscal_uwind
                0723       _RL     exf_inscal_vwind
                0724       _RL     exf_inscal_wspeed
                0725       _RL     exf_inscal_swflux
                0726       _RL     exf_inscal_lwflux
                0727       _RL     exf_inscal_precip
                0728       _RL     exf_inscal_snowprecip
497d85062c Jean*0729 c     _RL     exf_inscal_sst
                0730 c     _RL     exf_inscal_sss
c994dbe735 Jean*0731       _RL     exf_inscal_atemp, exf_offset_atemp
082e18c36c Jean*0732       _RL     exf_inscal_aqh
c994dbe735 Jean*0733       _RL     exf_inscal_hs
                0734       _RL     exf_inscal_hl
082e18c36c Jean*0735       _RL     exf_inscal_evap
                0736       _RL     exf_inscal_apressure
                0737       _RL     exf_inscal_runoff
e603dbf008 Dimi*0738       _RL     exf_inscal_runoftemp
a66aad0124 Gael*0739       _RL     exf_inscal_saltflx
082e18c36c Jean*0740       _RL     exf_inscal_swdown
                0741       _RL     exf_inscal_lwdown
497d85062c Jean*0742       _RL     exf_inscal_tidePot
                0743       _RL     exf_inscal_areamask
ad5cdab327 Patr*0744       _RL     exf_inscal_climsst
                0745       _RL     exf_inscal_climsss
de9be302a8 Patr*0746       _RL     exf_inscal_climustr
                0747       _RL     exf_inscal_climvstr
082e18c36c Jean*0748 
                0749       _RL     exf_outscal_hflux
                0750       _RL     exf_outscal_sflux
                0751       _RL     exf_outscal_ustress
                0752       _RL     exf_outscal_vstress
                0753       _RL     exf_outscal_swflux
                0754       _RL     exf_outscal_sst
                0755       _RL     exf_outscal_sss
                0756       _RL     exf_outscal_apressure
497d85062c Jean*0757       _RL     exf_outscal_tidePot
d877a5eaeb Patr*0758       _RL     exf_outscal_areamask
082e18c36c Jean*0759 
64b979ef06 Jean*0760       COMMON /EXF_PARAM_SCAL/
c994dbe735 Jean*0761      &                      exf_inscal_hflux,
                0762      &                      exf_inscal_sflux,
                0763      &                      exf_inscal_ustress,
                0764      &                      exf_inscal_vstress,
                0765      &                      exf_inscal_uwind,
                0766      &                      exf_inscal_vwind,
                0767      &                      exf_inscal_wspeed,
                0768      &                      exf_inscal_swflux,
                0769      &                      exf_inscal_lwflux,
                0770      &                      exf_inscal_precip,
                0771      &                      exf_inscal_snowprecip,
497d85062c Jean*0772 c    &                      exf_inscal_sst,
                0773 c    &                      exf_inscal_sss,
c994dbe735 Jean*0774      &                      exf_inscal_atemp, exf_offset_atemp,
                0775      &                      exf_inscal_aqh,
                0776      &                      exf_inscal_hs,
                0777      &                      exf_inscal_hl,
                0778      &                      exf_inscal_evap,
                0779      &                      exf_inscal_apressure,
                0780      &                      exf_inscal_runoff,
                0781      &                      exf_inscal_runoftemp,
                0782      &                      exf_inscal_saltflx,
                0783      &                      exf_inscal_swdown,
                0784      &                      exf_inscal_lwdown,
497d85062c Jean*0785      &                      exf_inscal_tidePot,
c994dbe735 Jean*0786      &                      exf_inscal_areamask,
                0787      &                      exf_outscal_hflux,
                0788      &                      exf_outscal_sflux,
                0789      &                      exf_outscal_ustress,
                0790      &                      exf_outscal_vstress,
                0791      &                      exf_outscal_swflux,
                0792      &                      exf_outscal_sst,
                0793      &                      exf_outscal_sss,
                0794      &                      exf_outscal_apressure,
497d85062c Jean*0795      &                      exf_outscal_tidePot,
c994dbe735 Jean*0796      &                      exf_outscal_areamask
082e18c36c Jean*0797 
36748caf88 Jean*0798 C- note: pkg/exf Interpolation parameters (#ifdef USE_EXF_INTERPOLATION )
                0799 C   have been moved to specific header file: EXF_INTERP_PARAM.h