33 |
c Calendar data. |
c Calendar data. |
34 |
_RL repeatPeriod |
_RL repeatPeriod |
35 |
|
|
36 |
|
c Sea-water albedo |
37 |
|
_RL exf_albedo |
38 |
|
|
39 |
|
c Maximum absolute windstress, used to reset unreastically high |
40 |
|
c data values |
41 |
|
_RL windstressmax |
42 |
|
|
43 |
integer hfluxstartdate1 |
integer hfluxstartdate1 |
44 |
integer hfluxstartdate2 |
integer hfluxstartdate2 |
45 |
integer hfluxstartdate(4) |
_RL hfluxstartdate |
46 |
_RL hfluxperiod |
_RL hfluxperiod |
47 |
_RL hfluxconst |
_RL hfluxconst |
48 |
character*1 hfluxmask |
character*1 hfluxmask |
50 |
|
|
51 |
integer atempstartdate1 |
integer atempstartdate1 |
52 |
integer atempstartdate2 |
integer atempstartdate2 |
53 |
integer atempstartdate(4) |
_RL atempstartdate |
54 |
_RL atempperiod |
_RL atempperiod |
55 |
_RL atempconst |
_RL atempconst |
56 |
character*1 atempmask |
character*1 atempmask |
58 |
|
|
59 |
integer aqhstartdate1 |
integer aqhstartdate1 |
60 |
integer aqhstartdate2 |
integer aqhstartdate2 |
61 |
integer aqhstartdate(4) |
_RL aqhstartdate |
62 |
_RL aqhperiod |
_RL aqhperiod |
63 |
_RL aqhconst |
_RL aqhconst |
64 |
character*1 aqhmask |
character*1 aqhmask |
66 |
|
|
67 |
integer sfluxstartdate1 |
integer sfluxstartdate1 |
68 |
integer sfluxstartdate2 |
integer sfluxstartdate2 |
69 |
integer sfluxstartdate(4) |
_RL sfluxstartdate |
70 |
_RL sfluxperiod |
_RL sfluxperiod |
71 |
_RL sfluxconst |
_RL sfluxconst |
72 |
character*1 sfluxmask |
character*1 sfluxmask |
74 |
|
|
75 |
integer evapstartdate1 |
integer evapstartdate1 |
76 |
integer evapstartdate2 |
integer evapstartdate2 |
77 |
integer evapstartdate(4) |
_RL evapstartdate |
78 |
_RL evapperiod |
_RL evapperiod |
79 |
_RL evapconst |
_RL evapconst |
80 |
character*1 evapmask |
character*1 evapmask |
82 |
|
|
83 |
integer precipstartdate1 |
integer precipstartdate1 |
84 |
integer precipstartdate2 |
integer precipstartdate2 |
85 |
integer precipstartdate(4) |
_RL precipstartdate |
86 |
_RL precipperiod |
_RL precipperiod |
87 |
_RL precipconst |
_RL precipconst |
88 |
character*1 precipmask |
character*1 precipmask |
90 |
|
|
91 |
integer runoffstartdate1 |
integer runoffstartdate1 |
92 |
integer runoffstartdate2 |
integer runoffstartdate2 |
93 |
integer runoffstartdate(4) |
_RL runoffstartdate |
94 |
_RL runoffperiod |
_RL runoffperiod |
95 |
_RL runoffconst |
_RL runoffconst |
96 |
character*1 runoffmask |
character*1 runoffmask |
98 |
|
|
99 |
integer ustressstartdate1 |
integer ustressstartdate1 |
100 |
integer ustressstartdate2 |
integer ustressstartdate2 |
101 |
integer ustressstartdate(4) |
_RL ustressstartdate |
102 |
_RL ustressperiod |
_RL ustressperiod |
103 |
_RL ustressconst |
_RL ustressconst |
104 |
character*1 ustressmask |
character*1 ustressmask |
106 |
|
|
107 |
integer vstressstartdate1 |
integer vstressstartdate1 |
108 |
integer vstressstartdate2 |
integer vstressstartdate2 |
109 |
integer vstressstartdate(4) |
_RL vstressstartdate |
110 |
_RL vstressperiod |
_RL vstressperiod |
111 |
_RL vstressconst |
_RL vstressconst |
112 |
character*1 vstressmask |
character*1 vstressmask |
114 |
|
|
115 |
integer uwindstartdate1 |
integer uwindstartdate1 |
116 |
integer uwindstartdate2 |
integer uwindstartdate2 |
117 |
integer uwindstartdate(4) |
_RL uwindstartdate |
118 |
_RL uwindperiod |
_RL uwindperiod |
119 |
_RL uwindconst |
_RL uwindconst |
120 |
character*1 uwindmask |
character*1 uwindmask |
122 |
|
|
123 |
integer vwindstartdate1 |
integer vwindstartdate1 |
124 |
integer vwindstartdate2 |
integer vwindstartdate2 |
125 |
integer vwindstartdate(4) |
_RL vwindstartdate |
126 |
_RL vwindperiod |
_RL vwindperiod |
127 |
_RL vwindconst |
_RL vwindconst |
128 |
character*1 vwindmask |
character*1 vwindmask |
130 |
|
|
131 |
integer swfluxstartdate1 |
integer swfluxstartdate1 |
132 |
integer swfluxstartdate2 |
integer swfluxstartdate2 |
133 |
integer swfluxstartdate(4) |
_RL swfluxstartdate |
134 |
_RL swfluxperiod |
_RL swfluxperiod |
135 |
_RL swfluxconst |
_RL swfluxconst |
136 |
character*1 swfluxmask |
character*1 swfluxmask |
138 |
|
|
139 |
integer lwfluxstartdate1 |
integer lwfluxstartdate1 |
140 |
integer lwfluxstartdate2 |
integer lwfluxstartdate2 |
141 |
integer lwfluxstartdate(4) |
_RL lwfluxstartdate |
142 |
_RL lwfluxperiod |
_RL lwfluxperiod |
143 |
_RL lwfluxconst |
_RL lwfluxconst |
144 |
character*1 lwfluxmask |
character*1 lwfluxmask |
146 |
|
|
147 |
integer swdownstartdate1 |
integer swdownstartdate1 |
148 |
integer swdownstartdate2 |
integer swdownstartdate2 |
149 |
integer swdownstartdate(4) |
_RL swdownstartdate |
150 |
_RL swdownperiod |
_RL swdownperiod |
151 |
_RL swdownconst |
_RL swdownconst |
152 |
character*1 swdownmask |
character*1 swdownmask |
154 |
|
|
155 |
integer lwdownstartdate1 |
integer lwdownstartdate1 |
156 |
integer lwdownstartdate2 |
integer lwdownstartdate2 |
157 |
integer lwdownstartdate(4) |
_RL lwdownstartdate |
158 |
_RL lwdownperiod |
_RL lwdownperiod |
159 |
_RL lwdownconst |
_RL lwdownconst |
160 |
character*1 lwdownmask |
character*1 lwdownmask |
162 |
|
|
163 |
integer obcsNstartdate1 |
integer obcsNstartdate1 |
164 |
integer obcsNstartdate2 |
integer obcsNstartdate2 |
165 |
integer obcsNstartdate(4) |
_RL obcsNstartdate |
166 |
_RL obcsNperiod |
_RL obcsNperiod |
167 |
|
|
168 |
integer obcsSstartdate1 |
integer obcsSstartdate1 |
169 |
integer obcsSstartdate2 |
integer obcsSstartdate2 |
170 |
integer obcsSstartdate(4) |
_RL obcsSstartdate |
171 |
_RL obcsSperiod |
_RL obcsSperiod |
172 |
|
|
173 |
integer obcsEstartdate1 |
integer obcsEstartdate1 |
174 |
integer obcsEstartdate2 |
integer obcsEstartdate2 |
175 |
integer obcsEstartdate(4) |
_RL obcsEstartdate |
176 |
_RL obcsEperiod |
_RL obcsEperiod |
177 |
|
|
178 |
integer obcsWstartdate1 |
integer obcsWstartdate1 |
179 |
integer obcsWstartdate2 |
integer obcsWstartdate2 |
180 |
integer obcsWstartdate(4) |
_RL obcsWstartdate |
181 |
_RL obcsWperiod |
_RL obcsWperiod |
182 |
|
|
183 |
integer apressurestartdate1 |
integer apressurestartdate1 |
184 |
integer apressurestartdate2 |
integer apressurestartdate2 |
185 |
integer apressurestartdate(4) |
_RL apressurestartdate |
186 |
_RL apressureperiod |
_RL apressureperiod |
187 |
_RL apressureconst |
_RL apressureconst |
188 |
character*1 apressuremask |
character*1 apressuremask |
207 |
character*(128) apressurefile |
character*(128) apressurefile |
208 |
|
|
209 |
common /exf_param_i/ |
common /exf_param_i/ |
|
& repeatPeriod, |
|
210 |
& hfluxstartdate1, hfluxstartdate2, |
& hfluxstartdate1, hfluxstartdate2, |
211 |
& atempstartdate1, atempstartdate2, |
& atempstartdate1, atempstartdate2, |
212 |
& aqhstartdate1, aqhstartdate2, |
& aqhstartdate1, aqhstartdate2, |
226 |
& obcsSstartdate1, obcsSstartdate2, |
& obcsSstartdate1, obcsSstartdate2, |
227 |
& obcsEstartdate1, obcsEstartdate2, |
& obcsEstartdate1, obcsEstartdate2, |
228 |
& obcsWstartdate1, obcsWstartdate2, |
& obcsWstartdate1, obcsWstartdate2, |
229 |
& apressurestartdate1,apressurestartdate2, |
& apressurestartdate1,apressurestartdate2 |
|
& hfluxstartdate, |
|
|
& atempstartdate, |
|
|
& aqhstartdate, |
|
|
& sfluxstartdate, |
|
|
& evapstartdate, |
|
|
& precipstartdate, |
|
|
& runoffstartdate, |
|
|
& ustressstartdate, |
|
|
& vstressstartdate, |
|
|
& uwindstartdate, |
|
|
& vwindstartdate, |
|
|
& swfluxstartdate, |
|
|
& lwfluxstartdate, |
|
|
& swdownstartdate, |
|
|
& lwdownstartdate, |
|
|
& obcsNstartdate, |
|
|
& obcsSstartdate, |
|
|
& obcsEstartdate, |
|
|
& obcsWstartdate, |
|
|
& apressurestartdate |
|
230 |
|
|
231 |
common /exf_param_r/ |
common /exf_param_r/ |
232 |
& hfluxperiod, |
& windstressmax, |
233 |
& atempperiod, |
& repeatPeriod, exf_albedo, |
234 |
& aqhperiod, |
& hfluxperiod, hfluxstartdate, |
235 |
& sfluxperiod, |
& atempperiod, atempstartdate, |
236 |
& evapperiod, |
& aqhperiod, aqhstartdate, |
237 |
& precipperiod, |
& sfluxperiod, sfluxstartdate, |
238 |
& runoffperiod, |
& evapperiod, evapstartdate, |
239 |
& ustressperiod, |
& precipperiod, precipstartdate, |
240 |
& vstressperiod, |
& runoffperiod, runoffstartdate, |
241 |
& uwindperiod, |
& ustressperiod, ustressstartdate, |
242 |
& vwindperiod, |
& vstressperiod, vstressstartdate, |
243 |
& swfluxperiod, |
& uwindperiod, uwindstartdate, |
244 |
& lwfluxperiod, |
& vwindperiod, vwindstartdate, |
245 |
& swdownperiod, |
& swfluxperiod, swfluxstartdate, |
246 |
& lwdownperiod, |
& lwfluxperiod, lwfluxstartdate, |
247 |
& obcsNperiod, |
& swdownperiod, swdownstartdate, |
248 |
& obcsSperiod, |
& lwdownperiod, lwdownstartdate, |
249 |
& obcsEperiod, |
& obcsNperiod, obcsNstartdate, |
250 |
& obcsWperiod, |
& obcsSperiod, obcsSstartdate, |
251 |
& apressureperiod, |
& obcsEperiod, obcsEstartdate, |
252 |
|
& obcsWperiod, obcsWstartdate, |
253 |
|
& apressureperiod, apressurestartdate, |
254 |
& hfluxconst, |
& hfluxconst, |
255 |
& atempconst, |
& atempconst, |
256 |
& aqhconst, |
& aqhconst, |
295 |
integer exf_iprec |
integer exf_iprec |
296 |
character*(2) exf_yftype |
character*(2) exf_yftype |
297 |
|
|
298 |
c input and output scaling factors |
c exf_inscal_* input scaling factors |
299 |
|
c exf_offset_atemp input air temperature offset |
300 |
|
c (for conversion from C to K, if needed) |
301 |
|
c exf_outscale_* output scaling factors |
302 |
|
|
303 |
_RL exf_inscal_hflux |
_RL exf_inscal_hflux |
304 |
_RL exf_inscal_sflux |
_RL exf_inscal_sflux |
312 |
_RL exf_inscal_sst |
_RL exf_inscal_sst |
313 |
_RL exf_inscal_sss |
_RL exf_inscal_sss |
314 |
_RL exf_inscal_atemp |
_RL exf_inscal_atemp |
315 |
|
_RL exf_offset_atemp |
316 |
_RL exf_inscal_aqh |
_RL exf_inscal_aqh |
317 |
_RL exf_inscal_evap |
_RL exf_inscal_evap |
318 |
_RL exf_inscal_apressure |
_RL exf_inscal_apressure |
342 |
& , exf_inscal_sst |
& , exf_inscal_sst |
343 |
& , exf_inscal_sss |
& , exf_inscal_sss |
344 |
& , exf_inscal_atemp |
& , exf_inscal_atemp |
345 |
|
& , exf_offset_atemp |
346 |
& , exf_inscal_aqh |
& , exf_inscal_aqh |
347 |
& , exf_inscal_evap |
& , exf_inscal_evap |
348 |
& , exf_inscal_apressure |
& , exf_inscal_apressure |
358 |
& , exf_outscal_sss |
& , exf_outscal_sss |
359 |
& , exf_outscal_apressure |
& , exf_outscal_apressure |
360 |
|
|
361 |
c EXFwindOnBgrid - By default wind files, uwind and vwind, |
#ifndef USE_EXF_INTERPOLATION |
362 |
c are defined on Southwest C-grid U and V points. |
c-- set dummy dimension 1 |
363 |
c When this flag is set, wind files are defined on |
integer MAX_LAT_INC |
364 |
c Southwest B-grid U and V points. |
parameter(MAX_LAT_INC = 1) |
365 |
LOGICAL EXFwindOnBgrid |
#else |
|
COMMON /EXF_PARM_L/ EXFwindOnBgrid |
|
|
|
|
|
#ifdef USE_EXF_INTERPOLATION |
|
366 |
c for lat interpolation, arraysize currently set to 250 max data values |
c for lat interpolation, arraysize currently set to 250 max data values |
367 |
integer MAX_LAT_INC |
integer MAX_LAT_INC |
368 |
parameter(MAX_LAT_INC = 250) |
parameter(MAX_LAT_INC = 250) |
385 |
_RL runoff_lat0, runoff_lat_inc(MAX_LAT_INC) |
_RL runoff_lat0, runoff_lat_inc(MAX_LAT_INC) |
386 |
INTEGER runoff_nlon, runoff_nlat |
INTEGER runoff_nlon, runoff_nlat |
387 |
_RL atemp_lon0, atemp_lon_inc |
_RL atemp_lon0, atemp_lon_inc |
388 |
_RL atemp_lat0, atemp_lat_inc |
_RL atemp_lat0, atemp_lat_inc(MAX_LAT_INC) |
389 |
INTEGER atemp_nlon, atemp_nlat |
INTEGER atemp_nlon, atemp_nlat |
390 |
_RL aqh_lon0, aqh_lon_inc |
_RL aqh_lon0, aqh_lon_inc |
391 |
_RL aqh_lat0, aqh_lat_inc |
_RL aqh_lat0, aqh_lat_inc(MAX_LAT_INC) |
392 |
INTEGER aqh_nlon, aqh_nlat |
INTEGER aqh_nlon, aqh_nlat |
393 |
_RL evap_lon0, evap_lon_inc |
_RL evap_lon0, evap_lon_inc |
394 |
_RL evap_lat0, evap_lat_inc |
_RL evap_lat0, evap_lat_inc(MAX_LAT_INC) |
395 |
INTEGER evap_nlon, evap_nlat |
INTEGER evap_nlon, evap_nlat |
396 |
_RL precip_lon0, precip_lon_inc |
_RL precip_lon0, precip_lon_inc |
397 |
_RL precip_lat0, precip_lat_inc |
_RL precip_lat0, precip_lat_inc(MAX_LAT_INC) |
398 |
INTEGER precip_nlon, precip_nlat |
INTEGER precip_nlon, precip_nlat |
399 |
_RL uwind_lon0, uwind_lon_inc |
_RL uwind_lon0, uwind_lon_inc |
400 |
_RL uwind_lat0, uwind_lat_inc |
_RL uwind_lat0, uwind_lat_inc(MAX_LAT_INC) |
401 |
INTEGER uwind_nlon, uwind_nlat |
INTEGER uwind_nlon, uwind_nlat |
402 |
_RL vwind_lon0, vwind_lon_inc |
_RL vwind_lon0, vwind_lon_inc |
403 |
_RL vwind_lat0, vwind_lat_inc |
_RL vwind_lat0, vwind_lat_inc(MAX_LAT_INC) |
404 |
INTEGER vwind_nlon, vwind_nlat |
INTEGER vwind_nlon, vwind_nlat |
405 |
_RL lwflux_lon0, lwflux_lon_inc |
_RL lwflux_lon0, lwflux_lon_inc |
406 |
_RL lwflux_lat0, lwflux_lat_inc |
_RL lwflux_lat0, lwflux_lat_inc(MAX_LAT_INC) |
407 |
INTEGER lwflux_nlon, lwflux_nlat |
INTEGER lwflux_nlon, lwflux_nlat |
408 |
_RL swdown_lon0, swdown_lon_inc |
_RL swdown_lon0, swdown_lon_inc |
409 |
_RL swdown_lat0, swdown_lat_inc |
_RL swdown_lat0, swdown_lat_inc(MAX_LAT_INC) |
410 |
INTEGER swdown_nlon, swdown_nlat |
INTEGER swdown_nlon, swdown_nlat |
411 |
_RL lwdown_lon0, lwdown_lon_inc |
_RL lwdown_lon0, lwdown_lon_inc |
412 |
_RL lwdown_lat0, lwdown_lat_inc |
_RL lwdown_lat0, lwdown_lat_inc(MAX_LAT_INC) |
413 |
INTEGER lwdown_nlon, lwdown_nlat |
INTEGER lwdown_nlon, lwdown_nlat |
414 |
_RL apressure_lon0,apressure_lon_inc |
_RL apressure_lon0,apressure_lon_inc |
415 |
_RL apressure_lat0,apressure_lat_inc |
_RL apressure_lat0,apressure_lat_inc(MAX_LAT_INC) |
416 |
INTEGER apressure_nlon,apressure_nlat |
INTEGER apressure_nlon,apressure_nlat |
417 |
|
|
418 |
common /exf_interp/ |
common /exf_interpolation/ |
419 |
& ustress_lon0, ustress_lon_inc, |
& ustress_lon0, ustress_lon_inc, |
420 |
& ustress_lat0, ustress_lat_inc, |
& ustress_lat0, ustress_lat_inc, |
421 |
& ustress_nlon, ustress_nlat, |
& ustress_nlon, ustress_nlat, |
434 |
& runoff_lon0, runoff_lon_inc, |
& runoff_lon0, runoff_lon_inc, |
435 |
& runoff_lat0, runoff_lat_inc, |
& runoff_lat0, runoff_lat_inc, |
436 |
& runoff_nlon, runoff_nlat, |
& runoff_nlon, runoff_nlat, |
437 |
|
& atemp_lon0, atemp_lon_inc, |
438 |
& atemp_lat0, atemp_lat_inc, |
& atemp_lat0, atemp_lat_inc, |
439 |
& atemp_nlon, atemp_nlat, |
& atemp_nlon, atemp_nlat, |
440 |
& aqh_lon0, aqh_lon_inc, |
& aqh_lon0, aqh_lon_inc, |