Back to home page

darwin3

 
 

    


File indexing completed on 2024-12-17 18:37:23 UTC

view on githubraw file Latest commit 87dd4f7d on 2024-01-17 18:17:24 UTC
87dd4f7d5f Oliv*0001 #include "OASIM_OPTIONS.h"
                0002 #ifdef ALLOW_EXF
                0003 #include "EXF_OPTIONS.h"
                0004 #endif
                0005 
                0006 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0007 CBOP
                0008 C     !ROUTINE: OASIM_EXF_INIT_FIXED
                0009 
                0010 C     !INTERFACE:
                0011       SUBROUTINE OASIM_EXF_INIT_FIXED( myThid )
                0012 
                0013 C     !DESCRIPTION:
                0014 C     Initialize OASIM constants for exf field loading
                0015 
                0016 C     !USES:
                0017       IMPLICIT NONE
                0018 #include "SIZE.h"
                0019 #include "EEPARAMS.h"
                0020 #include "PARAMS.h"
                0021 #ifdef ALLOW_EXF
                0022 #include "EXF_INTERP_SIZE.h"
                0023 #endif
                0024 #include "OASIM_SIZE.h"
                0025 #include "OASIM_EXF_PARAMS.h"
                0026 
                0027 C     !INPUT PARAMETERS:
                0028       INTEGER myThid
                0029 CEOP
                0030 
                0031 C     !LOCAL VARIABLES:
                0032 C     === Local variables ===
                0033 C     msgBuf    :: Informational/error message buffer
                0034 C     errCount  :: error counter
                0035       CHARACTER*(MAX_LEN_MBUF) msgBuf
                0036       INTEGER errCount
                0037 
                0038 #ifdef ALLOW_OASIM
                0039 #ifdef ALLOW_EXF
                0040 
                0041       _BEGIN_MASTER( myThid )
                0042       errCount = 0
                0043 
                0044       IF ( aerTaufile .NE. ' ' ) THEN
                0045 # ifdef ALLOW_DEBUG
                0046        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START aerTau',myThid)
                0047 # endif
                0048        CALL EXF_GETFFIELD_START( useOasimYearlyFields,
                0049      I                           'oasim', 'aerTau', aerTauperiod,
                0050      I                           aerTaustartdate1, aerTaustartdate2,
                0051      U                           aerTauStartTime, errCount,
                0052      I                           myThid )
                0053       ENDIF
                0054 
                0055       IF ( asympfile .NE. ' ' ) THEN
                0056 # ifdef ALLOW_DEBUG
                0057        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START asymp',myThid)
                0058 # endif
                0059        CALL EXF_GETFFIELD_START( useOasimYearlyFields,
                0060      I                           'oasim', 'asymp', asympperiod,
                0061      I                           asympstartdate1, asympstartdate2,
                0062      U                           asympStartTime, errCount,
                0063      I                           myThid )
                0064       ENDIF
                0065 
                0066       IF ( ssalbfile .NE. ' ' ) THEN
                0067 # ifdef ALLOW_DEBUG
                0068        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START ssalb',myThid)
                0069 # endif
                0070        CALL EXF_GETFFIELD_START( useOasimYearlyFields,
                0071      I                           'oasim', 'ssalb', ssalbperiod,
                0072      I                           ssalbstartdate1, ssalbstartdate2,
                0073      U                           ssalbStartTime, errCount,
                0074      I                           myThid )
                0075       ENDIF
                0076 
                0077       IF ( cldcovfile .NE. ' ' ) THEN
                0078 # ifdef ALLOW_DEBUG
                0079        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START cldcov',myThid)
                0080 # endif
                0081        CALL EXF_GETFFIELD_START( useOasimYearlyFields,
                0082      I                           'oasim', 'cldcov', cldcovperiod,
                0083      I                           cldcovstartdate1, cldcovstartdate2,
                0084      U                           cldcovStartTime, errCount,
                0085      I                           myThid )
                0086       ENDIF
                0087 
                0088       IF ( cldlwpfile .NE. ' ' ) THEN
                0089 # ifdef ALLOW_DEBUG
                0090        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START cldlwp',myThid)
                0091 # endif
                0092        CALL EXF_GETFFIELD_START( useOasimYearlyFields,
                0093      I                           'oasim', 'cldlwp', cldlwpperiod,
                0094      I                           cldlwpstartdate1, cldlwpstartdate2,
                0095      U                           cldlwpStartTime, errCount,
                0096      I                           myThid )
                0097       ENDIF
                0098 
                0099       IF ( cldrefile .NE. ' ' ) THEN
                0100 # ifdef ALLOW_DEBUG
                0101        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START cldre',myThid)
                0102 # endif
                0103        CALL EXF_GETFFIELD_START( useOasimYearlyFields,
                0104      I                           'oasim', 'cldre', cldreperiod,
                0105      I                           cldrestartdate1, cldrestartdate2,
                0106      U                           cldreStartTime, errCount,
                0107      I                           myThid )
                0108       ENDIF
                0109 
                0110       IF ( presfile .NE. ' ' ) THEN
                0111 # ifdef ALLOW_DEBUG
                0112        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START pres',myThid)
                0113 # endif
                0114        CALL EXF_GETFFIELD_START( useOasimYearlyFields,
                0115      I                           'oasim', 'pres', presperiod,
                0116      I                           presstartdate1, presstartdate2,
                0117      U                           presStartTime, errCount,
                0118      I                           myThid )
                0119       ENDIF
                0120 
                0121       IF ( oawindfile .NE. ' ' ) THEN
                0122 # ifdef ALLOW_DEBUG
                0123        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START oawind',myThid)
                0124 # endif
                0125        CALL EXF_GETFFIELD_START( useOasimYearlyFields,
                0126      I                           'oasim', 'oawind', oawindperiod,
                0127      I                           oawindstartdate1, oawindstartdate2,
                0128      U                           oawindStartTime, errCount,
                0129      I                           myThid )
                0130       ENDIF
                0131 
                0132       IF ( relhumfile .NE. ' ' ) THEN
                0133 # ifdef ALLOW_DEBUG
                0134        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START relhum',myThid)
                0135 # endif
                0136        CALL EXF_GETFFIELD_START( useOasimYearlyFields,
                0137      I                           'oasim', 'relhum', relhumperiod,
                0138      I                           relhumstartdate1, relhumstartdate2,
                0139      U                           relhumStartTime, errCount,
                0140      I                           myThid )
                0141       ENDIF
                0142 
                0143       IF ( ozonefile .NE. ' ' ) THEN
                0144 # ifdef ALLOW_DEBUG
                0145        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START ozone',myThid)
                0146 # endif
                0147        CALL EXF_GETFFIELD_START( useOasimYearlyFields,
                0148      I                           'oasim', 'ozone', ozoneperiod,
                0149      I                           ozonestartdate1, ozonestartdate2,
                0150      U                           ozoneStartTime, errCount,
                0151      I                           myThid )
                0152       ENDIF
                0153 
                0154       IF ( wvfile .NE. ' ' ) THEN
                0155 # ifdef ALLOW_DEBUG
                0156        IF (debugMode) CALL DEBUG_CALL('GETFFIELD_START wv',myThid)
                0157 # endif
                0158        CALL EXF_GETFFIELD_START( useOasimYearlyFields,
                0159      I                           'oasim', 'wv', wvperiod,
                0160      I                           wvstartdate1, wvstartdate2,
                0161      U                           wvStartTime, errCount,
                0162      I                           myThid )
                0163       ENDIF
                0164 
                0165       IF ( errCount.GE.1 ) THEN
                0166        WRITE(msgBuf,'(A,I3,A)')
                0167      &     'OASIM_EXF_INIT_FIXED: detected', errCount,' fatal error(s)'
                0168        CALL PRINT_ERROR( msgBuf, myThid )
                0169        CALL ALL_PROC_DIE( 0 )
                0170        STOP 'ABNORMAL END: S/R OASIM_EXF_INIT_FIXED'
                0171       ENDIF
                0172 
                0173       _END_MASTER( myThid )
                0174       _BARRIER
                0175 
                0176 #endif /* ALLOW_EXF */
                0177 #endif /* ALLOW_OASIM */
                0178 
                0179       RETURN
                0180       END