Back to home page

darwin3

 
 

    


File indexing completed on 2025-12-02 20:42:57 UTC

view on githubraw file Latest commit a092808e on 2025-12-02 20:09:45 UTC
8fbfd1f382 Oliv*0001 #include "DARWIN_OPTIONS.h"
                0002 
                0003       SUBROUTINE DARWIN_READ_TRAITS(iUnit,oUnit,myThid)
                0004       IMPLICIT NONE
                0005 #include "SIZE.h"
                0006 #include "EEPARAMS.h"
                0007 #include "PARAMS.h"
                0008 #ifdef ALLOW_RADTRANS
                0009 #include "RADTRANS_SIZE.h"
                0010 #include "RADTRANS_PARAMS.h"
                0011 #endif
                0012 #include "DARWIN_SIZE.h"
                0013 #include "DARWIN_INDICES.h"
                0014 #include "DARWIN_RADTRANS.h"
                0015 #include "DARWIN_PARAMS.h"
                0016 #include "DARWIN_TRAITPARAMS.h"
                0017 #include "DARWIN_TRAITS.h"
                0018 
                0019       CHARACTER*(MAX_LEN_MBUF) msgBuf
                0020       INTEGER iUnit,oUnit,myThid
                0021 
                0022 #ifdef ALLOW_DARWIN
                0023 
                0024       INTEGER jp
                0025       INTEGER jp2
                0026       INTEGER jz
                0027       INTEGER l
                0028       INTEGER iopt
                0029 
                0030       NAMELIST/DARWIN_TRAITS/
                0031      &    isPhoto,
                0032      &    bactType,
                0033      &    isAerobic,
                0034      &    isDenit,
                0035      &    hasSi,
                0036      &    hasPIC,
                0037      &    diazo,
                0038      &    useNH4,
                0039      &    useNO2,
                0040      &    useNO3,
                0041      &    combNO,
                0042      &    isPrey,
                0043      &    isPred,
5910c7e5d2 Oliv*0044      &    tempMort,
                0045      &    tempMort2,
                0046      &    tempGraz,
8fbfd1f382 Oliv*0047      &    Xmin,
                0048      &    amminhib,
                0049      &    acclimtimescl,
                0050      &    mort,
                0051      &    mort2,
                0052      &    ExportFracMort,
                0053      &    ExportFracMort2,
                0054      &    ExportFracExude,
c7b6c66d45 Oliv*0055      &    FracExudeC,
8fbfd1f382 Oliv*0056      &    phytoTempCoeff,
                0057      &    phytoTempExp1,
09b16dd232 Oliv*0058      &    phytoTempAe,
8fbfd1f382 Oliv*0059      &    phytoTempExp2,
                0060      &    phytoTempOptimum,
                0061      &    phytoDecayPower,
09b16dd232 Oliv*0062      &    hetTempAe,
                0063      &    hetTempExp2,
                0064      &    hetTempOptimum,
                0065      &    hetDecayPower,
                0066      &    grazTempAe,
                0067      &    grazTempExp2,
                0068      &    grazTempOptimum,
                0069      &    grazDecayPower,
8fbfd1f382 Oliv*0070      &    R_NC,
                0071      &    R_PC,
                0072      &    R_SiC,
                0073      &    R_FeC,
                0074      &    R_ChlC,
                0075      &    R_PICPOC,
                0076      &    biosink,
                0077      &    bioswim,
5e7acb36b1 daat*0078      &    bioswimDVM,
8fbfd1f382 Oliv*0079      &    respRate,
                0080      &    PCmax,
                0081      &    Qnmax,
                0082      &    Qnmin,
                0083      &    Qpmax,
                0084      &    Qpmin,
                0085      &    Qsimax,
                0086      &    Qsimin,
                0087      &    Qfemax,
                0088      &    Qfemin,
                0089      &    VmaxNH4,
                0090      &    VmaxNO2,
                0091      &    VmaxNO3,
                0092      &    VmaxN,
                0093      &    VmaxPO4,
                0094      &    VmaxSiO2,
                0095      &    VmaxFeT,
                0096      &    ksatNH4,
                0097      &    ksatNO2,
                0098      &    ksatNO3,
                0099      &    ksatPO4,
                0100      &    ksatSiO2,
                0101      &    ksatFeT,
a092808e6b shlo*0102      &    hillnumDIN,
                0103      &    hillnumPO4,
                0104      &    hillnumFeT,
                0105      &    hillnumSiO2,
8fbfd1f382 Oliv*0106      &    kexcc,
                0107      &    kexcn,
                0108      &    kexcp,
                0109      &    kexcsi,
                0110      &    kexcfe,
                0111 #ifdef DARWIN_ALLOW_GEIDER
                0112      &    inhibGeider,
                0113 #else
                0114      &    ksatPAR,
                0115      &    kinhPAR,
                0116 #endif
                0117      &    mQyield,
                0118      &    chl2cmax,
                0119      &    grazemax,
                0120      &    kgrazesat,
                0121      &    palat,
                0122      &    asseff,
                0123      &    ExportFracPreyPred,
                0124      &    yield,
                0125      &    yieldO2,
                0126      &    yieldNO3,
                0127      &    ksatPON,
                0128      &    ksatPOC,
                0129      &    ksatPOP,
                0130      &    ksatPOFe,
                0131      &    ksatDON,
                0132      &    ksatDOC,
                0133      &    ksatDOP,
5e7acb36b1 daat*0134      &    ksatDOFe,
                0135      &    PARpref,
                0136      &    mortmaxDVM,
                0137      &    ksatDVM,
                0138      &    ksatPARDVM,
                0139      &    fracPARmort,
                0140      &    ExportFracDVM
a092808e6b shlo*0141 #ifdef DARWIN_MACROMOLECULAR_GROWTH
                0142      &   ,Y_CP_Plip,
                0143      &    Y_CN_protein,
                0144      &    Y_NC_chl,
                0145      &    Y_CN_cyano,
                0146      &    Y_PN_nucacid,
                0147      &    Y_CN_DNA,
                0148      &    Y_CN_RNA,
                0149      &    Y_THY_P,
                0150      &    Y_FeN_photo,
                0151      &    ECo2Prod,
                0152      &    maintConsum,
                0153      &    VI_max,
                0154      &    A_I,
                0155      &    QC_other,
                0156      &    QC_pro_other,
                0157      &    QP_other,
                0158      &    QP_RNA_min,
                0159      &    QC_DNA,
                0160      &    QN_sto_max,
                0161      &    Qp_max,
                0162      &    Qfe_max,
                0163      &    A_pho,
                0164      &    A_bio,
                0165      &    AP_RNA,
                0166      &    Sf
                0167 #endif
8fbfd1f382 Oliv*0168 
                0169       NAMELIST/DARWIN_DEPENDENT_TRAITS/
                0170 #ifndef DARWIN_ALLOW_GEIDER
                0171      &    normI,
                0172 #endif
                0173 #ifdef ALLOW_RADTRANS
                0174      &    aptype,
                0175 #endif
                0176      &    biovol,
                0177      &    group,
                0178      &    igroup,
                0179      &    qcarbon,
                0180      &    biovol_bygroup,
                0181      &    alpha_mean,
7e97ec2956 Oliv*0182      &    chl2cmin
a092808e6b shlo*0183 #ifdef DARWIN_MACROMOLECULAR_GROWTH
                0184      &   ,QN_pro_other
                0185      &   ,QN_RNA_min
                0186      &   ,QC_RNA_min
                0187      &   ,QN_DNA
                0188      &   ,QP_DNA
                0189      &   ,A_thy
                0190      &   ,AN_RNA
                0191      &   ,VI_min
                0192      &   ,QC_chlMax
                0193      &   ,QnNoChl
                0194      &   ,QpNoChl
                0195      &   ,QfeNoChl
                0196      &   ,QC_const
                0197 #endif
8fbfd1f382 Oliv*0198 
                0199 
                0200 #ifdef ALLOW_RADTRANS
                0201       NAMELIST/DARWIN_RADTRANS_TRAITS/
                0202      &    aphy_chl,
                0203      &    aphy_chl_ps,
f61b1017e2 Oliv*0204      &    aphy_mgC,
8fbfd1f382 Oliv*0205      &    bphy_mgC,
                0206      &    bbphy_mgC
                0207 #endif
                0208 
                0209       NAMELIST/DARWIN_RT_DEPTRAITS/
                0210      &    alphachl
                0211 
                0212 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0213 C     DARWIN_TRAITS
                0214 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0215 
                0216       READ(UNIT=iUnit, NML=DARWIN_TRAITS)
                0217 
                0218 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0219 C     DARWIN_RADTRANS_TRAITS
                0220 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0221 
                0222 #ifdef ALLOW_RADTRANS
                0223       READ(UNIT=iUnit, NML=DARWIN_RADTRANS_TRAITS)
                0224 #endif
                0225 
b3165fc3b9 Oliv*0226 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0227 C     DARWIN_DEPENDENT_TRAITS
                0228 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
8fbfd1f382 Oliv*0229 
                0230       DO jp = 1,nPlank
                0231         vmaxNH4(jp) = vmaxNH4(jp) * useNH4(jp)
                0232         vmaxNO2(jp) = vmaxNO2(jp) * useNO2(jp)
                0233         vmaxNO3(jp) = vmaxNO3(jp) * useNO3(jp)
                0234 #ifndef DARWIN_ALLOW_NQUOTA
                0235         IF (diazo(jp).NE.0) THEN
                0236           useNH4(jp) = 0
                0237           useNO2(jp) = 0
                0238           useNO3(jp) = 0
                0239         ENDIF
                0240 #endif
                0241         IF (useNO3(jp).EQ.0 .OR. useNO2(jp).EQ.0) THEN
                0242           combNO(jp)=0
                0243         ENDIF
7d9a808b68 Oliv*0244 C       Silicate parameters to zero for non-diatoms
8fbfd1f382 Oliv*0245         IF (hasSi(jp) .EQ. 0) THEN
                0246           vmaxSiO2(jp) = 0.0 _d 0
                0247           ksatSiO2(jp) = 0.0 _d 0
                0248           R_SiC(jp) = 0.0 _d 0
                0249         ENDIF
7d9a808b68 Oliv*0250 C       only Coccolithophores have PIC
8fbfd1f382 Oliv*0251         IF (hasPIC(jp) .EQ. 0) THEN
                0252           R_PICPOC(jp) = 0.0 _d 0
                0253         ENDIF
                0254       ENDDO
                0255 
                0256 #ifdef ALLOW_RADTRANS
                0257 
                0258       DO jp = 1, nPhoto
                0259        alpha_mean(jp) = 0.0 _d 0
                0260        DO l = 1, nlam
                0261         alphachl(jp,l) = mQyield(jp) * aphy_chl_ps(jp,l)
                0262         alpha_mean(jp) = alpha_mean(jp) + RT_wbWidths(l)*alphachl(jp,l)
                0263        ENDDO
                0264        alpha_mean(jp) = alpha_mean(jp)/RT_wbTotalWidth
                0265       ENDDO
                0266 #else
                0267       DO jp = 1, nPhoto
                0268        alphachl(jp,1) = mQyield(jp) * aphy_chl_ave
                0269        alpha_mean(jp) = alphachl(jp,1)
                0270       ENDDO
                0271 #endif /* ALLOW_RADTRANS */
                0272 
                0273 #ifdef ALLOW_RADTRANS
                0274       DO jp = 1, nplank
c0e8b2e1c0 Oliv*0275        IF (pcmax(jp) .GT. 0 _d 0) THEN
                0276          chl2cmin(jp)=chl2cmax(jp)/
                0277      &     (1+(chl2cmax(jp)* alpha_mean(jp) *2000. _d 0)/(2*pcmax(jp)))
                0278        ELSE
                0279          chl2cmin(jp) = 0 _d 0
                0280        ENDIF
8fbfd1f382 Oliv*0281       ENDDO
                0282 #else
                0283       DO jp = 1, nPhoto
                0284        chl2cmin(jp) = 0. _d 0
                0285       ENDDO
                0286 #endif
                0287 
                0288 #ifndef DARWIN_ALLOW_GEIDER
                0289       DO jp = 1, nplank
                0290        IF (ksatPAR(jp)*kinhPAR(jp) .GT. 0.0) THEN
                0291         normI(jp) = 1.0/(ksatPAR(jp)/(ksatPAR(jp)+kinhPAR(jp))*
                0292      &    EXP(kinhPAR(jp)/ksatPAR(jp)*
                0293      &        LOG(kinhPAR(jp)/(ksatPAR(jp)+kinhPAR(jp)))))
                0294        ELSE
                0295         normI(jp) = 1.0
                0296        ENDIF
                0297       ENDDO
                0298 #endif
                0299 
a092808e6b shlo*0300 #ifdef DARWIN_MACROMOLECULAR_GROWTH
                0301       DO jp = 1,nplank
                0302         QN_pro_other(jp) = QC_pro_other(jp)/Y_CN_protein(jp)
                0303         QN_RNA_min(jp)   = QP_RNA_min(jp)/Y_PN_nucacid(jp)
                0304         QC_RNA_min(jp)   = QN_RNA_min(jp)*Y_CN_RNA(jp)
                0305         QN_DNA(jp)       = QC_DNA(jp)/Y_CN_DNA(jp)
                0306         QP_DNA(jp)       = QN_DNA(jp)*Y_PN_nucacid(jp)
                0307         A_thy(jp)        = Y_THY_P(jp)*Y_CP_Plip(jp)
                0308         AN_RNA(jp)       = AP_RNA(jp)*Y_CN_protein(jp)/Y_PN_nucacid(jp)
                0309 
                0310         QC_const(jp) = QC_pro_other(jp) + QN_RNA_min(jp)*Y_CN_RNA(jp) +
                0311      &    QC_DNA(jp) + QC_other(jp)
                0312         VI_min(jp) = maintConsum(jp)*
                0313      &    (1. + A_thy(jp) + A_pho(jp))/(1 - QC_const(jp))
                0314         QC_chlMax(jp) = maintConsum(jp)/VI_min(jp)
                0315 
                0316         QnNoChl(jp) = QN_DNA(jp) + QN_RNA_min(jp) + QN_pro_other(jp)
                0317         QpNoChl(jp) = QP_RNA_min(jp) + QN_DNA(jp)*Y_PN_nucacid(jp)
                0318      &              + QP_other(jp)
                0319         QfeNoChl(jp) = 0.0 _d 0
                0320       ENDDO
                0321 #endif
                0322 
7d9a808b68 Oliv*0323 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0324 C     Checks
                0325 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
8fbfd1f382 Oliv*0326 
7d9a808b68 Oliv*0327 C     check types are within type ranges
8fbfd1f382 Oliv*0328       DO jp=1,nplank
                0329        IF (isPhoto(jp) .NE. 0) THEN
                0330         IF (jp.GT.nPhoto) THEN
                0331           WRITE(msgBuf,'(2A,I4)') 'DARWIN_READTRAITS: ERROR: ',
                0332      &    'isPhoto set for type outside of photo range: ', jp
                0333           CALL PRINT_ERROR( msgBuf , 1)
                0334           STOP 'ABNORMAL END: S/R DARWIN_READTRAITS'
                0335         ENDIF
                0336 #ifdef DARWIN_ALLOW_CHLQUOTA
                0337         IF (jp.GT.nPhoto) THEN
                0338           WRITE(msgBuf,'(2A,I4)') 'DARWIN_READTRAITS: ERROR: ',
                0339      &    'isPhoto set for type outside of Chl range: ', jp
                0340           CALL PRINT_ERROR( msgBuf , 1)
                0341           STOP 'ABNORMAL END: S/R DARWIN_READTRAITS'
                0342         ENDIF
                0343 #endif
                0344        ELSE
28fd60052e Oliv*0345         IF (bacttype(jp) .EQ. 0) THEN
                0346          PCmax(jp) = 0 _d 0
                0347         ENDIF
8fbfd1f382 Oliv*0348         vmaxPO4(jp) = 0 _d 0
                0349         vmaxNO3(jp) = 0 _d 0
                0350         vmaxNO2(jp) = 0 _d 0
                0351         vmaxNH4(jp) = 0 _d 0
                0352         vmaxFeT(jp) = 0 _d 0
                0353         vmaxSiO2(jp) = 0 _d 0
                0354        ENDIF
                0355 
                0356        IF (bactType(jp) .NE. 0) THEN
                0357         IF (isAerobic(jp).NE.0 .AND. isDenit(jp).NE.0) THEN
                0358           WRITE(msgBuf,'(2A,I4)') 'DARWIN_READTRAITS: ERROR: ',
                0359      &    'isAerobic and isDenit both set: ', jp
                0360           CALL PRINT_ERROR( msgBuf , 1)
                0361           STOP 'ABNORMAL END: S/R DARWIN_READTRAITS'
                0362         ENDIF
d698ad5f8a Oliv*0363         IF (R_SiC(jp).NE.0) THEN
                0364           WRITE(msgBuf,'(2A,I4)') 'DARWIN_READTRAITS: ERROR: ',
                0365      &    'bacteria has R_SiC.NE.0: ', jp
                0366           CALL PRINT_ERROR( msgBuf , 1)
                0367           STOP 'ABNORMAL END: S/R DARWIN_READTRAITS'
                0368         ENDIF
72b872d655 Oliv*0369         IF (R_PICPOC(jp).NE.0) THEN
                0370           WRITE(msgBuf,'(2A,I4)') 'DARWIN_READTRAITS: ERROR: ',
                0371      &    'bacteria has R_PICPOC.NE.0: ', jp
                0372           CALL PRINT_ERROR( msgBuf , 1)
                0373           STOP 'ABNORMAL END: S/R DARWIN_READTRAITS'
                0374         ENDIF
8fbfd1f382 Oliv*0375        ELSE
                0376         IF (isAerobic(jp).NE.0) THEN
                0377           WRITE(msgBuf,'(2A,I4)') 'DARWIN_READTRAITS: ERROR: ',
                0378      &    'isAerobic set for non-bacteria type: ', jp
                0379           CALL PRINT_ERROR( msgBuf , 1)
                0380           STOP 'ABNORMAL END: S/R DARWIN_READTRAITS'
                0381         ENDIF
                0382         IF (isDenit(jp).NE.0) THEN
                0383           WRITE(msgBuf,'(2A,I4)') 'DARWIN_READTRAITS: ERROR: ',
                0384      &    'isDenit set for non-bacteria type: ', jp
                0385           CALL PRINT_ERROR( msgBuf , 1)
                0386           STOP 'ABNORMAL END: S/R DARWIN_READTRAITS'
                0387         ENDIF
                0388        ENDIF
                0389 
                0390        DO jz=1,nplank
                0391         IF (palat(jp,jz) .NE. 0.) THEN
                0392          IF (isPrey(jp) .EQ. 0) THEN
                0393           WRITE(msgBuf,'(2A,2I4)') 'DARWIN_READTRAITS: WARNING: ',
                0394      &    'palat set for type outside of prey range: ', jp, jz
                0395           CALL PRINT_ERROR( msgBuf , 1)
                0396           IF (darwin_strict_check) THEN
                0397            STOP 'palat set outside of prey range'
                0398           ELSE
                0399            palat(jp,jz) = 0. _d 0
                0400           ENDIF
                0401          ENDIF
                0402          IF (isPred(jz) .EQ. 0) THEN
                0403           WRITE(msgBuf,'(2A,2I4)') 'DARWIN_READTRAITS: WARNING: ',
                0404      &    'palat set for type outside of predator range: ', jp, jz
                0405           CALL PRINT_ERROR( msgBuf , 1)
                0406           IF (darwin_strict_check) THEN
                0407            STOP 'palat set outside of predator range'
                0408           ELSE
                0409            palat(jp,jz) = 0. _d 0
                0410           ENDIF
                0411          ENDIF
                0412         ENDIF
                0413        ENDDO
                0414       ENDDO
                0415 
                0416 C re-compute isPrey and isPred to speed up grazing loops
                0417       DO jp=1,nplank
                0418        isPrey(jp) = 0
                0419        isPred(jp) = 0
                0420       ENDDO
                0421       DO jp=1,nplank
                0422        DO jz=1,nplank
                0423         IF (palat(jp,jz) .NE. 0.) THEN
                0424          isPrey(jp) = 1
                0425          isPred(jz) = 1
                0426         ENDIF
                0427        ENDDO
                0428       ENDDO
                0429 
72b872d655 Oliv*0430       DO jz=1,nplank
                0431         IF (isPred(jz) .NE. 0 .AND. R_PICPOC(jz).NE.0) THEN
                0432           WRITE(msgBuf,'(2A,I4)') 'DARWIN_READTRAITS: ERROR: ',
                0433      &    'predator has R_PICPOC.NE.0: ', jz
                0434           CALL PRINT_ERROR( msgBuf , 1)
                0435           STOP 'ABNORMAL END: S/R DARWIN_READTRAITS'
                0436         ENDIF
                0437       ENDDO
                0438 
7d9a808b68 Oliv*0439 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0440 C zero out unused trait entries, so they do not mess up the traits file
                0441 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
8fbfd1f382 Oliv*0442       DO jp=1,nplank
                0443 #ifndef DARWIN_ALLOW_NQUOTA
c7b6c66d45 Oliv*0444 #ifndef DARWIN_ALLOW_CSTORE
8fbfd1f382 Oliv*0445        vmaxNH4(jp) = DARWIN_UNUSED
                0446        vmaxNO2(jp) = DARWIN_UNUSED
                0447        vmaxNO3(jp) = DARWIN_UNUSED
                0448        vmaxN(jp) = DARWIN_UNUSED
c7b6c66d45 Oliv*0449 #endif
8fbfd1f382 Oliv*0450        Qnmax(jp) = DARWIN_UNUSED
                0451        Qnmin(jp) = DARWIN_UNUSED
                0452 #endif
                0453 #ifndef DARWIN_ALLOW_PQUOTA
c7b6c66d45 Oliv*0454 #ifndef DARWIN_ALLOW_CSTORE
8fbfd1f382 Oliv*0455        vmaxPO4(jp) = DARWIN_UNUSED
c7b6c66d45 Oliv*0456 #endif
8fbfd1f382 Oliv*0457        Qpmax(jp) = DARWIN_UNUSED
                0458        Qpmin(jp) = DARWIN_UNUSED
                0459 #endif
                0460 #ifndef DARWIN_ALLOW_FEQUOTA
c7b6c66d45 Oliv*0461 #ifndef DARWIN_ALLOW_CSTORE
8fbfd1f382 Oliv*0462        vmaxFeT(jp) = DARWIN_UNUSED
c7b6c66d45 Oliv*0463 #endif
8fbfd1f382 Oliv*0464        Qfemax(jp) = DARWIN_UNUSED
                0465        Qfemin(jp) = DARWIN_UNUSED
                0466 #endif
c7b6c66d45 Oliv*0467 #ifndef DARWIN_ALLOW_SIQUOTA
                0468 #ifndef DARWIN_ALLOW_CSTORE
                0469        vmaxSiO2(jp) = DARWIN_UNUSED
                0470 #endif
                0471        Qsimax(jp) = DARWIN_UNUSED
                0472        Qsimin(jp) = DARWIN_UNUSED
                0473 #endif
8fbfd1f382 Oliv*0474 #ifndef DARWIN_ALLOW_EXUDE
                0475        kexcc(jp) = DARWIN_UNUSED
                0476        kexcn(jp) = DARWIN_UNUSED
                0477        kexcp(jp) = DARWIN_UNUSED
                0478        kexcsi(jp) = DARWIN_UNUSED
                0479        kexcfe(jp) = DARWIN_UNUSED
                0480 #endif
                0481        IF (jp.GT.nPhoto) THEN
                0482         diazo(jp) = DARWIN_UNUSED
                0483         useNH4(jp) = DARWIN_UNUSED
                0484         useNO2(jp) = DARWIN_UNUSED
                0485         useNO3(jp) = DARWIN_UNUSED
                0486         combNO(jp) = DARWIN_UNUSED
                0487         amminhib(jp) = DARWIN_UNUSED
                0488         acclimtimescl(jp) = DARWIN_UNUSED
                0489 
                0490         phytoTempCoeff(jp) = DARWIN_UNUSED
                0491         phytoTempExp1(jp) = DARWIN_UNUSED
09b16dd232 Oliv*0492         phytoTempAe(jp) = DARWIN_UNUSED
8fbfd1f382 Oliv*0493         phytoTempExp2(jp) = DARWIN_UNUSED
                0494         phytoTempOptimum(jp) = DARWIN_UNUSED
                0495         phytoDecayPower(jp) = DARWIN_UNUSED
                0496 
                0497         vmaxNH4(jp) = DARWIN_UNUSED
                0498         vmaxNO2(jp) = DARWIN_UNUSED
                0499         vmaxNO3(jp) = DARWIN_UNUSED
                0500         vmaxPO4(jp) = DARWIN_UNUSED
                0501         vmaxSiO2(jp) = DARWIN_UNUSED
                0502         vmaxFeT(jp) = DARWIN_UNUSED
                0503 
                0504         ksatNH4(jp) = DARWIN_UNUSED
                0505         ksatNO2(jp) = DARWIN_UNUSED
                0506         ksatNO3(jp) = DARWIN_UNUSED
                0507         ksatPO4(jp) = DARWIN_UNUSED
                0508         ksatSiO2(jp) = DARWIN_UNUSED
                0509         ksatFeT(jp) = DARWIN_UNUSED
                0510 
a092808e6b shlo*0511         hillnumDIN(jp) = DARWIN_UNUSED
                0512         hillnumPO4(jp) = DARWIN_UNUSED
                0513         hillnumFeT(jp) = DARWIN_UNUSED
                0514         hillnumSiO2(jp) = DARWIN_UNUSED
                0515 
8fbfd1f382 Oliv*0516 #ifdef DARWIN_ALLOW_GEIDER
                0517         inhibGeider(jp) = DARWIN_UNUSED
                0518 #else
                0519         ksatPAR(jp) = DARWIN_UNUSED
                0520         kinhPAR(jp) = DARWIN_UNUSED
                0521         normI(jp) = DARWIN_UNUSED
                0522 #endif
                0523         mQyield(jp) = DARWIN_UNUSED
                0524         chl2cmax(jp) = DARWIN_UNUSED
                0525         chl2cmin(jp) = DARWIN_UNUSED
                0526         DO l=1,nlam
                0527          alphachl(jp,l) = DARWIN_UNUSED
                0528         ENDDO
                0529         alpha_mean(jp) = DARWIN_UNUSED
                0530        ENDIF
                0531        IF (isPred(jp) .EQ. 0) THEN
                0532         grazemax(jp) = DARWIN_UNUSED
                0533         kgrazesat(jp) = DARWIN_UNUSED
                0534        ENDIF
                0535        DO jp2=1,nplank
                0536         IF (isPred(jp).EQ.0 .OR. isPrey(jp2).EQ.0) THEN
                0537           palat(jp2,jp) = DARWIN_UNUSED
                0538           asseff(jp2,jp) = DARWIN_UNUSED
                0539           ExportFracPreyPred(jp2,jp) = DARWIN_UNUSED
                0540         ENDIF
                0541        ENDDO
                0542       ENDDO
                0543 
                0544 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0545 C     log all parameters to a namelist file
                0546 
                0547       IF ( oUnit .GE. 0 ) THEN
                0548        WRITE(UNIT=oUnit, NML=DARWIN_TRAITS)
                0549        WRITE(UNIT=oUnit, NML=DARWIN_DEPENDENT_TRAITS)
                0550 #ifdef ALLOW_RADTRANS
                0551        WRITE(UNIT=oUnit, NML=DARWIN_RADTRANS_TRAITS)
                0552 #endif
                0553        WRITE(UNIT=oUnit, NML=DARWIN_RT_DEPTRAITS)
                0554       ENDIF
                0555 
                0556 #endif /* ALLOW_DARWIN */
                0557 
                0558       RETURN
                0559       END