File indexing completed on 2025-09-13 12:07:40 UTC
view on githubraw file Latest commit 11d365ac on 2025-06-05 16:41:12 UTC
8fbfd1f382 Oliv*0001 #include "DARWIN_OPTIONS.h"
0002 #include "EXF_OPTIONS.h"
0003
0004
0005
0006
0007
0008 SUBROUTINE DARWIN_EXF_READPARMS( iUnit, oUnit, myThid )
0009
0010
0011
0012
0013
0014 IMPLICIT NONE
0015 #include "EEPARAMS.h"
0016 #include "SIZE.h"
0017 #include "PARAMS.h"
0018 #ifdef ALLOW_EXCH2
0019 #include "W2_EXCH2_SIZE.h"
0020 #include "W2_EXCH2_TOPOLOGY.h"
0021 #endif
0022 #ifdef ALLOW_GCHEM
0023 #include "GCHEM.h"
0024 #endif
0025 #ifdef ALLOW_EXF
0026 #include "EXF_PARAM.h"
d9e107d180 Oliv*0027 #include "EXF_INTERP_SIZE.h"
0028 #include "EXF_INTERP_PARAM.h"
8fbfd1f382 Oliv*0029 #endif
0030 #ifdef ALLOW_RADTRANS
0031 #include "RADTRANS_SIZE.h"
0032 #include "RADTRANS_PARAMS.h"
0033 #endif
0034 #include "DARWIN_SIZE.h"
0035 #include "DARWIN_PARAMS.h"
0036 #include "DARWIN_EXF_PARAMS.h"
0037 #include "DARWIN_EXF_FIELDS.h"
0038
0039
0040
0041
0042
0043 INTEGER iUnit, oUnit, myThid
0044
0045
0046
0047
0048
0049 #ifdef ALLOW_DARWIN
0050
0051
0052 CHARACTER*(MAX_LEN_MBUF) msgBuf
7bdcf596c7 Oliv*0053 LOGICAL darwin_haveIce
0054 LOGICAL darwin_haveWind
0055 LOGICAL darwin_havepCO2
fecf0f6104 Oliv*0056 INTEGER j, errCount
8fbfd1f382 Oliv*0057
0058 NAMELIST/darwin_forcing_params/
1342b05049 Oliv*0059 & darwin_useEXFwind,
0060 & darwin_useQsw,
0061 & darwin_useSEAICE,
6ed0cf4850 Oliv*0062 & R_DOFe_DOP_runoff,
0063 & R_NO3_DIN_runoff,
0064 & R_NO2_DIN_runoff,
0065 & R_NH4_DIN_runoff,
0066 & R_DFe_DIP_runoff,
0067 & R_DIP_IP_runoff,
0068 & R_POFe_POP_runoff,
0069 & R_ALK_DIC_runoff,
8fbfd1f382 Oliv*0070
0071 & PARfile,
0072 & PARperiod,
fecf0f6104 Oliv*0073 & PARRepCycle,
8fbfd1f382 Oliv*0074 & PARStartTime,
0075 & PARstartdate1,
0076 & PARstartdate2,
0077 & PARconst,
0078 & PAR_exfremo_intercept,
0079 & PAR_exfremo_slope,
0080 & PARmask,
0081 & darwin_inscal_PAR,
0082
0083 & ironfile,
0084 & ironperiod,
fecf0f6104 Oliv*0085 & ironRepCycle,
8fbfd1f382 Oliv*0086 & ironStartTime,
0087 & ironstartdate1,
0088 & ironstartdate2,
0089 & ironconst,
0090 & iron_exfremo_intercept,
0091 & iron_exfremo_slope,
0092 & ironmask,
0093 & darwin_inscal_iron,
0094
0095 & icefile,
0096 & iceperiod,
fecf0f6104 Oliv*0097 & iceRepCycle,
8fbfd1f382 Oliv*0098 & iceStartTime,
0099 & icestartdate1,
0100 & icestartdate2,
0101 & iceconst,
0102 & ice_exfremo_intercept,
0103 & ice_exfremo_slope,
0104 & icemask,
0105 & darwin_inscal_ice,
0106
0107 & windfile,
0108 & windperiod,
fecf0f6104 Oliv*0109 & windRepCycle,
8fbfd1f382 Oliv*0110 & windStartTime,
0111 & windstartdate1,
0112 & windstartdate2,
0113 & windconst,
0114 & wind_exfremo_intercept,
0115 & wind_exfremo_slope,
0116 & windmask,
0117 & darwin_inscal_wind,
0118
0119 & pCO2file,
0120 & pCO2period,
fecf0f6104 Oliv*0121 & pCO2RepCycle,
8fbfd1f382 Oliv*0122 & pCO2StartTime,
0123 & pCO2startdate1,
0124 & pCO2startdate2,
0125 & pCO2const,
0126 & pCO2_exfremo_intercept,
0127 & pCO2_exfremo_slope,
0128 & pCO2mask,
e79020cc6e Oliv*0129 & darwin_inscal_pCO2,
6ed0cf4850 Oliv*0130
0131 & ventHe3file,
0132 & ventHe3period,
0133 & ventHe3RepCycle,
0134 & ventHe3StartTime,
0135 & ventHe3startdate1,
0136 & ventHe3startdate2,
0137 & ventHe3const,
0138 & ventHe3_exfremo_intercept,
0139 & ventHe3_exfremo_slope,
0140 & ventHe3mask,
0141 & darwin_inscal_ventHe3,
e79020cc6e Oliv*0142
0143 & DOCrunofffile,
0144 & DOCrunoffperiod,
0145 & DOCrunoffRepCycle,
0146 & DOCrunoffStartTime,
0147 & DOCrunoffstartdate1,
0148 & DOCrunoffstartdate2,
0149 & DOCrunoffconst,
0150 & DOCrunoff_exfremo_intercept,
0151 & DOCrunoff_exfremo_slope,
0152 & DOCrunoffmask,
0153 & darwin_inscal_DOCrunoff,
0154
0155 & DONrunofffile,
0156 & DONrunoffperiod,
0157 & DONrunoffRepCycle,
0158 & DONrunoffStartTime,
0159 & DONrunoffstartdate1,
0160 & DONrunoffstartdate2,
0161 & DONrunoffconst,
0162 & DONrunoff_exfremo_intercept,
0163 & DONrunoff_exfremo_slope,
0164 & DONrunoffmask,
0165 & darwin_inscal_DONrunoff,
0166
0167 & DOPrunofffile,
0168 & DOPrunoffperiod,
0169 & DOPrunoffRepCycle,
0170 & DOPrunoffStartTime,
0171 & DOPrunoffstartdate1,
0172 & DOPrunoffstartdate2,
0173 & DOPrunoffconst,
0174 & DOPrunoff_exfremo_intercept,
0175 & DOPrunoff_exfremo_slope,
0176 & DOPrunoffmask,
0177 & darwin_inscal_DOPrunoff,
0178
0179 & DINrunofffile,
0180 & DINrunoffperiod,
0181 & DINrunoffRepCycle,
0182 & DINrunoffStartTime,
0183 & DINrunoffstartdate1,
0184 & DINrunoffstartdate2,
0185 & DINrunoffconst,
0186 & DINrunoff_exfremo_intercept,
0187 & DINrunoff_exfremo_slope,
0188 & DINrunoffmask,
0189 & darwin_inscal_DINrunoff,
11d365acff Oliv*0190
0191 & NO3runofffile,
0192 & NO3runoffperiod,
0193 & NO3runoffRepCycle,
0194 & NO3runoffStartTime,
0195 & NO3runoffstartdate1,
0196 & NO3runoffstartdate2,
0197 & NO3runoffconst,
0198 & NO3runoff_exfremo_intercept,
0199 & NO3runoff_exfremo_slope,
0200 & NO3runoffmask,
0201 & darwin_inscal_NO3runoff,
0202
0203 & NO2runofffile,
0204 & NO2runoffperiod,
0205 & NO2runoffRepCycle,
0206 & NO2runoffStartTime,
0207 & NO2runoffstartdate1,
0208 & NO2runoffstartdate2,
0209 & NO2runoffconst,
0210 & NO2runoff_exfremo_intercept,
0211 & NO2runoff_exfremo_slope,
0212 & NO2runoffmask,
0213 & darwin_inscal_NO2runoff,
0214
0215 & NH4runofffile,
0216 & NH4runoffperiod,
0217 & NH4runoffRepCycle,
0218 & NH4runoffStartTime,
0219 & NH4runoffstartdate1,
0220 & NH4runoffstartdate2,
0221 & NH4runoffconst,
0222 & NH4runoff_exfremo_intercept,
0223 & NH4runoff_exfremo_slope,
0224 & NH4runoffmask,
0225 & darwin_inscal_NH4runoff,
e79020cc6e Oliv*0226
0227 & IPrunofffile,
0228 & IPrunoffperiod,
0229 & IPrunoffRepCycle,
0230 & IPrunoffStartTime,
0231 & IPrunoffstartdate1,
0232 & IPrunoffstartdate2,
0233 & IPrunoffconst,
0234 & IPrunoff_exfremo_intercept,
0235 & IPrunoff_exfremo_slope,
0236 & IPrunoffmask,
0237 & darwin_inscal_IPrunoff,
0238
0239 & DSirunofffile,
0240 & DSirunoffperiod,
0241 & DSirunoffRepCycle,
0242 & DSirunoffStartTime,
0243 & DSirunoffstartdate1,
0244 & DSirunoffstartdate2,
0245 & DSirunoffconst,
0246 & DSirunoff_exfremo_intercept,
0247 & DSirunoff_exfremo_slope,
0248 & DSirunoffmask,
0249 & darwin_inscal_DSirunoff,
0250
0251 & POCrunofffile,
0252 & POCrunoffperiod,
0253 & POCrunoffRepCycle,
0254 & POCrunoffStartTime,
0255 & POCrunoffstartdate1,
0256 & POCrunoffstartdate2,
0257 & POCrunoffconst,
0258 & POCrunoff_exfremo_intercept,
0259 & POCrunoff_exfremo_slope,
0260 & POCrunoffmask,
0261 & darwin_inscal_POCrunoff,
0262
0263 & POPrunofffile,
0264 & POPrunoffperiod,
0265 & POPrunoffRepCycle,
0266 & POPrunoffStartTime,
0267 & POPrunoffstartdate1,
0268 & POPrunoffstartdate2,
0269 & POPrunoffconst,
0270 & POPrunoff_exfremo_intercept,
0271 & POPrunoff_exfremo_slope,
0272 & POPrunoffmask,
0273 & darwin_inscal_POPrunoff,
0274
0275 & PONrunofffile,
0276 & PONrunoffperiod,
0277 & PONrunoffRepCycle,
0278 & PONrunoffStartTime,
0279 & PONrunoffstartdate1,
0280 & PONrunoffstartdate2,
0281 & PONrunoffconst,
0282 & PONrunoff_exfremo_intercept,
0283 & PONrunoff_exfremo_slope,
0284 & PONrunoffmask,
0285 & darwin_inscal_PONrunoff,
0286
0287 & DICrunofffile,
0288 & DICrunoffperiod,
0289 & DICrunoffRepCycle,
0290 & DICrunoffStartTime,
0291 & DICrunoffstartdate1,
0292 & DICrunoffstartdate2,
0293 & DICrunoffconst,
0294 & DICrunoff_exfremo_intercept,
0295 & DICrunoff_exfremo_slope,
0296 & DICrunoffmask,
6ed0cf4850 Oliv*0297 & darwin_inscal_DICrunoff
8fbfd1f382 Oliv*0298
0299 #ifdef USE_EXF_INTERPOLATION
0300 NAMELIST/darwin_interp_params/
0301
0302 & PAR_lon0,
0303 & PAR_lat0,
0304 & PAR_nlon,
0305 & PAR_nlat,
0306 & PAR_lon_inc,
0307 & PAR_interpMethod,
0308 & PAR_lat_inc,
0309
0310 & iron_lon0,
0311 & iron_lat0,
0312 & iron_nlon,
0313 & iron_nlat,
0314 & iron_lon_inc,
0315 & iron_interpMethod,
0316 & iron_lat_inc,
0317
0318 & ice_lon0,
0319 & ice_lat0,
0320 & ice_nlon,
0321 & ice_nlat,
0322 & ice_lon_inc,
0323 & ice_interpMethod,
0324 & ice_lat_inc,
0325
0326 & wind_lon0,
0327 & wind_lat0,
0328 & wind_nlon,
0329 & wind_nlat,
0330 & wind_lon_inc,
0331 & wind_interpMethod,
0332 & wind_lat_inc,
0333
0334 & pCO2_lon0,
0335 & pCO2_lat0,
0336 & pCO2_nlon,
0337 & pCO2_nlat,
0338 & pCO2_lon_inc,
0339 & pCO2_interpMethod,
e79020cc6e Oliv*0340 & pCO2_lat_inc,
6ed0cf4850 Oliv*0341
0342 & ventHe3_lon0,
0343 & ventHe3_lat0,
0344 & ventHe3_nlon,
0345 & ventHe3_nlat,
0346 & ventHe3_lon_inc,
0347 & ventHe3_interpMethod,
0348 & ventHe3_lat_inc,
e79020cc6e Oliv*0349
0350 & DOCrunoff_lon0,
0351 & DOCrunoff_lat0,
0352 & DOCrunoff_nlon,
0353 & DOCrunoff_nlat,
0354 & DOCrunoff_lon_inc,
0355 & DOCrunoff_interpMethod,
0356 & DOCrunoff_lat_inc,
0357
0358 & DONrunoff_lon0,
0359 & DONrunoff_lat0,
0360 & DONrunoff_nlon,
0361 & DONrunoff_nlat,
0362 & DONrunoff_lon_inc,
0363 & DONrunoff_interpMethod,
0364 & DONrunoff_lat_inc,
0365
0366 & DOPrunoff_lon0,
0367 & DOPrunoff_lat0,
0368 & DOPrunoff_nlon,
0369 & DOPrunoff_nlat,
0370 & DOPrunoff_lon_inc,
0371 & DOPrunoff_interpMethod,
0372 & DOPrunoff_lat_inc,
0373
0374 & DINrunoff_lon0,
0375 & DINrunoff_lat0,
0376 & DINrunoff_nlon,
0377 & DINrunoff_nlat,
0378 & DINrunoff_lon_inc,
0379 & DINrunoff_interpMethod,
0380 & DINrunoff_lat_inc,
11d365acff Oliv*0381
0382 & NO3runoff_lon0,
0383 & NO3runoff_lat0,
0384 & NO3runoff_nlon,
0385 & NO3runoff_nlat,
0386 & NO3runoff_lon_inc,
0387 & NO3runoff_interpMethod,
0388 & NO3runoff_lat_inc,
0389
0390 & NO2runoff_lon0,
0391 & NO2runoff_lat0,
0392 & NO2runoff_nlon,
0393 & NO2runoff_nlat,
0394 & NO2runoff_lon_inc,
0395 & NO2runoff_interpMethod,
0396 & NO2runoff_lat_inc,
0397
0398 & NH4runoff_lon0,
0399 & NH4runoff_lat0,
0400 & NH4runoff_nlon,
0401 & NH4runoff_nlat,
0402 & NH4runoff_lon_inc,
0403 & NH4runoff_interpMethod,
0404 & NH4runoff_lat_inc,
e79020cc6e Oliv*0405
0406 & IPrunoff_lon0,
0407 & IPrunoff_lat0,
0408 & IPrunoff_nlon,
0409 & IPrunoff_nlat,
0410 & IPrunoff_lon_inc,
0411 & IPrunoff_interpMethod,
0412 & IPrunoff_lat_inc,
0413
0414 & DSirunoff_lon0,
0415 & DSirunoff_lat0,
0416 & DSirunoff_nlon,
0417 & DSirunoff_nlat,
0418 & DSirunoff_lon_inc,
0419 & DSirunoff_interpMethod,
0420 & DSirunoff_lat_inc,
0421
0422 & POCrunoff_lon0,
0423 & POCrunoff_lat0,
0424 & POCrunoff_nlon,
0425 & POCrunoff_nlat,
0426 & POCrunoff_lon_inc,
0427 & POCrunoff_interpMethod,
0428 & POCrunoff_lat_inc,
0429
0430 & POPrunoff_lon0,
0431 & POPrunoff_lat0,
0432 & POPrunoff_nlon,
0433 & POPrunoff_nlat,
0434 & POPrunoff_lon_inc,
0435 & POPrunoff_interpMethod,
0436 & POPrunoff_lat_inc,
0437
0438 & PONrunoff_lon0,
0439 & PONrunoff_lat0,
0440 & PONrunoff_nlon,
0441 & PONrunoff_nlat,
0442 & PONrunoff_lon_inc,
0443 & PONrunoff_interpMethod,
0444 & PONrunoff_lat_inc,
0445
0446 & DICrunoff_lon0,
0447 & DICrunoff_lat0,
0448 & DICrunoff_nlon,
0449 & DICrunoff_nlat,
0450 & DICrunoff_lon_inc,
0451 & DICrunoff_interpMethod,
0452 & DICrunoff_lat_inc
8fbfd1f382 Oliv*0453 #endif
0454
0455
0456
1342b05049 Oliv*0457 darwin_useEXFwind = .FALSE.
0458 darwin_useQsw = .FALSE.
6ed0cf4850 Oliv*0459 R_DOFe_DOP_runoff = 3. _d -4
0460 R_NO3_DIN_runoff = 0.6531 _d 0
0461 R_NO2_DIN_runoff = 0.0158 _d 0
0462 R_NH4_DIN_runoff = 0.3311 _d 0
0463 R_DFe_DIP_runoff = 3. _d -4
0464 R_DIP_IP_runoff = 0.333 _d 0
0465 R_POFe_POP_runoff = 3. _d -4
0466 R_ALK_DIC_runoff = 1.0218 _d 0
8fbfd1f382 Oliv*0467
0468 PARfile = ' '
0469 PARperiod = 0.0 _d 0
fecf0f6104 Oliv*0470 PARRepCycle = repeatPeriod
8fbfd1f382 Oliv*0471 PARStartTime = UNSET_RL
0472 PARstartdate1 = 0
0473 PARstartdate2 = 0
1342b05049 Oliv*0474 PARconst = UNSET_RL
8fbfd1f382 Oliv*0475 PAR_exfremo_intercept = 0.0 _d 0
0476 PAR_exfremo_slope = 0.0 _d 0
0477 PARmask = 'c'
0478
0479 darwin_inscal_PAR = 1. _d 0
0480
0481 ironfile = ' '
0482 ironperiod = 0.0 _d 0
fecf0f6104 Oliv*0483 ironRepCycle = repeatPeriod
8fbfd1f382 Oliv*0484 ironStartTime = UNSET_RL
0485 ironstartdate1 = 0
0486 ironstartdate2 = 0
6ed0cf4850 Oliv*0487 ironconst = 0 _d 0
8fbfd1f382 Oliv*0488 iron_exfremo_intercept = 0.0 _d 0
0489 iron_exfremo_slope = 0.0 _d 0
0490 ironmask = 'c'
0491
0492 darwin_inscal_iron = 1. _d 0
0493
0494 icefile = ' '
0495 iceperiod = 0.0 _d 0
fecf0f6104 Oliv*0496 iceRepCycle = repeatPeriod
8fbfd1f382 Oliv*0497 iceStartTime = UNSET_RL
0498 icestartdate1 = 0
0499 icestartdate2 = 0
1342b05049 Oliv*0500 iceconst = UNSET_RL
8fbfd1f382 Oliv*0501 ice_exfremo_intercept = 0.0 _d 0
0502 ice_exfremo_slope = 0.0 _d 0
0503 icemask = 'c'
0504
0505 darwin_inscal_ice = 1. _d 0
0506
0507 windfile = ' '
0508 windperiod = 0.0 _d 0
fecf0f6104 Oliv*0509 windRepCycle = repeatPeriod
8fbfd1f382 Oliv*0510 windStartTime = UNSET_RL
0511 windstartdate1 = 0
0512 windstartdate2 = 0
1342b05049 Oliv*0513 windconst = UNSET_RL
8fbfd1f382 Oliv*0514 wind_exfremo_intercept = 0.0 _d 0
0515 wind_exfremo_slope = 0.0 _d 0
0516 windmask = 'c'
0517
0518 darwin_inscal_wind = 1. _d 0
0519
0520 pCO2file = ' '
0521 pCO2period = 0.0 _d 0
fecf0f6104 Oliv*0522 pCO2RepCycle = repeatPeriod
8fbfd1f382 Oliv*0523 pCO2StartTime = UNSET_RL
0524 pCO2startdate1 = 0
0525 pCO2startdate2 = 0
7bdcf596c7 Oliv*0526 pCO2const = UNSET_RL
8fbfd1f382 Oliv*0527 pCO2_exfremo_intercept = 0.0 _d 0
0528 pCO2_exfremo_slope = 0.0 _d 0
0529 pCO2mask = 'c'
0530
0531 darwin_inscal_pCO2 = 1. _d 0
0532
6ed0cf4850 Oliv*0533 ventHe3file = ' '
0534 ventHe3period = 0.0 _d 0
0535 ventHe3RepCycle = repeatPeriod
0536 ventHe3StartTime = UNSET_RL
0537 ventHe3startdate1 = 0
0538 ventHe3startdate2 = 0
0539 ventHe3const = UNSET_RL
0540 ventHe3_exfremo_intercept = 0.0 _d 0
0541 ventHe3_exfremo_slope = 0.0 _d 0
0542 ventHe3mask = 'c'
0543
0544 darwin_inscal_ventHe3 = 1. _d 0
0545
e79020cc6e Oliv*0546 DOCrunofffile = ' '
0547 DOCrunoffperiod = 0.0 _d 0
0548 DOCrunoffRepCycle = repeatPeriod
0549 DOCrunoffStartTime = UNSET_RL
0550 DOCrunoffstartdate1 = 0
0551 DOCrunoffstartdate2 = 0
6ed0cf4850 Oliv*0552 DOCrunoffconst = 0 _d 0
e79020cc6e Oliv*0553 DOCrunoff_exfremo_intercept = 0.0 _d 0
0554 DOCrunoff_exfremo_slope = 0.0 _d 0
0555 DOCrunoffmask = 'c'
0556
0557 darwin_inscal_DOCrunoff = 1. _d 0
0558
0559 DONrunofffile = ' '
0560 DONrunoffperiod = 0.0 _d 0
0561 DONrunoffRepCycle = repeatPeriod
0562 DONrunoffStartTime = UNSET_RL
0563 DONrunoffstartdate1 = 0
0564 DONrunoffstartdate2 = 0
6ed0cf4850 Oliv*0565 DONrunoffconst = 0 _d 0
e79020cc6e Oliv*0566 DONrunoff_exfremo_intercept = 0.0 _d 0
0567 DONrunoff_exfremo_slope = 0.0 _d 0
0568 DONrunoffmask = 'c'
0569
0570 darwin_inscal_DONrunoff = 1. _d 0
0571
0572 DOPrunofffile = ' '
0573 DOPrunoffperiod = 0.0 _d 0
0574 DOPrunoffRepCycle = repeatPeriod
0575 DOPrunoffStartTime = UNSET_RL
0576 DOPrunoffstartdate1 = 0
0577 DOPrunoffstartdate2 = 0
6ed0cf4850 Oliv*0578 DOPrunoffconst = 0 _d 0
e79020cc6e Oliv*0579 DOPrunoff_exfremo_intercept = 0.0 _d 0
0580 DOPrunoff_exfremo_slope = 0.0 _d 0
0581 DOPrunoffmask = 'c'
0582
6ed0cf4850 Oliv*0583 darwin_inscal_DOPrunoff = 1. _d 0
e79020cc6e Oliv*0584
0585 DINrunofffile = ' '
0586 DINrunoffperiod = 0.0 _d 0
0587 DINrunoffRepCycle = repeatPeriod
0588 DINrunoffStartTime = UNSET_RL
0589 DINrunoffstartdate1 = 0
0590 DINrunoffstartdate2 = 0
6ed0cf4850 Oliv*0591 DINrunoffconst = 0 _d 0
e79020cc6e Oliv*0592 DINrunoff_exfremo_intercept = 0.0 _d 0
0593 DINrunoff_exfremo_slope = 0.0 _d 0
0594 DINrunoffmask = 'c'
0595
6ed0cf4850 Oliv*0596 darwin_inscal_DINrunoff = 1. _d 0
e79020cc6e Oliv*0597
11d365acff Oliv*0598 NO3runofffile = ' '
0599 NO3runoffperiod = 0.0 _d 0
0600 NO3runoffRepCycle = repeatPeriod
0601 NO3runoffStartTime = UNSET_RL
0602 NO3runoffstartdate1 = 0
0603 NO3runoffstartdate2 = 0
0604 NO3runoffconst = 0 _d 0
0605 NO3runoff_exfremo_intercept = 0.0 _d 0
0606 NO3runoff_exfremo_slope = 0.0 _d 0
0607 NO3runoffmask = 'c'
0608
0609 darwin_inscal_NO3runoff = 1. _d 0
0610
0611 NO2runofffile = ' '
0612 NO2runoffperiod = 0.0 _d 0
0613 NO2runoffRepCycle = repeatPeriod
0614 NO2runoffStartTime = UNSET_RL
0615 NO2runoffstartdate1 = 0
0616 NO2runoffstartdate2 = 0
0617 NO2runoffconst = 0 _d 0
0618 NO2runoff_exfremo_intercept = 0.0 _d 0
0619 NO2runoff_exfremo_slope = 0.0 _d 0
0620 NO2runoffmask = 'c'
0621
0622 darwin_inscal_NO2runoff = 1. _d 0
0623
0624 NH4runofffile = ' '
0625 NH4runoffperiod = 0.0 _d 0
0626 NH4runoffRepCycle = repeatPeriod
0627 NH4runoffStartTime = UNSET_RL
0628 NH4runoffstartdate1 = 0
0629 NH4runoffstartdate2 = 0
0630 NH4runoffconst = 0 _d 0
0631 NH4runoff_exfremo_intercept = 0.0 _d 0
0632 NH4runoff_exfremo_slope = 0.0 _d 0
0633 NH4runoffmask = 'c'
0634
0635 darwin_inscal_NH4runoff = 1. _d 0
0636
e79020cc6e Oliv*0637 IPrunofffile = ' '
0638 IPrunoffperiod = 0.0 _d 0
0639 IPrunoffRepCycle = repeatPeriod
0640 IPrunoffStartTime = UNSET_RL
0641 IPrunoffstartdate1 = 0
0642 IPrunoffstartdate2 = 0
6ed0cf4850 Oliv*0643 IPrunoffconst = 0 _d 0
e79020cc6e Oliv*0644 IPrunoff_exfremo_intercept = 0.0 _d 0
0645 IPrunoff_exfremo_slope = 0.0 _d 0
0646 IPrunoffmask = 'c'
0647
6ed0cf4850 Oliv*0648 darwin_inscal_IPrunoff = 1. _d 0
e79020cc6e Oliv*0649
0650 DSirunofffile = ' '
0651 DSirunoffperiod = 0.0 _d 0
0652 DSirunoffRepCycle = repeatPeriod
0653 DSirunoffStartTime = UNSET_RL
0654 DSirunoffstartdate1 = 0
0655 DSirunoffstartdate2 = 0
6ed0cf4850 Oliv*0656 DSirunoffconst = 0 _d 0
e79020cc6e Oliv*0657 DSirunoff_exfremo_intercept = 0.0 _d 0
0658 DSirunoff_exfremo_slope = 0.0 _d 0
0659 DSirunoffmask = 'c'
0660
6ed0cf4850 Oliv*0661 darwin_inscal_DSirunoff = 1. _d 0
e79020cc6e Oliv*0662
0663 POCrunofffile = ' '
0664 POCrunoffperiod = 0.0 _d 0
0665 POCrunoffRepCycle = repeatPeriod
0666 POCrunoffStartTime = UNSET_RL
0667 POCrunoffstartdate1 = 0
0668 POCrunoffstartdate2 = 0
6ed0cf4850 Oliv*0669 POCrunoffconst = 0 _d 0
e79020cc6e Oliv*0670 POCrunoff_exfremo_intercept = 0.0 _d 0
0671 POCrunoff_exfremo_slope = 0.0 _d 0
0672 POCrunoffmask = 'c'
0673
6ed0cf4850 Oliv*0674 darwin_inscal_POCrunoff = 1. _d 0
e79020cc6e Oliv*0675
0676 POPrunofffile = ' '
0677 POPrunoffperiod = 0.0 _d 0
0678 POPrunoffRepCycle = repeatPeriod
0679 POPrunoffStartTime = UNSET_RL
0680 POPrunoffstartdate1 = 0
0681 POPrunoffstartdate2 = 0
6ed0cf4850 Oliv*0682 POPrunoffconst = 0 _d 0
e79020cc6e Oliv*0683 POPrunoff_exfremo_intercept = 0.0 _d 0
0684 POPrunoff_exfremo_slope = 0.0 _d 0
0685 POPrunoffmask = 'c'
0686
6ed0cf4850 Oliv*0687 darwin_inscal_POPrunoff = 1. _d 0
e79020cc6e Oliv*0688
0689 PONrunofffile = ' '
0690 PONrunoffperiod = 0.0 _d 0
0691 PONrunoffRepCycle = repeatPeriod
0692 PONrunoffStartTime = UNSET_RL
0693 PONrunoffstartdate1 = 0
0694 PONrunoffstartdate2 = 0
6ed0cf4850 Oliv*0695 PONrunoffconst = 0 _d 0
e79020cc6e Oliv*0696 PONrunoff_exfremo_intercept = 0.0 _d 0
0697 PONrunoff_exfremo_slope = 0.0 _d 0
0698 PONrunoffmask = 'c'
0699
6ed0cf4850 Oliv*0700 darwin_inscal_PONrunoff = 1. _d 0
e79020cc6e Oliv*0701
0702 DICrunofffile = ' '
0703 DICrunoffperiod = 0.0 _d 0
0704 DICrunoffRepCycle = repeatPeriod
0705 DICrunoffStartTime = UNSET_RL
0706 DICrunoffstartdate1 = 0
0707 DICrunoffstartdate2 = 0
6ed0cf4850 Oliv*0708 DICrunoffconst = 0 _d 0
e79020cc6e Oliv*0709 DICrunoff_exfremo_intercept = 0.0 _d 0
0710 DICrunoff_exfremo_slope = 0.0 _d 0
0711 DICrunoffmask = 'c'
0712
6ed0cf4850 Oliv*0713 darwin_inscal_DICrunoff = 1. _d 0
e79020cc6e Oliv*0714
8fbfd1f382 Oliv*0715 #ifdef USE_EXF_INTERPOLATION
6ed0cf4850 Oliv*0716
8fbfd1f382 Oliv*0717 PAR_lon0 = inp_lon0
0718 PAR_lat0 = inp_lat0
d9e107d180 Oliv*0719 PAR_nlon = inp_gNx
0720 PAR_nlat = inp_gNy
8fbfd1f382 Oliv*0721 PAR_lon_inc = inp_dLon
0722 PAR_interpMethod = 1
0723
0724 iron_lon0 = inp_lon0
0725 iron_lat0 = inp_lat0
d9e107d180 Oliv*0726 iron_nlon = inp_gNx
0727 iron_nlat = inp_gNy
8fbfd1f382 Oliv*0728 iron_lon_inc = inp_dLon
0729 iron_interpMethod = 1
0730
0731 ice_lon0 = inp_lon0
0732 ice_lat0 = inp_lat0
d9e107d180 Oliv*0733 ice_nlon = inp_gNx
0734 ice_nlat = inp_gNy
8fbfd1f382 Oliv*0735 ice_lon_inc = inp_dLon
0736 ice_interpMethod = 1
0737
0738 wind_lon0 = inp_lon0
0739 wind_lat0 = inp_lat0
d9e107d180 Oliv*0740 wind_nlon = inp_gNx
0741 wind_nlat = inp_gNy
8fbfd1f382 Oliv*0742 wind_lon_inc = inp_dLon
0743 wind_interpMethod = 1
0744
0745 pCO2_lon0 = inp_lon0
0746 pCO2_lat0 = inp_lat0
d9e107d180 Oliv*0747 pCO2_nlon = inp_gNx
0748 pCO2_nlat = inp_gNy
8fbfd1f382 Oliv*0749 pCO2_lon_inc = inp_dLon
0750 pCO2_interpMethod = 1
0751
6ed0cf4850 Oliv*0752 ventHe3_lon0 = inp_lon0
0753 ventHe3_lat0 = inp_lat0
0754 ventHe3_nlon = inp_gNx
0755 ventHe3_nlat = inp_gNy
0756 ventHe3_lon_inc = inp_dLon
0757 ventHe3_interpMethod = 1
0758
e79020cc6e Oliv*0759 DOCrunoff_lon0 = inp_lon0
0760 DOCrunoff_lat0 = inp_lat0
0761 DOCrunoff_nlon = inp_gNx
0762 DOCrunoff_nlat = inp_gNy
0763 DOCrunoff_lon_inc = inp_dLon
0764 DOCrunoff_interpMethod = 1
0765
0766 DONrunoff_lon0 = inp_lon0
0767 DONrunoff_lat0 = inp_lat0
0768 DONrunoff_nlon = inp_gNx
0769 DONrunoff_nlat = inp_gNy
0770 DONrunoff_lon_inc = inp_dLon
0771 DONrunoff_interpMethod = 1
0772
0773 DOPrunoff_lon0 = inp_lon0
0774 DOPrunoff_lat0 = inp_lat0
0775 DOPrunoff_nlon = inp_gNx
0776 DOPrunoff_nlat = inp_gNy
0777 DOPrunoff_lon_inc = inp_dLon
0778 DOPrunoff_interpMethod = 1
0779
0780 DINrunoff_lon0 = inp_lon0
0781 DINrunoff_lat0 = inp_lat0
0782 DINrunoff_nlon = inp_gNx
0783 DINrunoff_nlat = inp_gNy
0784 DINrunoff_lon_inc = inp_dLon
0785 DINrunoff_interpMethod = 1
0786
11d365acff Oliv*0787 NO3runoff_lon0 = inp_lon0
0788 NO3runoff_lat0 = inp_lat0
0789 NO3runoff_nlon = inp_gNx
0790 NO3runoff_nlat = inp_gNy
0791 NO3runoff_lon_inc = inp_dLon
0792 NO3runoff_interpMethod = 1
0793
0794 NO2runoff_lon0 = inp_lon0
0795 NO2runoff_lat0 = inp_lat0
0796 NO2runoff_nlon = inp_gNx
0797 NO2runoff_nlat = inp_gNy
0798 NO2runoff_lon_inc = inp_dLon
0799 NO2runoff_interpMethod = 1
0800
0801 NH4runoff_lon0 = inp_lon0
0802 NH4runoff_lat0 = inp_lat0
0803 NH4runoff_nlon = inp_gNx
0804 NH4runoff_nlat = inp_gNy
0805 NH4runoff_lon_inc = inp_dLon
0806 NH4runoff_interpMethod = 1
0807
e79020cc6e Oliv*0808 IPrunoff_lon0 = inp_lon0
0809 IPrunoff_lat0 = inp_lat0
0810 IPrunoff_nlon = inp_gNx
0811 IPrunoff_nlat = inp_gNy
0812 IPrunoff_lon_inc = inp_dLon
0813 IPrunoff_interpMethod = 1
0814
0815 DSirunoff_lon0 = inp_lon0
0816 DSirunoff_lat0 = inp_lat0
0817 DSirunoff_nlon = inp_gNx
0818 DSirunoff_nlat = inp_gNy
0819 DSirunoff_lon_inc = inp_dLon
0820 DSirunoff_interpMethod = 1
0821
0822 POCrunoff_lon0 = inp_lon0
0823 POCrunoff_lat0 = inp_lat0
0824 POCrunoff_nlon = inp_gNx
0825 POCrunoff_nlat = inp_gNy
0826 POCrunoff_lon_inc = inp_dLon
0827 POCrunoff_interpMethod = 1
0828
0829 POPrunoff_lon0 = inp_lon0
0830 POPrunoff_lat0 = inp_lat0
0831 POPrunoff_nlon = inp_gNx
0832 POPrunoff_nlat = inp_gNy
0833 POPrunoff_lon_inc = inp_dLon
0834 POPrunoff_interpMethod = 1
0835
6ed0cf4850 Oliv*0836 PONrunoff_lon0 = inp_lon0
e79020cc6e Oliv*0837 PONrunoff_lat0 = inp_lat0
0838 PONrunoff_nlon = inp_gNx
0839 PONrunoff_nlat = inp_gNy
0840 PONrunoff_lon_inc = inp_dLon
0841 PONrunoff_interpMethod = 1
0842
6ed0cf4850 Oliv*0843 DICrunoff_lon0 = inp_lon0
e79020cc6e Oliv*0844 DICrunoff_lat0 = inp_lat0
0845 DICrunoff_nlon = inp_gNx
0846 DICrunoff_nlat = inp_gNy
0847 DICrunoff_lon_inc = inp_dLon
0848 DICrunoff_interpMethod = 1
0849
8fbfd1f382 Oliv*0850 DO j=1,MAX_LAT_INC
d9e107d180 Oliv*0851 PAR_lat_inc(j) = inp_dLat(j)
0852 iron_lat_inc(j) = inp_dLat(j)
0853 ice_lat_inc(j) = inp_dLat(j)
0854 wind_lat_inc(j) = inp_dLat(j)
0855 pCO2_lat_inc(j) = inp_dLat(j)
6ed0cf4850 Oliv*0856 ventHe3_lat_inc(j) = inp_dLat(j)
e79020cc6e Oliv*0857 DOCrunoff_lat_inc(j) = inp_dLat(j)
0858 DONrunoff_lat_inc(j) = inp_dLat(j)
0859 DOPrunoff_lat_inc(j) = inp_dLat(j)
0860 DINrunoff_lat_inc(j) = inp_dLat(j)
11d365acff Oliv*0861 NO3runoff_lat_inc(j) = inp_dLat(j)
0862 NO2runoff_lat_inc(j) = inp_dLat(j)
0863 NH4runoff_lat_inc(j) = inp_dLat(j)
e79020cc6e Oliv*0864 IPrunoff_lat_inc(j) = inp_dLat(j)
0865 DSirunoff_lat_inc(j) = inp_dLat(j)
0866 POCrunoff_lat_inc(j) = inp_dLat(j)
0867 POPrunoff_lat_inc(j) = inp_dLat(j)
0868 PONrunoff_lat_inc(j) = inp_dLat(j)
0869 DICrunoff_lat_inc(j) = inp_dLat(j)
8fbfd1f382 Oliv*0870 ENDDO
0871 #endif /* USE_EXF_INTERPOLATION */
0872
0873
0874
0875 PARconst = UNSET_RL
0876 iceconst = UNSET_RL
0877 windconst = UNSET_RL
0878
0879 READ(UNIT=iUnit, NML=darwin_forcing_params)
0880 #ifdef USE_EXF_INTERPOLATION
0881 READ(UNIT=iUnit, NML=darwin_interp_params)
0882 #endif
0883
0884
0885
0886
0887 DARWIN_haveSurfPAR = PARFile.NE.' ' .OR. PARconst.NE.UNSET_RL
6ed0cf4850 Oliv*0888 IF (PARconst.EQ.UNSET_RL) THEN
8fbfd1f382 Oliv*0889 PARconst = 0 _d 0
0890 ENDIF
0891
0892 DARWIN_haveIce = iceFile.NE.' ' .OR. iceconst.NE.UNSET_RL
1342b05049 Oliv*0893 IF (iceconst.EQ.UNSET_RL) THEN
0894 iceconst = 0 _d 0
0895 ENDIF
0896
0897 DARWIN_haveWind = windFile.NE.' ' .OR. windconst.NE.UNSET_RL
0898 IF (windconst.EQ.UNSET_RL) THEN
0899 windconst = 5 _d 0
0900 ENDIF
0901
7bdcf596c7 Oliv*0902 DARWIN_havepCO2 = pCO2File.NE.' ' .OR. pCO2const.NE.UNSET_RL
0903 IF (pCO2const.EQ.UNSET_RL) THEN
0904 pCO2const = 278 _d -6
0905 ENDIF
0906
6ed0cf4850 Oliv*0907 DARWIN_haveVentHe3 = VentHe3File.NE.' ' .OR.
0908 & VentHe3const.NE.UNSET_RL
0909 IF (VentHe3const.EQ.UNSET_RL) THEN
0910 VentHe3const = 0 _d 0
e79020cc6e Oliv*0911 ENDIF
0912
1342b05049 Oliv*0913 IF (DARWIN_haveSurfPAR .AND. DARWIN_useQsw) THEN
0914 WRITE(msgBuf,'(2A)') 'DARWIN_EXF_READPARMS: ',
0915 & 'cannot set both PARFile/PARconst and darwin_useQsw'
0916 CALL PRINT_ERROR( msgBuf, myThid )
0917 STOP'ABNORMAL END: DARWIN_EXF_READPARMS: inconsistent light forc'
0918 ENDIF
0919
0920 IF (DARWIN_haveIce .AND. DARWIN_useSEAICE) THEN
0921 WRITE(msgBuf,'(2A)') 'DARWIN_EXF_READPARMS: ',
0922 & 'cannot set both iceFile/iceconst and darwin_useSEAICE'
0923 CALL PRINT_ERROR( msgBuf, myThid )
0924 STOP 'ABNORMAL END: DARWIN_EXF_READPARMS: inconsistent ice forc'
0925 ENDIF
0926
0927 #ifdef ALLOW_SEAICE
0928 IF (useSEAICE .AND. .NOT. DARWIN_useSEAICE) THEN
0929 WRITE(msgBuf,'(2A)') '** WARNING ** DARWIN_EXF_READPARMS: ',
0930 & 'iceFile or iceconst set, not using ice area from seaice pkg'
0931 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
0932 & SQUEEZE_RIGHT, myThid )
0933 ENDIF
0934 #endif
0935
0936 IF (DARWIN_haveWind .AND. DARWIN_useEXFwind) THEN
0937 WRITE(msgBuf,'(2A)') 'DARWIN_EXF_READPARMS: ',
0938 & 'cannot set both windFile/windconst and darwin_useEXFwind'
0939 CALL PRINT_ERROR( msgBuf, myThid )
0940 STOP 'ABNORMAL END: DARWIN_EXF_READPARMS: inconsistent wind forc'
0941 ENDIF
0942
0943 #ifdef DARWIN_ALLOW_CARBON
0944 IF (.NOT.DARWIN_haveWind .AND. .NOT.DARWIN_useEXFwind) THEN
0945 WRITE(msgBuf,'(2A,F7.3,A)')
0946 & '** WARNING ** DARWIN_EXF_READPARMS: ',
0947 & 'default constant wind speed ',windconst,' m/s is used'
0948 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
0949 & SQUEEZE_RIGHT, myThid )
0950 ENDIF
7bdcf596c7 Oliv*0951
0952 IF (.NOT.DARWIN_havepCO2) THEN
6ed0cf4850 Oliv*0953 WRITE(msgBuf,'(2A,E13.6,A)')
7bdcf596c7 Oliv*0954 & '** WARNING ** DARWIN_EXF_READPARMS: ',
0955 & 'default pCO2 of ',pCO2const,' atm is used'
0956 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
0957 & SQUEEZE_RIGHT, myThid )
0958 ENDIF
1342b05049 Oliv*0959 #endif
8fbfd1f382 Oliv*0960
0961 #ifdef ALLOW_RADTRANS
0962
0963
0964
0965
0966 IF (DARWIN_haveIce .NEQV. RT_haveIce) THEN
0967 WRITE(msgBuf,'(A,A)') 'DARWIN_EXF_READPARMS: ',
0968 & 'One of darwin and radtrans does not have ice forcing set.'
0969 CALL PRINT_ERROR( msgBuf, myThid )
0970 WRITE(msgBuf,'(A,A)') 'DARWIN_EXF_READPARMS: ',
0971 & 'If you really want this, set iceconst or RT_iceconst to zero.'
0972 CALL PRINT_ERROR( msgBuf, myThid )
0973 STOP 'ABNORMAL END: DARWIN_EXF_READPARMS: ice inconsistency'
0974 ENDIF
0975 #endif
0976
0977 #ifdef ALLOW_RADTRANS
0978
0979 IF (iceFile.NE.RT_iceFile .OR. iceconst.NE.RT_iceconst) THEN
0980 WRITE(msgBuf,'(A,A)') '** WARNING ** DARWIN_EXF_READPARMS: ',
0981 & 'iceFile or iceconst different from RT_iceFile or RT_iceconst.'
0982 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
0983 & SQUEEZE_RIGHT, myThid )
0984 WRITE(msgBuf,'(A,A)') '** WARNING ** DARWIN_EXF_READPARMS: ',
0985 & 'darwin settings will be used for carbon surface forcing and'
0986 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
0987 & SQUEEZE_RIGHT, myThid )
0988 WRITE(msgBuf,'(A,A)') '** WARNING ** DARWIN_EXF_READPARMS: ',
0989 & 'radtrans settings for light.'
0990 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
0991 & SQUEEZE_RIGHT, myThid )
0992 ENDIF
0993 #endif
0994
fecf0f6104 Oliv*0995 errCount = 0
0996 IF ( useExfYearlyFields ) THEN
0997 IF ( PARRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*0998 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
0999 & 'useExfYearlyFields AND ',
1000 & 'PARRepCycle is not implemented'
fecf0f6104 Oliv*1001 CALL PRINT_ERROR( msgBuf, myThid )
1002 errCount = errCount + 1
1003 ENDIF
1004 IF ( ironRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1005 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1006 & 'useExfYearlyFields AND ',
1007 & 'ironRepCycle is not implemented'
fecf0f6104 Oliv*1008 CALL PRINT_ERROR( msgBuf, myThid )
1009 errCount = errCount + 1
1010 ENDIF
1011 IF ( iceRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1012 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1013 & 'useExfYearlyFields AND ',
1014 & 'iceRepCycle is not implemented'
fecf0f6104 Oliv*1015 CALL PRINT_ERROR( msgBuf, myThid )
1016 errCount = errCount + 1
1017 ENDIF
1018 IF ( windRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1019 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1020 & 'useExfYearlyFields AND ',
1021 & 'windRepCycle is not implemented'
fecf0f6104 Oliv*1022 CALL PRINT_ERROR( msgBuf, myThid )
1023 errCount = errCount + 1
1024 ENDIF
1025 IF ( pCO2RepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1026 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1027 & 'useExfYearlyFields AND ',
1028 & 'pCO2RepCycle is not implemented'
1029 CALL PRINT_ERROR( msgBuf, myThid )
1030 errCount = errCount + 1
1031 ENDIF
1032 IF ( ventHe3RepCycle.NE.0. ) THEN
1033 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1034 & 'useExfYearlyFields AND ',
1035 & 'ventHe3RepCycle is not implemented'
fecf0f6104 Oliv*1036 CALL PRINT_ERROR( msgBuf, myThid )
1037 errCount = errCount + 1
1038 ENDIF
e79020cc6e Oliv*1039 IF ( DOCrunoffRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1040 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1041 & 'useExfYearlyFields AND ',
1042 & 'DOCrunoffRepCycle is not implemented'
e79020cc6e Oliv*1043 CALL PRINT_ERROR( msgBuf, myThid )
1044 errCount = errCount + 1
1045 ENDIF
1046 IF ( DONrunoffRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1047 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1048 & 'useExfYearlyFields AND ',
1049 & 'DONrunoffRepCycle is not implemented'
e79020cc6e Oliv*1050 CALL PRINT_ERROR( msgBuf, myThid )
1051 errCount = errCount + 1
1052 ENDIF
1053 IF ( DOPrunoffRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1054 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1055 & 'useExfYearlyFields AND ',
1056 & 'DOPrunoffRepCycle is not implemented'
e79020cc6e Oliv*1057 CALL PRINT_ERROR( msgBuf, myThid )
1058 errCount = errCount + 1
1059 ENDIF
1060 IF ( DINrunoffRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1061 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1062 & 'useExfYearlyFields AND ',
1063 & 'DINrunoffRepCycle is not implemented'
e79020cc6e Oliv*1064 CALL PRINT_ERROR( msgBuf, myThid )
1065 errCount = errCount + 1
1066 ENDIF
11d365acff Oliv*1067 IF ( NO3runoffRepCycle.NE.0. ) THEN
1068 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1069 & 'useExfYearlyFields AND ',
1070 & 'NO3runoffRepCycle is not implemented'
1071 CALL PRINT_ERROR( msgBuf, myThid )
1072 errCount = errCount + 1
1073 ENDIF
1074 IF ( NO2runoffRepCycle.NE.0. ) THEN
1075 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1076 & 'useExfYearlyFields AND ',
1077 & 'NO2runoffRepCycle is not implemented'
1078 CALL PRINT_ERROR( msgBuf, myThid )
1079 errCount = errCount + 1
1080 ENDIF
1081 IF ( NH4runoffRepCycle.NE.0. ) THEN
1082 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1083 & 'useExfYearlyFields AND ',
1084 & 'NH4runoffRepCycle is not implemented'
1085 CALL PRINT_ERROR( msgBuf, myThid )
1086 errCount = errCount + 1
1087 ENDIF
e79020cc6e Oliv*1088 IF ( IPrunoffRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1089 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1090 & 'useExfYearlyFields AND ',
1091 & 'IPrunoffRepCycle is not implemented'
e79020cc6e Oliv*1092 CALL PRINT_ERROR( msgBuf, myThid )
1093 errCount = errCount + 1
1094 ENDIF
1095 IF ( DSirunoffRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1096 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1097 & 'useExfYearlyFields AND ',
1098 & 'DSirunoffRepCycle is not implemented'
e79020cc6e Oliv*1099 CALL PRINT_ERROR( msgBuf, myThid )
1100 errCount = errCount + 1
1101 ENDIF
1102 IF ( POCrunoffRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1103 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1104 & 'useExfYearlyFields AND ',
1105 & 'POCrunoffRepCycle is not implemented'
e79020cc6e Oliv*1106 CALL PRINT_ERROR( msgBuf, myThid )
1107 errCount = errCount + 1
1108 ENDIF
1109 IF ( POPrunoffRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1110 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1111 & 'useExfYearlyFields AND ',
1112 & 'POPrunoffRepCycle is not implemented'
e79020cc6e Oliv*1113 CALL PRINT_ERROR( msgBuf, myThid )
1114 errCount = errCount + 1
1115 ENDIF
1116 IF ( PONrunoffRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1117 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1118 & 'useExfYearlyFields AND ',
1119 & 'PONrunoffRepCycle is not implemented'
e79020cc6e Oliv*1120 CALL PRINT_ERROR( msgBuf, myThid )
1121 errCount = errCount + 1
1122 ENDIF
1123 IF ( DICrunoffRepCycle.NE.0. ) THEN
6ed0cf4850 Oliv*1124 WRITE(msgBuf,'(3A)') 'DARWIN_EXF_READPARMS: The use of ',
1125 & 'useExfYearlyFields AND ',
1126 & 'DICrunoffRepCycle is not implemented'
e79020cc6e Oliv*1127 CALL PRINT_ERROR( msgBuf, myThid )
1128 errCount = errCount + 1
1129 ENDIF
fecf0f6104 Oliv*1130 ENDIF
1131 IF ( errCount.GE.1 ) THEN
1132 WRITE(msgBuf,'(A,I3,A)')
1133 & 'DARWIN_EXF_READPARMS: detected', errCount,' fatal error(s)'
1134 CALL PRINT_ERROR( msgBuf, myThid )
1135 CALL ALL_PROC_DIE( 0 )
1136 STOP 'ABNORMAL END: S/R DARWIN_EXF_READPARMS'
1137 ENDIF
1138
8fbfd1f382 Oliv*1139 IF (oUnit .GE. 0) THEN
1140 WRITE(UNIT=oUnit, NML=DARWIN_FORCING_PARAMS)
1141 #ifdef USE_EXF_INTERPOLATION
1142 WRITE(UNIT=oUnit, NML=DARWIN_INTERP_PARAMS)
1143 #endif
1144 ENDIF
1145
1146 #endif /* ALLOW_DARWIN */
1147
1148 RETURN
1149 END
1150