17 |
#include "SIZE.h" |
#include "SIZE.h" |
18 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
19 |
#include "PARAMS.h" |
#include "PARAMS.h" |
20 |
|
#include "EXF_OPTIONS.h" |
21 |
|
#ifdef USE_EXF_INTERPOLATION |
22 |
|
# ifdef ALLOW_EXCH2 |
23 |
|
# include "W2_EXCH2_SIZE.h" |
24 |
|
# include "W2_EXCH2_TOPOLOGY.h" |
25 |
|
# endif /* ALLOW_EXCH2 */ |
26 |
|
# include "SET_GRID.h" |
27 |
|
#endif /* USE_EXF_INTERPOLATION */ |
28 |
|
#include "EXF_PARAM.h" |
29 |
|
#include "EXF_CONSTANTS.h" |
30 |
#include "BLING_VARS.h" |
#include "BLING_VARS.h" |
31 |
|
|
32 |
C === Routine arguments === |
C === Routine arguments === |
120 |
& bling_ironFile, bling_silicaFile, |
& bling_ironFile, bling_silicaFile, |
121 |
& bling_forcingPeriod, bling_forcingCycle, |
& bling_forcingPeriod, bling_forcingCycle, |
122 |
& bling_pCO2, river_conc_trac |
& bling_pCO2, river_conc_trac |
123 |
|
#ifdef USE_EXFCO2 |
124 |
|
& ,apco2file |
125 |
|
& ,apco2startdate1, apco2startdate2, apco2period |
126 |
|
& ,exf_inscal_apco2, exf_outscal_apco2, apco2const, |
127 |
|
& apco2_exfremo_intercept, apco2_exfremo_slope |
128 |
|
#ifdef USE_EXF_INTERPOLATION |
129 |
|
& ,apco2_lon0, apco2_lon_inc, apco2_lat0, apco2_lat_inc, |
130 |
|
& apco2_nlon, apco2_nlat, apco2_interpMethod |
131 |
|
#endif /* USE_EXF_INTERPOLATION */ |
132 |
|
#endif |
133 |
|
|
134 |
C ========================================================== |
C ========================================================== |
135 |
C permil :: set carbon mol/m3 <---> mol/kg conversion factor |
C permil :: set carbon mol/m3 <---> mol/kg conversion factor |
187 |
C secperday :: seconds in a day = 24*60*60 |
C secperday :: seconds in a day = 24*60*60 |
188 |
_RL secperday |
_RL secperday |
189 |
integer k |
integer k |
190 |
|
#ifdef USE_EXF_INTERPOLATION |
191 |
|
INTEGER gridNx, gridNy |
192 |
|
INTEGER j |
193 |
|
_RL inp_lon0, inp_lat0, inp_dLon, inp_dLat |
194 |
|
#endif |
195 |
|
|
196 |
_BEGIN_MASTER(myThid) |
_BEGIN_MASTER(myThid) |
197 |
|
|
273 |
river_conc_trac(k) = 0. _d 0 |
river_conc_trac(k) = 0. _d 0 |
274 |
ENDDO |
ENDDO |
275 |
|
|
276 |
|
#ifdef USE_EXFCO2 |
277 |
|
apco2startdate1 = 0 |
278 |
|
apco2startdate2 = 0 |
279 |
|
apco2period = 0.0 _d 0 |
280 |
|
apco2const = 0.0 _d 0 |
281 |
|
apco2_exfremo_intercept = 0.0 _d 0 |
282 |
|
apco2_exfremo_slope = 0.0 _d 0 |
283 |
|
apco2file = ' ' |
284 |
|
apco2startdate = 0. |
285 |
|
exf_inscal_apco2 = 1. _d 0 |
286 |
|
exf_outscal_apco2 = 1. _d 0 |
287 |
|
#ifdef USE_EXF_INTERPOLATION |
288 |
|
C-- set default input location to match (in case of simple Lat-Lonp |
289 |
|
Cgrid) |
290 |
|
C model grid cell-center position (leading to trivial interpolation) |
291 |
|
inp_lon0 = xgOrigin + delX(1)*exf_half |
292 |
|
inp_lat0 = ygOrigin + delY(1)*exf_half |
293 |
|
inp_dLon = delX(1) |
294 |
|
inp_dLat = delY(1) |
295 |
|
apco2_lon0 = inp_lon0 |
296 |
|
apco2_lat0 = inp_lat0 |
297 |
|
apco2_nlon = gridNx |
298 |
|
apco2_nlat = gridNy |
299 |
|
apco2_lon_inc = inp_dLon |
300 |
|
DO j=1,MAX_LAT_INC |
301 |
|
IF (j.LT.gridNy) THEN |
302 |
|
inp_dLat = (delY(j) + delY(j+1))*exf_half |
303 |
|
ELSE |
304 |
|
inp_dLat = 0. |
305 |
|
ENDIF |
306 |
|
apco2_lat_inc(j) = inp_dLat |
307 |
|
ENDDO |
308 |
|
#endif /* USE_EXF_INTERPOLATION */ |
309 |
|
#endif |
310 |
|
|
311 |
c default periodic forcing to same as for physics |
c default periodic forcing to same as for physics |
312 |
bling_forcingPeriod = externForcingPeriod |
bling_forcingPeriod = externForcingPeriod |