File indexing completed on 2021-08-12 05:11:36 UTC
view on githubraw file Latest commit 0320e252 on 2021-08-11 16:08:52 UTC
6d54cf9ca1 Ed H*0001 #include "EXF_OPTIONS.h"
7f861c1808 Patr*0002
473f3aa7d4 Jean*0003
7f861c1808 Patr*0004
473f3aa7d4 Jean*0005
0006
0007
0008 SUBROUTINE EXF_INIT_VARIA( myThid )
7f861c1808 Patr*0009
473f3aa7d4 Jean*0010
0011
0012
0013
0014
0015
0016
0017
0018
7f861c1808 Patr*0019
473f3aa7d4 Jean*0020
0021 IMPLICIT NONE
0022
7f861c1808 Patr*0023 #include "EEPARAMS.h"
0024 #include "SIZE.h"
5d2261ac89 Dimi*0025 #include "GRID.h"
082e18c36c Jean*0026 #include "EXF_PARAM.h"
30fcb891cf Jean*0027 #include "EXF_INTERP_SIZE.h"
0028 #include "EXF_INTERP_PARAM.h"
082e18c36c Jean*0029 #include "EXF_FIELDS.h"
0320e25227 Mart*0030 #include "PARAMS.h"
c5308dc7f3 Patr*0031 #ifdef ALLOW_BULK_OFFLINE
0032 # include "DYNVARS.h"
0033 #endif
7f861c1808 Patr*0034
473f3aa7d4 Jean*0035
0036
24da7525ba Jean*0037 INTEGER myThid
7f861c1808 Patr*0038
473f3aa7d4 Jean*0039
0320e25227 Mart*0040 INTEGER i,j,ks,bi,bj
473f3aa7d4 Jean*0041
7f861c1808 Patr*0042
0320e25227 Mart*0043 ks = 1
0044 IF ( usingPCoords ) ks = Nr
0045
9e98677022 Jean*0046
0047 DO bj = myByLo(myThid), myByHi(myThid)
0048 DO bi = myBxLo(myThid), myBxHi(myThid)
24da7525ba Jean*0049 DO j=1-OLy,sNy+OLy
0050 DO i=1-OLx,sNx+OLx
9e98677022 Jean*0051 wStress(i,j,bi,bj) = 0.
0052 cw(i,j,bi,bj) = 0.
0053 sw(i,j,bi,bj) = 0.
0054 sh(i,j,bi,bj) = 0.
0055 #ifdef ALLOW_ATM_TEMP
0056 hs(i,j,bi,bj) = 0.
0057 hl(i,j,bi,bj) = 0.
0058 #endif
0059 ENDDO
0060 ENDDO
0061 ENDDO
0062 ENDDO
0063
358649780a Gael*0064 IF ( .NOT.useAtmWind ) THEN
ebb4db1a0a Jean*0065
0066
0067
0068
0069
1e461494b9 Jean*0070 CALL EXF_INIT_FLD(
0071 I 'ustress', ustressfile, ustressmask,
0072 I ustressperiod, exf_inscal_ustress, ustressconst,
0073 O ustress, ustress0, ustress1,
5d2261ac89 Dimi*0074 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0075 I ustress_lon0, ustress_lon_inc,
0076 I ustress_lat0, ustress_lat_inc,
0077 I ustress_nlon, ustress_nlat, xC, yC, ustress_interpMethod,
5d2261ac89 Dimi*0078 #endif
1e461494b9 Jean*0079 I myThid )
5d2261ac89 Dimi*0080
1e461494b9 Jean*0081 CALL EXF_INIT_FLD(
0082 I 'vstress', vstressfile, vstressmask,
0083 I vstressperiod, exf_inscal_vstress, vstressconst,
0084 O vstress, vstress0, vstress1,
5d2261ac89 Dimi*0085 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0086 I vstress_lon0, vstress_lon_inc,
0087 I vstress_lat0, vstress_lat_inc,
0088 I vstress_nlon, vstress_nlat, xC, yC, vstress_interpMethod,
5d2261ac89 Dimi*0089 #endif
1e461494b9 Jean*0090 I myThid )
7f861c1808 Patr*0091
358649780a Gael*0092 ELSE
ebb4db1a0a Jean*0093 DO bj = myByLo(myThid), myByHi(myThid)
0094 DO bi = myBxLo(myThid), myBxHi(myThid)
0095 DO j=1-OLy,sNy+OLy
0096 DO i=1-OLx,sNx+OLx
0097 uwind(i,j,bi,bj) = 0.
0098 vwind(i,j,bi,bj) = 0.
0099 ENDDO
358649780a Gael*0100 ENDDO
0101 ENDDO
0102 ENDDO
0103 ENDIF
0104
0105 IF ( useAtmWind ) THEN
ebb4db1a0a Jean*0106
0107
0108
0109
0110
1e461494b9 Jean*0111 CALL EXF_INIT_FLD(
0112 I 'uwind', uwindfile, uwindmask,
0113 I uwindperiod, exf_inscal_uwind, uwindconst,
0114 O uwind, uwind0, uwind1,
5d2261ac89 Dimi*0115 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0116 I uwind_lon0, uwind_lon_inc,
0117 I uwind_lat0, uwind_lat_inc,
0118 I uwind_nlon, uwind_nlat, xC, yC, uwind_interpMethod,
5d2261ac89 Dimi*0119 #endif
1e461494b9 Jean*0120 I myThid )
5d2261ac89 Dimi*0121
1e461494b9 Jean*0122 CALL EXF_INIT_FLD(
0123 I 'vwind', vwindfile, vwindmask,
0124 I vwindperiod, exf_inscal_vwind, vwindconst,
0125 O vwind, vwind0, vwind1,
5d2261ac89 Dimi*0126 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0127 I vwind_lon0, vwind_lon_inc,
0128 I vwind_lat0, vwind_lat_inc,
0129 I vwind_nlon, vwind_nlat, xC, yC, vwind_interpMethod,
6060ec2938 Dimi*0130 #endif
1e461494b9 Jean*0131 I myThid )
5d2261ac89 Dimi*0132
358649780a Gael*0133 ELSE
ebb4db1a0a Jean*0134 DO bj = myByLo(myThid), myByHi(myThid)
0135 DO bi = myBxLo(myThid), myBxHi(myThid)
0136 DO j=1-OLy,sNy+OLy
0137 DO i=1-OLx,sNx+OLx
0138 uwind(i,j,bi,bj) = 0.
0139 vwind(i,j,bi,bj) = 0.
0140 ENDDO
358649780a Gael*0141 ENDDO
0142 ENDDO
0143 ENDDO
0144 ENDIF
5d2261ac89 Dimi*0145
1e461494b9 Jean*0146 CALL EXF_INIT_FLD(
0147 I 'wspeed', wspeedfile, wspeedmask,
0148 I wspeedperiod, exf_inscal_wspeed, wspeedconst,
0149 O wspeed, wspeed0, wspeed1,
5d2261ac89 Dimi*0150 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0151 I wspeed_lon0, wspeed_lon_inc,
0152 I wspeed_lat0, wspeed_lat_inc,
0153 I wspeed_nlon, wspeed_nlat, xC, yC, wspeed_interpMethod,
5d2261ac89 Dimi*0154 #endif
1e461494b9 Jean*0155 I myThid )
3752238fd8 Patr*0156
1e461494b9 Jean*0157 CALL EXF_INIT_FLD(
0158 I 'hflux', hfluxfile, hfluxmask,
0159 I hfluxperiod, exf_inscal_hflux, hfluxconst,
0160 O hflux, hflux0, hflux1,
5d2261ac89 Dimi*0161 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0162 I hflux_lon0, hflux_lon_inc,
0163 I hflux_lat0, hflux_lat_inc,
0164 I hflux_nlon, hflux_nlat, xC, yC, hflux_interpMethod,
5d2261ac89 Dimi*0165 #endif
1e461494b9 Jean*0166 I myThid )
5d2261ac89 Dimi*0167
1e461494b9 Jean*0168 CALL EXF_INIT_FLD(
0169 I 'sflux', sfluxfile, sfluxmask,
0170 I sfluxperiod, exf_inscal_sflux, sfluxconst,
0171 O sflux, sflux0, sflux1,
5d2261ac89 Dimi*0172 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0173 I sflux_lon0, sflux_lon_inc,
0174 I sflux_lat0, sflux_lat_inc,
0175 I sflux_nlon, sflux_nlat, xC, yC, sflux_interpMethod,
5d2261ac89 Dimi*0176 #endif
1e461494b9 Jean*0177 I myThid )
7f861c1808 Patr*0178
0179 #ifdef ALLOW_ATM_TEMP
5d2261ac89 Dimi*0180
1e461494b9 Jean*0181 CALL EXF_INIT_FLD(
0182 I 'atemp', atempfile, atempmask,
0183 I atempperiod, exf_inscal_atemp, atempconst,
0184 O atemp, atemp0, atemp1,
5d2261ac89 Dimi*0185 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0186 I atemp_lon0, atemp_lon_inc,
0187 I atemp_lat0, atemp_lat_inc,
0188 I atemp_nlon, atemp_nlat, xC, yC, atemp_interpMethod,
5d2261ac89 Dimi*0189 #endif
1e461494b9 Jean*0190 I myThid )
5d2261ac89 Dimi*0191
1e461494b9 Jean*0192 CALL EXF_INIT_FLD(
0193 I 'aqh', aqhfile, aqhmask,
0194 I aqhperiod, exf_inscal_aqh, aqhconst,
0195 O aqh, aqh0, aqh1,
5d2261ac89 Dimi*0196 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0197 I aqh_lon0, aqh_lon_inc,
0198 I aqh_lat0, aqh_lat_inc,
0199 I aqh_nlon, aqh_nlat, xC, yC, aqh_interpMethod,
5d2261ac89 Dimi*0200 #endif
1e461494b9 Jean*0201 I myThid )
5d2261ac89 Dimi*0202
c994dbe735 Jean*0203 # ifdef ALLOW_READ_TURBFLUXES
0204
1e461494b9 Jean*0205 CALL EXF_INIT_FLD(
0206 I 'hs', hs_file, hs_mask,
0207 I hs_period, exf_inscal_hs, hs_const,
0208 O hs, hs0, hs1,
c994dbe735 Jean*0209 # ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0210 I hs_lon0, hs_lon_inc,
0211 I hs_lat0, hs_lat_inc,
0212 I hs_nlon, hs_nlat, xC, yC, hs_interpMethod,
c994dbe735 Jean*0213 # endif
1e461494b9 Jean*0214 I myThid )
c994dbe735 Jean*0215
1e461494b9 Jean*0216 CALL EXF_INIT_FLD(
0217 I 'hl', hl_file, hl_mask,
0218 I hl_period, exf_inscal_hl, hl_const,
0219 O hl, hl0, hl1,
c994dbe735 Jean*0220 # ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0221 I hl_lon0, hl_lon_inc,
0222 I hl_lat0, hl_lat_inc,
0223 I hl_nlon, hl_nlat, xC, yC, hl_interpMethod,
c994dbe735 Jean*0224 # endif
1e461494b9 Jean*0225 I myThid )
c994dbe735 Jean*0226
0227 # endif /* ALLOW_READ_TURBFLUXES */
0228
1e461494b9 Jean*0229 CALL EXF_INIT_FLD(
0230 I 'lwflux', lwfluxfile, lwfluxmask,
0231 I lwfluxperiod, exf_inscal_lwflux, lwfluxconst,
0232 O lwflux, lwflux0, lwflux1,
5d2261ac89 Dimi*0233 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0234 I lwflux_lon0, lwflux_lon_inc,
0235 I lwflux_lat0, lwflux_lat_inc,
0236 I lwflux_nlon, lwflux_nlat, xC, yC, lwflux_interpMethod,
5d2261ac89 Dimi*0237 #endif
1e461494b9 Jean*0238 I myThid )
5d2261ac89 Dimi*0239
26f6b8243e Jean*0240 #ifdef EXF_READ_EVAP
1e461494b9 Jean*0241 CALL EXF_INIT_FLD(
0242 I 'evap', evapfile, evapmask,
0243 I evapperiod, exf_inscal_evap, evapconst,
0244 O evap, evap0, evap1,
26f6b8243e Jean*0245 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0246 I evap_lon0, evap_lon_inc,
0247 I evap_lat0, evap_lat_inc,
0248 I evap_nlon, evap_nlat, xC, yC, evap_interpMethod,
26f6b8243e Jean*0249 #endif
1e461494b9 Jean*0250 I myThid )
26f6b8243e Jean*0251 #endif /* EXF_READ_EVAP */
0252
1e461494b9 Jean*0253 CALL EXF_INIT_FLD(
0254 I 'precip', precipfile, precipmask,
0255 I precipperiod, exf_inscal_precip, precipconst,
0256 O precip, precip0, precip1,
5d2261ac89 Dimi*0257 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0258 I precip_lon0, precip_lon_inc,
0259 I precip_lat0, precip_lat_inc,
0260 I precip_nlon, precip_nlat, xC, yC, precip_interpMethod,
5d2261ac89 Dimi*0261 #endif
1e461494b9 Jean*0262 I myThid )
5d2261ac89 Dimi*0263
1e461494b9 Jean*0264 CALL EXF_INIT_FLD(
0265 I 'snowprecip', snowprecipfile, snowprecipmask,
0266 I snowprecipperiod, exf_inscal_snowprecip, snowprecipconst,
0267 O snowprecip, snowprecip0, snowprecip1,
5d2261ac89 Dimi*0268 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0269 I snowprecip_lon0, snowprecip_lon_inc,
0270 I snowprecip_lat0, snowprecip_lat_inc,
0271 I snowprecip_nlon, snowprecip_nlat, xC, yC,
0272 I snowprecip_interpMethod,
6060ec2938 Dimi*0273 #endif
1e461494b9 Jean*0274 I myThid )
5d2261ac89 Dimi*0275
0276 #endif /* ALLOW_ATM_TEMP */
7f861c1808 Patr*0277
6060ec2938 Dimi*0278 #if defined(ALLOW_ATM_TEMP) || defined(SHORTWAVE_HEATING)
1e461494b9 Jean*0279 CALL EXF_INIT_FLD(
0280 I 'swflux', swfluxfile, swfluxmask,
0281 I swfluxperiod, exf_inscal_swflux, swfluxconst,
0282 O swflux, swflux0, swflux1,
5d2261ac89 Dimi*0283 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0284 I swflux_lon0, swflux_lon_inc,
0285 I swflux_lat0, swflux_lat_inc,
0286 I swflux_nlon, swflux_nlat, xC, yC, swflux_interpMethod,
6060ec2938 Dimi*0287 #endif
1e461494b9 Jean*0288 I myThid )
5d2261ac89 Dimi*0289 #endif /* defined(ALLOW_ATM_TEMP) || defined(SHORTWAVE_HEATING) */
7f861c1808 Patr*0290
6060ec2938 Dimi*0291 #ifdef ALLOW_DOWNWARD_RADIATION
5d2261ac89 Dimi*0292
1e461494b9 Jean*0293 CALL EXF_INIT_FLD(
0294 I 'swdown', swdownfile, swdownmask,
0295 I swdownperiod, exf_inscal_swdown, swdownconst,
0296 O swdown, swdown0, swdown1,
5d2261ac89 Dimi*0297 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0298 I swdown_lon0, swdown_lon_inc,
0299 I swdown_lat0, swdown_lat_inc,
0300 I swdown_nlon, swdown_nlat, xC, yC, swdown_interpMethod,
5d2261ac89 Dimi*0301 #endif
1e461494b9 Jean*0302 I myThid )
5d2261ac89 Dimi*0303
1e461494b9 Jean*0304 CALL EXF_INIT_FLD(
0305 I 'lwdown', lwdownfile, lwdownmask,
0306 I lwdownperiod, exf_inscal_lwdown, lwdownconst,
0307 O lwdown, lwdown0, lwdown1,
5d2261ac89 Dimi*0308 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0309 I lwdown_lon0, lwdown_lon_inc,
0310 I lwdown_lat0, lwdown_lat_inc,
0311 I lwdown_nlon, lwdown_nlat, xC, yC, lwdown_interpMethod,
6060ec2938 Dimi*0312 #endif
1e461494b9 Jean*0313 I myThid )
5d2261ac89 Dimi*0314
0315 #endif /* ALLOW_DOWNWARD_RADIATION */
7f861c1808 Patr*0316
6060ec2938 Dimi*0317 #ifdef ATMOSPHERIC_LOADING
1e461494b9 Jean*0318 CALL EXF_INIT_FLD(
0319 I 'apressure', apressurefile, apressuremask,
0320 I apressureperiod, exf_inscal_apressure, apressureconst,
0321 O apressure, apressure0, apressure1,
5d2261ac89 Dimi*0322 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0323 I apressure_lon0, apressure_lon_inc,
0324 I apressure_lat0, apressure_lat_inc,
0325 I apressure_nlon, apressure_nlat, xC, yC,
0326 I apressure_interpMethod,
bdec91d862 Patr*0327 #endif
1e461494b9 Jean*0328 I myThid )
5d2261ac89 Dimi*0329 #endif /* ATMOSPHERIC_LOADING */
bdec91d862 Patr*0330
497d85062c Jean*0331 #ifdef EXF_ALLOW_TIDES
0332 CALL EXF_INIT_FLD(
0333 I 'tidePot', tidePotFile, tidePotMask,
0334 I tidePotPeriod, exf_inscal_tidePot, tidePotconst,
0335 O tidePot, tidePot0, tidePot1,
0336 #ifdef USE_EXF_INTERPOLATION
0337 I tidePot_lon0, tidePot_lon_inc,
0338 I tidePot_lat0, tidePot_lat_inc,
0339 I tidePot_nlon, tidePot_nlat, xC, yC, tidePot_interpMethod,
0340 #endif
0341 I myThid )
0342 #endif /* EXF_ALLOW_TIDES */
0343
24da7525ba Jean*0344 #ifdef EXF_SEAICE_FRACTION
1e461494b9 Jean*0345 CALL EXF_INIT_FLD(
0346 I 'areamask', areamaskfile, areamaskmask,
0347 I areamaskperiod, exf_inscal_areamask, areamaskconst,
0348 O areamask, areamask0, areamask1,
8f277f2728 Gael*0349 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0350 I areamask_lon0, areamask_lon_inc,
0351 I areamask_lat0, areamask_lat_inc,
0352 I areamask_nlon, areamask_nlat, xC, yC, areamask_interpMethod,
8f277f2728 Gael*0353 #endif
1e461494b9 Jean*0354 I myThid )
24da7525ba Jean*0355 #endif /* EXF_SEAICE_FRACTION */
8f277f2728 Gael*0356
a0e99e946e Jean*0357 #ifdef ALLOW_RUNOFF
1e461494b9 Jean*0358 CALL EXF_INIT_FLD(
0359 I 'runoff', runofffile, runoffmask,
0360 I runoffperiod, exf_inscal_runoff, runoffconst,
0361 O runoff, runoff0, runoff1,
e603dbf008 Dimi*0362 # ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0363 I runoff_lon0, runoff_lon_inc,
0364 I runoff_lat0, runoff_lat_inc,
0365 I runoff_nlon, runoff_nlat, xC, yC, runoff_interpMethod,
e603dbf008 Dimi*0366 # endif
1e461494b9 Jean*0367 I myThid )
e603dbf008 Dimi*0368 # ifdef ALLOW_RUNOFTEMP
1e461494b9 Jean*0369 CALL EXF_INIT_FLD(
0370 I 'runoftemp', runoftempfile, runoffmask,
0371 I runoffperiod, exf_inscal_runoftemp, runoftempconst,
0372 O runoftemp, runoftemp0, runoftemp1,
e603dbf008 Dimi*0373 # ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0374 I runoff_lon0, runoff_lon_inc,
0375 I runoff_lat0, runoff_lat_inc,
0376 I runoff_nlon, runoff_nlat, xC, yC, runoff_interpMethod,
e603dbf008 Dimi*0377 # endif
1e461494b9 Jean*0378 I myThid )
e603dbf008 Dimi*0379 # endif /* ALLOW_RUNOFTEMP */
a0e99e946e Jean*0380 #endif /* ALLOW_RUNOFF */
7f861c1808 Patr*0381
a66aad0124 Gael*0382 #ifdef ALLOW_SALTFLX
1e461494b9 Jean*0383 CALL EXF_INIT_FLD(
0384 I 'saltflx', saltflxfile, saltflxmask,
0385 I saltflxperiod, exf_inscal_saltflx, saltflxconst,
0386 O saltflx, saltflx0, saltflx1,
a66aad0124 Gael*0387 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0388 I saltflx_lon0, saltflx_lon_inc,
0389 I saltflx_lat0, saltflx_lat_inc,
0390 I saltflx_nlon, saltflx_nlat, xC, yC, saltflx_interpMethod,
a66aad0124 Gael*0391 #endif
1e461494b9 Jean*0392 I myThid )
a66aad0124 Gael*0393 #endif /* ALLOW_SALTFLX */
0394
ad5cdab327 Patr*0395 #ifdef ALLOW_CLIMSST_RELAXATION
1e461494b9 Jean*0396 CALL EXF_INIT_FLD(
0397 I 'climsst', climsstfile, climsstmask,
0398 I climsstperiod, exf_inscal_climsst, climsstconst,
0399 O climsst, climsst0, climsst1,
ad5cdab327 Patr*0400 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0401 I climsst_lon0, climsst_lon_inc,
0402 I climsst_lat0, climsst_lat_inc,
0403 I climsst_nlon, climsst_nlat, xC, yC, climsst_interpMethod,
ad5cdab327 Patr*0404 #endif
1e461494b9 Jean*0405 I myThid )
ad5cdab327 Patr*0406 #endif
0407
0408 #ifdef ALLOW_CLIMSSS_RELAXATION
1e461494b9 Jean*0409 CALL EXF_INIT_FLD(
0410 I 'climsss', climsssfile, climsssmask,
0411 I climsssperiod, exf_inscal_climsss, climsssconst,
0412 O climsss, climsss0, climsss1,
ad5cdab327 Patr*0413 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0414 I climsss_lon0, climsss_lon_inc,
0415 I climsss_lat0, climsss_lat_inc,
0416 I climsss_nlon, climsss_nlat, xC, yC, climsss_interpMethod,
ad5cdab327 Patr*0417 #endif
1e461494b9 Jean*0418 I myThid )
ad5cdab327 Patr*0419 #endif
0420
de9be302a8 Patr*0421 #ifdef ALLOW_CLIMSTRESS_RELAXATION
1e461494b9 Jean*0422 CALL EXF_INIT_FLD(
0423 I 'climustr', climustrfile, climustrmask,
0424 I climustrperiod, exf_inscal_climustr, climustrconst,
0425 O climustr, climustr0, climustr1,
de9be302a8 Patr*0426 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0427 I climustr_lon0, climustr_lon_inc,
0428 I climustr_lat0, climustr_lat_inc,
0429 I climustr_nlon, climustr_nlat, xC, yC, climustr_interpMethod,
de9be302a8 Patr*0430 #endif
1e461494b9 Jean*0431 I myThid )
4aa4270510 Jean*0432
1e461494b9 Jean*0433 CALL EXF_INIT_FLD(
0434 I 'climvstr', climvstrfile, climvstrmask,
0435 I climvstrperiod, exf_inscal_climvstr, climvstrconst,
0436 O climvstr, climvstr0, climvstr1,
de9be302a8 Patr*0437 #ifdef USE_EXF_INTERPOLATION
1e461494b9 Jean*0438 I climvstr_lon0, climvstr_lon_inc,
0439 I climvstr_lat0, climvstr_lat_inc,
0440 I climvstr_nlon, climvstr_nlat, xC, yC, climvstr_interpMethod,
de9be302a8 Patr*0441 #endif
1e461494b9 Jean*0442 I myThid )
de9be302a8 Patr*0443 #endif /* CLIMSTRESS_RELAXATION */
7f861c1808 Patr*0444
c5308dc7f3 Patr*0445 #ifdef ALLOW_BULK_OFFLINE
473f3aa7d4 Jean*0446
c5308dc7f3 Patr*0447
0448 # ifdef ALLOW_CLIMSST_RELAXATION
24da7525ba Jean*0449 _EXCH_XY_RL(climsst, myThid)
c5308dc7f3 Patr*0450 # endif
0451 # ifdef ALLOW_CLIMSSS_RELAXATION
24da7525ba Jean*0452 _EXCH_XY_RL(climsss, myThid)
c5308dc7f3 Patr*0453 # endif
0454 # ifdef ALLOW_CLIMSTRESS_RELAXATION
0455 CALL EXCH_UV_XY_RL( climustr, climvstr, .TRUE., myThid )
0456 # endif
0457 DO bj=myByLo(myThid),myByHi(myThid)
0458 DO bi=myBxLo(myThid),myBxHi(myThid)
edf9251fd4 Jean*0459 DO j=1-OLy,sNy+OLy
0460 DO i=1-OLx,sNx+OLx
c5308dc7f3 Patr*0461 # ifdef ALLOW_CLIMSST_RELAXATION
c994dbe735 Jean*0462 IF ( climsstfile .NE. ' ' .AND.
079c1ec8c6 Jean*0463 & climsstperiod .EQ. 0. )
0320e25227 Mart*0464 & theta(i,j,ks,bi,bj) = climsst(i,j,bi,bj)
c5308dc7f3 Patr*0465 # endif
0466 # ifdef ALLOW_CLIMSSS_RELAXATION
c994dbe735 Jean*0467 IF ( climsssfile .NE. ' ' .AND.
079c1ec8c6 Jean*0468 & climsssperiod .EQ. 0. )
0320e25227 Mart*0469 & salt(i,j,ks,bi,bj) = climsss(i,j,bi,bj)
c5308dc7f3 Patr*0470 # endif
0471 # ifdef ALLOW_CLIMSTRESS_RELAXATION
c994dbe735 Jean*0472 IF ( climustrfile .NE. ' ' .AND.
079c1ec8c6 Jean*0473 & climustrperiod .EQ. 0. )
0320e25227 Mart*0474 & uVel(i,j,ks,bi,bj) = climustr(i,j,bi,bj)
c994dbe735 Jean*0475 IF ( climvstrfile .NE. ' ' .AND.
079c1ec8c6 Jean*0476 & climvstrperiod .EQ. 0. )
0320e25227 Mart*0477 & vVel(i,j,ks,bi,bj) = climvstr(i,j,bi,bj)
c5308dc7f3 Patr*0478 # endif
0320e25227 Mart*0479 IF ( maskC(i,j,ks,bi,bj) .NE. 0. .AND.
0480 & theta(i,j,ks,bi,bj) .EQ. 0. ) THEN
0481 PRINT *, 'ph-warn-exf-init ', i, j, theta(i,j,ks,bi,bj)
c5308dc7f3 Patr*0482
0320e25227 Mart*0483 ENDIF
c5308dc7f3 Patr*0484 ENDDO
0485 ENDDO
0486 ENDDO
0487 ENDDO
0488
473f3aa7d4 Jean*0489
c5308dc7f3 Patr*0490 #endif /* ALLOW_BULK_OFFLINE */
0491
9e98677022 Jean*0492 RETURN
0493 END