Back to home page

darwin3

 
 

    


File indexing completed on 2026-01-27 18:49:44 UTC

view on githubraw file Latest commit 289ac961 on 2026-01-16 15:54:36 UTC
8fbfd1f382 Oliv*0001 C
                0002 C                             DO NOT EDIT...
                0003 C
8992518b30 Oliv*0004 C ...lines between CCOG block and checksum as they are autogenerated.
                0005 C After changing DARWIN_INDICES.h in pkg/darwin, run 'make' there to
                0006 C update darwin_check.F.  This is automatically done by genmake2.
                0007 C If you have edited the generated code, you can remove it by running
                0008 C '../../tools/darwin/cog -x -r darwin_check.F' and then run
                0009 C '../../tools/darwin/cog -c -r darwin_check.F' to regenerate it.
8fbfd1f382 Oliv*0010 
                0011 CCOG[[[cog import cog; from checkindices import *]]]
                0012 CCOG[[[end]]] (checksum: d41d8cd98f00b204e9800998ecf8427e)
                0013 
                0014 #include "DARWIN_OPTIONS.h"
                0015 
                0016 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0017 CBOP 0
                0018 C     !ROUTINE: DARWIN_CHECK
                0019 
                0020 C     !INTERFACE:
                0021       SUBROUTINE DARWIN_CHECK( myThid )
                0022 
                0023 C     !DESCRIPTION:
                0024 C     Check dependences with other packages:
                0025 C     o Print darwin indices (iDIC,...) and ptracer names
                0026 C     o to allow for manual check
                0027 
                0028 C     !USES:
                0029       IMPLICIT NONE
                0030 #include "SIZE.h"
                0031 #include "EEPARAMS.h"
674bd6922c Oliv*0032 #include "EESUPPORT.h"
                0033 #ifdef DARWIN_DEBUG
                0034 #ifdef ALLOW_EXCH2
                0035 #include "W2_EXCH2_SIZE.h"
                0036 #include "W2_EXCH2_TOPOLOGY.h"
                0037 #include "W2_EXCH2_PARAMS.h"
                0038 #endif
                0039 #include "GRID.h"
                0040 #endif
8fbfd1f382 Oliv*0041 #include "PARAMS.h"
4e9fe45e8e Oliv*0042 #include "EXF_PARAM.h"
8fbfd1f382 Oliv*0043 #include "PTRACERS_SIZE.h"
                0044 #include "PTRACERS_PARAMS.h"
                0045 #include "GCHEM.h"
4e9fe45e8e Oliv*0046 #ifdef ALLOW_RADTRANS
                0047 #include "RADTRANS_SIZE.h"
                0048 #endif
8fbfd1f382 Oliv*0049 #include "DARWIN_SIZE.h"
                0050 #include "DARWIN_INDICES.h"
4e9fe45e8e Oliv*0051 #include "DARWIN_EXF_PARAMS.h"
                0052 #include "DARWIN_EXF_FIELDS.h"
8fbfd1f382 Oliv*0053 #include "DARWIN_PARAMS.h"
30cf4ad023 Oliv*0054 #include "DARWIN_TRAITPARAMS.h"
8fbfd1f382 Oliv*0055 #include "DARWIN_TRAITS.h"
4e9fe45e8e Oliv*0056 #include "DARWIN_RADTRANS.h"
8fbfd1f382 Oliv*0057 
                0058 C     !INPUT PARAMETERS:
                0059 C     myThid -  Number of this instances
                0060       INTEGER myThid
                0061 CEOP
                0062 
                0063 #ifdef ALLOW_DARWIN
                0064 
                0065 C     !LOCAL VARIABLES:
                0066 C     msgBuf      - Informational/error meesage buffer
                0067       CHARACTER*(MAX_LEN_MBUF) msgBuf
30cf4ad023 Oliv*0068       CHARACTER*80 gname
a092808e6b shlo*0069       INTEGER j,iPtr,oUnit,g,l,errCount
30cf4ad023 Oliv*0070       _RL dm
8fbfd1f382 Oliv*0071 CCOG[[[cog
                0072 CCOGcog.out('\n'.join('''
                0073 CCOG{pre}      INTEGER i_{name}
                0074 CCOG{post}'''.format(name=name, pre=pre, post=post)[1:-1] for name,name6,pre,post in checkflds))
                0075 CCOGcog.out('\n')
                0076 CCOGcog.out('\n'.join('''
                0077 CCOG{pre}      INTEGER i_{name}, e_{name}
                0078 CCOG{post}'''.format(name=name, pre=pre, post=post)[1:-1] for name,name5,pre,post in checklflds))
                0079 CCOG]]]
                0080       INTEGER i_DIC
                0081       INTEGER i_NO3
                0082       INTEGER i_NO2
                0083       INTEGER i_NH4
                0084       INTEGER i_PO4
                0085       INTEGER i_FeT
                0086       INTEGER i_SiO2
                0087       INTEGER i_DOC
                0088       INTEGER i_DON
                0089       INTEGER i_DOP
                0090       INTEGER i_DOFe
                0091       INTEGER i_POC
                0092       INTEGER i_PON
                0093       INTEGER i_POP
                0094       INTEGER i_POFe
                0095       INTEGER i_POSi
                0096       INTEGER i_PIC
                0097 #ifdef DARWIN_ALLOW_CARBON
                0098       INTEGER i_ALK
                0099 #endif
                0100 #ifdef DARWIN_ALLOW_CARBON
                0101       INTEGER i_O2
                0102 #endif
                0103 #ifdef DARWIN_ALLOW_CDOM
                0104       INTEGER i_CDOM, e_CDOM
                0105 #endif
                0106       INTEGER i_c, e_c
                0107 #ifdef DARWIN_ALLOW_NQUOTA
                0108       INTEGER i_n, e_n
                0109 #endif
                0110 #ifdef DARWIN_ALLOW_PQUOTA
                0111       INTEGER i_p, e_p
                0112 #endif
                0113 #ifdef DARWIN_ALLOW_FEQUOTA
                0114       INTEGER i_fe, e_fe
                0115 #endif
                0116 #ifdef DARWIN_ALLOW_SIQUOTA
                0117       INTEGER i_si, e_si
                0118 #endif
                0119 #ifdef DARWIN_ALLOW_CHLQUOTA
                0120       INTEGER i_Chl, e_Chl
                0121 #endif
8fb4461f75 Oliv*0122 #ifdef DARWIN_ALLOW_CSTORE
                0123       INTEGER i_ch, e_ch
                0124 #endif
                0125 CCOG[[[end]]] (checksum: 1916d588f1c9768c75358b16b3668716)
8fbfd1f382 Oliv*0126       INTEGER n_DARWIN
4e9fe45e8e Oliv*0127       LOGICAL addBlkLn
                0128       CHARACTER*1 blkLin
674bd6922c Oliv*0129 #ifdef DARWIN_DEBUG
                0130       INTEGER np,bi,bj,i
                0131       INTEGER iG,jG
                0132       INTEGER iBase,jBase
                0133       INTEGER iGjLoc,jGjLoc
                0134       _R8 bufl(3), bufg(3,nPx*nPy)
                0135 #ifdef ALLOW_EXCH2
                0136       INTEGER tN
                0137 #endif /* ALLOW_EXCH2 */
                0138 #endif /* DARWIN_DEBUG */
8fbfd1f382 Oliv*0139 
                0140       NAMELIST/DARWIN_INDICES/
                0141 CCOG[[[cog
                0142 CCOGcog.out('\n'.join('''
                0143 CCOG{pre}     &    i_{name},
                0144 CCOG{post}'''.format(name=name, pre=pre, post=post)[1:-1] for name,name6,pre,post in checkflds))
                0145 CCOGcog.out('\n')
                0146 CCOGcog.out('\n'.join('''
                0147 CCOG{pre}     &    i_{name}, e_{name},
                0148 CCOG{post}'''.format(name=name, pre=pre, post=post)[1:-1] for name,name5,pre,post in checklflds))
                0149 CCOG]]]
                0150      &    i_DIC,
                0151      &    i_NO3,
                0152      &    i_NO2,
                0153      &    i_NH4,
                0154      &    i_PO4,
                0155      &    i_FeT,
                0156      &    i_SiO2,
                0157      &    i_DOC,
                0158      &    i_DON,
                0159      &    i_DOP,
                0160      &    i_DOFe,
                0161      &    i_POC,
                0162      &    i_PON,
                0163      &    i_POP,
                0164      &    i_POFe,
                0165      &    i_POSi,
                0166      &    i_PIC,
                0167 #ifdef DARWIN_ALLOW_CARBON
                0168      &    i_ALK,
                0169 #endif
                0170 #ifdef DARWIN_ALLOW_CARBON
                0171      &    i_O2,
                0172 #endif
                0173 #ifdef DARWIN_ALLOW_CDOM
                0174      &    i_CDOM, e_CDOM,
                0175 #endif
                0176      &    i_c, e_c,
                0177 #ifdef DARWIN_ALLOW_NQUOTA
                0178      &    i_n, e_n,
                0179 #endif
                0180 #ifdef DARWIN_ALLOW_PQUOTA
                0181      &    i_p, e_p,
                0182 #endif
                0183 #ifdef DARWIN_ALLOW_FEQUOTA
                0184      &    i_fe, e_fe,
                0185 #endif
                0186 #ifdef DARWIN_ALLOW_SIQUOTA
                0187      &    i_si, e_si,
                0188 #endif
                0189 #ifdef DARWIN_ALLOW_CHLQUOTA
                0190      &    i_Chl, e_Chl,
                0191 #endif
8fb4461f75 Oliv*0192 #ifdef DARWIN_ALLOW_CSTORE
                0193      &    i_ch, e_ch,
                0194 #endif
                0195 CCOG[[[end]]] (checksum: 0e66f1b9da7ec7a8cdcee6982dbf6ee5)
8fbfd1f382 Oliv*0196      &    n_DARWIN
                0197 
                0198       _BEGIN_MASTER(myThid)
                0199 
4e9fe45e8e Oliv*0200       IF ( myProcId.EQ.0 .AND. myThid.EQ.1 ) THEN
8fbfd1f382 Oliv*0201 C      need to copy parameters to variables before we can write to namelist
                0202 CCOG[[[cog
                0203 CCOGcog.out('\n'.join('''
                0204 CCOG{pre}       i_{name} = i{name}
                0205 CCOG{post}'''.format(name=name, pre=pre, post=post)[1:-1] for name,name6,pre,post in checkflds))
                0206 CCOGcog.out('\n')
                0207 CCOGcog.out('\n'.join('''
                0208 CCOG{pre}       i_{name} = i{name}
                0209 CCOG       e_{name} = e{name}
                0210 CCOG{post}'''.format(name=name, pre=pre, post=post)[1:-1] for name,name5,pre,post in checklflds))
                0211 CCOG]]]
                0212        i_DIC = iDIC
                0213        i_NO3 = iNO3
                0214        i_NO2 = iNO2
                0215        i_NH4 = iNH4
                0216        i_PO4 = iPO4
                0217        i_FeT = iFeT
                0218        i_SiO2 = iSiO2
                0219        i_DOC = iDOC
                0220        i_DON = iDON
                0221        i_DOP = iDOP
                0222        i_DOFe = iDOFe
                0223        i_POC = iPOC
                0224        i_PON = iPON
                0225        i_POP = iPOP
                0226        i_POFe = iPOFe
                0227        i_POSi = iPOSi
                0228        i_PIC = iPIC
                0229 #ifdef DARWIN_ALLOW_CARBON
                0230        i_ALK = iALK
                0231 #endif
                0232 #ifdef DARWIN_ALLOW_CARBON
                0233        i_O2 = iO2
                0234 #endif
                0235 #ifdef DARWIN_ALLOW_CDOM
                0236        i_CDOM = iCDOM
                0237        e_CDOM = eCDOM
                0238 #endif
                0239        i_c = ic
                0240        e_c = ec
                0241 #ifdef DARWIN_ALLOW_NQUOTA
                0242        i_n = in
                0243        e_n = en
                0244 #endif
                0245 #ifdef DARWIN_ALLOW_PQUOTA
                0246        i_p = ip
                0247        e_p = ep
                0248 #endif
                0249 #ifdef DARWIN_ALLOW_FEQUOTA
                0250        i_fe = ife
                0251        e_fe = efe
                0252 #endif
                0253 #ifdef DARWIN_ALLOW_SIQUOTA
                0254        i_si = isi
                0255        e_si = esi
                0256 #endif
                0257 #ifdef DARWIN_ALLOW_CHLQUOTA
                0258        i_Chl = iChl
                0259        e_Chl = eChl
                0260 #endif
8fb4461f75 Oliv*0261 #ifdef DARWIN_ALLOW_CSTORE
                0262        i_ch = ich
                0263        e_ch = ech
                0264 #endif
                0265 CCOG[[[end]]] (checksum: a71e683a0fd6b38624b27db90e6ece19)
8fbfd1f382 Oliv*0266        n_DARWIN = nDARWIN
                0267 
                0268        CALL MDSFINDUNIT( oUnit, mythid )
                0269        OPEN(oUnit,FILE='darwin_indices.txt',STATUS='unknown')
                0270        WRITE(UNIT=oUnit, NML=DARWIN_INDICES)
                0271        CLOSE(oUnit)
                0272       ENDIF
                0273 
                0274       WRITE(msgBuf,'(A)') 'DARWIN_CHECK: #define ALLOW_DARWIN'
                0275       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                0276      &                   SQUEEZE_RIGHT,myThid)
                0277 
                0278 C check exf is compiled and used
                0279 #ifdef ALLOW_EXF
                0280       IF ( .NOT. useEXF ) THEN
                0281 #else
                0282       IF (.TRUE.) THEN
                0283 #endif
                0284         WRITE(msgBuf,'(A)')
                0285      & 'DARWIN_CHECK: ERROR: darwin requires the exf package to be on'
                0286         CALL PRINT_ERROR( msgBuf , 1)
                0287         STOP 'ABNORMAL END: S/R DARWIN_CHECK'
                0288       ENDIF
                0289 
                0290       IF ( nDarwin .GT. PTRACERS_num ) THEN
                0291         WRITE(msgBuf,'(A,I5,A,I5)')
                0292      &    'DARWIN_CHECK: ERROR: nDarwin > PTRACERS_num: ',
                0293      &    nDarwin,' vs ',PTRACERS_num
                0294         CALL PRINT_ERROR( msgBuf , 1)
                0295         STOP 'ABNORMAL END: S/R DARWIN_CHECK'
                0296       ENDIF
                0297 
60668cc661 Oliv*0298 #ifdef ALLOW_RADTRANS
                0299       IF (.NOT.useRADTRANS) THEN
                0300        WRITE(msgBuf,'(A,A)') 'DARWIN_CHECK: ',
                0301      &  'The radtrans pkg must be used when compiled with darwin.'
                0302        CALL PRINT_ERROR( msgBuf, myThid )
                0303        STOP 'ABNORMAL END: DARWIN_CHECK: radtrans compiled but not used'
                0304       ENDIF
                0305 #endif
                0306 
8fbfd1f382 Oliv*0307 #ifndef ALLOW_RADTRANS
                0308       IF (.NOT.DARWIN_haveSurfPAR .AND. .NOT.DARWIN_useQsw .AND.
                0309      &    .NOT.usingSphericalPolarGrid) THEN
60668cc661 Oliv*0310        WRITE(msgBuf,'(A,A)') 'DARWIN_CHECK: ',
8fbfd1f382 Oliv*0311      &  'Attempting to use DARWIN_INSOL without a spherical polar grid.'
                0312        CALL PRINT_ERROR( msgBuf, myThid )
60668cc661 Oliv*0313        WRITE(msgBuf,'(A,A)') 'DARWIN_CHECK: ',
8fbfd1f382 Oliv*0314      &  'This is not supported.'
                0315        CALL PRINT_ERROR( msgBuf, myThid )
60668cc661 Oliv*0316        WRITE(msgBuf,'(A,A)') 'DARWIN_CHECK: ',
8fbfd1f382 Oliv*0317      &  'Please provide PARFile or set DARWIN_useQsw.'
                0318        CALL PRINT_ERROR( msgBuf, myThid )
60668cc661 Oliv*0319        STOP 'ABNORMAL END: DARWIN_CHECK: DARWIN_INSOL vs grid'
8fbfd1f382 Oliv*0320       ENDIF
                0321 #endif
                0322 
cc9e49e57e Oliv*0323 #if defined DARWIN_ALLOW_DENIT && ! defined DARWIN_ALLOW_CARBON
6da6a6c11b Oliv*0324       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ',
cc9e49e57e Oliv*0325      &  'DARWIN_ALLOW_DENIT requires DARWIN_ALLOW_CARBON.',
6da6a6c11b Oliv*0326       CALL PRINT_ERROR( msgBuf, myThid )
                0327       STOP 'ABNORMAL END: DARWIN_CHECK: DENIT without CARBON'
cc9e49e57e Oliv*0328 #endif
                0329 
b1b22a2a65 Oliv*0330 #ifdef DARWIN_ALLOW_RADI
                0331       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ',
                0332      &  'DARWIN_ALLOW_RADI has been retired.  Define either ',
                0333       CALL PRINT_ERROR( msgBuf, myThid )
                0334       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ',
                0335      &  'DARWIN_ALLOW_RADIv1 or DARWIN_ALLOW_RADIv2.'
                0336       CALL PRINT_ERROR( msgBuf, myThid )
                0337       STOP 'ABNORMAL END: DARWIN_CHECK: DARWIN_ALLOW_RADI'
                0338 #endif
                0339 #if defined(DARWIN_ALLOW_RADIv1) && defined(DARWIN_ALLOW_RADIv2)
                0340       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ',
                0341      &  'Only one of DARWIN_ALLOW_RADIv1 and DARWIN_ALOW_RADIv2 '
                0342       CALL PRINT_ERROR( msgBuf, myThid )
                0343       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ',
                0344      &  'can be defined at a time.'
                0345       CALL PRINT_ERROR( msgBuf, myThid )
                0346       STOP 'ABNORMAL END: S/R DARWIN_CHECK'
                0347 #endif
                0348 
289ac96103 Oliv*0349 #if defined DARWIN_ALLOW_RADIv1 && ! defined DARWIN_BOTTOM_SINK
                0350       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ',
                0351      &  'DARWIN_ALLOW_RADIv1 requires DARWIN_BOTTOM_SINK.'
                0352       CALL PRINT_ERROR( msgBuf, myThid )
                0353       STOP 'ABNORMAL END: DARWIN_CHECK: RADIv1 without BOTTOM_SINK'
                0354 #endif
                0355 
                0356 #if defined DARWIN_ALLOW_RADIv2 && ! defined DARWIN_BOTTOM_SINK
                0357       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ',
                0358      &  'DARWIN_ALLOW_RADIv2 requires DARWIN_BOTTOM_SINK.'
                0359       CALL PRINT_ERROR( msgBuf, myThid )
                0360       STOP 'ABNORMAL END: DARWIN_CHECK: RADIv2 without BOTTOM_SINK'
                0361 #endif
                0362 
8fbfd1f382 Oliv*0363 C check we are not using hollexp and also inhib_graz or DARWIN_GRAZING_SWITCH
                0364       IF (hollexp .NE. 1.0 _d 0) THEN
                0365         IF (inhib_graz_exp .NE. 0) THEN
                0366           WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ERROR: ',
                0367      &    'hollexp.NE.1 and inhib_graz_exp should not be used together'
                0368           CALL PRINT_ERROR( msgBuf , 1)
                0369           STOP 'ABNORMAL END: S/R DARWIN_CHECK'
                0370         ENDIF
                0371 #ifdef DARWIN_GRAZING_SWITCH
                0372         WRITE(msgBuf,'(3A)') 'DARWIN_CHECK: ERROR: ',
                0373      & 'hollexp.NE.1 and DARWIN_GRAZING_SWITCH ',
                0374      & 'should not be used together'
                0375         CALL PRINT_ERROR( msgBuf , 1)
                0376         STOP 'ABNORMAL END: S/R DARWIN_CHECK'
                0377 #endif
                0378       ENDIF
                0379 
b5c67a2701 Oliv*0380 #ifdef DARWIN_NITRATE_FELIMIT
                0381 # ifndef DARWIN_ALLOW_NQUOTA
                0382       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ERROR: ',
                0383      & 'DARWIN_NITRATE_FELIMIT requires DARWIN_ALLOW_NQUOTA'
                0384       CALL PRINT_ERROR( msgBuf , 1)
                0385       STOP 'ABNORMAL END: S/R DARWIN_CHECK'
                0386 # endif
                0387 # ifndef DARWIN_ALLOW_FEQUOTA
                0388       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ERROR: ',
                0389      & 'DARWIN_NITRATE_FELIMIT requires DARWIN_ALLOW_FEQUOTA'
                0390       CALL PRINT_ERROR( msgBuf , 1)
                0391       STOP 'ABNORMAL END: S/R DARWIN_CHECK'
                0392 # endif
                0393 #endif
                0394 
90de433d90 Oliv*0395 C Bacteria have fixed elemental ratios even when quotas are turned on
                0396 #if defined(DARWIN_ALLOW_NQUOTA) || defined(DARWIN_ALLOW_PQUOTA) || defined(DARWIN_ALLOW_FEQUOTA) || defined(DARWIN_ALLOW_SIQUOTA)
                0397       DO j=1,nplank
                0398        IF (bactType(j) .NE. 0) THEN
                0399         WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: Warning: ',
                0400      &   'Bacteria have fixed elemental quotas'
                0401         CALL PRINT_ERROR( msgBuf , 1)
                0402        ENDIF
                0403       ENDDO
                0404 #endif
                0405 
c7b6c66d45 Oliv*0406 C Carbon store is only implemented without quotas
                0407 #ifdef DARWIN_ALLOW_CSTORE
                0408 # ifdef DARWIN_ALLOW_NQUOTA
                0409       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ERROR: ',
                0410      & 'DARWIN_ALLOW_CSTORE does not support DARWIN_ALLOW_NQUOTA'
                0411       CALL PRINT_ERROR( msgBuf , 1)
                0412       STOP 'ABNORMAL END: S/R DARWIN_CHECK'
                0413 # endif
                0414 # ifdef DARWIN_ALLOW_PQUOTA
                0415       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ERROR: ',
                0416      & 'DARWIN_ALLOW_CSTORE does not support DARWIN_ALLOW_PQUOTA'
                0417       CALL PRINT_ERROR( msgBuf , 1)
                0418       STOP 'ABNORMAL END: S/R DARWIN_CHECK'
                0419 # endif
                0420 # ifdef DARWIN_ALLOW_FEQUOTA
                0421       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ERROR: ',
                0422      & 'DARWIN_ALLOW_CSTORE does not support DARWIN_ALLOW_FEQUOTA'
                0423       CALL PRINT_ERROR( msgBuf , 1)
                0424       STOP 'ABNORMAL END: S/R DARWIN_CHECK'
                0425 # endif
                0426 # ifdef DARWIN_ALLOW_SIQUOTA
                0427       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ERROR: ',
                0428      & 'DARWIN_ALLOW_CSTORE does not support DARWIN_ALLOW_SIQUOTA'
                0429       CALL PRINT_ERROR( msgBuf , 1)
                0430       STOP 'ABNORMAL END: S/R DARWIN_CHECK'
                0431 # endif
                0432 #endif
                0433 
ba0b6d5d33 Oliv*0434 #ifndef DARWIN_ALLOW_CARBON
                0435       IF (darwin_disscSelect .NE. 0) THEN
                0436        WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ERROR: ',
                0437      &  'darwin_disscSelect.NE.0 requires DARWIN_ALLOW_CARBON'
                0438        CALL PRINT_ERROR( msgBuf , 1)
                0439        STOP 'ABNORMAL END: S/R DARWIN_CHECK'
                0440       ENDIF
                0441 #endif
                0442 
a092808e6b shlo*0443       errCount = 0
                0444 #ifdef DARWIN_MACROMOLECULAR_GROWTH
                0445 # ifndef DARWIN_ALLOW_NQUOTA
                0446       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ERROR: ',
                0447      & 'DARWIN_MACROMOLECULAR_GROWTH requires DARWIN_ALLOW_NQUOTA'
                0448       CALL PRINT_ERROR( msgBuf , 1)
                0449       errCount = errCount + 1
                0450 # endif
                0451 # ifndef DARWIN_ALLOW_PQUOTA
                0452       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ERROR: ',
                0453      & 'DARWIN_MACROMOLECULAR_GROWTH requires DARWIN_ALLOW_PQUOTA'
                0454       CALL PRINT_ERROR( msgBuf , 1)
                0455       errCount = errCount + 1
                0456 # endif
                0457 # ifndef DARWIN_ALLOW_FEQUOTA
                0458       WRITE(msgBuf,'(2A)') 'DARWIN_CHECK: ERROR: ',
                0459      & 'DARWIN_MACROMOLECULAR_GROWTH requires DARWIN_ALLOW_FEQUOTA'
                0460       CALL PRINT_ERROR( msgBuf , 1)
                0461       errCount = errCount + 1
                0462 # endif
                0463 # ifdef DARWIN_ALLOW_SIQUOTA
                0464       WRITE(msgBuf,'(3A)') 'DARWIN_CHECK: ERROR: ',
                0465      & 'DARWIN_MACROMOLECULAR_GROWTH does not support ',
                0466      & 'DARWIN_ALLOW_SIQUOTA'
                0467       CALL PRINT_ERROR( msgBuf , 1)
                0468       errCount = errCount + 1
                0469 # endif
                0470       IF (errCount .GT. 0) THEN
                0471        WRITE(msgBuf,'(A,I3,A)')
                0472      &       'DARWIN_CHECK: detected', errCount,' fatal error(s)'
                0473        CALL PRINT_ERROR( msgBuf, myThid )
                0474        CALL ALL_PROC_DIE( 0 )
                0475        STOP 'ABNORMAL END: S/R DARWIN_CHECK'
                0476       ENDIF
                0477 #endif
                0478 
4e9fe45e8e Oliv*0479 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0480 C--   Print settings of some CPP flags.
                0481 
                0482       blkLin = ' '
                0483 
                0484       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                0485      &                    SQUEEZE_RIGHT , myThid )
                0486       WRITE(msgBuf,'(A)') ' Main CPP flags:'
                0487       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0488      &                    SQUEEZE_RIGHT , myThid )
                0489       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                0490      &                    SQUEEZE_RIGHT , myThid )
                0491 
                0492 #ifdef DARWIN_ALLOW_NQUOTA
                0493       WRITE(msgBuf,'(A)')
                0494      &'// DARWIN_ALLOW_NQUOTA:                  defined'
                0495       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0496      &                    SQUEEZE_RIGHT , myThid)
                0497 #else
                0498       WRITE(msgBuf,'(A)')
                0499      &'// DARWIN_ALLOW_NQUOTA:              NOT defined'
                0500       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0501      &                    SQUEEZE_RIGHT , myThid)
                0502 #endif
                0503 
                0504 #ifdef DARWIN_ALLOW_PQUOTA
                0505       WRITE(msgBuf,'(A)')
                0506      &'// DARWIN_ALLOW_PQUOTA:                  defined'
                0507       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0508      &                    SQUEEZE_RIGHT , myThid)
                0509 #else
                0510       WRITE(msgBuf,'(A)')
                0511      &'// DARWIN_ALLOW_PQUOTA:              NOT defined'
                0512       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0513      &                    SQUEEZE_RIGHT , myThid)
                0514 #endif
                0515 
                0516 #ifdef DARWIN_ALLOW_FEQUOTA
                0517       WRITE(msgBuf,'(A)')
                0518      &'// DARWIN_ALLOW_FEQUOTA:                 defined'
                0519       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0520      &                    SQUEEZE_RIGHT , myThid)
                0521 #else
                0522       WRITE(msgBuf,'(A)')
                0523      &'// DARWIN_ALLOW_FEQUOTA:             NOT defined'
                0524       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0525      &                    SQUEEZE_RIGHT , myThid)
                0526 #endif
                0527 
                0528 #ifdef DARWIN_ALLOW_SIQUOTA
                0529       WRITE(msgBuf,'(A)')
                0530      &'// DARWIN_ALLOW_SIQUOTA:                 defined'
                0531       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0532      &                    SQUEEZE_RIGHT , myThid)
                0533 #else
                0534       WRITE(msgBuf,'(A)')
                0535      &'// DARWIN_ALLOW_SIQUOTA:             NOT defined'
                0536       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0537      &                    SQUEEZE_RIGHT , myThid)
                0538 #endif
                0539 
                0540 #ifdef DARWIN_ALLOW_CHLQUOTA
                0541       WRITE(msgBuf,'(A)')
                0542      &'// DARWIN_ALLOW_CHLQUOTA:                defined'
                0543       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0544      &                    SQUEEZE_RIGHT , myThid)
                0545 #else
                0546       WRITE(msgBuf,'(A)')
                0547      &'// DARWIN_ALLOW_CHLQUOTA:            NOT defined'
                0548       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0549      &                    SQUEEZE_RIGHT , myThid)
                0550 #endif
                0551 
                0552 #ifdef DARWIN_ALLOW_CSTORE
                0553       WRITE(msgBuf,'(A)')
                0554      &'// DARWIN_ALLOW_CSTORE:                  defined'
                0555       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0556      &                    SQUEEZE_RIGHT , myThid)
                0557 #else
                0558       WRITE(msgBuf,'(A)')
                0559      &'// DARWIN_ALLOW_CSTORE:              NOT defined'
                0560       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0561      &                    SQUEEZE_RIGHT , myThid)
                0562 #endif
                0563 
                0564 #ifdef DARWIN_ALLOW_CSTORE_DIAGS
                0565       WRITE(msgBuf,'(A)')
                0566      &'// DARWIN_ALLOW_CSTORE_DIAGS:            defined'
                0567       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0568      &                    SQUEEZE_RIGHT , myThid)
                0569 #else
                0570       WRITE(msgBuf,'(A)')
                0571      &'// DARWIN_ALLOW_CSTORE_DIAGS:        NOT defined'
                0572       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0573      &                    SQUEEZE_RIGHT , myThid)
                0574 #endif
                0575 
                0576 #ifdef DARWIN_ALLOW_CDOM
                0577       WRITE(msgBuf,'(A)')
                0578      &'// DARWIN_ALLOW_CDOM:                    defined'
                0579       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0580      &                    SQUEEZE_RIGHT , myThid)
                0581 #else
                0582       WRITE(msgBuf,'(A)')
                0583      &'// DARWIN_ALLOW_CDOM:                NOT defined'
                0584       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0585      &                    SQUEEZE_RIGHT , myThid)
                0586 #endif
                0587 
                0588 #ifdef DARWIN_ALLOW_CARBON
                0589       WRITE(msgBuf,'(A)')
                0590      &'// DARWIN_ALLOW_CARBON:                  defined'
                0591       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0592      &                    SQUEEZE_RIGHT , myThid)
                0593 #else
                0594       WRITE(msgBuf,'(A)')
                0595      &'// DARWIN_ALLOW_CARBON:              NOT defined'
                0596       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0597      &                    SQUEEZE_RIGHT , myThid)
                0598 #endif
                0599 
                0600 #ifdef DARWIN_TOTALPHSCALE
                0601       WRITE(msgBuf,'(A)')
                0602      &'// DARWIN_TOTALPHSCALE:                  defined'
                0603       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0604      &                    SQUEEZE_RIGHT , myThid)
                0605 #else
                0606       WRITE(msgBuf,'(A)')
                0607      &'// DARWIN_TOTALPHSCALE:              NOT defined'
                0608       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0609      &                    SQUEEZE_RIGHT , myThid)
                0610 #endif
                0611 
                0612 #ifdef DARWIN_ALLOW_DENIT
                0613       WRITE(msgBuf,'(A)')
                0614      &'// DARWIN_ALLOW_DENIT:                   defined'
                0615       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0616      &                    SQUEEZE_RIGHT , myThid)
                0617 #else
                0618       WRITE(msgBuf,'(A)')
                0619      &'// DARWIN_ALLOW_DENIT:               NOT defined'
                0620       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0621      &                    SQUEEZE_RIGHT , myThid)
                0622 #endif
                0623 
                0624 #ifdef DARWIN_ALLOW_EXUDE
                0625       WRITE(msgBuf,'(A)')
                0626      &'// DARWIN_ALLOW_EXUDE:                   defined'
                0627       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0628      &                    SQUEEZE_RIGHT , myThid)
                0629 #else
                0630       WRITE(msgBuf,'(A)')
                0631      &'// DARWIN_ALLOW_EXUDE:               NOT defined'
                0632       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0633      &                    SQUEEZE_RIGHT , myThid)
                0634 #endif
                0635 
                0636 #ifdef ALLOW_OLD_VIRTUALFLUX
                0637       WRITE(msgBuf,'(A)')
                0638      &'// ALLOW_OLD_VIRTUALFLUX:                defined'
                0639       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0640      &                    SQUEEZE_RIGHT , myThid)
                0641 #else
                0642       WRITE(msgBuf,'(A)')
                0643      &'// ALLOW_OLD_VIRTUALFLUX:            NOT defined'
                0644       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0645      &                    SQUEEZE_RIGHT , myThid)
                0646 #endif
                0647 
                0648 #ifdef DARWIN_NITRATE_FELIMIT
                0649       WRITE(msgBuf,'(A)')
                0650      &'// DARWIN_NITRATE_FELIMIT:               defined'
                0651       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0652      &                    SQUEEZE_RIGHT , myThid)
                0653 #else
                0654       WRITE(msgBuf,'(A)')
                0655      &'// DARWIN_NITRATE_FELIMIT:           NOT defined'
                0656       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0657      &                    SQUEEZE_RIGHT , myThid)
                0658 #endif
                0659 
                0660 #ifdef DARWIN_BOTTOM_SINK
                0661       WRITE(msgBuf,'(A)')
                0662      &'// DARWIN_BOTTOM_SINK:                   defined'
                0663       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0664      &                    SQUEEZE_RIGHT , myThid)
                0665 #else
                0666       WRITE(msgBuf,'(A)')
                0667      &'// DARWIN_BOTTOM_SINK:               NOT defined'
                0668       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0669      &                    SQUEEZE_RIGHT , myThid)
                0670 #endif
                0671 
                0672 #ifdef DARWIN_CDOM_UNITS_CARBON
                0673       WRITE(msgBuf,'(A)')
                0674      &'// DARWIN_CDOM_UNITS_CARBON:             defined'
                0675       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0676      &                    SQUEEZE_RIGHT , myThid)
                0677 #else
                0678       WRITE(msgBuf,'(A)')
                0679      &'// DARWIN_CDOM_UNITS_CARBON:         NOT defined'
                0680       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0681      &                    SQUEEZE_RIGHT , myThid)
                0682 #endif
                0683 
                0684 #ifdef DARWIN_NUTRIENT_RUNOFF
                0685       WRITE(msgBuf,'(A)')
                0686      &'// DARWIN_NUTRIENT_RUNOFF:               defined'
                0687       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0688      &                    SQUEEZE_RIGHT , myThid)
                0689 #else
                0690       WRITE(msgBuf,'(A)')
                0691      &'// DARWIN_NUTRIENT_RUNOFF:           NOT defined'
                0692       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0693      &                    SQUEEZE_RIGHT , myThid)
                0694 #endif
                0695 
                0696 #ifdef DARWIN_AVPAR
                0697       WRITE(msgBuf,'(A)')
                0698      &'// DARWIN_AVPAR:                         defined'
                0699       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0700      &                    SQUEEZE_RIGHT , myThid)
                0701 #else
                0702       WRITE(msgBuf,'(A)')
                0703      &'// DARWIN_AVPAR:                     NOT defined'
                0704       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0705      &                    SQUEEZE_RIGHT , myThid)
                0706 #endif
                0707 
                0708 #ifdef DARWIN_ALLOW_GEIDER
                0709       WRITE(msgBuf,'(A)')
                0710      &'// DARWIN_ALLOW_GEIDER:                  defined'
                0711       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0712      &                    SQUEEZE_RIGHT , myThid)
                0713 #else
                0714       WRITE(msgBuf,'(A)')
                0715      &'// DARWIN_ALLOW_GEIDER:              NOT defined'
                0716       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0717      &                    SQUEEZE_RIGHT , myThid)
                0718 #endif
                0719 
                0720 #ifdef DARWIN_GEIDER_RHO_SYNTH
                0721       WRITE(msgBuf,'(A)')
                0722      &'// DARWIN_GEIDER_RHO_SYNTH:              defined'
                0723       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0724      &                    SQUEEZE_RIGHT , myThid)
                0725 #else
                0726       WRITE(msgBuf,'(A)')
                0727      &'// DARWIN_GEIDER_RHO_SYNTH:          NOT defined'
                0728       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0729      &                    SQUEEZE_RIGHT , myThid)
                0730 #endif
                0731 
                0732 #ifdef DARWIN_CHL_INIT_LEGACY
                0733       WRITE(msgBuf,'(A)')
                0734      &'// DARWIN_CHL_INIT_LEGACY:               defined'
                0735       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0736      &                    SQUEEZE_RIGHT , myThid)
                0737 #else
                0738       WRITE(msgBuf,'(A)')
                0739      &'// DARWIN_CHL_INIT_LEGACY:           NOT defined'
                0740       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0741      &                    SQUEEZE_RIGHT , myThid)
                0742 #endif
                0743 
                0744 #ifdef DARWIN_SCATTER_CHL
                0745       WRITE(msgBuf,'(A)')
                0746      &'// DARWIN_SCATTER_CHL:                   defined'
                0747       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0748      &                    SQUEEZE_RIGHT , myThid)
                0749 #else
                0750       WRITE(msgBuf,'(A)')
                0751      &'// DARWIN_SCATTER_CHL:               NOT defined'
                0752       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0753      &                    SQUEEZE_RIGHT , myThid)
                0754 #endif
                0755 
                0756 #ifdef DARWIN_DIAG_IOP
                0757       WRITE(msgBuf,'(A)')
                0758      &'// DARWIN_DIAG_IOP:                      defined'
                0759       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0760      &                    SQUEEZE_RIGHT , myThid)
                0761 #else
                0762       WRITE(msgBuf,'(A)')
                0763      &'// DARWIN_DIAG_IOP:                  NOT defined'
                0764       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0765      &                    SQUEEZE_RIGHT , myThid)
                0766 #endif
                0767 
                0768 #ifdef DARWIN_GRAZING_SWITCH
                0769       WRITE(msgBuf,'(A)')
                0770      &'// DARWIN_GRAZING_SWITCH:                defined'
                0771       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0772      &                    SQUEEZE_RIGHT , myThid)
                0773 #else
                0774       WRITE(msgBuf,'(A)')
                0775      &'// DARWIN_GRAZING_SWITCH:            NOT defined'
                0776       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0777      &                    SQUEEZE_RIGHT , myThid)
                0778 #endif
                0779 
                0780 #ifdef DARWIN_ALLOMETRIC_PALAT
                0781       WRITE(msgBuf,'(A)')
                0782      &'// DARWIN_ALLOMETRIC_PALAT:              defined'
                0783       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0784      &                    SQUEEZE_RIGHT , myThid)
                0785 #else
                0786       WRITE(msgBuf,'(A)')
                0787      &'// DARWIN_ALLOMETRIC_PALAT:          NOT defined'
                0788       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0789      &                    SQUEEZE_RIGHT , myThid)
                0790 #endif
                0791 
                0792 #ifdef DARWIN_NOZOOTEMP
                0793       WRITE(msgBuf,'(A)')
                0794      &'// DARWIN_NOZOOTEMP:                     defined'
                0795       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0796      &                    SQUEEZE_RIGHT , myThid)
                0797 #else
                0798       WRITE(msgBuf,'(A)')
                0799      &'// DARWIN_NOZOOTEMP:                 NOT defined'
                0800       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0801      &                    SQUEEZE_RIGHT , myThid)
                0802 #endif
                0803 
                0804 #ifdef DARWIN_NOTEMP
                0805       WRITE(msgBuf,'(A)')
                0806      &'// DARWIN_NOTEMP:                        defined'
                0807       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0808      &                    SQUEEZE_RIGHT , myThid)
                0809 #else
                0810       WRITE(msgBuf,'(A)')
                0811      &'// DARWIN_NOTEMP:                    NOT defined'
                0812       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0813      &                    SQUEEZE_RIGHT , myThid)
                0814 #endif
                0815 
                0816       WRITE(msgBuf,'(A,I8)')
                0817      &'// DARWIN_TEMP_VERSION:                 ',DARWIN_TEMP_VERSION
                0818       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0819      &                    SQUEEZE_RIGHT , myThid)
                0820 
                0821 #ifdef DARWIN_TEMP_RANGE
                0822       WRITE(msgBuf,'(A)')
                0823      &'// DARWIN_TEMP_RANGE:                    defined'
                0824       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0825      &                    SQUEEZE_RIGHT , myThid)
                0826 #else
                0827       WRITE(msgBuf,'(A)')
                0828      &'// DARWIN_TEMP_RANGE:                NOT defined'
                0829       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0830      &                    SQUEEZE_RIGHT , myThid)
                0831 #endif
                0832 
                0833 #ifdef DARWIN_MINFE
                0834       WRITE(msgBuf,'(A)')
                0835      &'// DARWIN_MINFE:                         defined'
                0836       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0837      &                    SQUEEZE_RIGHT , myThid)
                0838 #else
                0839       WRITE(msgBuf,'(A)')
                0840      &'// DARWIN_MINFE:                     NOT defined'
                0841       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0842      &                    SQUEEZE_RIGHT , myThid)
                0843 #endif
                0844 
                0845 #ifdef DARWIN_PART_SCAV
                0846       WRITE(msgBuf,'(A)')
                0847      &'// DARWIN_PART_SCAV:                     defined'
                0848       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0849      &                    SQUEEZE_RIGHT , myThid)
                0850 #else
                0851       WRITE(msgBuf,'(A)')
                0852      &'// DARWIN_PART_SCAV:                 NOT defined'
                0853       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0854      &                    SQUEEZE_RIGHT , myThid)
                0855 #endif
                0856 
                0857 #ifdef DARWIN_IRON_SED_SOURCE_VARIABLE
                0858       WRITE(msgBuf,'(A)')
                0859      &'// DARWIN_IRON_SED_SOURCE_VARIABLE:      defined'
                0860       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0861      &                    SQUEEZE_RIGHT , myThid)
                0862 #else
                0863       WRITE(msgBuf,'(A)')
                0864      &'// DARWIN_IRON_SED_SOURCE_VARIABLE:  NOT defined'
                0865       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0866      &                    SQUEEZE_RIGHT , myThid)
                0867 #endif
                0868 
                0869 #ifdef DARWIN_IRON_SED_SOURCE_POP
                0870       WRITE(msgBuf,'(A)')
                0871      &'// DARWIN_IRON_SED_SOURCE_POP:           defined'
                0872       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0873      &                    SQUEEZE_RIGHT , myThid)
                0874 #else
                0875       WRITE(msgBuf,'(A)')
                0876      &'// DARWIN_IRON_SED_SOURCE_POP:       NOT defined'
                0877       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0878      &                    SQUEEZE_RIGHT , myThid)
                0879 #endif
                0880 
                0881 #ifdef DARWIN_DIAG_PERTYPE
                0882       WRITE(msgBuf,'(A)')
                0883      &'// DARWIN_DIAG_PERTYPE:                  defined'
                0884       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0885      &                    SQUEEZE_RIGHT , myThid)
                0886 #else
                0887       WRITE(msgBuf,'(A)')
                0888      &'// DARWIN_DIAG_PERTYPE:              NOT defined'
                0889       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0890      &                    SQUEEZE_RIGHT , myThid)
                0891 #endif
                0892 
                0893 #ifdef DARWIN_DEBUG
                0894       WRITE(msgBuf,'(A)')
                0895      &'// DARWIN_DEBUG:                         defined'
                0896       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0897      &                    SQUEEZE_RIGHT , myThid)
                0898 #else
                0899       WRITE(msgBuf,'(A)')
                0900      &'// DARWIN_DEBUG:                     NOT defined'
                0901       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0902      &                    SQUEEZE_RIGHT , myThid)
                0903 #endif
                0904 
                0905 #ifdef DARWIN_ALLOW_CONS
                0906       WRITE(msgBuf,'(A)')
                0907      &'// DARWIN_ALLOW_CONS:                    defined'
                0908       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0909      &                    SQUEEZE_RIGHT , myThid)
                0910 #else
                0911       WRITE(msgBuf,'(A)')
                0912      &'// DARWIN_ALLOW_CONS:                NOT defined'
                0913       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0914      &                    SQUEEZE_RIGHT , myThid)
                0915 #endif
                0916 
                0917       WRITE(msgBuf,'(A,I8)')
                0918      &'// DARWIN_UNUSED:                       ',DARWIN_UNUSED
                0919       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0920      &                    SQUEEZE_RIGHT , myThid)
                0921 
                0922 #ifdef DARWIN_DIAG_TENDENCIES
                0923       WRITE(msgBuf,'(A)')
                0924      &'// DARWIN_DIAG_TENDENCIES:               defined'
                0925       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0926      &                    SQUEEZE_RIGHT , myThid)
                0927 #else
                0928       WRITE(msgBuf,'(A)')
                0929      &'// DARWIN_DIAG_TENDENCIES:           NOT defined'
                0930       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0931      &                    SQUEEZE_RIGHT , myThid)
                0932 #endif
                0933 
                0934 #ifdef DARWIN_PART_SCAV_POP
                0935       WRITE(msgBuf,'(A)')
                0936      &'// DARWIN_PART_SCAV_POP:                 defined'
                0937       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0938      &                    SQUEEZE_RIGHT , myThid)
                0939 #else
                0940       WRITE(msgBuf,'(A)')
                0941      &'// DARWIN_PART_SCAV_POP:             NOT defined'
                0942       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0943      &                    SQUEEZE_RIGHT , myThid)
                0944 #endif
                0945 
                0946 #ifdef DARWIN_RANDOM_TRAITS
                0947       WRITE(msgBuf,'(A)')
                0948      &'// DARWIN_RANDOM_TRAITS:                 defined'
                0949       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0950      &                    SQUEEZE_RIGHT , myThid)
                0951 
                0952 # ifdef DARWIN_TWO_SPECIES_SETUP
                0953       WRITE(msgBuf,'(A)')
                0954      &'// DARWIN_TWO_SPECIES_SETUP:             defined'
                0955       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0956      &                    SQUEEZE_RIGHT , myThid)
                0957 # else
                0958       WRITE(msgBuf,'(A)')
                0959      &'// DARWIN_TWO_SPECIES_SETUP:         NOT defined'
                0960       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0961      &                    SQUEEZE_RIGHT , myThid)
                0962 # endif
                0963 
                0964 # ifdef DARWIN_NINE_SPECIES_SETUP
                0965       WRITE(msgBuf,'(A)')
                0966      &'// DARWIN_NINE_SPECIES_SETUP:            defined'
                0967       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0968      &                    SQUEEZE_RIGHT , myThid)
                0969 # else
                0970       WRITE(msgBuf,'(A)')
                0971      &'// DARWIN_NINE_SPECIES_SETUP:        NOT defined'
                0972       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0973      &                    SQUEEZE_RIGHT , myThid)
                0974 # endif
                0975 
                0976 # ifdef DARWIN_ALLOW_DIAZ
                0977       WRITE(msgBuf,'(A)')
                0978      &'// DARWIN_ALLOW_DIAZ:                    defined'
                0979       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0980      &                    SQUEEZE_RIGHT , myThid)
                0981 # else
                0982       WRITE(msgBuf,'(A)')
                0983      &'// DARWIN_ALLOW_DIAZ:                NOT defined'
                0984       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0985      &                    SQUEEZE_RIGHT , myThid)
                0986 # endif
                0987 #endif /* DARWIN_RANDOM_TRAITS */
                0988 
                0989       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                0990      &                    SQUEEZE_RIGHT, myThid )
                0991 
                0992 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0993 C--   Print forcing parameters.
                0994 
                0995       CALL WRITE_0D_L(darwin_loadFieldsEarly,INDEX_NONE,
                0996      &'darwin_loadFieldsEarly =',
                0997      &' /* whether forcing fields are read during initializaton  */')
                0998 #ifndef ALLOW_RADTRANS
                0999       CALL WRITE_0D_L(darwin_haveSurfPAR,INDEX_NONE,
                1000      &'darwin_haveSurfPAR =',
                1001      &' /* have (and use) PARfile or PARconst */')
                1002       CALL WRITE_0D_L(darwin_useQsw,INDEX_NONE,
                1003      &'darwin_useQsw =',
                1004      &' /* whether to use model shortwave radiation */')
                1005 #endif
                1006       CALL WRITE_0D_L(darwin_useSEAICE,INDEX_NONE,
                1007      &'darwin_useSEAICE =',
                1008      &' /* whether to use ice area from seaice pkg */')
                1009       CALL WRITE_0D_L(darwin_useEXFwind,INDEX_NONE,
                1010      &'darwin_useEXFwind =',
                1011      &' /* whether to use wind speed from exf package */')
2c93eb88ef Oliv*1012 #ifdef DARWIN_ALLOW_HYDROTHERMAL_VENTS
                1013       CALL WRITE_0D_L(darwin_haveVentHe3,INDEX_NONE,
                1014      &'darwin_haveVentHe3 =',
                1015      &' /* have ventHe3file or ventHe3const */')
4e9fe45e8e Oliv*1016       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1017      &                     SQUEEZE_RIGHT , myThid )
2c93eb88ef Oliv*1018 #endif
4e9fe45e8e Oliv*1019 
                1020 C--   For each data set used the summary prints the calendar data
                1021 C     and the corresponding file from which the data will be read.
                1022       addBlkLn = .FALSE.
                1023 
                1024 #ifndef ALLOW_RADTRANS
                1025 C--   PAR
                1026       IF ( PARfile.NE.' ' ) THEN
                1027        CALL EXF_FLD_SUMMARY( 'PAR forcing',
                1028      I      PARfile, PARRepCycle, PARperiod,
                1029      I      PARStartTime, useExfYearlyFields, addBlkLn, myThid )
                1030 #ifdef USE_EXF_INTERPOLATION
                1031        CALL EXF_PRINT_INTERP( 'PAR',
                1032      &  PAR_lon0, PAR_lon_inc, PAR_lat0, PAR_lat_inc,
                1033      &  PAR_nlon, PAR_nlat, PAR_interpMethod, myThid )
                1034 #endif
                1035        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1036      &                     SQUEEZE_RIGHT , myThid )
                1037        CALL WRITE_0D_RL(PAR_exfremo_intercept,INDEX_NONE,
                1038      &   'PAR_exfremo_intercept =',
                1039      &   ' /* intercept for PAR forcing mean removal */')
                1040        CALL WRITE_0D_RL(PAR_exfremo_slope,INDEX_NONE,
                1041      &   'PAR_exfremo_slope =',
                1042      &   ' /* slope for PAR forcing trend removal */')
                1043        CALL WRITE_0D_RL(darwin_inscal_PAR,INDEX_NONE,
                1044      &   'darwin_inscal_PAR =',
                1045      &   ' /* scaling factor for PAR fields */')
                1046       ELSE
                1047        CALL WRITE_0D_RL(PARconst,INDEX_NONE,
                1048      &   'PARconst =',
                1049      &   ' /* constant PAR forcing */')
                1050       ENDIF
                1051 
                1052       IF ( PARfile.NE.' ' .OR. PARconst.NE.0 _d 0 ) THEN
                1053        CALL WRITE_0D_C(PARmask,-1,INDEX_NONE,
                1054      &   'PARmask =',
                1055      &   ' /* mask for PAR forcing */')
                1056       ENDIF
                1057 
                1058       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1059      &                     SQUEEZE_RIGHT , myThid )
                1060 #endif
                1061 
                1062 C--   iron
                1063       IF ( ironfile.NE.' ' ) THEN
                1064        CALL EXF_FLD_SUMMARY( 'iron forcing',
                1065      I      ironfile, ironRepCycle, ironperiod,
                1066      I      ironStartTime, useExfYearlyFields, addBlkLn, myThid )
                1067 #ifdef USE_EXF_INTERPOLATION
                1068        CALL EXF_PRINT_INTERP( 'iron',
                1069      &  iron_lon0, iron_lon_inc, iron_lat0, iron_lat_inc,
                1070      &  iron_nlon, iron_nlat, iron_interpMethod, myThid )
                1071 #endif
                1072        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1073      &                     SQUEEZE_RIGHT , myThid )
                1074        CALL WRITE_0D_RL(iron_exfremo_intercept,INDEX_NONE,
                1075      &   'iron_exfremo_intercept =',
                1076      &   ' /* intercept for iron forcing mean removal */')
                1077        CALL WRITE_0D_RL(iron_exfremo_slope,INDEX_NONE,
                1078      &   'iron_exfremo_slope =',
                1079      &   ' /* slope for iron forcing trend removal */')
                1080        CALL WRITE_0D_RL(darwin_inscal_iron,INDEX_NONE,
                1081      &   'darwin_inscal_iron =',
                1082      &   ' /* scaling factor for iron fields */')
                1083       ELSE
                1084        CALL WRITE_0D_RL(ironconst,INDEX_NONE,
                1085      &   'ironconst =',
                1086      &   ' /* constant iron forcing */')
                1087       ENDIF
                1088 
                1089       IF ( ironfile.NE.' ' .OR. ironconst.NE.0 _d 0 ) THEN
                1090        CALL WRITE_0D_C(ironmask,-1,INDEX_NONE,
                1091      &   'ironmask =',
                1092      &   ' /* mask for iron forcing */')
                1093       ENDIF
                1094 
                1095       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1096      &                     SQUEEZE_RIGHT , myThid )
                1097 
                1098 C--   ice
                1099       IF ( icefile.NE.' ' ) THEN
                1100        CALL EXF_FLD_SUMMARY( 'ice forcing',
                1101      I      icefile, iceRepCycle, iceperiod,
                1102      I      iceStartTime, useExfYearlyFields, addBlkLn, myThid )
                1103 #ifdef USE_EXF_INTERPOLATION
                1104        CALL EXF_PRINT_INTERP( 'ice',
                1105      &  ice_lon0, ice_lon_inc, ice_lat0, ice_lat_inc,
                1106      &  ice_nlon, ice_nlat, ice_interpMethod, myThid )
                1107 #endif
                1108        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1109      &                     SQUEEZE_RIGHT , myThid )
                1110        CALL WRITE_0D_RL(ice_exfremo_intercept,INDEX_NONE,
                1111      &   'ice_exfremo_intercept =',
                1112      &   ' /* intercept for ice forcing mean removal */')
                1113        CALL WRITE_0D_RL(ice_exfremo_slope,INDEX_NONE,
                1114      &   'ice_exfremo_slope =',
                1115      &   ' /* slope for ice forcing trend removal */')
                1116        CALL WRITE_0D_RL(darwin_inscal_ice,INDEX_NONE,
                1117      &   'darwin_inscal_ice =',
                1118      &   ' /* scaling factor for ice fields */')
                1119       ELSE
                1120        CALL WRITE_0D_RL(iceconst,INDEX_NONE,
                1121      &   'iceconst =',
                1122      &   ' /* constant ice forcing */')
                1123       ENDIF
                1124 
                1125       IF ( icefile.NE.' ' .OR. iceconst.NE.0 _d 0 ) THEN
                1126        CALL WRITE_0D_C(icemask,-1,INDEX_NONE,
                1127      &   'icemask =',
                1128      &   ' /* mask for ice forcing */')
                1129       ENDIF
                1130 
                1131       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1132      &                     SQUEEZE_RIGHT , myThid )
                1133 
                1134 C--   wind
                1135       IF ( windfile.NE.' ' ) THEN
                1136        CALL EXF_FLD_SUMMARY( 'wind forcing',
                1137      I      windfile, windRepCycle, windperiod,
                1138      I      windStartTime, useExfYearlyFields, addBlkLn, myThid )
                1139 #ifdef USE_EXF_INTERPOLATION
                1140        CALL EXF_PRINT_INTERP( 'wind',
                1141      &  wind_lon0, wind_lon_inc, wind_lat0, wind_lat_inc,
                1142      &  wind_nlon, wind_nlat, wind_interpMethod, myThid )
                1143 #endif
                1144        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1145      &                     SQUEEZE_RIGHT , myThid )
                1146        CALL WRITE_0D_RL(wind_exfremo_intercept,INDEX_NONE,
                1147      &   'wind_exfremo_intercept =',
                1148      &   ' /* intercept for wind forcing mean removal */')
                1149        CALL WRITE_0D_RL(wind_exfremo_slope,INDEX_NONE,
                1150      &   'wind_exfremo_slope =',
                1151      &   ' /* slope for wind forcing trend removal */')
                1152        CALL WRITE_0D_RL(darwin_inscal_wind,INDEX_NONE,
                1153      &   'darwin_inscal_wind =',
                1154      &   ' /* scaling factor for wind fields */')
                1155       ELSE
                1156        CALL WRITE_0D_RL(windconst,INDEX_NONE,
                1157      &   'windconst =',
                1158      &   ' /* constant wind forcing */')
                1159       ENDIF
                1160 
                1161       IF ( windfile.NE.' ' .OR. windconst.NE.0 _d 0 ) THEN
                1162        CALL WRITE_0D_C(windmask,-1,INDEX_NONE,
                1163      &   'windmask =',
                1164      &   ' /* mask for wind forcing */')
                1165       ENDIF
                1166 
                1167       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1168      &                     SQUEEZE_RIGHT , myThid )
                1169 
                1170 C--   pCO2
                1171       IF ( pCO2file.NE.' ' ) THEN
                1172        CALL EXF_FLD_SUMMARY( 'pCO2 forcing',
                1173      I      pCO2file, pCO2RepCycle, pCO2period,
                1174      I      pCO2StartTime, useExfYearlyFields, addBlkLn, myThid )
                1175 #ifdef USE_EXF_INTERPOLATION
                1176        CALL EXF_PRINT_INTERP( 'pCO2',
                1177      &  pCO2_lon0, pCO2_lon_inc, pCO2_lat0, pCO2_lat_inc,
                1178      &  pCO2_nlon, pCO2_nlat, pCO2_interpMethod, myThid )
                1179 #endif
                1180        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1181      &                     SQUEEZE_RIGHT , myThid )
                1182        CALL WRITE_0D_RL(pCO2_exfremo_intercept,INDEX_NONE,
                1183      &   'pCO2_exfremo_intercept =',
                1184      &   ' /* intercept for pCO2 forcing mean removal */')
                1185        CALL WRITE_0D_RL(pCO2_exfremo_slope,INDEX_NONE,
                1186      &   'pCO2_exfremo_slope =',
                1187      &   ' /* slope for pCO2 forcing trend removal */')
                1188        CALL WRITE_0D_RL(darwin_inscal_pCO2,INDEX_NONE,
                1189      &   'darwin_inscal_pCO2 =',
                1190      &   ' /* scaling factor for pCO2 fields */')
                1191       ELSE
                1192        CALL WRITE_0D_RL(pCO2const,INDEX_NONE,
                1193      &   'pCO2const =',
                1194      &   ' /* constant pCO2 forcing */')
                1195       ENDIF
                1196 
                1197       IF ( pCO2file.NE.' ' .OR. pCO2const.NE.0 _d 0 ) THEN
                1198        CALL WRITE_0D_C(pCO2mask,-1,INDEX_NONE,
                1199      &   'pCO2mask =',
                1200      &   ' /* mask for pCO2 forcing */')
                1201       ENDIF
                1202 
                1203       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1204      &                     SQUEEZE_RIGHT , myThid )
                1205 
2c93eb88ef Oliv*1206 C--   ventHe3
                1207 #ifdef DARWIN_ALLOW_HYDROTHERMAL_VENTS
                1208       IF (darwin_haveVentHe3) THEN
                1209        CALL EXF_FLD_SUMMARY( 'ventHe3 forcing',
                1210      I      ventHe3file, ventHe3RepCycle, ventHe3period,
                1211      I      ventHe3StartTime, useExfYearlyFields, addBlkLn, myThid )
                1212 #ifdef USE_EXF_INTERPOLATION
                1213        CALL EXF_PRINT_INTERP( 'ventHe3',
                1214      &  ventHe3_lon0, ventHe3_lon_inc, ventHe3_lat0, ventHe3_lat
                1215      &_inc,
                1216      &  ventHe3_nlon, ventHe3_nlat, ventHe3_interpMethod, myThid )
                1217 #endif
                1218        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1219      &                     SQUEEZE_RIGHT , myThid )
                1220        CALL WRITE_0D_RL(ventHe3_exfremo_intercept,INDEX_NONE,
                1221      &   'ventHe3_exfremo_intercept =',
                1222      &   ' /* intercept for ventHe3 forcing mean removal */')
                1223        CALL WRITE_0D_RL(ventHe3_exfremo_slope,INDEX_NONE,
                1224      &   'ventHe3_exfremo_slope =',
                1225      &   ' /* slope for ventHe3 forcing trend removal */')
                1226        CALL WRITE_0D_RL(darwin_inscal_ventHe3,INDEX_NONE,
                1227      &   'darwin_inscal_ventHe3 =',
                1228      &   ' /* scaling factor for ventHe3 fields */')
                1229       ELSE
                1230        CALL WRITE_0D_RL(ventHe3const,INDEX_NONE,
                1231      &   'ventHe3const =',
                1232      &   ' /* constant ventHe3 forcing */')
                1233       ENDIF
                1234 
                1235       IF ( ventHe3file.NE.' ' .OR. ventHe3const.NE.0 _d 0 ) THEN
                1236        CALL WRITE_0D_C(ventHe3mask,-1,INDEX_NONE,
                1237      &   'ventHe3mask =',
                1238      &   ' /* mask for ventHe3 forcing */')
                1239       ENDIF
                1240 
                1241       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1242      &                     SQUEEZE_RIGHT , myThid )
                1243 #endif
                1244 
4e9fe45e8e Oliv*1245 C--   DOCrunoff
                1246       IF ( DOCrunofffile.NE.' ' ) THEN
                1247        CALL EXF_FLD_SUMMARY( 'DOCrunoff forcing',
                1248      I      DOCrunofffile, DOCrunoffRepCycle, DOCrunoffperiod,
                1249      I      DOCrunoffStartTime, useExfYearlyFields, addBlkLn, myThid )
                1250 #ifdef USE_EXF_INTERPOLATION
                1251        CALL EXF_PRINT_INTERP( 'DOCrunoff',
                1252      &  DOCrunoff_lon0, DOCrunoff_lon_inc, DOCrunoff_lat0, DOCrunoff_lat
                1253      &_inc,
                1254      &  DOCrunoff_nlon, DOCrunoff_nlat, DOCrunoff_interpMethod, myThid )
                1255 #endif
                1256        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1257      &                     SQUEEZE_RIGHT , myThid )
                1258        CALL WRITE_0D_RL(DOCrunoff_exfremo_intercept,INDEX_NONE,
                1259      &   'DOCrunoff_exfremo_intercept =',
                1260      &   ' /* intercept for DOCrunoff forcing mean removal */')
                1261        CALL WRITE_0D_RL(DOCrunoff_exfremo_slope,INDEX_NONE,
                1262      &   'DOCrunoff_exfremo_slope =',
                1263      &   ' /* slope for DOCrunoff forcing trend removal */')
                1264        CALL WRITE_0D_RL(darwin_inscal_DOCrunoff,INDEX_NONE,
                1265      &   'darwin_inscal_DOCrunoff =',
                1266      &   ' /* scaling factor for DOCrunoff fields */')
                1267       ELSE
                1268        CALL WRITE_0D_RL(DOCrunoffconst,INDEX_NONE,
                1269      &   'DOCrunoffconst =',
                1270      &   ' /* constant DOCrunoff forcing */')
                1271       ENDIF
                1272 
                1273       IF ( DOCrunofffile.NE.' ' .OR. DOCrunoffconst.NE.0 _d 0 ) THEN
                1274        CALL WRITE_0D_C(DOCrunoffmask,-1,INDEX_NONE,
                1275      &   'DOCrunoffmask =',
                1276      &   ' /* mask for DOCrunoff forcing */')
                1277       ENDIF
                1278 
                1279       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1280      &                     SQUEEZE_RIGHT , myThid )
                1281 
                1282 C--   DONrunoff
                1283       IF ( DONrunofffile.NE.' ' ) THEN
                1284        CALL EXF_FLD_SUMMARY( 'DONrunoff forcing',
                1285      I      DONrunofffile, DONrunoffRepCycle, DONrunoffperiod,
                1286      I      DONrunoffStartTime, useExfYearlyFields, addBlkLn, myThid )
                1287 #ifdef USE_EXF_INTERPOLATION
                1288        CALL EXF_PRINT_INTERP( 'DONrunoff',
                1289      &  DONrunoff_lon0, DONrunoff_lon_inc, DONrunoff_lat0, DONrunoff_lat
                1290      &_inc,
                1291      &  DONrunoff_nlon, DONrunoff_nlat, DONrunoff_interpMethod, myThid )
                1292 #endif
                1293        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1294      &                     SQUEEZE_RIGHT , myThid )
                1295        CALL WRITE_0D_RL(DONrunoff_exfremo_intercept,INDEX_NONE,
                1296      &   'DONrunoff_exfremo_intercept =',
                1297      &   ' /* intercept for DONrunoff forcing mean removal */')
                1298        CALL WRITE_0D_RL(DONrunoff_exfremo_slope,INDEX_NONE,
                1299      &   'DONrunoff_exfremo_slope =',
                1300      &   ' /* slope for DONrunoff forcing trend removal */')
                1301        CALL WRITE_0D_RL(darwin_inscal_DONrunoff,INDEX_NONE,
                1302      &   'darwin_inscal_DONrunoff =',
                1303      &   ' /* scaling factor for DONrunoff fields */')
                1304       ELSE
                1305        CALL WRITE_0D_RL(DONrunoffconst,INDEX_NONE,
                1306      &   'DONrunoffconst =',
                1307      &   ' /* constant DONrunoff forcing */')
                1308       ENDIF
                1309 
                1310       IF ( DONrunofffile.NE.' ' .OR. DONrunoffconst.NE.0 _d 0 ) THEN
                1311        CALL WRITE_0D_C(DONrunoffmask,-1,INDEX_NONE,
                1312      &   'DONrunoffmask =',
                1313      &   ' /* mask for DONrunoff forcing */')
                1314       ENDIF
                1315 
                1316       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1317      &                     SQUEEZE_RIGHT , myThid )
                1318 
                1319 C--   DOPrunoff
                1320       IF ( DOPrunofffile.NE.' ' ) THEN
                1321        CALL EXF_FLD_SUMMARY( 'DOPrunoff forcing',
                1322      I      DOPrunofffile, DOPrunoffRepCycle, DOPrunoffperiod,
                1323      I      DOPrunoffStartTime, useExfYearlyFields, addBlkLn, myThid )
                1324 #ifdef USE_EXF_INTERPOLATION
                1325        CALL EXF_PRINT_INTERP( 'DOPrunoff',
                1326      &  DOPrunoff_lon0, DOPrunoff_lon_inc, DOPrunoff_lat0, DOPrunoff_lat
                1327      &_inc,
                1328      &  DOPrunoff_nlon, DOPrunoff_nlat, DOPrunoff_interpMethod, myThid )
                1329 #endif
                1330        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1331      &                     SQUEEZE_RIGHT , myThid )
                1332        CALL WRITE_0D_RL(DOPrunoff_exfremo_intercept,INDEX_NONE,
                1333      &   'DOPrunoff_exfremo_intercept =',
                1334      &   ' /* intercept for DOPrunoff forcing mean removal */')
                1335        CALL WRITE_0D_RL(DOPrunoff_exfremo_slope,INDEX_NONE,
                1336      &   'DOPrunoff_exfremo_slope =',
                1337      &   ' /* slope for DOPrunoff forcing trend removal */')
                1338        CALL WRITE_0D_RL(darwin_inscal_DOPrunoff,INDEX_NONE,
                1339      &   'darwin_inscal_DOPrunoff =',
                1340      &   ' /* scaling factor for DOPrunoff fields */')
                1341       ELSE
                1342        CALL WRITE_0D_RL(DOPrunoffconst,INDEX_NONE,
                1343      &   'DOPrunoffconst =',
                1344      &   ' /* constant DOPrunoff forcing */')
                1345       ENDIF
                1346 
                1347       IF ( DOPrunofffile.NE.' ' .OR. DOPrunoffconst.NE.0 _d 0 ) THEN
                1348        CALL WRITE_0D_C(DOPrunoffmask,-1,INDEX_NONE,
                1349      &   'DOPrunoffmask =',
                1350      &   ' /* mask for DOPrunoff forcing */')
                1351       ENDIF
                1352 
                1353       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1354      &                     SQUEEZE_RIGHT , myThid )
                1355 
                1356 C--   DINrunoff
                1357       IF ( DINrunofffile.NE.' ' ) THEN
                1358        CALL EXF_FLD_SUMMARY( 'DINrunoff forcing',
                1359      I      DINrunofffile, DINrunoffRepCycle, DINrunoffperiod,
                1360      I      DINrunoffStartTime, useExfYearlyFields, addBlkLn, myThid )
                1361 #ifdef USE_EXF_INTERPOLATION
                1362        CALL EXF_PRINT_INTERP( 'DINrunoff',
                1363      &  DINrunoff_lon0, DINrunoff_lon_inc, DINrunoff_lat0, DINrunoff_lat
                1364      &_inc,
                1365      &  DINrunoff_nlon, DINrunoff_nlat, DINrunoff_interpMethod, myThid )
                1366 #endif
                1367        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1368      &                     SQUEEZE_RIGHT , myThid )
                1369        CALL WRITE_0D_RL(DINrunoff_exfremo_intercept,INDEX_NONE,
                1370      &   'DINrunoff_exfremo_intercept =',
                1371      &   ' /* intercept for DINrunoff forcing mean removal */')
                1372        CALL WRITE_0D_RL(DINrunoff_exfremo_slope,INDEX_NONE,
                1373      &   'DINrunoff_exfremo_slope =',
                1374      &   ' /* slope for DINrunoff forcing trend removal */')
                1375        CALL WRITE_0D_RL(darwin_inscal_DINrunoff,INDEX_NONE,
                1376      &   'darwin_inscal_DINrunoff =',
                1377      &   ' /* scaling factor for DINrunoff fields */')
                1378       ELSE
                1379        CALL WRITE_0D_RL(DINrunoffconst,INDEX_NONE,
                1380      &   'DINrunoffconst =',
                1381      &   ' /* constant DINrunoff forcing */')
                1382       ENDIF
                1383 
                1384       IF ( DINrunofffile.NE.' ' .OR. DINrunoffconst.NE.0 _d 0 ) THEN
                1385        CALL WRITE_0D_C(DINrunoffmask,-1,INDEX_NONE,
                1386      &   'DINrunoffmask =',
                1387      &   ' /* mask for DINrunoff forcing */')
                1388       ENDIF
                1389 
                1390       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1391      &                     SQUEEZE_RIGHT , myThid )
                1392 
11d365acff Oliv*1393 C--   NO3runoff
                1394       IF ( NO3runofffile.NE.' ' ) THEN
                1395        CALL EXF_FLD_SUMMARY( 'NO3runoff forcing',
                1396      I      NO3runofffile, NO3runoffRepCycle, NO3runoffperiod,
                1397      I      NO3runoffStartTime, useExfYearlyFields, addBlkLn, myThid )
                1398 #ifdef USE_EXF_INTERPOLATION
                1399        CALL EXF_PRINT_INTERP( 'NO3runoff',
                1400      &  NO3runoff_lon0, NO3runoff_lon_inc, NO3runoff_lat0, NO3runoff_lat
                1401      &_inc,
                1402      &  NO3runoff_nlon, NO3runoff_nlat, NO3runoff_interpMethod, myThid )
                1403 #endif
                1404        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1405      &                     SQUEEZE_RIGHT , myThid )
                1406        CALL WRITE_0D_RL(NO3runoff_exfremo_intercept,INDEX_NONE,
                1407      &   'NO3runoff_exfremo_intercept =',
                1408      &   ' /* intercept for NO3runoff forcing mean removal */')
                1409        CALL WRITE_0D_RL(NO3runoff_exfremo_slope,INDEX_NONE,
                1410      &   'NO3runoff_exfremo_slope =',
                1411      &   ' /* slope for NO3runoff forcing trend removal */')
                1412        CALL WRITE_0D_RL(darwin_inscal_NO3runoff,INDEX_NONE,
                1413      &   'darwin_inscal_NO3runoff =',
                1414      &   ' /* scaling factor for NO3runoff fields */')
                1415       ELSE
                1416        CALL WRITE_0D_RL(NO3runoffconst,INDEX_NONE,
                1417      &   'NO3runoffconst =',
                1418      &   ' /* constant NO3runoff forcing */')
                1419       ENDIF
                1420 
                1421       IF ( NO3runofffile.NE.' ' .OR. NO3runoffconst.NE.0 _d 0 ) THEN
                1422        CALL WRITE_0D_C(NO3runoffmask,-1,INDEX_NONE,
                1423      &   'NO3runoffmask =',
                1424      &   ' /* mask for NO3runoff forcing */')
                1425       ENDIF
                1426 
                1427       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1428      &                     SQUEEZE_RIGHT , myThid )
                1429 
                1430 C--   NO2runoff
                1431       IF ( NO2runofffile.NE.' ' ) THEN
                1432        CALL EXF_FLD_SUMMARY( 'NO2runoff forcing',
                1433      I      NO2runofffile, NO2runoffRepCycle, NO2runoffperiod,
                1434      I      NO2runoffStartTime, useExfYearlyFields, addBlkLn, myThid )
                1435 #ifdef USE_EXF_INTERPOLATION
                1436        CALL EXF_PRINT_INTERP( 'NO2runoff',
                1437      &  NO2runoff_lon0, NO2runoff_lon_inc, NO2runoff_lat0, NO2runoff_lat
                1438      &_inc,
                1439      &  NO2runoff_nlon, NO2runoff_nlat, NO2runoff_interpMethod, myThid )
                1440 #endif
                1441        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1442      &                     SQUEEZE_RIGHT , myThid )
                1443        CALL WRITE_0D_RL(NO2runoff_exfremo_intercept,INDEX_NONE,
                1444      &   'NO2runoff_exfremo_intercept =',
                1445      &   ' /* intercept for NO2runoff forcing mean removal */')
                1446        CALL WRITE_0D_RL(NO2runoff_exfremo_slope,INDEX_NONE,
                1447      &   'NO2runoff_exfremo_slope =',
                1448      &   ' /* slope for NO2runoff forcing trend removal */')
                1449        CALL WRITE_0D_RL(darwin_inscal_NO2runoff,INDEX_NONE,
                1450      &   'darwin_inscal_NO2runoff =',
                1451      &   ' /* scaling factor for NO2runoff fields */')
                1452       ELSE
                1453        CALL WRITE_0D_RL(NO2runoffconst,INDEX_NONE,
                1454      &   'NO2runoffconst =',
                1455      &   ' /* constant NO2runoff forcing */')
                1456       ENDIF
                1457 
                1458       IF ( NO2runofffile.NE.' ' .OR. NO2runoffconst.NE.0 _d 0 ) THEN
                1459        CALL WRITE_0D_C(NO2runoffmask,-1,INDEX_NONE,
                1460      &   'NO2runoffmask =',
                1461      &   ' /* mask for NO2runoff forcing */')
                1462       ENDIF
                1463 
                1464       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1465      &                     SQUEEZE_RIGHT , myThid )
                1466 
                1467 C--   NH4runoff
                1468       IF ( NH4runofffile.NE.' ' ) THEN
                1469        CALL EXF_FLD_SUMMARY( 'NH4runoff forcing',
                1470      I      NH4runofffile, NH4runoffRepCycle, NH4runoffperiod,
                1471      I      NH4runoffStartTime, useExfYearlyFields, addBlkLn, myThid )
                1472 #ifdef USE_EXF_INTERPOLATION
                1473        CALL EXF_PRINT_INTERP( 'NH4runoff',
                1474      &  NH4runoff_lon0, NH4runoff_lon_inc, NH4runoff_lat0, NH4runoff_lat
                1475      &_inc,
                1476      &  NH4runoff_nlon, NH4runoff_nlat, NH4runoff_interpMethod, myThid )
                1477 #endif
                1478        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1479      &                     SQUEEZE_RIGHT , myThid )
                1480        CALL WRITE_0D_RL(NH4runoff_exfremo_intercept,INDEX_NONE,
                1481      &   'NH4runoff_exfremo_intercept =',
                1482      &   ' /* intercept for NH4runoff forcing mean removal */')
                1483        CALL WRITE_0D_RL(NH4runoff_exfremo_slope,INDEX_NONE,
                1484      &   'NH4runoff_exfremo_slope =',
                1485      &   ' /* slope for NH4runoff forcing trend removal */')
                1486        CALL WRITE_0D_RL(darwin_inscal_NH4runoff,INDEX_NONE,
                1487      &   'darwin_inscal_NH4runoff =',
                1488      &   ' /* scaling factor for NH4runoff fields */')
                1489       ELSE
                1490        CALL WRITE_0D_RL(NH4runoffconst,INDEX_NONE,
                1491      &   'NH4runoffconst =',
                1492      &   ' /* constant NH4runoff forcing */')
                1493       ENDIF
                1494 
                1495       IF ( NH4runofffile.NE.' ' .OR. NH4runoffconst.NE.0 _d 0 ) THEN
                1496        CALL WRITE_0D_C(NH4runoffmask,-1,INDEX_NONE,
                1497      &   'NH4runoffmask =',
                1498      &   ' /* mask for NH4runoff forcing */')
                1499       ENDIF
                1500 
                1501       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1502      &                     SQUEEZE_RIGHT , myThid )
                1503 
4e9fe45e8e Oliv*1504 C--   IPrunoff
                1505       IF ( IPrunofffile.NE.' ' ) THEN
                1506        CALL EXF_FLD_SUMMARY( 'IPrunoff forcing',
                1507      I      IPrunofffile, IPrunoffRepCycle, IPrunoffperiod,
                1508      I      IPrunoffStartTime, useExfYearlyFields, addBlkLn, myThid )
                1509 #ifdef USE_EXF_INTERPOLATION
                1510        CALL EXF_PRINT_INTERP( 'IPrunoff',
                1511      &  IPrunoff_lon0, IPrunoff_lon_inc, IPrunoff_lat0, IPrunoff_lat_inc
                1512      &,
                1513      &  IPrunoff_nlon, IPrunoff_nlat, IPrunoff_interpMethod, myThid )
                1514 #endif
                1515        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1516      &                     SQUEEZE_RIGHT , myThid )
                1517        CALL WRITE_0D_RL(IPrunoff_exfremo_intercept,INDEX_NONE,
                1518      &   'IPrunoff_exfremo_intercept =',
                1519      &   ' /* intercept for IPrunoff forcing mean removal */')
                1520        CALL WRITE_0D_RL(IPrunoff_exfremo_slope,INDEX_NONE,
                1521      &   'IPrunoff_exfremo_slope =',
                1522      &   ' /* slope for IPrunoff forcing trend removal */')
                1523        CALL WRITE_0D_RL(darwin_inscal_IPrunoff,INDEX_NONE,
                1524      &   'darwin_inscal_IPrunoff =',
                1525      &   ' /* scaling factor for IPrunoff fields */')
                1526       ELSE
                1527        CALL WRITE_0D_RL(IPrunoffconst,INDEX_NONE,
                1528      &   'IPrunoffconst =',
                1529      &   ' /* constant IPrunoff forcing */')
                1530       ENDIF
                1531 
                1532       IF ( IPrunofffile.NE.' ' .OR. IPrunoffconst.NE.0 _d 0 ) THEN
                1533        CALL WRITE_0D_C(IPrunoffmask,-1,INDEX_NONE,
                1534      &   'IPrunoffmask =',
                1535      &   ' /* mask for IPrunoff forcing */')
                1536       ENDIF
                1537 
                1538       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1539      &                     SQUEEZE_RIGHT , myThid )
                1540 
                1541 C--   DSirunoff
                1542       IF ( DSirunofffile.NE.' ' ) THEN
                1543        CALL EXF_FLD_SUMMARY( 'DSirunoff forcing',
                1544      I      DSirunofffile, DSirunoffRepCycle, DSirunoffperiod,
                1545      I      DSirunoffStartTime, useExfYearlyFields, addBlkLn, myThid )
                1546 #ifdef USE_EXF_INTERPOLATION
                1547        CALL EXF_PRINT_INTERP( 'DSirunoff',
                1548      &  DSirunoff_lon0, DSirunoff_lon_inc, DSirunoff_lat0, DSirunoff_lat
                1549      &_inc,
                1550      &  DSirunoff_nlon, DSirunoff_nlat, DSirunoff_interpMethod, myThid )
                1551 #endif
                1552        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1553      &                     SQUEEZE_RIGHT , myThid )
                1554        CALL WRITE_0D_RL(DSirunoff_exfremo_intercept,INDEX_NONE,
                1555      &   'DSirunoff_exfremo_intercept =',
                1556      &   ' /* intercept for DSirunoff forcing mean removal */')
                1557        CALL WRITE_0D_RL(DSirunoff_exfremo_slope,INDEX_NONE,
                1558      &   'DSirunoff_exfremo_slope =',
                1559      &   ' /* slope for DSirunoff forcing trend removal */')
                1560        CALL WRITE_0D_RL(darwin_inscal_DSirunoff,INDEX_NONE,
                1561      &   'darwin_inscal_DSirunoff =',
                1562      &   ' /* scaling factor for DSirunoff fields */')
                1563       ELSE
                1564        CALL WRITE_0D_RL(DSirunoffconst,INDEX_NONE,
                1565      &   'DSirunoffconst =',
                1566      &   ' /* constant DSirunoff forcing */')
                1567       ENDIF
                1568 
                1569       IF ( DSirunofffile.NE.' ' .OR. DSirunoffconst.NE.0 _d 0 ) THEN
                1570        CALL WRITE_0D_C(DSirunoffmask,-1,INDEX_NONE,
                1571      &   'DSirunoffmask =',
                1572      &   ' /* mask for DSirunoff forcing */')
                1573       ENDIF
                1574 
                1575       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1576      &                     SQUEEZE_RIGHT , myThid )
                1577 
                1578 C--   POCrunoff
                1579       IF ( POCrunofffile.NE.' ' ) THEN
                1580        CALL EXF_FLD_SUMMARY( 'POCrunoff forcing',
                1581      I      POCrunofffile, POCrunoffRepCycle, POCrunoffperiod,
                1582      I      POCrunoffStartTime, useExfYearlyFields, addBlkLn, myThid )
                1583 #ifdef USE_EXF_INTERPOLATION
                1584        CALL EXF_PRINT_INTERP( 'POCrunoff',
                1585      &  POCrunoff_lon0, POCrunoff_lon_inc, POCrunoff_lat0, POCrunoff_lat
                1586      &_inc,
                1587      &  POCrunoff_nlon, POCrunoff_nlat, POCrunoff_interpMethod, myThid )
                1588 #endif
                1589        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1590      &                     SQUEEZE_RIGHT , myThid )
                1591        CALL WRITE_0D_RL(POCrunoff_exfremo_intercept,INDEX_NONE,
                1592      &   'POCrunoff_exfremo_intercept =',
                1593      &   ' /* intercept for POCrunoff forcing mean removal */')
                1594        CALL WRITE_0D_RL(POCrunoff_exfremo_slope,INDEX_NONE,
                1595      &   'POCrunoff_exfremo_slope =',
                1596      &   ' /* slope for POCrunoff forcing trend removal */')
                1597        CALL WRITE_0D_RL(darwin_inscal_POCrunoff,INDEX_NONE,
                1598      &   'darwin_inscal_POCrunoff =',
                1599      &   ' /* scaling factor for POCrunoff fields */')
                1600       ELSE
                1601        CALL WRITE_0D_RL(POCrunoffconst,INDEX_NONE,
                1602      &   'POCrunoffconst =',
                1603      &   ' /* constant POCrunoff forcing */')
                1604       ENDIF
                1605 
                1606       IF ( POCrunofffile.NE.' ' .OR. POCrunoffconst.NE.0 _d 0 ) THEN
                1607        CALL WRITE_0D_C(POCrunoffmask,-1,INDEX_NONE,
                1608      &   'POCrunoffmask =',
                1609      &   ' /* mask for POCrunoff forcing */')
                1610       ENDIF
                1611 
                1612       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1613      &                     SQUEEZE_RIGHT , myThid )
                1614 
                1615 C--   POPrunoff
                1616       IF ( POPrunofffile.NE.' ' ) THEN
                1617        CALL EXF_FLD_SUMMARY( 'POPrunoff forcing',
                1618      I      POPrunofffile, POPrunoffRepCycle, POPrunoffperiod,
                1619      I      POPrunoffStartTime, useExfYearlyFields, addBlkLn, myThid )
                1620 #ifdef USE_EXF_INTERPOLATION
                1621        CALL EXF_PRINT_INTERP( 'POPrunoff',
                1622      &  POPrunoff_lon0, POPrunoff_lon_inc, POPrunoff_lat0, POPrunoff_lat
                1623      &_inc,
                1624      &  POPrunoff_nlon, POPrunoff_nlat, POPrunoff_interpMethod, myThid )
                1625 #endif
                1626        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1627      &                     SQUEEZE_RIGHT , myThid )
                1628        CALL WRITE_0D_RL(POPrunoff_exfremo_intercept,INDEX_NONE,
                1629      &   'POPrunoff_exfremo_intercept =',
                1630      &   ' /* intercept for POPrunoff forcing mean removal */')
                1631        CALL WRITE_0D_RL(POPrunoff_exfremo_slope,INDEX_NONE,
                1632      &   'POPrunoff_exfremo_slope =',
                1633      &   ' /* slope for POPrunoff forcing trend removal */')
                1634        CALL WRITE_0D_RL(darwin_inscal_POPrunoff,INDEX_NONE,
                1635      &   'darwin_inscal_POPrunoff =',
                1636      &   ' /* scaling factor for POPrunoff fields */')
                1637       ELSE
                1638        CALL WRITE_0D_RL(POPrunoffconst,INDEX_NONE,
                1639      &   'POPrunoffconst =',
                1640      &   ' /* constant POPrunoff forcing */')
                1641       ENDIF
                1642 
                1643       IF ( POPrunofffile.NE.' ' .OR. POPrunoffconst.NE.0 _d 0 ) THEN
                1644        CALL WRITE_0D_C(POPrunoffmask,-1,INDEX_NONE,
                1645      &   'POPrunoffmask =',
                1646      &   ' /* mask for POPrunoff forcing */')
                1647       ENDIF
                1648 
                1649       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1650      &                     SQUEEZE_RIGHT , myThid )
                1651 
                1652 C--   PONrunoff
                1653       IF ( PONrunofffile.NE.' ' ) THEN
                1654        CALL EXF_FLD_SUMMARY( 'PONrunoff forcing',
                1655      I      PONrunofffile, PONrunoffRepCycle, PONrunoffperiod,
                1656      I      PONrunoffStartTime, useExfYearlyFields, addBlkLn, myThid )
                1657 #ifdef USE_EXF_INTERPOLATION
                1658        CALL EXF_PRINT_INTERP( 'PONrunoff',
                1659      &  PONrunoff_lon0, PONrunoff_lon_inc, PONrunoff_lat0, PONrunoff_lat
                1660      &_inc,
                1661      &  PONrunoff_nlon, PONrunoff_nlat, PONrunoff_interpMethod, myThid )
                1662 #endif
                1663        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1664      &                     SQUEEZE_RIGHT , myThid )
                1665        CALL WRITE_0D_RL(PONrunoff_exfremo_intercept,INDEX_NONE,
                1666      &   'PONrunoff_exfremo_intercept =',
                1667      &   ' /* intercept for PONrunoff forcing mean removal */')
                1668        CALL WRITE_0D_RL(PONrunoff_exfremo_slope,INDEX_NONE,
                1669      &   'PONrunoff_exfremo_slope =',
                1670      &   ' /* slope for PONrunoff forcing trend removal */')
                1671        CALL WRITE_0D_RL(darwin_inscal_PONrunoff,INDEX_NONE,
                1672      &   'darwin_inscal_PONrunoff =',
                1673      &   ' /* scaling factor for PONrunoff fields */')
                1674       ELSE
                1675        CALL WRITE_0D_RL(PONrunoffconst,INDEX_NONE,
                1676      &   'PONrunoffconst =',
                1677      &   ' /* constant PONrunoff forcing */')
                1678       ENDIF
                1679 
                1680       IF ( PONrunofffile.NE.' ' .OR. PONrunoffconst.NE.0 _d 0 ) THEN
                1681        CALL WRITE_0D_C(PONrunoffmask,-1,INDEX_NONE,
                1682      &   'PONrunoffmask =',
                1683      &   ' /* mask for PONrunoff forcing */')
                1684       ENDIF
                1685 
                1686       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1687      &                     SQUEEZE_RIGHT , myThid )
                1688 
                1689 C--   DICrunoff
                1690       IF ( DICrunofffile.NE.' ' ) THEN
                1691        CALL EXF_FLD_SUMMARY( 'DICrunoff forcing',
                1692      I      DICrunofffile, DICrunoffRepCycle, DICrunoffperiod,
                1693      I      DICrunoffStartTime, useExfYearlyFields, addBlkLn, myThid )
                1694 #ifdef USE_EXF_INTERPOLATION
                1695        CALL EXF_PRINT_INTERP( 'DICrunoff',
                1696      &  DICrunoff_lon0, DICrunoff_lon_inc, DICrunoff_lat0, DICrunoff_lat
                1697      &_inc,
                1698      &  DICrunoff_nlon, DICrunoff_nlat, DICrunoff_interpMethod, myThid )
                1699 #endif
                1700        CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1701      &                     SQUEEZE_RIGHT , myThid )
                1702        CALL WRITE_0D_RL(DICrunoff_exfremo_intercept,INDEX_NONE,
                1703      &   'DICrunoff_exfremo_intercept =',
                1704      &   ' /* intercept for DICrunoff forcing mean removal */')
                1705        CALL WRITE_0D_RL(DICrunoff_exfremo_slope,INDEX_NONE,
                1706      &   'DICrunoff_exfremo_slope =',
                1707      &   ' /* slope for DICrunoff forcing trend removal */')
                1708        CALL WRITE_0D_RL(darwin_inscal_DICrunoff,INDEX_NONE,
                1709      &   'darwin_inscal_DICrunoff =',
                1710      &   ' /* scaling factor for DICrunoff fields */')
                1711       ELSE
                1712        CALL WRITE_0D_RL(DICrunoffconst,INDEX_NONE,
                1713      &   'DICrunoffconst =',
                1714      &   ' /* constant DICrunoff forcing */')
                1715       ENDIF
                1716 
                1717       IF ( DICrunofffile.NE.' ' .OR. DICrunoffconst.NE.0 _d 0 ) THEN
                1718        CALL WRITE_0D_C(DICrunoffmask,-1,INDEX_NONE,
                1719      &   'DICrunoffmask =',
                1720      &   ' /* mask for DICrunoff forcing */')
                1721       ENDIF
                1722 
                1723       CALL PRINT_MESSAGE( blkLin, standardMessageUnit,
                1724      &                     SQUEEZE_RIGHT , myThid )
                1725 
                1726 C--   Other forcing parameters
                1727       CALL WRITE_0D_RL(R_ALK_DIC_runoff,INDEX_NONE,
                1728      &'R_ALK_DIC_runoff =',
                1729      &' /* [eq/mol C] ALK:DIC ratio in runoff */')
                1730       CALL WRITE_0D_RL(R_NO3_DIN_runoff,INDEX_NONE,
                1731      &'R_NO3_DIN_runoff =',
                1732      &' /* [mol N/mol N] NO3 fraction of DIN in runoff */')
                1733       CALL WRITE_0D_RL(R_NO2_DIN_runoff,INDEX_NONE,
                1734      &'R_NO2_DIN_runoff =',
                1735      &' /* [mol N/mol N] NO2 fraction of DIN in runoff */')
                1736       CALL WRITE_0D_RL(R_NH4_DIN_runoff,INDEX_NONE,
                1737      &'R_NH4_DIN_runoff =',
                1738      &' /* [mol N/mol N] NH4 fraction of DIN in runoff */')
                1739       CALL WRITE_0D_RL(R_DIP_IP_runoff,INDEX_NONE,
                1740      &'R_DIP_IP_runoff =',
                1741      &' /* [mol P/mol P] ratio of dissolved to total inorganic P in  */'
                1742      &)
                1743       CALL WRITE_0D_RL(R_DFe_DIP_runoff,INDEX_NONE,
                1744      &'R_DFe_DIP_runoff =',
                1745      &' /* [mol Fe/mol P] Fe:P ratio for inorganic P in runoff */')
                1746       CALL WRITE_0D_RL(R_DOFe_DOP_runoff,INDEX_NONE,
                1747      &'R_DOFe_DOP_runoff =',
                1748      &' /* [mol Fe/mol P] Fe:P ratio for dissolved organic matter in */'
                1749      &)
                1750       CALL WRITE_0D_RL(R_POFe_POP_runoff,INDEX_NONE,
                1751      &'R_POFe_POP_runoff =',
                1752      &' /* [mol Fe/mol P] Fe:P ratio for particulate organic matter  */'
                1753      &)
                1754 
                1755 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                1756 C--   Print parameters from DARWIN_PARAMS.h
                1757 
                1758       CALL WRITE_0D_L(darwin_chlInitBalanced,INDEX_NONE,
                1759      &'darwin_chlInitBalanced =',
                1760      &' /* Initialize Chlorophyll to a balanced value following Geider *
                1761      &/')
                1762       CALL WRITE_0D_I(darwin_chlIter0,INDEX_NONE,
                1763      &'darwin_chlIter0 =',
                1764      &' /* Iteration number when to initialize Chlorophyll */')
                1765 #ifdef DARWIN_ALLOW_CARBON
                1766       CALL WRITE_0D_RL(Pa2Atm,INDEX_NONE,
                1767      &'Pa2Atm =',
                1768      &' /* Convert pressure in Pascal to atm */')
                1769       CALL WRITE_0D_RL(ptr2mol,INDEX_NONE,
                1770      &'ptr2mol =',
                1771      &' /* convert ptracers (in mmol/m3) to mol/m3 */')
                1772       CALL WRITE_0D_RL(sca1,INDEX_NONE,
                1773      &'sca1 =',
                1774      &' /* Schmidt no. coefficient for CO2 */')
                1775       CALL WRITE_0D_RL(sca2,INDEX_NONE,
                1776      &'sca2 =',
                1777      &' /* Schmidt no. coefficient for CO2 */')
                1778       CALL WRITE_0D_RL(sca3,INDEX_NONE,
                1779      &'sca3 =',
                1780      &' /* Schmidt no. coefficient for CO2 */')
                1781       CALL WRITE_0D_RL(sca4,INDEX_NONE,
                1782      &'sca4 =',
                1783      &' /* Schmidt no. coefficient for CO2 */')
                1784       CALL WRITE_0D_RL(sox1,INDEX_NONE,
                1785      &'sox1 =',
                1786      &' /* Schmidt no. coefficient for O2 [Keeling et al, GBC, 12, 141,'
                1787      &' (1998)] */')
                1788       CALL WRITE_0D_RL(sox2,INDEX_NONE,
                1789      &'sox2 =',
                1790      &' /* Schmidt no. coefficient for O2 [Keeling et al, GBC, 12, 141,'
                1791      &' (1998)] */')
                1792       CALL WRITE_0D_RL(sox3,INDEX_NONE,
                1793      &'sox3 =',
                1794      &' /* Schmidt no. coefficient for O2 [Keeling et al, GBC, 12, 141,'
                1795      &' (1998)] */')
                1796       CALL WRITE_0D_RL(sox4,INDEX_NONE,
                1797      &'sox4 =',
                1798      &' /* Schmidt no. coefficient for O2 [Keeling et al, GBC, 12, 141,'
                1799      &' (1998)] */')
                1800       CALL WRITE_0D_RL(oA0,INDEX_NONE,
                1801      &'oA0 =',
                1802      &' /* Coefficient for determining saturation O2 */')
                1803       CALL WRITE_0D_RL(oA1,INDEX_NONE,
                1804      &'oA1 =',
                1805      &' /* Coefficient for determining saturation O2 */')
                1806       CALL WRITE_0D_RL(oA2,INDEX_NONE,
                1807      &'oA2 =',
                1808      &' /* Coefficient for determining saturation O2 */')
                1809       CALL WRITE_0D_RL(oA3,INDEX_NONE,
                1810      &'oA3 =',
                1811      &' /* Coefficient for determining saturation O2 */')
                1812       CALL WRITE_0D_RL(oA4,INDEX_NONE,
                1813      &'oA4 =',
                1814      &' /* Coefficient for determining saturation O2 */')
                1815       CALL WRITE_0D_RL(oA5,INDEX_NONE,
                1816      &'oA5 =',
                1817      &' /* Coefficient for determining saturation O2 */')
                1818       CALL WRITE_0D_RL(oB0,INDEX_NONE,
                1819      &'oB0 =',
                1820      &' /* Coefficient for determining saturation O2 */')
                1821       CALL WRITE_0D_RL(oB1,INDEX_NONE,
                1822      &'oB1 =',
                1823      &' /* Coefficient for determining saturation O2 */')
                1824       CALL WRITE_0D_RL(oB2,INDEX_NONE,
                1825      &'oB2 =',
                1826      &' /* Coefficient for determining saturation O2 */')
                1827       CALL WRITE_0D_RL(oB3,INDEX_NONE,
                1828      &'oB3 =',
                1829      &' /* Coefficient for determining saturation O2 */')
                1830       CALL WRITE_0D_RL(oC0,INDEX_NONE,
                1831      &'oC0 =',
                1832      &' /* Coefficient for determining saturation O2 */')
                1833 #endif
                1834       CALL WRITE_0D_C(darwin_pickupSuff,-1,INDEX_NONE,
                1835      &'darwin_pickupSuff =',
                1836      &' /* pickup suffix for darwin; set to '' '' to disable reading at'
                1837      &' PTRACERS_Iter0 */')
                1838       CALL WRITE_0D_L(darwin_strict_check,INDEX_NONE,
                1839      &'darwin_strict_check =',
                1840      &' /* stop instead of issuing warnings */')
                1841       CALL WRITE_0D_L(darwin_linFSConserve,INDEX_NONE,
                1842      &'darwin_linFSConserve =',
                1843      &' /* correct non-conservation due to linear free surface (globally
                1844      &) */')
                1845       CALL WRITE_0D_L(darwin_read_phos,INDEX_NONE,
                1846      &'darwin_read_phos =',
                1847      &' /* initial conditions for plankton biomass are in mmol P/m3 */')
                1848       CALL WRITE_0D_I(darwin_seed,INDEX_NONE,
                1849      &'darwin_seed =',
                1850      &' /* seed for random number generator (for DARWIN_RANDOM_TRAITS) *
                1851      &/')
                1852       CALL WRITE_0D_I(iDEBUG,INDEX_NONE,
                1853      &'iDEBUG =',
                1854      &' /* index in x dimension for debug prints */')
                1855       CALL WRITE_0D_I(jDEBUG,INDEX_NONE,
                1856      &'jDEBUG =',
                1857      &' /* index in y dimension for debug prints */')
                1858       CALL WRITE_0D_I(kDEBUG,INDEX_NONE,
                1859      &'kDEBUG =',
                1860      &' /* index in z dimension for debug prints */')
                1861       CALL WRITE_0D_RL(katten_w,INDEX_NONE,
                1862      &'katten_w =',
                1863      &' /* atten coefficient water (1/m) */')
                1864       CALL WRITE_0D_RL(katten_chl,INDEX_NONE,
                1865      &'katten_chl =',
                1866      &' /* atten coefficient chl (m2/mg Chl) */')
                1867       CALL WRITE_0D_RL(parfrac,INDEX_NONE,
                1868      &'parfrac =',
                1869      &' /* fraction Qsw that is PAR */')
                1870       CALL WRITE_0D_RL(parconv,INDEX_NONE,
                1871      &'parconv =',
                1872      &' /* conversion from W/m2 to uEin/m2/s (uEin/s/W) */')
                1873       CALL WRITE_0D_RL(tempnorm,INDEX_NONE,
                1874      &'tempnorm =',
                1875      &' /* set temperature function (was 1.0) */')
                1876       CALL WRITE_0D_RL(TempAeArr,INDEX_NONE,
                1877      &'TempAeArr =',
                1878      &' /* slope for pseudo-Arrhenius (TEMP_VERSION 2) (K) */')
                1879       CALL WRITE_0D_RL(TemprefArr,INDEX_NONE,
                1880      &'TemprefArr =',
                1881      &' /* reference temp for pseudo-Arrhenius (TEMP_VERSION 2) (K) */')
                1882       CALL WRITE_0D_RL(TempCoeffArr,INDEX_NONE,
                1883      &'TempCoeffArr =',
                1884      &' /* pre-factor for pseudo-Arrhenius (TEMP_VERSION 2) */')
a092808e6b shlo*1885       CALL WRITE_0D_RL(TempAeArrMacromol,INDEX_NONE,
                1886      &'TempAeArrMacromol =',
                1887      &' /* temp effect on protein biosyn (MACROMOL GROWTH) (K) */')
4e9fe45e8e Oliv*1888       CALL WRITE_0D_RL(reminTempAe,INDEX_NONE,
                1889      &'reminTempAe =',
                1890      &' /* temperature coefficient for remineralization (TEMP_VERSION 4)
                1891      & (1/K) */')
                1892       CALL WRITE_0D_RL(mortTempAe,INDEX_NONE,
                1893      &'mortTempAe =',
                1894      &' /* temperature coefficient for linear mortality (TEMP_VERSION 4)
                1895      & (1/K) */')
                1896       CALL WRITE_0D_RL(mort2TempAe,INDEX_NONE,
                1897      &'mort2TempAe =',
                1898      &' /* temperature coefficient for quadr. mortality (TEMP_VERSION 4)
                1899      & (1/K) */')
                1900       CALL WRITE_0D_RL(uptakeTempAe,INDEX_NONE,
                1901      &'uptakeTempAe =',
                1902      &' /* temperature coefficient for uptake (TEMP_VERSION 4) (1/K) */'
                1903      &)
                1904       CALL WRITE_0D_RL(alpfe,INDEX_NONE,
                1905      &'alpfe =',
                1906      &' /* solubility of Fe dust */')
                1907       CALL WRITE_0D_RL(ligand_tot,INDEX_NONE,
                1908      &'ligand_tot =',
28ac947a3e Oliv*1909      &' /* total ligand concentration (mmol/m3) */')
4e9fe45e8e Oliv*1910       CALL WRITE_0D_RL(ligand_stab,INDEX_NONE,
                1911      &'ligand_stab =',
28ac947a3e Oliv*1912      &' /* ligand stability rate ratio (m3/mmol) */')
4e9fe45e8e Oliv*1913       CALL WRITE_0D_RL(freefemax,INDEX_NONE,
                1914      &'freefemax =',
28ac947a3e Oliv*1915      &' /* max concentration of free iron (mmol/m3) */')
66ade11a9e Oliv*1916 #ifdef DARWIN_PART_SCAV_POP
4e9fe45e8e Oliv*1917       CALL WRITE_0D_RL(scav_rat,INDEX_NONE,
                1918      &'scav_rat =',
66ade11a9e Oliv*1919      &' /* rate conversion Th to iron (1/s) */')
4e9fe45e8e Oliv*1920       CALL WRITE_0D_RL(scav_inter,INDEX_NONE,
                1921      &'scav_inter =',
66ade11a9e Oliv*1922      &' /* intercept of scavenging power law (L^e mg^-e) */')
4e9fe45e8e Oliv*1923       CALL WRITE_0D_RL(scav_exp,INDEX_NONE,
                1924      &'scav_exp =',
66ade11a9e Oliv*1925      &' /* exponent e of scavenging power law */')
4e9fe45e8e Oliv*1926       CALL WRITE_0D_RL(scav_R_POPPOC,INDEX_NONE,
                1927      &'scav_R_POPPOC =',
66ade11a9e Oliv*1928      &' /* POP:POC ratio for scavenging (mmol P / g) */')
                1929 #elif defined(DARWIN_PART_SCAV)
                1930       CALL WRITE_0D_RL(scav_tau,INDEX_NONE,
                1931      &'scav_tau =',
                1932      &' /* factor to go from Th scavenging rate to iron */')
                1933       CALL WRITE_0D_RL(scav_inter,INDEX_NONE,
                1934      &'scav_inter =',
                1935      &' /* intercept of scavenging power law (L^e mg^-e s^-1) */')
                1936       CALL WRITE_0D_RL(scav_exp,INDEX_NONE,
                1937      &'scav_exp =',
                1938      &' /* exponent e of scavenging power law */')
                1939       CALL WRITE_0D_RL(scav_POC_wgt,INDEX_NONE,
                1940      &'scav_POC_wgt =',
                1941      &' /* weight of POC in POM for scavenging (g / mmol C) */')
28ac947a3e Oliv*1942       CALL WRITE_0D_RL(scav_PSi_wgt,INDEX_NONE,
                1943      &'scav_PSi_wgt =',
                1944      &' /* weight of PSi in POM for scavenging (g / mmol Si) */')
66ade11a9e Oliv*1945       CALL WRITE_0D_RL(scav_PIC_wgt,INDEX_NONE,
                1946      &'scav_PIC_wgt =',
                1947      &' /* weight of PIC in POM for scavenging (g / mmol C) */')
28ac947a3e Oliv*1948       CALL WRITE_0D_RL(scav_degrPOM,INDEX_NONE,
                1949      &'scav_degrPOM =',
                1950      &' /* concentration of non-labile POM for scavenging (g/m3) */')
66ade11a9e Oliv*1951 #else
                1952       CALL WRITE_0D_RL(scav,INDEX_NONE,
                1953      &'scav =',
                1954      &' /* fixed iron scavenging rate (1/s) */')
                1955 #endif
4e9fe45e8e Oliv*1956       CALL WRITE_0D_RL(depthfesed,INDEX_NONE,
                1957      &'depthfesed =',
                1958      &' /* depth above which to add sediment source (was -1000) (m) */')
                1959       CALL WRITE_0D_RL(fesedflux,INDEX_NONE,
                1960      &'fesedflux =',
                1961      &' /* fixed iron flux from sediment (mmol Fe /m2/s) */')
                1962       CALL WRITE_0D_RL(fesedflux_pcm,INDEX_NONE,
                1963      &'fesedflux_pcm =',
                1964      &' /* iron input per POC sinking into bottom for DARWIN_IRON_SED_SO
                1965      &URCE_VARIABLE (mmol Fe / mmol C) */')
                1966       CALL WRITE_0D_RL(fesedflux_min,INDEX_NONE,
                1967      &'fesedflux_min =',
                1968      &' /* min iron input rate subtracted from fesedflux_pcm*wc_sink*POC
                1969      & (mmol Fe /s) */')
                1970       CALL WRITE_0D_RL(R_CP_fesed,INDEX_NONE,
                1971      &'R_CP_fesed =',
                1972      &' /* POC:POP conversion for DARWIN_IRON_SED_SOURCE_POP (mmol C / m
                1973      &mol P) */')
2c93eb88ef Oliv*1974       CALL WRITE_0D_RL(depthFeVent,INDEX_NONE,
                1975      &'depthFeVent =',
                1976      &' /* depth below which iron from hydrothermal vents is added (m) '
                1977      &'*/')
                1978       CALL WRITE_0D_RL(solFeVent,INDEX_NONE,
                1979      &'solFeVent = ',
                1980      &' /* solubility of iron from hydrothermal vents */')
                1981       CALL WRITE_0D_RL(R_FeHe3_vent,INDEX_NONE,
                1982      &'R_FeHe3_vent =',
                1983      &' /* Fe:He3 ratio for hydrothermal vents (mol Fe / mol He3) */')
4e9fe45e8e Oliv*1984       CALL WRITE_0D_RL(Knita,INDEX_NONE,
                1985      &'Knita =',
                1986      &' /* ammonia oxidation rate (1/s) */')
                1987       CALL WRITE_0D_RL(Knitb,INDEX_NONE,
                1988      &'Knitb =',
                1989      &' /* nitrite oxidation rate (1/s) */')
                1990       CALL WRITE_0D_RL(PAR_oxi,INDEX_NONE,
                1991      &'PAR_oxi =',
                1992      &' /* critical light level after which oxidation starts (uEin/m2/s)
                1993      & */')
                1994       CALL WRITE_0D_RL(Kdoc,INDEX_NONE,
                1995      &'Kdoc =',
                1996      &' /* DOC remineralization rate (1/s) */')
                1997       CALL WRITE_0D_RL(Kdop,INDEX_NONE,
                1998      &'Kdop =',
                1999      &' /* DON remineralization rate (1/s) */')
                2000       CALL WRITE_0D_RL(Kdon,INDEX_NONE,
                2001      &'Kdon =',
                2002      &' /* DOP remineralization rate (1/s) */')
                2003       CALL WRITE_0D_RL(KdoFe,INDEX_NONE,
                2004      &'KdoFe =',
                2005      &' /* DOFe remineralization rate (1/s) */')
                2006       CALL WRITE_0D_RL(KPOC,INDEX_NONE,
                2007      &'KPOC =',
                2008      &' /* POC remineralization rate (1/s) */')
                2009       CALL WRITE_0D_RL(KPON,INDEX_NONE,
                2010      &'KPON =',
                2011      &' /* PON remineralization rate (1/s) */')
                2012       CALL WRITE_0D_RL(KPOP,INDEX_NONE,
                2013      &'KPOP =',
                2014      &' /* POP remineralization rate (1/s) */')
                2015       CALL WRITE_0D_RL(KPOFe,INDEX_NONE,
                2016      &'KPOFe =',
                2017      &' /* POFe remineralization rate (1/s) */')
                2018       CALL WRITE_0D_RL(KPOSi,INDEX_NONE,
                2019      &'KPOSi =',
                2020      &' /* POSi remineralization rate (1/s) */')
a092808e6b shlo*2021       CALL WRITE_0D_RL(ksatO2remin,INDEX_NONE,
                2022      &'ksatO2remin =',
                2023      &' /* O2 half saturation for remineralization (mmol O2 m^-3) */')
4e9fe45e8e Oliv*2024       CALL WRITE_0D_RL(wC_sink,INDEX_NONE,
                2025      &'wC_sink =',
                2026      &' /* sinking velocity for POC (m/s) */')
                2027       CALL WRITE_0D_RL(wN_sink,INDEX_NONE,
                2028      &'wN_sink =',
                2029      &' /* sinking velocity for PON (m/s) */')
                2030       CALL WRITE_0D_RL(wP_sink,INDEX_NONE,
                2031      &'wP_sink =',
                2032      &' /* sinking velocity for POP (m/s) */')
                2033       CALL WRITE_0D_RL(wFe_sink,INDEX_NONE,
                2034      &'wFe_sink =',
                2035      &' /* sinking velocity for POFe (m/s) */')
                2036       CALL WRITE_0D_RL(wSi_sink,INDEX_NONE,
                2037      &'wSi_sink =',
                2038      &' /* sinking velocity for POSi (m/s) */')
                2039       CALL WRITE_0D_RL(wPIC_sink,INDEX_NONE,
                2040      &'wPIC_sink =',
                2041      &' /* sinking velocity for PIC (m/s) */')
ba0b6d5d33 Oliv*2042       CALL WRITE_0D_I(darwin_disscSelect,INDEX_NONE,
                2043      &'darwin_disscSelect = ',
                2044      &' /* Switch for PIC dissolution rate formulation */')
                2045       IF (darwin_disscSelect .EQ. 0) THEN
                2046        CALL WRITE_0D_RL(Kdissc,INDEX_NONE,
                2047      & 'Kdissc =',
                2048      & ' /* dissolution rate for PIC (1/s) */')
                2049       ELSEIF (darwin_disscSelect .EQ. 1) THEN
                2050        CALL WRITE_0D_RL(darwin_KeirCoeff,INDEX_NONE,
                2051      & 'darwin_KeirCoeff =',
                2052      & ' /* Keir PIC dissolution rate coefficient (1/s) */')
                2053        CALL WRITE_0D_RL(darwin_KeirExp,INDEX_NONE,
                2054      & 'darwin_KeirExp =',
                2055      & ' /* Keir PIC dissolution rate exponent */')
                2056       ENDIF
4e9fe45e8e Oliv*2057 #ifdef DARWIN_ALLOW_CARBON
                2058       CALL WRITE_0D_RL(R_OP,INDEX_NONE,
                2059      &'R_OP =',
                2060      &' /* O:P ratio for respiration and consumption (mmol O2 / mmol P)'
                2061      &' */')
                2062       CALL WRITE_0D_RL(R_OC,INDEX_NONE,
                2063      &'R_OC =',
                2064      &' /* NOT USED (mmol O2 / mmol C) */')
                2065       CALL WRITE_0D_RL(m3perkg,INDEX_NONE,
                2066      &'m3perkg =',
                2067      &' /* constant for converting per kg to per m^3 (m3/kg) */')
                2068       CALL WRITE_0D_RL(surfSaltMinInit,INDEX_NONE,
                2069      &'surfSaltMinInit =',
                2070      &' /* minimum salt for carbon solver at initialization (ppt) */')
                2071       CALL WRITE_0D_RL(surfSaltMaxInit,INDEX_NONE,
                2072      &'surfSaltMaxInit =',
                2073      &' /* maximum salt for carbon solver at initialization (ppt) */')
                2074       CALL WRITE_0D_RL(surfTempMinInit,INDEX_NONE,
                2075      &'surfTempMinInit =',
                2076      &' /* minimum temp for carbon solver at initialization (degrees C)'
                2077      &' */')
                2078       CALL WRITE_0D_RL(surfTempMaxInit,INDEX_NONE,
                2079      &'surfTempMaxInit =',
                2080      &' /* maximum temp for carbon solver at initialization (degrees C)'
                2081      &' */')
                2082       CALL WRITE_0D_RL(surfDICMinInit,INDEX_NONE,
                2083      &'surfDICMinInit =',
                2084      &' /* minimum DIC for carbon solver at initialization (mmol C m^-3)
                2085      & */')
                2086       CALL WRITE_0D_RL(surfDICMaxInit,INDEX_NONE,
                2087      &'surfDICMaxInit =',
                2088      &' /* maximum DIC for carbon solver at initialization (mmol C m^-3)
                2089      & */')
                2090       CALL WRITE_0D_RL(surfALKMinInit,INDEX_NONE,
                2091      &'surfALKMinInit =',
                2092      &' /* minimum alkalinity for carbon solver at initialization (meq m
                2093      &^-3) */')
                2094       CALL WRITE_0D_RL(surfALKMaxInit,INDEX_NONE,
                2095      &'surfALKMaxInit =',
                2096      &' /* maximum alkalinity for carbon solver at initialization (meq m
                2097      &^-3) */')
                2098       CALL WRITE_0D_RL(surfPO4MinInit,INDEX_NONE,
                2099      &'surfPO4MinInit =',
                2100      &' /* minimum PO4 for carbon solver at initialization (mmol P m^-3)
                2101      & */')
                2102       CALL WRITE_0D_RL(surfPO4MaxInit,INDEX_NONE,
                2103      &'surfPO4MaxInit =',
                2104      &' /* maximum PO4 for carbon solver at initialization (mmol P m^-3)
                2105      & */')
                2106       CALL WRITE_0D_RL(surfSiMinInit,INDEX_NONE,
                2107      &'surfSiMinInit =',
                2108      &' /* minimum SiO2 for carbon solver at initialization (mmol Si m^-
                2109      &3) */')
                2110       CALL WRITE_0D_RL(surfSiMaxInit,INDEX_NONE,
                2111      &'surfSiMaxInit =',
                2112      &' /* maximum SiO2 for carbon solver at initialization (mmol Si m^-
                2113      &3) */')
                2114       CALL WRITE_0D_RL(surfSaltMin,INDEX_NONE,
                2115      &'surfSaltMin =',
                2116      &' /* minimum salt for carbon solver during run (ppt) */')
                2117       CALL WRITE_0D_RL(surfSaltMax,INDEX_NONE,
                2118      &'surfSaltMax =',
                2119      &' /* maximum salt for carbon solver during run (ppt) */')
                2120       CALL WRITE_0D_RL(surfTempMin,INDEX_NONE,
                2121      &'surfTempMin =',
                2122      &' /* minimum temp for carbon solver during run (degrees C) */')
                2123       CALL WRITE_0D_RL(surfTempMax,INDEX_NONE,
                2124      &'surfTempMax =',
                2125      &' /* maximum temp for carbon solver during run (degrees C) */')
                2126       CALL WRITE_0D_RL(surfDICMin,INDEX_NONE,
                2127      &'surfDICMin =',
                2128      &' /* minimum DIC for carbon solver during run (mmol C m^-3) */')
                2129       CALL WRITE_0D_RL(surfDICMax,INDEX_NONE,
                2130      &'surfDICMax =',
                2131      &' /* maximum DIC for carbon solver during run (mmol C m^-3) */')
                2132       CALL WRITE_0D_RL(surfALKMin,INDEX_NONE,
                2133      &'surfALKMin =',
                2134      &' /* minimum alkalinity for carbon solver during run (meq m^-3) */
                2135      &')
                2136       CALL WRITE_0D_RL(surfALKMax,INDEX_NONE,
                2137      &'surfALKMax =',
                2138      &' /* maximum alkalinity for carbon solver during run (meq m^-3) */
                2139      &')
                2140       CALL WRITE_0D_RL(surfPO4Min,INDEX_NONE,
                2141      &'surfPO4Min =',
                2142      &' /* minimum PO4 for carbon solver during run (mmol P m^-3) */')
                2143       CALL WRITE_0D_RL(surfPO4Max,INDEX_NONE,
                2144      &'surfPO4Max =',
                2145      &' /* maximum PO4 for carbon solver during run (mmol P m^-3) */')
                2146       CALL WRITE_0D_RL(surfSiMin,INDEX_NONE,
                2147      &'surfSiMin =',
                2148      &' /* minimum SiO2 for carbon solver during run (mmol Si m^-3) */')
                2149       CALL WRITE_0D_RL(surfSiMax,INDEX_NONE,
                2150      &'surfSiMax =',
                2151      &' /* maximum SiO2 for carbon solver during run (mmol Si m^-3) */')
                2152 #endif
                2153       CALL WRITE_0D_RL(diaz_ini_fac,INDEX_NONE,
                2154      &'diaz_ini_fac =',
                2155      &' /* reduce tracer concentrations by this factor on initialization
                2156      & */')
                2157       CALL WRITE_0D_RL(O2crit,INDEX_NONE,
                2158      &'O2crit =',
                2159      &' /* critical oxygen for O2/NO3 remineralization (mmol O2 m-3) */'
                2160      &)
                2161       CALL WRITE_0D_RL(denit_NP,INDEX_NONE,
                2162      &'denit_NP =',
                2163      &' /* ratio of n to p in denitrification process (mmol N / mmol P)'
                2164      &' */')
                2165       CALL WRITE_0D_RL(denit_NO3,INDEX_NONE,
                2166      &'denit_NO3 =',
                2167      &' /* ratio of NO3 uptake to phos remineralization in denitrificati
                2168      &on (mmol N / mmol P) */')
                2169       CALL WRITE_0D_RL(NO3crit,INDEX_NONE,
                2170      &'NO3crit =',
                2171      &' /* critical nitrate below which no denit (or remin) happens (mmo
                2172      &l N m-3) */')
                2173       CALL WRITE_0D_RL(PARmin,INDEX_NONE,
                2174      &'PARmin =',
                2175      &' /* minimum light for photosynthesis; for non-Geider: 1.0 (uEin/m
                2176      &2/s) */')
                2177       CALL WRITE_0D_RL(aphy_chl_ave,INDEX_NONE,
                2178      &'aphy_chl_ave =',
                2179      &' /* Chl-specific absorption coefficient (m2/mg Chl) */')
e4eb55147a Oliv*2180       CALL WRITE_0D_RL(Chl2Nmax,INDEX_NONE,
                2181      &'Chl2Nmax =',
4e9fe45e8e Oliv*2182      &' /* max Chl:N ratio for Chl synthesis following Moore 2002 (mg Ch
                2183      &l / mmol N) */')
                2184       CALL WRITE_0D_RL(synthcost,INDEX_NONE,
                2185      &'synthcost =',
                2186      &' /* cost of biosynthesis (mmol C / mmol N) */')
                2187       CALL WRITE_0D_RL(inhib_graz,INDEX_NONE,
                2188      &'inhib_graz =',
                2189      &' /* inverse decay scale for grazing inhibition ((mmol C m-3)-1) *
                2190      &/')
                2191       CALL WRITE_0D_RL(inhib_graz_exp,INDEX_NONE,
                2192      &'inhib_graz_exp =',
                2193      &' /* exponent for grazing inhibition (0 to turn off inhibition) */
                2194      &')
                2195       CALL WRITE_0D_RL(hillnumGraz,INDEX_NONE,
                2196      &'hillnumGraz =',
                2197      &' /* exponent for limiting quota uptake in grazing */')
                2198       CALL WRITE_0D_RL(hollexp,INDEX_NONE,
                2199      &'hollexp =',
                2200      &' /* grazing exponential 1= "Holling 2", 2= "Holling 3" */')
                2201       CALL WRITE_0D_RL(phygrazmin,INDEX_NONE,
                2202      &'phygrazmin =',
                2203      &' /* minimum total prey conc for grazing to occur (mmol C m-3) */'
                2204      &)
                2205       CALL WRITE_0D_RL(pcoefO2,INDEX_NONE,
                2206      &'pcoefO2 =',
                2207      &' /* max O2-specific O2 uptake rate for aerobic bacteria (m3/mmol'
                2208      &' O2/s) */')
                2209       CALL WRITE_0D_RL(pmaxDIN,INDEX_NONE,
                2210      &'pmaxDIN =',
                2211      &' /* max DIN uptake rate for denitrifying bacteria (1/s) */')
                2212       CALL WRITE_0D_RL(ksatDIN,INDEX_NONE,
                2213      &'ksatDIN =',
                2214      &' /* half-saturation conc of dissolved inorganic nitrogen (mmol N'
                2215      &' m-3) */')
                2216       CALL WRITE_0D_RL(alpha_hydrol,INDEX_NONE,
                2217      &'alpha_hydrol =',
                2218      &' /* increase in POM needed due to hydrolysis */')
                2219       CALL WRITE_0D_RL(yod,INDEX_NONE,
                2220      &'yod =',
                2221      &' /* organic matter yield of aerobic bacteria */')
                2222       CALL WRITE_0D_RL(yoe,INDEX_NONE,
                2223      &'yoe =',
                2224      &' /* energy yield of aerobic bacteria */')
                2225       CALL WRITE_0D_RL(ynd,INDEX_NONE,
                2226      &'ynd =',
                2227      &' /* organic matter yield of denitrifying bacteria */')
                2228       CALL WRITE_0D_RL(yne,INDEX_NONE,
                2229      &'yne =',
                2230      &' /* energy yield of denitrifying bacteria */')
                2231       CALL WRITE_0D_RL(depthdenit,INDEX_NONE,
                2232      &'depthdenit =',
                2233      &' /* not implemented (depth for denitrification relaxation to star
                2234      &t) (m) */')
                2235 #ifdef DARWIN_ALLOW_CDOM
                2236       CALL WRITE_0D_RL(fracCDOM,INDEX_NONE,
                2237      &'fracCDOM =',
                2238      &' /* fraction of remineralized POP contributing to CDOM */')
                2239       CALL WRITE_0D_RL(CDOMdegrd,INDEX_NONE,
                2240      &'CDOMdegrd =',
                2241      &' /* CDOM degradation rate (1/s) */')
                2242       CALL WRITE_0D_RL(CDOMbleach,INDEX_NONE,
                2243      &'CDOMbleach =',
                2244      &' /* CDOM bleaching rate (1/s) */')
                2245       CALL WRITE_0D_RL(PARCDOM,INDEX_NONE,
                2246      &'PARCDOM =',
                2247      &' /* PAR where CDOM bleaching becomes maximal (uEin/m2/s) */')
                2248 # ifdef DARWIN_CDOM_UNITS_CARBON
                2249       CALL WRITE_0D_RL(R_NC_CDOM,INDEX_NONE,
                2250      &'R_NC_CDOM =',
                2251      &' /* CDOM N:C ratio (mmol N / mmol C) */')
                2252       CALL WRITE_0D_RL(R_FeC_CDOM,INDEX_NONE,
                2253      &'R_FeC_CDOM =',
                2254      &' /* CDOM Fe:C ratio (mmol Fe / mmol C) */')
                2255       CALL WRITE_0D_RL(R_PC_CDOM,INDEX_NONE,
                2256      &'R_PC_CDOM =',
                2257      &' /* CDOM P:C ratio (mmol P / mmol C) */')
                2258 # else
                2259       CALL WRITE_0D_RL(R_NP_CDOM,INDEX_NONE,
                2260      &'R_NP_CDOM =',
                2261      &' /* CDOM N:P ratio (mmol N / mmol P) */')
                2262       CALL WRITE_0D_RL(R_FeP_CDOM,INDEX_NONE,
                2263      &'R_FeP_CDOM =',
                2264      &' /* CDOM Fe:P ratio (mmol Fe / mmol P) */')
                2265       CALL WRITE_0D_RL(R_CP_CDOM,INDEX_NONE,
                2266      &'R_CP_CDOM =',
                2267      &' /* CDOM C:P ratio (mmol C / mmol P) */')
                2268 # endif
                2269       CALL WRITE_0D_RL(CDOMcoeff,INDEX_NONE,
                2270      &'CDOMcoeff =',
                2271      &' /* P-specific absorption coefficient of CDOM (m2 / mmol P) */')
                2272 #endif /* DARWIN_ALLOW_CDOM */
                2273 #ifdef ALLOW_RADTRANS
                2274 #ifndef DARWIN_ALLOW_CDOM
                2275       CALL WRITE_0D_I(laCDOM,INDEX_NONE,
                2276      &'laCDOM =',
                2277      &' /* index of reference waveband for CDOM absorption spectrum */')
                2278 #endif
                2279 #endif
                2280       CALL WRITE_0D_I(kMinFeSed,INDEX_NONE,
                2281      &'kMinFeSed =',
                2282      &' /* minimum level index for iron sedimentation */')
                2283       CALL WRITE_0D_I(kMaxFeSed,INDEX_NONE,
                2284      &'kMaxFeSed =',
                2285      &' /* maximum level index for iron sedimentation */')
2c93eb88ef Oliv*2286       CALL WRITE_0D_I(kMinFeVent,INDEX_NONE,
                2287      &'kMinFeVent =',
                2288      &' /* minimum level index for hydrothermal vents */')
4e9fe45e8e Oliv*2289 
                2290 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                2291 C--   Print traits from DARWIN_TRAITS.h
                2292 
                2293       CALL WRITE_1D_I(isPhoto,nplank,INDEX_NONE,
                2294      &'isPhoto =',
                2295      &' /* 1: does photosynthesis, 0: not */')
                2296       CALL WRITE_1D_I(bactType,nplank,INDEX_NONE,
                2297      &'bactType =',
                2298      &' /* 1: particle associated, 2: free living bacteria, 0: not bacte
                2299      &ria */')
                2300       CALL WRITE_1D_I(isAerobic,nplank,INDEX_NONE,
                2301      &'isAerobic =',
                2302      &' /* 1: is aerobic bacteria (also set bactType), 0: not */')
                2303       CALL WRITE_1D_I(isDenit,nplank,INDEX_NONE,
                2304      &'isDenit =',
                2305      &' /* 1: is dentrifying bacteria (also set (bactType), 0: not */')
                2306       CALL WRITE_1D_I(hasSi,nplank,INDEX_NONE,
                2307      &'hasSi =',
                2308      &' /* 1: uses silica (Diatom), 0: not */')
                2309       CALL WRITE_1D_I(hasPIC,nplank,INDEX_NONE,
                2310      &'hasPIC =',
                2311      &' /* 1: calcifying, 0: set R_PICPOC to zero */')
                2312       CALL WRITE_1D_I(diazo,nplank,INDEX_NONE,
                2313      &'diazo =',
                2314      &' /* 1: use molecular instead of mineral nitrogen, 0: not */')
                2315       CALL WRITE_1D_I(useNH4,nplank,INDEX_NONE,
                2316      &'useNH4 =',
                2317      &' /* 1: can use ammonia, 0: not */')
                2318       CALL WRITE_1D_I(useNO2,nplank,INDEX_NONE,
                2319      &'useNO2 =',
                2320      &' /* 1: can use nitrite, 0: not */')
                2321       CALL WRITE_1D_I(useNO3,nplank,INDEX_NONE,
                2322      &'useNO3 =',
                2323      &' /* 1: can use nitrate, 0: not */')
                2324       CALL WRITE_1D_I(combNO,nplank,INDEX_NONE,
                2325      &'combNO =',
                2326      &' /* 1: combined nitrite/nitrate limitation, 0: not */')
                2327       CALL WRITE_1D_I(isPrey,nplank,INDEX_NONE,
                2328      &'isPrey =',
                2329      &' /* 1: can be grazed, 0: not */')
                2330       CALL WRITE_1D_I(isPred,nplank,INDEX_NONE,
                2331      &'isPred =',
                2332      &' /* 1: can graze, 0: not */')
                2333       CALL WRITE_1D_I(tempMort,nplank,INDEX_NONE,
                2334      &'tempMort =',
                2335      &' /* 1: mortality is temperature dependent, 0: turn dependence off
                2336      & */')
                2337       CALL WRITE_1D_I(tempMort2,nplank,INDEX_NONE,
                2338      &'tempMort2 =',
                2339      &' /* 1: quadratic mortality is temperature dependent, 0: turn depe
                2340      &ndence off */')
                2341       CALL WRITE_1D_I(tempGraz,nplank,INDEX_NONE,
                2342      &'tempGraz =',
                2343      &' /* 1: grazing is temperature dependent, 0: turn dependence off *
                2344      &/')
                2345       CALL WRITE_1D_RL(Xmin,nplank,INDEX_NONE,
                2346      &'Xmin =',
                2347      &' /* minimum abundance for mortality, respiration and exudation (m
                2348      &mol C m^-3) */')
                2349       CALL WRITE_1D_RL(amminhib,nplank,INDEX_NONE,
                2350      &'amminhib =',
                2351      &' /* coefficient for NH4 inhibition of NO uptake ((mmol N m^-3)^-1
                2352      &) */')
                2353       CALL WRITE_1D_RL(acclimtimescl,nplank,INDEX_NONE,
                2354      &'acclimtimescl =',
                2355      &' /* rate of chlorophyll acclimation (s^-1) */')
                2356       CALL WRITE_1D_RL(mort,nplank,INDEX_NONE,
                2357      &'mort =',
                2358      &' /* linear mortality rate (s^-1) */')
                2359       CALL WRITE_1D_RL(mort2,nplank,INDEX_NONE,
                2360      &'mort2 =',
                2361      &' /* quadratic mortality coefficient ((mmol C m^-3)^-1 s^-1) */')
                2362       CALL WRITE_1D_RL(ExportFracMort,nplank,INDEX_NONE,
                2363      &'ExportFracMort =',
                2364      &' /* fraction of linear mortality to POM */')
                2365       CALL WRITE_1D_RL(ExportFracMort2,nplank,INDEX_NONE,
                2366      &'ExportFracMort2 =',
                2367      &' /* fraction of quadratic mortality to POM */')
                2368       CALL WRITE_1D_RL(ExportFracExude,nplank,INDEX_NONE,
                2369      &'ExportFracExude =',
                2370      &' /* fraction of exudation to POM */')
                2371       CALL WRITE_1D_RL(FracExudeC,nplank,INDEX_NONE,
                2372      &'FracExudeC =',
                2373      &' /* fraction of excess C exuded */')
                2374       CALL WRITE_1D_RL(phytoTempCoeff,nplank,INDEX_NONE,
                2375      &'phytoTempCoeff =',
                2376      &' /* coefficient for DARWIN_TEMP_VERSION 1 */')
                2377       CALL WRITE_1D_RL(phytoTempExp1,nplank,INDEX_NONE,
                2378      &'phytoTempExp1 =',
                2379      &' /* coefficient for DARWIN_TEMP_VERSION 1 (exp(1/degrees C)) */')
                2380       CALL WRITE_1D_RL(phytoTempExp2,nplank,INDEX_NONE,
                2381      &'phytoTempExp2 =',
                2382      &' /* coefficient for DARWIN_TEMP_RANGE */')
                2383       CALL WRITE_1D_RL(phytoTempOptimum,nplank,INDEX_NONE,
                2384      &'phytoTempOptimum =',
                2385      &' /* coefficient for DARWIN_TEMP_RANGE (degrees C) */')
                2386       CALL WRITE_1D_RL(phytoDecayPower,nplank,INDEX_NONE,
                2387      &'phytoDecayPower =',
                2388      &' /* coefficient for DARWIN_TEMP_RANGE */')
                2389       CALL WRITE_1D_RL(phytoTempAe,nplank,INDEX_NONE,
                2390      &'phytoTempAe =',
                2391      &' /* coefficient for DARWIN_TEMP_VERSION 4 (1/degrees C) */')
                2392       CALL WRITE_1D_RL(hetTempAe,nplank,INDEX_NONE,
                2393      &'hetTempAe =',
                2394      &' /* coefficient for DARWIN_TEMP_VERSION 4 (1/degrees C) */')
                2395       CALL WRITE_1D_RL(hetTempExp2,nplank,INDEX_NONE,
                2396      &'hetTempExp2 =',
                2397      &' /* coefficient for DARWIN_TEMP_VERSION 4 */')
                2398       CALL WRITE_1D_RL(hetTempOptimum,nplank,INDEX_NONE,
                2399      &'hetTempOptimum =',
                2400      &' /* coefficient for DARWIN_TEMP_VERSION 4 (degrees C) */')
                2401       CALL WRITE_1D_RL(hetDecayPower,nplank,INDEX_NONE,
                2402      &'hetDecayPower =',
                2403      &' /* coefficient for DARWIN_TEMP_VERSION 4 */')
                2404       CALL WRITE_1D_RL(grazTempAe,nplank,INDEX_NONE,
                2405      &'grazTempAe =',
                2406      &' /* coefficient for DARWIN_TEMP_VERSION 4 (1/degrees C) */')
                2407       CALL WRITE_1D_RL(grazTempExp2,nplank,INDEX_NONE,
                2408      &'grazTempExp2 =',
                2409      &' /* coefficient for DARWIN_TEMP_VERSION 4 */')
                2410       CALL WRITE_1D_RL(grazTempOptimum,nplank,INDEX_NONE,
                2411      &'grazTempOptimum =',
                2412      &' /* coefficient for DARWIN_TEMP_VERSION 4 (degrees C) */')
                2413       CALL WRITE_1D_RL(grazDecayPower,nplank,INDEX_NONE,
                2414      &'grazDecayPower =',
                2415      &' /* coefficient for DARWIN_TEMP_VERSION 4 */')
                2416       CALL WRITE_1D_RL(R_NC,nplank,INDEX_NONE,
                2417      &'R_NC =',
                2418      &' /* nitrogen-carbon ratio (not used with DARWIN_ALLOW_NQUOTA) (mm
                2419      &ol N (mmol C)^-1) */')
                2420       CALL WRITE_1D_RL(R_PC,nplank,INDEX_NONE,
                2421      &'R_PC =',
                2422      &' /* phosphorus-carbon ratio (not used with DARWIN_ALLOW_PQUOTA) (
                2423      &mmol P (mmol C)^-1) */')
                2424       CALL WRITE_1D_RL(R_SiC,nplank,INDEX_NONE,
                2425      &'R_SiC =',
                2426      &' /* silica-carbon ratio (not used with DARWIN_ALLOW_SIQUOTA) (mmo
                2427      &l Si (mmol C)^-1) */')
                2428       CALL WRITE_1D_RL(R_FeC,nplank,INDEX_NONE,
                2429      &'R_FeC =',
                2430      &' /* iron-carbon ratio (not used with DARWIN_ALLOW_FEQUOTA) (mmol'
                2431      &' Fe (mmol C)^-1) */')
                2432       CALL WRITE_1D_RL(R_ChlC,nplank,INDEX_NONE,
                2433      &'R_ChlC =',
                2434      &' /* chlorophyll-carbon ratio (not used with DARWIN_ALLOW_CHLQUOTA
                2435      &) (mg Chl (mmol C)^-1) */')
                2436       CALL WRITE_1D_RL(R_PICPOC,nplank,INDEX_NONE,
                2437      &'R_PICPOC =',
                2438      &' /* inorganic-organic carbon ratio (mmol PIC (mmol POC)^-1) */')
                2439       CALL WRITE_1D_RL(biosink,nplank,INDEX_NONE,
                2440      &'biosink =',
                2441      &' /* sinking velocity (positive downwards) (m s^-1) */')
                2442       CALL WRITE_1D_RL(bioswim,nplank,INDEX_NONE,
                2443      &'bioswim =',
                2444      &' /* upward swimming velocity (positive upwards) (m s^-1) */')
                2445       CALL WRITE_1D_RL(respRate,nplank,INDEX_NONE,
                2446      &'respRate =',
                2447      &' /* respiration rate (s^-1) */')
                2448       CALL WRITE_1D_RL(PCmax,nplank,INDEX_NONE,
                2449      &'PCmax =',
                2450      &' /* maximum carbon-specific growth rate (s^-1) */')
                2451       CALL WRITE_1D_RL(Qnmax,nplank,INDEX_NONE,
                2452      &'Qnmax =',
                2453      &' /* maximum nitrogen quota (only with DARWIN_ALLOW_NQUOTA) (mmol'
                2454      &' N (mmol C)^-1) */')
                2455       CALL WRITE_1D_RL(Qnmin,nplank,INDEX_NONE,
                2456      &'Qnmin =',
                2457      &' /* minimum nitrogen quota (only with DARWIN_ALLOW_NQUOTA) (mmol'
                2458      &' N (mmol C)^-1) */')
                2459       CALL WRITE_1D_RL(Qpmax,nplank,INDEX_NONE,
                2460      &'Qpmax =',
                2461      &' /* maximum phosphorus quota (only with DARWIN_ALLOW_PQUOTA) (mmo
                2462      &l P (mmol C)^-1) */')
                2463       CALL WRITE_1D_RL(Qpmin,nplank,INDEX_NONE,
                2464      &'Qpmin =',
                2465      &' /* minimum phosphorus quota (only with DARWIN_ALLOW_PQUOTA) (mmo
                2466      &l P (mmol C)^-1) */')
                2467       CALL WRITE_1D_RL(Qsimax,nplank,INDEX_NONE,
                2468      &'Qsimax =',
                2469      &' /* maximum silica quota (only with DARWIN_ALLOW_SIQUOTA) (mmol S
                2470      &i (mmol C)^-1) */')
                2471       CALL WRITE_1D_RL(Qsimin,nplank,INDEX_NONE,
                2472      &'Qsimin =',
                2473      &' /* minimum silica quota (only with DARWIN_ALLOW_SIQUOTA) (mmol S
                2474      &i (mmol C)^-1) */')
                2475       CALL WRITE_1D_RL(Qfemax,nplank,INDEX_NONE,
                2476      &'Qfemax =',
                2477      &' /* maximum iron quota (only with DARWIN_ALLOW_FEQUOTA) (mmol Fe'
                2478      &' (mmol C)^-1) */')
                2479       CALL WRITE_1D_RL(Qfemin,nplank,INDEX_NONE,
                2480      &'Qfemin =',
                2481      &' /* minimum iron quota (only with DARWIN_ALLOW_FEQUOTA) (mmol Fe'
                2482      &' (mmol C)^-1) */')
                2483       CALL WRITE_1D_RL(VmaxNH4,nplank,INDEX_NONE,
                2484      &'VmaxNH4 =',
                2485      &' /* maximum ammonia uptake rate (only with DARWIN_ALLOW_NQUOTA) (
                2486      &mmol N (mmol C)^-1 s^-1) */')
                2487       CALL WRITE_1D_RL(VmaxNO2,nplank,INDEX_NONE,
                2488      &'VmaxNO2 =',
                2489      &' /* maximum nitrite uptake rate (only with DARWIN_ALLOW_NQUOTA) (
                2490      &mmol N (mmol C)^-1 s^-1) */')
                2491       CALL WRITE_1D_RL(VmaxNO3,nplank,INDEX_NONE,
                2492      &'VmaxNO3 =',
                2493      &' /* maximum nitrate uptake rate (only with DARWIN_ALLOW_NQUOTA) (
                2494      &mmol N (mmol C)^-1 s^-1) */')
                2495       CALL WRITE_1D_RL(VmaxN,nplank,INDEX_NONE,
                2496      &'VmaxN =',
                2497      &' /* maximum nitrogen uptake rate for diazotrophs (only with DARWI
                2498      &N_ALLOW_NQUOTA) (mmol N (mmol C)^-1 s^-1) */')
                2499       CALL WRITE_1D_RL(VmaxPO4,nplank,INDEX_NONE,
                2500      &'VmaxPO4 =',
                2501      &' /* maximum phosphate uptake rate (only with DARWIN_ALLOW_PQUOTA)
                2502      & (mmol P (mmol C)^-1 s^-1) */')
                2503       CALL WRITE_1D_RL(VmaxSiO2,nplank,INDEX_NONE,
                2504      &'VmaxSiO2 =',
                2505      &' /* maximum silica uptake rate (only with DARWIN_ALLOW_SIQUOTA) (
                2506      &mmol Si (mmol C)^-1 s^-1) */')
                2507       CALL WRITE_1D_RL(VmaxFeT,nplank,INDEX_NONE,
                2508      &'VmaxFeT =',
                2509      &' /* maximum iron uptake rate (only with DARWIN_ALLOW_FEQUOTA) (mm
                2510      &ol Fe (mmol C)^-1 s^-1) */')
                2511       CALL WRITE_1D_RL(ksatNH4,nplank,INDEX_NONE,
                2512      &'ksatNH4 =',
                2513      &' /* half-saturation conc. for ammonia uptake/limitation (mmol N m
                2514      &^-3) */')
                2515       CALL WRITE_1D_RL(ksatNO2,nplank,INDEX_NONE,
                2516      &'ksatNO2 =',
                2517      &' /* half-saturation conc. for nitrite uptake/limitation (mmol N m
                2518      &^-3) */')
                2519       CALL WRITE_1D_RL(ksatNO3,nplank,INDEX_NONE,
                2520      &'ksatNO3 =',
                2521      &' /* half-saturation conc. for nitrate uptake/limitation (mmol N m
                2522      &^-3) */')
                2523       CALL WRITE_1D_RL(ksatPO4,nplank,INDEX_NONE,
                2524      &'ksatPO4 =',
                2525      &' /* half-saturation conc. for phosphate uptake/limitation (mmol P
                2526      & m^-3) */')
                2527       CALL WRITE_1D_RL(ksatSiO2,nplank,INDEX_NONE,
                2528      &'ksatSiO2 =',
                2529      &' /* half-saturation conc. for silica uptake/limitation (mmol Si m
                2530      &^-3) */')
                2531       CALL WRITE_1D_RL(ksatFeT,nplank,INDEX_NONE,
                2532      &'ksatFeT =',
                2533      &' /* half-saturation conc. for iron uptake/limitation (mmol Fe m^-
                2534      &3) */')
a092808e6b shlo*2535       CALL WRITE_1D_RL(hillnumDIN,nphoto,INDEX_NONE,
                2536      &'hillnumDIN =',
                2537      &' /* exponent for limiting quota uptake in DIN uptake */')
                2538       CALL WRITE_1D_RL(hillnumPO4,nphoto,INDEX_NONE,
                2539      &'hillnumPO4 =',
                2540      &' /* exponent for limiting quota uptake in PO4 uptake */')
                2541       CALL WRITE_1D_RL(hillnumFeT,nphoto,INDEX_NONE,
                2542      &'hillnumFeT =',
                2543      &' /* exponent for limiting quota uptake in FeT uptake */')
                2544       CALL WRITE_1D_RL(hillnumSiO2,nphoto,INDEX_NONE,
                2545      &'hillnumSiO2 =',
                2546      &' /* exponent for limiting quota uptake in SiO2 uptake */')
4e9fe45e8e Oliv*2547       CALL WRITE_1D_RL(kexcc,nplank,INDEX_NONE,
                2548      &'kexcc =',
                2549      &' /* exudation rate for carbon (s^-1) */')
                2550       CALL WRITE_1D_RL(kexcn,nplank,INDEX_NONE,
                2551      &'kexcn =',
                2552      &' /* exudation rate for nitrogen (s^-1) */')
                2553       CALL WRITE_1D_RL(kexcp,nplank,INDEX_NONE,
                2554      &'kexcp =',
                2555      &' /* exudation rate for phosphorus (s^-1) */')
                2556       CALL WRITE_1D_RL(kexcsi,nplank,INDEX_NONE,
                2557      &'kexcsi =',
                2558      &' /* exudation rate for silica (s^-1) */')
                2559       CALL WRITE_1D_RL(kexcfe,nplank,INDEX_NONE,
                2560      &'kexcfe =',
                2561      &' /* exudation rate for iron (s^-1) */')
                2562 #ifdef DARWIN_ALLOW_GEIDER
                2563       CALL WRITE_1D_RL(inhibGeider,nplank,INDEX_NONE,
                2564      &'inhibGeider =',
                2565      &' /* photo-inhibition coefficient for Geider growth */')
                2566 #else
                2567       CALL WRITE_1D_RL(ksatPAR,nplank,INDEX_NONE,
                2568      &'ksatPAR =',
                2569      &' /* saturation coefficient for PAR (w/o GEIDER) ((uEin m^-2 s^-1)
                2570      &^-1) */')
                2571       CALL WRITE_1D_RL(kinhPAR,nplank,INDEX_NONE,
                2572      &'kinhPAR =',
                2573      &' /* inhibition coefficient for PAR (w/o GEIDER) ((uEin m^-2 s^-1)
                2574      &^-1) */')
                2575 #endif
                2576       CALL WRITE_1D_RL(mQyield,nplank,INDEX_NONE,
                2577      &'mQyield =',
                2578      &' /* maximum quantum yield (mmol C (uEin)^-1) */')
                2579       CALL WRITE_1D_RL(chl2cmax,nplank,INDEX_NONE,
                2580      &'chl2cmax =',
                2581      &' /* maximum Chlorophyll-carbon ratio (mg Chl (mmol C)^-1) */')
                2582       CALL WRITE_1D_RL(grazemax,nplank,INDEX_NONE,
                2583      &'grazemax =',
                2584      &' /* maximum grazing rate (s^-1) */')
                2585       CALL WRITE_1D_RL(kgrazesat,nplank,INDEX_NONE,
                2586      &'kgrazesat =',
                2587      &' /* grazing half-saturation concentration (mmol C m^-3) */')
                2588       DO l=1,nplank
                2589       WRITE(msgBuf,'(A,I4,A)')'palat(:,', l, ') ='
                2590       CALL WRITE_1D_RL(palat(1,l),nplank,INDEX_NONE,
                2591      &msgBuf,
                2592      &' /* palatability matrix */')
                2593       ENDDO
                2594       DO l=1,nplank
                2595       WRITE(msgBuf,'(A,I4,A)')'asseff(:,', l, ') ='
                2596       CALL WRITE_1D_RL(asseff(1,l),nplank,INDEX_NONE,
                2597      &msgBuf,
                2598      &' /* assimilation efficiency matrix */')
                2599       ENDDO
                2600       DO l=1,nplank
                2601       WRITE(msgBuf,'(A,I4,A)')'ExportFracPreyPred(:,', l, ') ='
                2602       CALL WRITE_1D_RL(ExportFracPreyPred(1,l),nplank,INDEX_NONE,
                2603      &msgBuf,
                2604      &' /* fraction of unassimilated prey becoming particulate organic m
                2605      &atter */')
                2606       ENDDO
                2607       CALL WRITE_1D_RL(yield,nplank,INDEX_NONE,
                2608      &'yield =',
                2609      &' /* bacterial growth yield for all organic matter */')
                2610       CALL WRITE_1D_RL(yieldO2,nplank,INDEX_NONE,
                2611      &'yieldO2 =',
                2612      &' /* bacterial growth yield for oxygen */')
                2613       CALL WRITE_1D_RL(yieldNO3,nplank,INDEX_NONE,
                2614      &'yieldNO3 =',
                2615      &' /* bacterial growth yield for nitrate */')
                2616       CALL WRITE_1D_RL(ksatPON,nplank,INDEX_NONE,
                2617      &'ksatPON =',
                2618      &' /* half-saturation of PON for bacterial growth (mmol N m^-3) */'
                2619      &)
                2620       CALL WRITE_1D_RL(ksatPOC,nplank,INDEX_NONE,
                2621      &'ksatPOC =',
                2622      &' /* half-saturation of POC for bacterial growth (mmol C m^-3) */'
                2623      &)
                2624       CALL WRITE_1D_RL(ksatPOP,nplank,INDEX_NONE,
                2625      &'ksatPOP =',
                2626      &' /* half-saturation of POP for bacterial growth (mmol P m^-3) */'
                2627      &)
                2628       CALL WRITE_1D_RL(ksatPOFe,nplank,INDEX_NONE,
                2629      &'ksatPOFe =',
                2630      &' /* half-saturation of POFe for bacterial growth (mmol Fe m^-3) *
                2631      &/')
                2632       CALL WRITE_1D_RL(ksatDON,nplank,INDEX_NONE,
                2633      &'ksatDON =',
                2634      &' /* half-saturation of DON for bacterial growth (mmol N m^-3) */'
                2635      &)
                2636       CALL WRITE_1D_RL(ksatDOC,nplank,INDEX_NONE,
                2637      &'ksatDOC =',
                2638      &' /* half-saturation of DOC for bacterial growth (mmol C m^-3) */'
                2639      &)
                2640       CALL WRITE_1D_RL(ksatDOP,nplank,INDEX_NONE,
                2641      &'ksatDOP =',
                2642      &' /* half-saturation of DOP for bacterial growth (mmol P m^-3) */'
                2643      &)
                2644       CALL WRITE_1D_RL(ksatDOFe,nplank,INDEX_NONE,
                2645      &'ksatDOFe =',
                2646      &' /* half-saturation of DOFe for bacterial growth (mmol Fe m^-3) *
                2647      &/')
                2648 #ifndef DARWIN_RANDOM_TRAITS
                2649       CALL WRITE_1D_I(group,nplank,INDEX_NONE,
                2650      &'group =',
                2651      &' /* which group this type belongs to */')
                2652       CALL WRITE_1D_I(igroup,nplank,INDEX_NONE,
                2653      &'igroup =',
                2654      &' /* index within group */')
                2655       CALL WRITE_1D_RL(biovol,nplank,INDEX_NONE,
                2656      &'biovol =',
                2657      &' /* volume (um^3) */')
                2658       CALL WRITE_1D_RL(qcarbon,nplank,INDEX_NONE,
                2659      &'qcarbon =',
                2660      &' /* cellular carbon content (mmol C/cell) */')
                2661 #endif
                2662 #ifdef ALLOW_RADTRANS
                2663       CALL WRITE_1D_I(aptype,nplank,INDEX_NONE,
                2664      &'aptype =',
                2665      &' /* optical type (for absorption/scattering spectra) */')
                2666 #endif
                2667 #ifndef DARWIN_ALLOW_GEIDER
                2668       CALL WRITE_1D_RL(normI,nplank,INDEX_NONE,
                2669      &'normI =',
                2670      &' /* normalization factor for non-Geider light curve */')
                2671 #endif
a092808e6b shlo*2672 #ifdef DARWIN_MACROMOLECULAR_GROWTH
                2673       CALL WRITE_1D_RL(Y_CP_Plip,nplank,INDEX_NONE,
                2674      &'Y_CP_Plip = ',
                2675      &' /* C/P molar ratio of PG: Phosphatidyl glycerol (molC molP^-1) *
                2676      &/')
                2677       CALL WRITE_1D_RL(Y_CN_protein,nplank,INDEX_NONE,
                2678      &'Y_CN_protein = ',
                2679      &' /* C/N molar ratio in protein (molC molN^-1) */')
                2680       CALL WRITE_1D_RL(Y_NC_chl,nplank,INDEX_NONE,
                2681      &'Y_NC_chl = ',
                2682      &' /* N/C molar ratio in chlorophyll (molN molC^-1) */')
                2683       CALL WRITE_1D_RL(Y_CN_cyano,nplank,INDEX_NONE,
                2684      &'Y_CN_cyano = ',
                2685      &' /* C/N molar ratio of cyanophycin (molC molN^-1) */')
                2686       CALL WRITE_1D_RL(Y_PN_nucacid,nplank,INDEX_NONE,
                2687      &'Y_PN_nucacid = ',
                2688      &' /* P/N molar ratio of RNA (molP molN^-1) */')
                2689       CALL WRITE_1D_RL(Y_CN_DNA,nplank,INDEX_NONE,
                2690      &'Y_CN_DNA = ',
                2691      &' /* C/N molar ratio of DNA (molC molN^-1) */')
                2692       CALL WRITE_1D_RL(Y_CN_RNA,nplank,INDEX_NONE,
                2693      &'Y_CN_RNA = ',
                2694      &' /* C/N molar ratio of RNA (molC molN^-1) */')
                2695       CALL WRITE_1D_RL(Y_THY_P,nplank,INDEX_NONE,
                2696      &'Y_THY_P = ',
                2697      &' /* the stoichiometric ratio for cell phosphorus in thylakoid mem
                2698      &brane to chlorophyll ((molP)/(molC in chl)^-1) */')
                2699       CALL WRITE_1D_RL(Y_FeN_photo,nplank,INDEX_NONE,
                2700      &'Y_FeN_photo = ',
                2701      &' /* Fe/N ratio in photosystem iron (molFe mol N^-1) */')
                2702       CALL WRITE_1D_RL(ECo2Prod,nplank,INDEX_NONE,
                2703      &'ECo2Prod = ',
                2704      &' /* CO2 production ratio (dimensionless) */')
                2705       CALL WRITE_1D_RL(maintConsum,nplank,INDEX_NONE,
                2706      &'maintConsum = ',
                2707      &' /* maintenance carbohydrate consumption (s^-1) */')
                2708       CALL WRITE_1D_RL(VI_max,nplank,INDEX_NONE,
                2709      &'VI_max = ',
                2710      &' /* carbon fixing rate (molC (molC in Chl)^-1 s^-1) */')
                2711       CALL WRITE_1D_RL(A_I,nplank,INDEX_NONE,
                2712      &'A_I = ',
                2713      &' /* coefficient characterizing the absorption cross section (umol
                2714      &^-1 m2 s) */')
                2715       CALL WRITE_1D_RL(QC_other,nplank,INDEX_NONE,
                2716      &'QC_other = ',
                2717      &' /* essential carbon (lipid membrane, etc.) (molC molC^-1) */')
                2718       CALL WRITE_1D_RL(QC_pro_other,nplank,INDEX_NONE,
                2719      &'QC_pro_other = ',
                2720      &' /*  (molC molC^-1) */')
                2721       CALL WRITE_1D_RL(QP_other,nplank,INDEX_NONE,
                2722      &'QP_other = ',
                2723      &' /* constant part of phosphorus (molP molC^-1) */')
                2724       CALL WRITE_1D_RL(QP_RNA_min,nplank,INDEX_NONE,
                2725      &'QP_RNA_min = ',
                2726      &' /*  (molP molC^-1) */')
                2727       CALL WRITE_1D_RL(QC_DNA,nplank,INDEX_NONE,
                2728      &'QC_DNA = ',
                2729      &' /* constant part of DNA in carbon (molC molC^-1) */')
                2730       CALL WRITE_1D_RL(QN_pro_other,nplank,INDEX_NONE,
                2731      &'QN_pro_other = ',
                2732      &' /*  (molN molC^-1) */')
                2733       CALL WRITE_1D_RL(QN_RNA_min,nplank,INDEX_NONE,
                2734      &'QN_RNA_min = ',
                2735      &' /* constant part of RNA in nitrogen (molN molC^-1) */')
                2736       CALL WRITE_1D_RL(QC_RNA_min,nplank,INDEX_NONE,
                2737      &'QC_RNA_min = ',
                2738      &' /* constant part of RNA in carbon (molN molC^-1) */')
                2739       CALL WRITE_1D_RL(QN_DNA,nplank,INDEX_NONE,
                2740      &'QN_DNA = ',
                2741      &' /* DNA in nitrogen (molN molC^-1) */')
                2742       CALL WRITE_1D_RL(QP_DNA,nplank,INDEX_NONE,
                2743      &'QP_DNA = ',
                2744      &' /* DNA in phosphorous (molP molC^-1) */')
                2745       CALL WRITE_1D_RL(QN_sto_max,nplank,INDEX_NONE,
                2746      &'QN_sto_max = ',
                2747      &' /* maximum nitrogen storage (molN molC^-1) */')
                2748       CALL WRITE_1D_RL(Qp_max,nplank,INDEX_NONE,
                2749      &'Qp_max = ',
                2750      &' /* maximum phosphorus quota (molP molC^-1) */')
                2751       CALL WRITE_1D_RL(Qfe_max,nplank,INDEX_NONE,
                2752      &'Qfe_max = ',
                2753      &' /* maximum iron quota (molFe molC^-1) */')
                2754       CALL WRITE_1D_RL(A_pho,nplank,INDEX_NONE,
                2755      &'A_pho = ',
                2756      &' /* A constant of proportionalty ((molC)/(molC in chl)^-1) */')
                2757       CALL WRITE_1D_RL(A_bio,nplank,INDEX_NONE,
                2758      &'A_bio = ',
                2759      &' /* constant for variable part of biosynthesis protein (molC molC
                2760      &^-1 s) */')
                2761       CALL WRITE_1D_RL(AP_RNA,nplank,INDEX_NONE,
                2762      &'AP_RNA = ',
                2763      &' /* constant for Variable part of RNA (molP molC^-1 s) */')
                2764       CALL WRITE_1D_RL(AN_RNA,nplank,INDEX_NONE,
                2765      &'AN_RNA = ',
                2766      &' /* constant for Variable part of RNA (molN molN^-1 s) */')
                2767       CALL WRITE_1D_RL(A_thy,nplank,INDEX_NONE,
                2768      &'A_thy = ',
                2769      &' /*  (molC (molC in chl)^-1) */')
                2770       CALL WRITE_1D_RL(Sf,nplank,INDEX_NONE,
                2771      &'Sf = ',
                2772      &' /* enhancement of photosynthesis due to size */')
                2773       CALL WRITE_1D_RL(VI_min,nplank,INDEX_NONE,
                2774      &'VI_min = ',
                2775      &' /* minimum photosynthesis rate (molC (molC in Chl)^-1 s^-1) */')
                2776       CALL WRITE_1D_RL(QC_chlMax,nplank,INDEX_NONE,
                2777      &'QC_chlMax = ',
                2778      &' /* maximum chlorophyll concentration at minimum light (molC molC
                2779      &^-1) */')
                2780       CALL WRITE_1D_RL(QnNoChl,nplank,INDEX_NONE,
                2781      &'QnNoChl = ',
                2782      &' /* minimum QN at zero growth rate (molN molC^-1) */')
                2783       CALL WRITE_1D_RL(QpNoChl,nplank,INDEX_NONE,
                2784      &'QpNoChl = ',
                2785      &' /* minimum QP at zero growth rate (molP molC^-1) */')
                2786       CALL WRITE_1D_RL(QfeNoChl,nplank,INDEX_NONE,
                2787      &'QfeNoChl = ',
                2788      &' /* minimum QFe at zero growth rate (molFe molC^-1) */')
                2789       CALL WRITE_1D_RL(QC_const,nplank,INDEX_NONE,
                2790      &'QC_const =',
                2791      &' /* constant portion of the cell (molC molC^-1) */')
                2792 #endif
                2793 
                2794 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                2795 C--   Print dependent traits
4e9fe45e8e Oliv*2796       CALL WRITE_1D_RL(alpha_mean,nplank,INDEX_NONE,
                2797      &'alpha_mean =',
                2798      &' /* mean initial slope of light curve (over wavebands) (mmol C s-
                2799      &1 (uEin m^-2 s^-1)^-1 (mg Chl)^-1) */')
                2800       CALL WRITE_1D_RL(chl2cmin,nplank,INDEX_NONE,
                2801      &'chl2cmin =',
                2802      &' /* minimum Chl:C ratio (function of chl2cmax and alpha_mean) (mg
                2803      & Chl (mmol C)^-1) */')
                2804 
                2805 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                2806 C--   Print parameters and traits from DARWIN_RADTRANS.h
                2807 
                2808 #ifdef ALLOW_RADTRANS
                2809       CALL WRITE_0D_L(darwin_allomSpectra,INDEX_NONE,
                2810      &'darwin_allomSpectra =',
                2811      &' /* enable/disable allometric scaling of plankton absorption and'
                2812      &' scattering spectra */')
                2813       CALL WRITE_0D_C(darwin_waterAbsorbFile,-1,INDEX_NONE,
                2814      &'darwin_waterAbsorbFile =',
                2815      &' /* filename for reading water absorption and scattering spectra'
                2816      &' */')
                2817       CALL WRITE_0D_C(darwin_phytoAbsorbFile,-1,INDEX_NONE,
                2818      &'darwin_phytoAbsorbFile =',
                2819      &' /* filename for reading plankton absorption and scattering spect
                2820      &ra */')
                2821       CALL WRITE_0D_C(darwin_particleAbsorbFile,-1,INDEX_NONE,
                2822      &'darwin_particleAbsorbFile =',
                2823      &' /* filename for reading particle absorption and scattering spect
                2824      &ra */')
                2825       CALL WRITE_0D_RL(darwin_part_size_P,INDEX_NONE,
                2826      &'darwin_part_size_P =',
                2827      &' /* conversion factor for particle absorption and scattering spec
                2828      &tra (mmol P/particle) */')
                2829       CALL WRITE_0D_RL(darwin_bbmin,INDEX_NONE,
                2830      &'darwin_bbmin =',
                2831      &' /* minimum backscattering ratio (1/m) */')
                2832       CALL WRITE_0D_RL(darwin_bbw,INDEX_NONE,
                2833      &'darwin_bbw =',
                2834      &' /* backscattering ratio of water */')
                2835       CALL WRITE_0D_RL(darwin_lambda_aCDOM,INDEX_NONE,
                2836      &'darwin_lambda_aCDOM =',
                2837      &' /* reference wavelength for CDOM absorption spectra (nm) */')
                2838       CALL WRITE_0D_RL(darwin_Sdom,INDEX_NONE,
                2839      &'darwin_Sdom =',
                2840      &' /* coefficient for CDOM absorption spectra (1/nm) */')
                2841       CALL WRITE_0D_RL(darwin_aCDOM_fac,INDEX_NONE,
                2842      &'darwin_aCDOM_fac =',
                2843      &' /* factor for computing aCDOM from water+Chlorophyll absorption'
                2844      &' */')
                2845       CALL WRITE_0D_RL(darwin_rCDOM,INDEX_NONE,
                2846      &'darwin_rCDOM =',
                2847      &' /* recalcitrant CDOM concentration (mmol P/m3) */')
                2848       CALL WRITE_0D_RL(darwin_RPOC,INDEX_NONE,
                2849      &'darwin_RPOC =',
                2850      &' /* recalcitrant POC concentration (mmol C/m3) */')
                2851       CALL WRITE_0D_RL(darwin_aCarCell,INDEX_NONE,
                2852      &'darwin_aCarCell =',
                2853      &' /* coefficient coefficient for scaling plankton spectra (mg C/ce
                2854      &ll) */')
                2855       CALL WRITE_0D_RL(darwin_bCarCell,INDEX_NONE,
                2856      &'darwin_bCarCell =',
                2857      &' /* coefficient coefficient for scaling plankton spectra */')
                2858       CALL WRITE_0D_RL(darwin_absorpSlope,INDEX_NONE,
                2859      &'darwin_absorpSlope =',
                2860      &' /* slope for scaled absorption spectra */')
                2861       CALL WRITE_0D_RL(darwin_bbbSlope,INDEX_NONE,
                2862      &'darwin_bbbSlope =',
                2863      &' /* slope for scaled backscattering ratio spectra */')
                2864       CALL WRITE_1D_RL(darwin_scatSwitchSizeLog,nlam,INDEX_NONE,
                2865      &'darwin_scatSwitchSizeLog =',
                2866      &' /* log of size for switching slopes (log10(um)) */')
                2867       CALL WRITE_1D_RL(darwin_scatSlopeSmall,nlam,INDEX_NONE,
                2868      &'darwin_scatSlopeSmall =',
                2869      &' /* slope for small plankton */')
                2870       CALL WRITE_1D_RL(darwin_scatSlopeLarge,nlam,INDEX_NONE,
                2871      &'darwin_scatSlopeLarge =',
                2872      &' /* slope for large plankton */')
                2873       CALL WRITE_1D_RL(aw,nlam,INDEX_NONE,
                2874      &'aw =',
                2875      &' /* absorption coefficient for water */')
                2876       CALL WRITE_1D_RL(bw,nlam,INDEX_NONE,
                2877      &'bw =',
                2878      &' /* total scattering coefficient for water */')
                2879       CALL WRITE_1D_RL(apart_P,nlam,INDEX_NONE,
                2880      &'apart_P =',
                2881      &' /* P-specific absorption coefficient for detritus */')
                2882       CALL WRITE_1D_RL(bpart_P,nlam,INDEX_NONE,
                2883      &'bpart_P =',
                2884      &' /* P-specific total scattering coefficient for detritus */')
                2885       CALL WRITE_1D_RL(bbpart_P,nlam,INDEX_NONE,
                2886      &'bbpart_P =',
                2887      &' /* P-specific backscattering coefficient for detritus */')
                2888       CALL WRITE_1D_RL(exCDOM,nlam,INDEX_NONE,
                2889      &'exCDOM =',
                2890      &' /* wavelength-dependent part of CDOM absorption spectrum */')
                2891       DO l=1,nlam
                2892       WRITE(msgBuf,'(A,I4,A)')'aphy_chl(:,', l, ') ='
                2893       CALL WRITE_1D_RL(aphy_chl(1,l),nplank,INDEX_NONE,
                2894      &msgBuf,
                2895      &' /* phytoplankton Chl-specific absorption coefficient (m^2 (mg Ch
                2896      &l)^-1) */')
                2897       ENDDO
                2898       DO l=1,nlam
                2899       WRITE(msgBuf,'(A,I4,A)')'aphy_chl_ps(:,', l, ') ='
                2900       CALL WRITE_1D_RL(aphy_chl_ps(1,l),nplank,INDEX_NONE,
                2901      &msgBuf,
                2902      &' /* part of aphy_chl that is used in photosynthesis (m^2 (mg Chl)
                2903      &^-1) */')
                2904       ENDDO
                2905       DO l=1,nlam
                2906       WRITE(msgBuf,'(A,I4,A)')'aphy_mgC(:,', l, ') ='
                2907       CALL WRITE_1D_RL(aphy_mgC(1,l),nplank,INDEX_NONE,
                2908      &msgBuf,
                2909      &' /* plankton carbon-specific absorption coefficient (m^2 (mg C)^-
                2910      &1) */')
                2911       ENDDO
                2912       DO l=1,nlam
                2913       WRITE(msgBuf,'(A,I4,A)')'bphy_mgC(:,', l, ') ='
                2914       CALL WRITE_1D_RL(bphy_mgC(1,l),nplank,INDEX_NONE,
                2915      &msgBuf,
                2916      &' /* carbon-specific total scattering coefficient (m^2 (mg C)^-1)'
                2917      &' */')
                2918       ENDDO
                2919       DO l=1,nlam
                2920       WRITE(msgBuf,'(A,I4,A)')'bbphy_mgC(:,', l, ') ='
                2921       CALL WRITE_1D_RL(bbphy_mgC(1,l),nplank,INDEX_NONE,
                2922      &msgBuf,
                2923      &' /* carbon-specific backscattering coefficient (m^2 (mg C)^-1) */
                2924      &')
                2925       ENDDO
                2926 #endif /* ALLOW_RADTRANS */
                2927       DO l=1,nlam
                2928       WRITE(msgBuf,'(A,I4,A)')'alphachl(:,', l, ') ='
                2929       CALL WRITE_1D_RL(alphachl(1,l),nplank,INDEX_NONE,
                2930      &msgBuf,
                2931      &' /* Chlorophyll-specific initial slope for photosynthesis */')
                2932       ENDDO
                2933 
                2934 C ======================================================================
8fbfd1f382 Oliv*2935 C log tracer names together with what they should be
                2936       WRITE(msgBuf,'(A)')
                2937      &      'DARWIN_CHECK: iPtr darwin       PTRACERS_names'
                2938       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                2939      &                   SQUEEZE_RIGHT,myThid)
                2940 CCOG[[[cog
                2941 CCOGfor name,name6,cond1,cond2 in checkflds: cog.out('''
                2942 CCOG{cond1}      WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                2943 CCOG     &  i{name6},'{name6}    ', PTRACERS_names(i{name6})
                2944 CCOG      CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                2945 CCOG     &                   SQUEEZE_RIGHT,myThid)
                2946 CCOG{cond2}'''.format(name=name, name6=name6, cond1=cond1, cond2=cond2))
                2947 CCOGfor name,name5,cond1,cond2 in checklflds: cog.out('''
                2948 CCOG{cond1}      DO j = 1, e{name}+1-i{name}
                2949 CCOG        iPtr = i{name} + j - 1
                2950 CCOG        WRITE(msgBuf,'(A,I4,X,A,I4,X,A32)') 'DARWIN_CHECK: ',
                2951 CCOG     &    iPtr, '{name5}', j, PTRACERS_names(iPtr)
                2952 CCOG        CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                2953 CCOG     &                     SQUEEZE_RIGHT,myThid)
                2954 CCOG      ENDDO
                2955 CCOG{cond2}'''.format(name=name, name5=name5, cond1=cond1, cond2=cond2))
                2956 CCOG]]]
                2957 
                2958       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                2959      &  iDIC   ,'DIC       ', PTRACERS_names(iDIC   )
                2960       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                2961      &                   SQUEEZE_RIGHT,myThid)
                2962 
                2963       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                2964      &  iNO3   ,'NO3       ', PTRACERS_names(iNO3   )
                2965       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                2966      &                   SQUEEZE_RIGHT,myThid)
                2967 
                2968       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                2969      &  iNO2   ,'NO2       ', PTRACERS_names(iNO2   )
                2970       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                2971      &                   SQUEEZE_RIGHT,myThid)
                2972 
                2973       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                2974      &  iNH4   ,'NH4       ', PTRACERS_names(iNH4   )
                2975       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                2976      &                   SQUEEZE_RIGHT,myThid)
                2977 
                2978       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                2979      &  iPO4   ,'PO4       ', PTRACERS_names(iPO4   )
                2980       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                2981      &                   SQUEEZE_RIGHT,myThid)
                2982 
                2983       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                2984      &  iFeT   ,'FeT       ', PTRACERS_names(iFeT   )
                2985       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                2986      &                   SQUEEZE_RIGHT,myThid)
                2987 
                2988       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                2989      &  iSiO2  ,'SiO2      ', PTRACERS_names(iSiO2  )
                2990       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                2991      &                   SQUEEZE_RIGHT,myThid)
                2992 
                2993       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                2994      &  iDOC   ,'DOC       ', PTRACERS_names(iDOC   )
                2995       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                2996      &                   SQUEEZE_RIGHT,myThid)
                2997 
                2998       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                2999      &  iDON   ,'DON       ', PTRACERS_names(iDON   )
                3000       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3001      &                   SQUEEZE_RIGHT,myThid)
                3002 
                3003       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                3004      &  iDOP   ,'DOP       ', PTRACERS_names(iDOP   )
                3005       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3006      &                   SQUEEZE_RIGHT,myThid)
                3007 
                3008       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                3009      &  iDOFe  ,'DOFe      ', PTRACERS_names(iDOFe  )
                3010       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3011      &                   SQUEEZE_RIGHT,myThid)
                3012 
                3013       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                3014      &  iPOC   ,'POC       ', PTRACERS_names(iPOC   )
                3015       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3016      &                   SQUEEZE_RIGHT,myThid)
                3017 
                3018       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                3019      &  iPON   ,'PON       ', PTRACERS_names(iPON   )
                3020       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3021      &                   SQUEEZE_RIGHT,myThid)
                3022 
                3023       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                3024      &  iPOP   ,'POP       ', PTRACERS_names(iPOP   )
                3025       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3026      &                   SQUEEZE_RIGHT,myThid)
                3027 
                3028       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                3029      &  iPOFe  ,'POFe      ', PTRACERS_names(iPOFe  )
                3030       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3031      &                   SQUEEZE_RIGHT,myThid)
                3032 
                3033       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                3034      &  iPOSi  ,'POSi      ', PTRACERS_names(iPOSi  )
                3035       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3036      &                   SQUEEZE_RIGHT,myThid)
                3037 
                3038       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                3039      &  iPIC   ,'PIC       ', PTRACERS_names(iPIC   )
                3040       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3041      &                   SQUEEZE_RIGHT,myThid)
                3042 
                3043 #ifdef DARWIN_ALLOW_CARBON
                3044       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                3045      &  iALK   ,'ALK       ', PTRACERS_names(iALK   )
                3046       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3047      &                   SQUEEZE_RIGHT,myThid)
                3048 #endif
                3049 
                3050 #ifdef DARWIN_ALLOW_CARBON
                3051       WRITE(msgBuf,'(A,I4,X,A,A32)') 'DARWIN_CHECK: ',
                3052      &  iO2    ,'O2        ', PTRACERS_names(iO2    )
                3053       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3054      &                   SQUEEZE_RIGHT,myThid)
                3055 #endif
                3056 
                3057 #ifdef DARWIN_ALLOW_CDOM
                3058       DO j = 1, eCDOM+1-iCDOM
                3059         iPtr = iCDOM + j - 1
                3060         WRITE(msgBuf,'(A,I4,X,A,I4,X,A32)') 'DARWIN_CHECK: ',
                3061      &    iPtr, 'CDOM ', j, PTRACERS_names(iPtr)
                3062         CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3063      &                     SQUEEZE_RIGHT,myThid)
                3064       ENDDO
                3065 #endif
                3066 
                3067       DO j = 1, ec+1-ic
                3068         iPtr = ic + j - 1
                3069         WRITE(msgBuf,'(A,I4,X,A,I4,X,A32)') 'DARWIN_CHECK: ',
                3070      &    iPtr, 'c    ', j, PTRACERS_names(iPtr)
                3071         CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3072      &                     SQUEEZE_RIGHT,myThid)
                3073       ENDDO
                3074 
                3075 #ifdef DARWIN_ALLOW_NQUOTA
                3076       DO j = 1, en+1-in
                3077         iPtr = in + j - 1
                3078         WRITE(msgBuf,'(A,I4,X,A,I4,X,A32)') 'DARWIN_CHECK: ',
                3079      &    iPtr, 'n    ', j, PTRACERS_names(iPtr)
                3080         CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3081      &                     SQUEEZE_RIGHT,myThid)
                3082       ENDDO
                3083 #endif
                3084 
                3085 #ifdef DARWIN_ALLOW_PQUOTA
                3086       DO j = 1, ep+1-ip
                3087         iPtr = ip + j - 1
                3088         WRITE(msgBuf,'(A,I4,X,A,I4,X,A32)') 'DARWIN_CHECK: ',
                3089      &    iPtr, 'p    ', j, PTRACERS_names(iPtr)
                3090         CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3091      &                     SQUEEZE_RIGHT,myThid)
                3092       ENDDO
                3093 #endif
                3094 
                3095 #ifdef DARWIN_ALLOW_FEQUOTA
                3096       DO j = 1, efe+1-ife
                3097         iPtr = ife + j - 1
                3098         WRITE(msgBuf,'(A,I4,X,A,I4,X,A32)') 'DARWIN_CHECK: ',
                3099      &    iPtr, 'fe   ', j, PTRACERS_names(iPtr)
                3100         CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3101      &                     SQUEEZE_RIGHT,myThid)
                3102       ENDDO
                3103 #endif
                3104 
                3105 #ifdef DARWIN_ALLOW_SIQUOTA
                3106       DO j = 1, esi+1-isi
                3107         iPtr = isi + j - 1
                3108         WRITE(msgBuf,'(A,I4,X,A,I4,X,A32)') 'DARWIN_CHECK: ',
                3109      &    iPtr, 'si   ', j, PTRACERS_names(iPtr)
                3110         CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3111      &                     SQUEEZE_RIGHT,myThid)
                3112       ENDDO
                3113 #endif
                3114 
                3115 #ifdef DARWIN_ALLOW_CHLQUOTA
                3116       DO j = 1, eChl+1-iChl
                3117         iPtr = iChl + j - 1
                3118         WRITE(msgBuf,'(A,I4,X,A,I4,X,A32)') 'DARWIN_CHECK: ',
                3119      &    iPtr, 'Chl  ', j, PTRACERS_names(iPtr)
                3120         CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3121      &                     SQUEEZE_RIGHT,myThid)
                3122       ENDDO
                3123 #endif
8fb4461f75 Oliv*3124 
                3125 #ifdef DARWIN_ALLOW_CSTORE
                3126       DO j = 1, ech+1-ich
                3127         iPtr = ich + j - 1
                3128         WRITE(msgBuf,'(A,I4,X,A,I4,X,A32)') 'DARWIN_CHECK: ',
                3129      &    iPtr, 'ch   ', j, PTRACERS_names(iPtr)
                3130         CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3131      &                     SQUEEZE_RIGHT,myThid)
                3132       ENDDO
                3133 #endif
                3134 CCOG[[[end]]] (checksum: 05ba5478d3ba98e0625cfbc0f8f1432c)
8fbfd1f382 Oliv*3135 
30cf4ad023 Oliv*3136 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                3137 C     Log plankton types with ptracer indices
                3138 
                3139 #ifndef DARWIN_RANDOM_TRAITS
                3140       WRITE(msgBuf,'(A)') 'DARWIN_CHECK:'
                3141       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3142      &                   SQUEEZE_RIGHT,myThid)
                3143       WRITE(msgBuf,'(A,A4,X,A4,X,A24,X,A4,X,A32)')
                3144      &      'DARWIN_CHECK: ','iPtr','iPlk','ESD','grp','grp_name'
                3145       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3146      &                   SQUEEZE_RIGHT,myThid)
                3147       DO j = 1, ec+1-ic
                3148         iPtr = ic + j - 1
                3149         dm = (6 _d 0*biovol(j))**(1 _d 0/3 _d 0)
                3150         g = group(j)
                3151         gname = grp_names(g)
                3152         WRITE(msgBuf,'(A,I4,X,I4,X,E24.16,X,I4,X,A32)')
                3153      &        'DARWIN_CHECK: ', iPtr, j, dm, g, gname
                3154         CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3155      &                     SQUEEZE_RIGHT,myThid)
                3156       ENDDO
                3157 #endif
                3158 
674bd6922c Oliv*3159 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                3160 C     Find and log debugging location
                3161 
                3162 #ifdef DARWIN_DEBUG
                3163       DO np = 1, nPx*nPy
                3164         DO bj=1,nSy
                3165          DO bi=1,nSx
                3166            iGjLoc = 0
                3167            jGjLoc = 1
                3168 #ifdef ALLOW_USE_MPI
                3169            iBase = mpi_myXGlobalLo(np)-1 + (bi-1)*sNx
                3170            jBase = mpi_myYGlobalLo(np)-1 + (bj-1)*sNy
                3171 #else
                3172            iBase = myXGlobalLo-1 + (bi-1)*sNx
                3173            jBase = myYGlobalLo-1 + (bj-1)*sNy
                3174 #endif
                3175 #ifdef ALLOW_EXCH2
                3176            IF ( W2_useE2ioLayOut ) THEN
                3177              tN = W2_procTileList(bi,bj,np)
                3178              iBase = exch2_txGlobalo(tN)-1
                3179              jBase = exch2_tyGlobalo(tN)-1
                3180              IF   ( exch2_mydNx(tN) .GT. exch2_global_Nx ) THEN
                3181 C-           face x-size larger than glob-size : fold it
                3182                iGjLoc = 0
                3183                jGjLoc = exch2_mydNx(tN) / exch2_global_Nx
                3184              ELSEIF ( exch2_tNy(tN) .GT. exch2_global_Ny ) THEN
                3185 C-           tile y-size larger than glob-size : make a long line
                3186                iGjLoc = exch2_mydNx(tN)
                3187                jGjLoc = 0
                3188              ELSE
                3189 C-           default (face fit into global-IO-array)
                3190                iGjLoc = 0
                3191                jGjLoc = 1
                3192              ENDIF
                3193            ENDIF
                3194 #endif /* ALLOW_EXCH2 */
                3195            DO j=1,sNy
                3196              iG = iBase + (j-1)*iGjLoc
                3197              jG = jBase + (j-1)*jGjLoc + 1
                3198              DO i=1,sNx
                3199               IF (iG+i.EQ.iDEBUG.AND.jG.EQ.jDEBUG) THEN
                3200                 CALL PRINT_MESSAGE(' ',standardMessageUnit,
                3201      &                             SQUEEZE_RIGHT,myThid)
                3202                 WRITE(msgBuf,'(A,2I10)')'DARWIN_DEBUG: iG jG',
                3203      &                                  iDEBUG,jDEBUG
                3204                 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3205      &                             SQUEEZE_RIGHT,myThid)
                3206                 WRITE(msgBuf,'(A,I10)')'DARWIN_DEBUG: proc ',np-1
                3207                 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3208      &                             SQUEEZE_RIGHT,myThid)
                3209                 WRITE(msgBuf,'(A,2I10)')'DARWIN_DEBUG: bi bj',bi,bj
                3210                 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3211      &                             SQUEEZE_RIGHT,myThid)
                3212                 WRITE(msgBuf,'(A,2I10)')'DARWIN_DEBUG: i j  ',i,j
                3213                 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3214      &                             SQUEEZE_RIGHT,myThid)
                3215                 WRITE(msgBuf,'(A,2I10)')'DARWIN_DEBUG: iBase jBase',
                3216      &                                  iBase,jBase
                3217                 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3218      &                             SQUEEZE_RIGHT,myThid)
                3219                 bufl(1) = XC(i,j,bi,bj)
                3220                 bufl(2) = YC(i,j,bi,bj)
                3221                 bufl(3) = R_low(i,j,bi,bj)
                3222                 CALL GATHER_VEC_R8(bufg, bufl, 3, myThid)
                3223 #ifdef ALLOW_USE_MPI
                3224                 IF( mpiMyId .EQ. 0 ) THEN
                3225 #else
                3226                 IF( .TRUE. ) THEN
                3227 #endif
                3228                   WRITE(msgBuf,'(A,2E24.16)')'DARWIN_DEBUG: XC YC',
                3229      &                                       bufg(1,np), bufg(2,np)
                3230                   CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3231      &                               SQUEEZE_RIGHT,myThid)
                3232                   WRITE(msgBuf,'(A,E24.16)')'DARWIN_DEBUG: R_low',
                3233      &                                      bufg(3,np)
                3234                   CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
                3235      &                               SQUEEZE_RIGHT,myThid)
                3236                 ENDIF
                3237               ENDIF
                3238 C            enddo i
                3239              ENDDO
                3240 C          enddo j
                3241            ENDDO
                3242 C       enddo bi,bj
                3243          ENDDO
                3244         ENDDO
                3245 C     enddo np
                3246       ENDDO
                3247 #endif /* ALLOW_DEBUG */
                3248 
                3249       _END_MASTER( myThid )
8fbfd1f382 Oliv*3250 
                3251 #endif /* ALLOW_DARWIN */
                3252 
                3253       RETURN
                3254       END