Back to home page

darwin3

 
 

    


File indexing completed on 2025-09-13 12:07:39 UTC

view on githubraw file Latest commit 11d365ac on 2025-06-05 16:41:12 UTC
8fbfd1f382 Oliv*0001 #include "DARWIN_OPTIONS.h"
                0002 #include "EXF_OPTIONS.h"
                0003 
                0004 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0005 CBOP
                0006 C     !ROUTINE: DARWIN_EXF_INIT_FIXED
                0007 
                0008 C     !INTERFACE:
                0009       SUBROUTINE DARWIN_EXF_INIT_FIXED( myThid )
                0010 
                0011 C     !DESCRIPTION:
                0012 C     Initialize DARWIN constants for exf field loading
                0013 
                0014 C     !USES:
                0015       IMPLICIT NONE
                0016 #include "SIZE.h"
                0017 #include "EEPARAMS.h"
                0018 #include "PARAMS.h"
                0019 #include "EXF_PARAM.h"
d9e107d180 Oliv*0020 #include "EXF_INTERP_SIZE.h"
8fbfd1f382 Oliv*0021 #include "DARWIN_SIZE.h"
                0022 #include "DARWIN_EXF_PARAMS.h"
                0023 #include "DARWIN_EXF_FIELDS.h"
                0024 
                0025 C     !INPUT PARAMETERS:
                0026       INTEGER myThid
                0027 CEOP
                0028 
                0029 C     !LOCAL VARIABLES:
                0030 C     === Local variables ===
                0031 C     msgBuf    :: Informational/error message buffer
                0032 C     errCount  :: error counter
                0033       CHARACTER*(MAX_LEN_MBUF) msgBuf
                0034       INTEGER errCount
                0035 
                0036 #ifdef ALLOW_DARWIN
                0037 #ifdef ALLOW_EXF
                0038 
                0039       _BEGIN_MASTER( myThid )
                0040       errCount = 0
                0041 
                0042 
                0043       IF ( PARfile .NE. ' ' ) THEN
                0044 # ifdef ALLOW_DEBUG
6ed0cf4850 Oliv*0045        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START PAR',
                0046      &  myThid)
8fbfd1f382 Oliv*0047 # endif
8674933af5 Oliv*0048        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0049      I                         'darwin', 'PAR', PARperiod,
                0050      I                         PARstartdate1, PARstartdate2,
                0051      U                         PARStartTime, errCount,
                0052      I                         myThid )
8fbfd1f382 Oliv*0053       ENDIF
                0054 
                0055       IF ( ironfile .NE. ' ' ) THEN
                0056 # ifdef ALLOW_DEBUG
6ed0cf4850 Oliv*0057        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START iron',
                0058      &  myThid)
8fbfd1f382 Oliv*0059 # endif
8674933af5 Oliv*0060        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0061      I                         'darwin', 'iron', ironperiod,
                0062      I                         ironstartdate1, ironstartdate2,
                0063      U                         ironStartTime, errCount,
                0064      I                         myThid )
8fbfd1f382 Oliv*0065       ENDIF
                0066 
                0067       IF ( icefile .NE. ' ' ) THEN
                0068 # ifdef ALLOW_DEBUG
6ed0cf4850 Oliv*0069        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START ice',
                0070      &  myThid)
8fbfd1f382 Oliv*0071 # endif
8674933af5 Oliv*0072        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0073      I                         'darwin', 'ice', iceperiod,
                0074      I                         icestartdate1, icestartdate2,
                0075      U                         iceStartTime, errCount,
                0076      I                         myThid )
8fbfd1f382 Oliv*0077       ENDIF
                0078 
                0079       IF ( windfile .NE. ' ' ) THEN
                0080 # ifdef ALLOW_DEBUG
6ed0cf4850 Oliv*0081        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START wind',
                0082      &  myThid)
8fbfd1f382 Oliv*0083 # endif
8674933af5 Oliv*0084        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0085      I                         'darwin', 'wind', windperiod,
                0086      I                         windstartdate1, windstartdate2,
                0087      U                         windStartTime, errCount,
                0088      I                         myThid )
8fbfd1f382 Oliv*0089       ENDIF
                0090 
                0091       IF ( pCO2file .NE. ' ' ) THEN
                0092 # ifdef ALLOW_DEBUG
6ed0cf4850 Oliv*0093        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START pCO2',
                0094      &  myThid)
                0095 # endif
                0096        CALL EXF_GETFFIELD_START( useExfYearlyFields,
                0097      I                         'darwin', 'pCO2', pCO2period,
                0098      I                         pCO2startdate1, pCO2startdate2,
                0099      U                         pCO2StartTime, errCount,
                0100      I                         myThid )
                0101       ENDIF
                0102 
                0103       IF ( ventHe3file .NE. ' ' ) THEN
                0104 # ifdef ALLOW_DEBUG
                0105        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START ventHe3',
                0106      &  myThid)
8fbfd1f382 Oliv*0107 # endif
8674933af5 Oliv*0108        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0109      I                         'darwin', 'ventHe3', ventHe3period,
                0110      I                         ventHe3startdate1, ventHe3startdate2,
                0111      U                         ventHe3StartTime, errCount,
                0112      I                         myThid )
8fbfd1f382 Oliv*0113       ENDIF
                0114 
e79020cc6e Oliv*0115       IF ( DOCrunofffile .NE. ' ' ) THEN
                0116 # ifdef ALLOW_DEBUG
                0117        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START DOCrunoff',
                0118      &  myThid)
                0119 # endif
                0120        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0121      I                         'darwin', 'DOCrunoff', DOCrunoffperiod,
                0122      I                         DOCrunoffstartdate1, DOCrunoffstartdate2,
                0123      U                         DOCrunoffStartTime, errCount,
                0124      I                         myThid )
e79020cc6e Oliv*0125       ENDIF
                0126 
                0127       IF ( DONrunofffile .NE. ' ' ) THEN
                0128 # ifdef ALLOW_DEBUG
                0129        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START DONrunoff',
                0130      &  myThid)
                0131 # endif
                0132        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0133      I                         'darwin', 'DONrunoff', DONrunoffperiod,
                0134      I                         DONrunoffstartdate1, DONrunoffstartdate2,
                0135      U                         DONrunoffStartTime, errCount,
                0136      I                         myThid )
e79020cc6e Oliv*0137       ENDIF
                0138 
                0139       IF ( DOPrunofffile .NE. ' ' ) THEN
                0140 # ifdef ALLOW_DEBUG
                0141        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START DOPrunoff',
                0142      &  myThid)
                0143 # endif
                0144        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0145      I                         'darwin', 'DOPrunoff', DOPrunoffperiod,
                0146      I                         DOPrunoffstartdate1, DOPrunoffstartdate2,
                0147      U                         DOPrunoffStartTime, errCount,
                0148      I                         myThid )
e79020cc6e Oliv*0149       ENDIF
                0150 
                0151       IF ( DINrunofffile .NE. ' ' ) THEN
                0152 # ifdef ALLOW_DEBUG
                0153        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START DINrunoff',
                0154      &  myThid)
                0155 # endif
                0156        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0157      I                         'darwin', 'DINrunoff', DINrunoffperiod,
                0158      I                         DINrunoffstartdate1, DINrunoffstartdate2,
                0159      U                         DINrunoffStartTime, errCount,
                0160      I                         myThid )
e79020cc6e Oliv*0161       ENDIF
                0162 
11d365acff Oliv*0163       IF ( NO3runofffile .NE. ' ' ) THEN
                0164 # ifdef ALLOW_DEBUG
                0165        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START NO3runoff',
                0166      &  myThid)
                0167 # endif
                0168        CALL EXF_GETFFIELD_START( useExfYearlyFields,
                0169      I                         'darwin', 'NO3runoff', NO3runoffperiod,
                0170      I                         NO3runoffstartdate1, NO3runoffstartdate2,
                0171      U                         NO3runoffStartTime, errCount,
                0172      I                         myThid )
                0173       ENDIF
                0174 
                0175       IF ( NO2runofffile .NE. ' ' ) THEN
                0176 # ifdef ALLOW_DEBUG
                0177        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START NO2runoff',
                0178      &  myThid)
                0179 # endif
                0180        CALL EXF_GETFFIELD_START( useExfYearlyFields,
                0181      I                         'darwin', 'NO2runoff', NO2runoffperiod,
                0182      I                         NO2runoffstartdate1, NO2runoffstartdate2,
                0183      U                         NO2runoffStartTime, errCount,
                0184      I                         myThid )
                0185       ENDIF
                0186 
                0187       IF ( NH4runofffile .NE. ' ' ) THEN
                0188 # ifdef ALLOW_DEBUG
                0189        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START NH4runoff',
                0190      &  myThid)
                0191 # endif
                0192        CALL EXF_GETFFIELD_START( useExfYearlyFields,
                0193      I                         'darwin', 'NH4runoff', NH4runoffperiod,
                0194      I                         NH4runoffstartdate1, NH4runoffstartdate2,
                0195      U                         NH4runoffStartTime, errCount,
                0196      I                         myThid )
                0197       ENDIF
                0198 
e79020cc6e Oliv*0199       IF ( IPrunofffile .NE. ' ' ) THEN
                0200 # ifdef ALLOW_DEBUG
                0201        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START IPrunoff',
                0202      &  myThid)
                0203 # endif
                0204        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0205      I                         'darwin', 'IPrunoff', IPrunoffperiod,
                0206      I                         IPrunoffstartdate1, IPrunoffstartdate2,
                0207      U                         IPrunoffStartTime, errCount,
                0208      I                         myThid )
e79020cc6e Oliv*0209       ENDIF
                0210 
                0211       IF ( DSirunofffile .NE. ' ' ) THEN
                0212 # ifdef ALLOW_DEBUG
                0213        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START DSirunoff',
                0214      &  myThid)
                0215 # endif
                0216        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0217      I                         'darwin', 'DSirunoff', DSirunoffperiod,
                0218      I                         DSirunoffstartdate1, DSirunoffstartdate2,
                0219      U                         DSirunoffStartTime, errCount,
                0220      I                         myThid )
e79020cc6e Oliv*0221       ENDIF
                0222 
                0223       IF ( POCrunofffile .NE. ' ' ) THEN
                0224 # ifdef ALLOW_DEBUG
                0225        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START POCrunoff',
                0226      &  myThid)
                0227 # endif
                0228        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0229      I                         'darwin', 'POCrunoff', POCrunoffperiod,
                0230      I                         POCrunoffstartdate1, POCrunoffstartdate2,
                0231      U                         POCrunoffStartTime, errCount,
                0232      I                         myThid )
e79020cc6e Oliv*0233       ENDIF
                0234 
                0235       IF ( POPrunofffile .NE. ' ' ) THEN
                0236 # ifdef ALLOW_DEBUG
                0237        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START POPrunoff',
                0238      &  myThid)
                0239 # endif
                0240        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0241      I                         'darwin', 'POPrunoff', POPrunoffperiod,
                0242      I                         POPrunoffstartdate1, POPrunoffstartdate2,
                0243      U                         POPrunoffStartTime, errCount,
                0244      I                         myThid )
e79020cc6e Oliv*0245       ENDIF
                0246 
                0247       IF ( PONrunofffile .NE. ' ' ) THEN
                0248 # ifdef ALLOW_DEBUG
                0249        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START PONrunoff',
                0250      &  myThid)
                0251 # endif
                0252        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0253      I                         'darwin', 'PONrunoff', PONrunoffperiod,
                0254      I                         PONrunoffstartdate1, PONrunoffstartdate2,
                0255      U                         PONrunoffStartTime, errCount,
                0256      I                         myThid )
e79020cc6e Oliv*0257       ENDIF
                0258 
                0259       IF ( DICrunofffile .NE. ' ' ) THEN
                0260 # ifdef ALLOW_DEBUG
                0261        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START DICrunoff',
                0262      &  myThid)
                0263 # endif
                0264        CALL EXF_GETFFIELD_START( useExfYearlyFields,
6ed0cf4850 Oliv*0265      I                         'darwin', 'DICrunoff', DICrunoffperiod,
                0266      I                         DICrunoffstartdate1, DICrunoffstartdate2,
                0267      U                         DICrunoffStartTime, errCount,
                0268      I                         myThid )
e79020cc6e Oliv*0269       ENDIF
                0270 
8fbfd1f382 Oliv*0271       IF ( errCount.GE.1 ) THEN
                0272        WRITE(msgBuf,'(A,I3,A)')
                0273      &     'DARWIN_EXF_INIT_FIXED: detected', errCount,' fatal error(s)'
                0274        CALL PRINT_ERROR( msgBuf, myThid )
                0275        CALL ALL_PROC_DIE( 0 )
                0276        STOP 'ABNORMAL END: S/R DARWIN_EXF_INIT_FIXED'
                0277       ENDIF
                0278 
                0279       _END_MASTER( myThid )
                0280       _BARRIER
                0281 
                0282 #endif /* ALLOW_EXF */
                0283 #endif /* ALLOW_DARWIN */
                0284 
                0285       RETURN
                0286       END