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
0007
0008
0009
0010
0011 SUBROUTINE OASIM_EXF_INIT_FIXED( myThid )
0012
0013
0014
0015
0016
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
0028 INTEGER myThid
0029
0030
0031
0032
0033
0034
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