File indexing completed on 2026-01-27 18:49:50 UTC
view on githubraw file Latest commit 2a2b7d0c on 2026-01-08 18:45:18 UTC
daab022f42 Step*0001 #include "GCHEM_OPTIONS.h"
0002
0003
0004
0005
0006
0007 SUBROUTINE GCHEM_READPARMS( myThid )
0008
0009
33df540eda Mart*0010
daab022f42 Step*0011
0012
0013 IMPLICIT NONE
0014 #include "SIZE.h"
0015 #include "EEPARAMS.h"
e1858e35fd Step*0016 #include "PARAMS.h"
daab022f42 Step*0017 #include "GCHEM.h"
2a2b7d0c36 Mart*0018 #ifdef ALLOW_CAL
0019 # include "cal.h"
0020 #endif
daab022f42 Step*0021
0022
011faa4555 Jean*0023
daab022f42 Step*0024 INTEGER myThid
0025
0026
0027
0028
5bff508b97 Step*0029 #ifdef ALLOW_GCHEM
daab022f42 Step*0030
0031
011faa4555 Jean*0032
0033
0034
e1858e35fd Step*0035 INTEGER tIter0
daab022f42 Step*0036 INTEGER iUnit
0037 CHARACTER*(MAX_LEN_MBUF) msgBuf
0038
0039
35ea67eed4 Davi*0040
0041
0042
727f3ba9e2 Jean*0043 NAMELIST /GCHEM_PARM01/
35ea67eed4 Davi*0044 & useCFC,
0b2b69e236 Jean*0045 & useDIC,
0046 & useBLING,
011faa4555 Jean*0047 & useSPOIL,
5dae554984 Oliv*0048 & useDARWIN,
011faa4555 Jean*0049 & fileName1, fileName2, fileName3,
0050 & fileName4, fileName5,
9b49463ca4 Step*0051 & gchem_int1, gchem_int2, gchem_int3,
011faa4555 Jean*0052 & gchem_int4, gchem_int5, nsubtime,
9b49463ca4 Step*0053 & gchem_rl1, gchem_rl2, gchem_rl3,
e1858e35fd Step*0054 & gchem_rl4, gchem_rl5,
35ea67eed4 Davi*0055 & gchem_ForcingPeriod, gchem_ForcingCycle,
2a2b7d0c36 Mart*0056 & gchem_secondsPerYear,
35ea67eed4 Davi*0057 & tIter0
727f3ba9e2 Jean*0058
652de42f4a Jean*0059
0060
ae4c29e0db Jean*0061 IF ( .NOT.useGCHEM ) THEN
0062
0063 _BEGIN_MASTER(myThid)
0064
0065
0066 CALL PACKAGES_UNUSED_MSG( 'useGCHEM', ' ', ' ' )
0067 _END_MASTER(myThid)
0068 RETURN
0069 ENDIF
0070
652de42f4a Jean*0071 _BEGIN_MASTER(myThid)
0072
011faa4555 Jean*0073
652de42f4a Jean*0074 useCFC = .FALSE.
0b2b69e236 Jean*0075 useDIC = .FALSE.
0076 useBLING = .FALSE.
011faa4555 Jean*0077 useSPOIL = .FALSE.
5dae554984 Oliv*0078 useDARWIN = .FALSE.
727f3ba9e2 Jean*0079 tIter0 = UNSET_I
011faa4555 Jean*0080 fileName1=' '
0081 fileName2=' '
0082 fileName3=' '
0083 fileName4=' '
0084 fileName5=' '
0085 nsubtime = 1
9b49463ca4 Step*0086 gchem_int1=0
0087 gchem_int2=0
0088 gchem_int3=0
0089 gchem_int4=0
0090 gchem_int5=0
71ebe3095c Davi*0091 gchem_rl1=0. _d 0
0092 gchem_rl2=0. _d 0
0093 gchem_rl3=0. _d 0
0094 gchem_rl4=0. _d 0
0095 gchem_rl5=0. _d 0
011faa4555 Jean*0096
e1858e35fd Step*0097 gchem_ForcingPeriod=externForcingPeriod
0098 gchem_ForcingCycle=externForcingCycle
2a2b7d0c36 Mart*0099
0100 gchem_secondsPerYear = 360. _d 0 * 86400. _d 0
0101 #ifdef ALLOW_CAL
0102 IF ( useCAL ) THEN
0103 IF ( theCalendar .EQ. 'gregorian') THEN
0104 gchem_secondsPerYear = 365.25 _d 0*86400. _d 0
0105 ELSEIF ( theCalendar .EQ. 'noLeapYear') THEN
0106 gchem_secondsPerYear = 365.00 _d 0*86400. _d 0
0107 ENDIF
0108 ENDIF
0109 #endif
011faa4555 Jean*0110
daab022f42 Step*0111 WRITE(msgBuf,'(A)') ' GCHEM_READPARMS: opening data.gchem'
011faa4555 Jean*0112 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0113 & SQUEEZE_RIGHT, myThid )
daab022f42 Step*0114 CALL OPEN_COPY_DATA_FILE(
0115 I 'data.gchem', 'GCHEM_PARM01',
0116 O iUnit,
0117 I myThid )
0118 READ(UNIT=iUnit,NML=GCHEM_PARM01)
0119 WRITE(msgBuf,'(A)')
0120 & ' GCHEM_READPARMS: finished reading data.gchem'
011faa4555 Jean*0121 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0122 & SQUEEZE_RIGHT, myThid )
daab022f42 Step*0123
011faa4555 Jean*0124
7a77863887 Mart*0125 #ifdef SINGLE_DISK_IO
daab022f42 Step*0126 CLOSE(iUnit)
7a77863887 Mart*0127 #else
0128 CLOSE(iUnit,STATUS='DELETE')
0129 #endif /* SINGLE_DISK_IO */
727f3ba9e2 Jean*0130
0131
0132 IF ( tIter0 .NE. UNSET_I ) THEN
0133
0134 WRITE(msgBuf,'(A,A)')
0135 & 'S/R GCHEM_READPARMS: Paramater "tIter0" is',
0136 & ' no longer allowed in file "data.gchem"'
011faa4555 Jean*0137 CALL PRINT_ERROR( msgBuf, myThid )
727f3ba9e2 Jean*0138 WRITE(msgBuf,'(A,A)')
0139 & 'S/R GCHEM_READPARMS: "tIter0" has been moved to',
0140 & ' PTRACERS_Iter0 in file "data.ptracers".'
011faa4555 Jean*0141 CALL PRINT_ERROR( msgBuf, myThid )
727f3ba9e2 Jean*0142 STOP 'ABNORMAL END: S/R GCHEM_READPARMS'
0143 ENDIF
0144
daab022f42 Step*0145 _END_MASTER(myThid)
0146
011faa4555 Jean*0147
175f667f88 Jean*0148 _BARRIER
0149
0b2b69e236 Jean*0150 #ifdef ALLOW_CFC
0151 IF ( useCFC ) THEN
0152 CALL CFC_READPARMS(myThid)
0153 ENDIF
0154 #endif
0155
bcb8efaf8a Davi*0156 #ifdef ALLOW_DIC
0157 IF ( useDIC ) THEN
175f667f88 Jean*0158 CALL DIC_READPARMS(myThid)
bcb8efaf8a Davi*0159 ENDIF
0160 #endif
0161
0b2b69e236 Jean*0162 #ifdef ALLOW_BLING
0163 IF ( useBLING ) THEN
0164 CALL BLING_READPARMS(myThid)
254eed5bf2 Davi*0165 ENDIF
0166 #endif
0167
011faa4555 Jean*0168 #ifdef ALLOW_SPOIL
0169 IF ( useSPOIL ) THEN
0170 CALL SPOIL_READPARMS(myThid)
0171 ENDIF
0172 #endif
0173
5dae554984 Oliv*0174 #ifdef ALLOW_DARWIN
0175 IF ( useDARWIN ) THEN
0176 CALL DARWIN_READPARMS(myThid)
0177 ENDIF
0178 #endif
0179
011faa4555 Jean*0180
0181 CALL GCHEM_TR_REGISTER( myThid )
0182
969f3d7839 Mart*0183 #endif /* ALLOW_GCHEM */
daab022f42 Step*0184
0185 RETURN
0186 END