Back to home page

darwin3

 
 

    


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 CBOP
                0005 C !ROUTINE: DARWIN_EXF_READPARMS
                0006 
                0007 C !INTERFACE: ==========================================================
                0008       SUBROUTINE DARWIN_EXF_READPARMS( iUnit, oUnit, myThid )
                0009 
                0010 C !DESCRIPTION:
                0011 C     Initialize DARWIN parameters, read in data.darwin
                0012 
                0013 C !USES: ===============================================================
                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 C !INPUT PARAMETERS: ===================================================
                0040 C  iUnit   :: unit number for reading
                0041 C  oUnit   :: unit number for writing
                0042 C  myThid  :: thread number
                0043       INTEGER iUnit, oUnit, myThid
                0044 
                0045 C !OUTPUT PARAMETERS: ==================================================
                0046 C  none
                0047 CEOP
                0048 
                0049 #ifdef ALLOW_DARWIN
                0050 
                0051 C !LOCAL VARIABLES: ====================================================
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                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 C
                0302      &    PAR_lon0,
                0303      &    PAR_lat0,
                0304      &    PAR_nlon,
                0305      &    PAR_nlat,
                0306      &    PAR_lon_inc,
                0307      &    PAR_interpMethod,
                0308      &    PAR_lat_inc,
                0309 C
                0310      &    iron_lon0,
                0311      &    iron_lat0,
                0312      &    iron_nlon,
                0313      &    iron_nlat,
                0314      &    iron_lon_inc,
                0315      &    iron_interpMethod,
                0316      &    iron_lat_inc,
                0317 C
                0318      &    ice_lon0,
                0319      &    ice_lat0,
                0320      &    ice_nlon,
                0321      &    ice_nlat,
                0322      &    ice_lon_inc,
                0323      &    ice_interpMethod,
                0324      &    ice_lat_inc,
                0325 C
                0326      &    wind_lon0,
                0327      &    wind_lat0,
                0328      &    wind_nlon,
                0329      &    wind_nlat,
                0330      &    wind_lon_inc,
                0331      &    wind_interpMethod,
                0332      &    wind_lat_inc,
                0333 C
                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 C
                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 C
                0350      &    DOCrunoff_lon0,
                0351      &    DOCrunoff_lat0,
                0352      &    DOCrunoff_nlon,
                0353      &    DOCrunoff_nlat,
                0354      &    DOCrunoff_lon_inc,
                0355      &    DOCrunoff_interpMethod,
                0356      &    DOCrunoff_lat_inc,
                0357 C
                0358      &    DONrunoff_lon0,
                0359      &    DONrunoff_lat0,
                0360      &    DONrunoff_nlon,
                0361      &    DONrunoff_nlat,
                0362      &    DONrunoff_lon_inc,
                0363      &    DONrunoff_interpMethod,
                0364      &    DONrunoff_lat_inc,
                0365 C
                0366      &    DOPrunoff_lon0,
                0367      &    DOPrunoff_lat0,
                0368      &    DOPrunoff_nlon,
                0369      &    DOPrunoff_nlat,
                0370      &    DOPrunoff_lon_inc,
                0371      &    DOPrunoff_interpMethod,
                0372      &    DOPrunoff_lat_inc,
                0373 C
                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 C
                0382      &    NO3runoff_lon0,
                0383      &    NO3runoff_lat0,
                0384      &    NO3runoff_nlon,
                0385      &    NO3runoff_nlat,
                0386      &    NO3runoff_lon_inc,
                0387      &    NO3runoff_interpMethod,
                0388      &    NO3runoff_lat_inc,
                0389 C
                0390      &    NO2runoff_lon0,
                0391      &    NO2runoff_lat0,
                0392      &    NO2runoff_nlon,
                0393      &    NO2runoff_nlat,
                0394      &    NO2runoff_lon_inc,
                0395      &    NO2runoff_interpMethod,
                0396      &    NO2runoff_lat_inc,
                0397 C
                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 C
                0406      &    IPrunoff_lon0,
                0407      &    IPrunoff_lat0,
                0408      &    IPrunoff_nlon,
                0409      &    IPrunoff_nlat,
                0410      &    IPrunoff_lon_inc,
                0411      &    IPrunoff_interpMethod,
                0412      &    IPrunoff_lat_inc,
                0413 C
                0414      &    DSirunoff_lon0,
                0415      &    DSirunoff_lat0,
                0416      &    DSirunoff_nlon,
                0417      &    DSirunoff_nlat,
                0418      &    DSirunoff_lon_inc,
                0419      &    DSirunoff_interpMethod,
                0420      &    DSirunoff_lat_inc,
                0421 C
                0422      &    POCrunoff_lon0,
                0423      &    POCrunoff_lat0,
                0424      &    POCrunoff_nlon,
                0425      &    POCrunoff_nlat,
                0426      &    POCrunoff_lon_inc,
                0427      &    POCrunoff_interpMethod,
                0428      &    POCrunoff_lat_inc,
                0429 C
                0430      &    POPrunoff_lon0,
                0431      &    POPrunoff_lat0,
                0432      &    POPrunoff_nlon,
                0433      &    POPrunoff_nlat,
                0434      &    POPrunoff_lon_inc,
                0435      &    POPrunoff_interpMethod,
                0436      &    POPrunoff_lat_inc,
                0437 C
                0438      &    PONrunoff_lon0,
                0439      &    PONrunoff_lat0,
                0440      &    PONrunoff_nlon,
                0441      &    PONrunoff_nlat,
                0442      &    PONrunoff_lon_inc,
                0443      &    PONrunoff_interpMethod,
                0444      &    PONrunoff_lat_inc,
                0445 C
                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 C Open and read the data.darwin file
                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 C ======================================================================
                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 C ======================================================================
                0885 C set alternate forcing sources
                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 C     darwin iceFile is used for carbon air-sea exchanges while
                0963 C     RT_iceFile is used for light.
                0964 C     If one is set but not the other we stop.
                0965 C     If they are both set but different, we warn (see further below).
                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 C     warn if darwin and radtrans ice forcing are different
                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