Page 1 Source Listing O3INT 2025-03-12 18:21 /tmp/ifortDrucrC.i 1 # 1 "O3INT.F" 2 C&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 3 SUBROUTINE O3INT(PHALF) 4 # 1 "./sp.h" 1 5 # 4 6 7 # 4 "O3INT.F" 2 8 CFPP$ NOCONCUR R 9 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 10 C . . . . 11 C SUBPROGRAM: O3INT COMPUTE ZONAL MEAN OZONE FOR ETA LYRS 12 C PRGMMR: KENNETH CAMPANA ORG: W/NMC23 DATE: 89-07-07 13 C MICHAEL BALDWIN ORG: W/NMC22 DATE: 92-06-08 14 C 15 C ABSTRACT: THIS CODE WRITTEN AT GFDL... 16 C CALCULATES SEASONAL ZONAL MEAN OZONE,EVERY 5 DEG OF LATITUDE, 17 C FOR CURRENT MODEL VERTICAL COORDINATE. OUTPUT DATA IN G/G * 1.E4 18 C CODE IS CALLED ONLY ONCE. 19 C 20 C PROGRAM HISTORY LOG: 21 C 84-01-01 FELS AND SCHWARZKOPF,GFDL. 22 C 89-07-07 K. CAMPANA - ADAPTED STAND-ALONE CODE FOR IN-LINE USE. 23 C 92-06-08 M. BALDWIN - UPDATE TO RUN IN ETA MODEL 24 C 25 C USAGE: CALL O3INT(O3,SIGL) OLD 26 C INPUT ARGUMENT LIST: 27 C PHALF - MID LAYER PRESSURE (K=LM+1 IS MODEL SURFACE) 28 C OUTPUT ARGUMENT LIST: 29 C DDUO3N - ZONAL MEAN OZONE DATA IN ALL MODEL LAYERS (G/G*1.E4) 30 C DDO3N2 DIMENSIONED(L,N),WHERE L(=37) IS LATITUDE BETWEEN 31 C DDO3N3 N AND S POLES,N=NUM OF VERTICAL LYRS(K=1 IS TOP LYR) 32 C DDO3N4 AND SEASON-WIN,SPR,SUM,FALL. 33 C IN COMMON 34 C 35 C OUTPUT FILES: 36 C OUTPUT - PRINT FILE. 37 C 38 C ATTRIBUTES: 39 C LANGUAGE: FORTRAN 200. 40 C 41 C$$$ 42 C.... PROGRAM O3INT FROM DAN SCHWARZKOPF-GETS ZONAL MEAN O3 43 C.. OUTPUT O3 IS WINTER,SPRING,SUMMER,FALL (NORTHERN HEMISPHERE) 44 C----------------------------------------------------------------------- 45 INCLUDE "parmeta" 46 C----------------------------------------------------------------------- 47 C ********************************************************* 70 PARAMETER (N=LM,NP=N+1,NP2=N+2,NM1=N-1) 71 C ********************************************************* 72 C----------------------------------------------------------------------- 73 C*** 74 C*** SEASONAL CLIMATOLOGIES OF O3 (OBTAINED FROM A PREVIOUSLY RUN 75 C*** CODE WHICH INTERPOLATES O3 TO USER VERTICAL COORDINATE). 76 C*** DEFINED AS 5 DEG LAT MEANS N.P.->S.P. 77 C*** 78 C O M M O N /SAVMEM/ 79 C ...WINTER.... ...SPRING.... ...SUMMER.... ....FALL..... Page 2 Source Listing O3INT 2025-03-12 18:21 O3INT.F 80 1 DDUO3N(37,LM), DDO3N2(37,LM), DDO3N3(37,LM), DDO3N4(37,LM) 81 C ..... K.CAMPANA OCTOBER 1988 82 CCCC DIMENSION T41(NP2,2),O3O3(37,N,4) 83 C DIMENSION SIGL(N) 84 C ********************************************************* 85 DIMENSION QI(82) 86 DIMENSION DDUO3(19,N),RO31(10,41),RO32(10,41),DUO3N(19,41) 87 DIMENSION TEMPN(19) 88 DIMENSION O3HI(10,25),O3LO1(10,16),O3LO2(10,16),O3LO3(10,16), 89 1 O3LO4(10,16) 90 DIMENSION O3HI1(10,16),O3HI2(10,9),PH1(45),PH2(37),P1(48),P2(33) 91 DIMENSION O35DEG(37,N) 92 DIMENSION RSTD(81),RO3(10,41),RO3M(10,40),RBAR(N),RDATA(81), 93 1 PHALF(NP),P(81),PH(82) 94 EQUIVALENCE (O3HI1(1,1),O3HI(1,1)),(O3HI2(1,1),O3HI(1,17)) 95 EQUIVALENCE (PH1(1),PH(1)),(PH2(1),PH(46)) 96 EQUIVALENCE (P1(1),P(1)),(P2(1),P(49)) 97 DATA PH1/ 0., 98 1 0.1027246E-04, 0.1239831E-04, 0.1491845E-04, 0.1788053E-04, 99 1 0.2135032E-04, 0.2540162E-04, 0.3011718E-04, 0.3558949E-04, 100 1 0.4192172E-04, 0.4922875E-04, 0.5763817E-04, 0.6729146E-04, 101 1 0.7834518E-04, 0.9097232E-04, 0.1053635E-03, 0.1217288E-03, 102 1 0.1402989E-03, 0.1613270E-03, 0.1850904E-03, 0.2119495E-03, 103 1 0.2423836E-03, 0.2768980E-03, 0.3160017E-03, 0.3602623E-03, 104 1 0.4103126E-03, 0.4668569E-03, 0.5306792E-03, 0.6026516E-03, 105 1 0.6839018E-03, 0.7759249E-03, 0.8803303E-03, 0.9987843E-03, 106 1 0.1133178E-02, 0.1285955E-02, 0.1460360E-02, 0.1660001E-02, 107 1 0.1888764E-02, 0.2151165E-02, 0.2452466E-02, 0.2798806E-02, 108 1 0.3197345E-02, 0.3656456E-02, 0.4185934E-02, 0.4797257E-02/ 109 DATA PH2/ 110 1 0.5503893E-02, 0.6321654E-02, 0.7269144E-02, 0.8368272E-02, 111 1 0.9644873E-02, 0.1112946E-01, 0.1285810E-01, 0.1487354E-01, 112 1 0.1722643E-01, 0.1997696E-01, 0.2319670E-01, 0.2697093E-01, 113 1 0.3140135E-01, 0.3660952E-01, 0.4274090E-01, 0.4996992E-01, 114 1 0.5848471E-01, 0.6847525E-01, 0.8017242E-01, 0.9386772E-01, 115 1 0.1099026E 00, 0.1286765E 00, 0.1506574E 00, 0.1763932E 00, 116 1 0.2065253E 00, 0.2415209E 00, 0.2814823E 00, 0.3266369E 00, 117 1 0.3774861E 00, 0.4345638E 00, 0.4984375E 00, 0.5697097E 00, 118 1 0.6490189E 00, 0.7370409E 00, 0.8344896E 00, 0.9421190E 00, 119 1 0.1000000E 01/ 120 DATA P1/ 121 1 0.9300000E-05, 0.1129521E-04, 0.1360915E-04, 0.1635370E-04, 122 1 0.1954990E-04, 0.2331653E-04, 0.2767314E-04, 0.3277707E-04, 123 1 0.3864321E-04, 0.4547839E-04, 0.5328839E-04, 0.6234301E-04, 124 1 0.7263268E-04, 0.8450696E-04, 0.9793231E-04, 0.1133587E-03, 125 1 0.1307170E-03, 0.1505832E-03, 0.1728373E-03, 0.1982122E-03, 126 1 0.2266389E-03, 0.2592220E-03, 0.2957792E-03, 0.3376068E-03, 127 1 0.3844381E-03, 0.4379281E-03, 0.4976965E-03, 0.5658476E-03, 128 1 0.6418494E-03, 0.7287094E-03, 0.8261995E-03, 0.9380076E-03, 129 1 0.1063498E-02, 0.1207423E-02, 0.1369594E-02, 0.1557141E-02, 130 1 0.1769657E-02, 0.2015887E-02, 0.2295520E-02, 0.2620143E-02, 131 1 0.2989651E-02, 0.3419469E-02, 0.3909867E-02, 0.4481491E-02, 132 1 0.5135272E-02, 0.5898971E-02, 0.6774619E-02, 0.7799763E-02/ 133 DATA P2/ 134 1 0.8978218E-02, 0.1036103E-01, 0.1195488E-01, 0.1382957E-01, 135 1 0.1599631E-01, 0.1855114E-01, 0.2151235E-01, 0.2501293E-01, 136 1 0.2908220E-01, 0.3390544E-01, 0.3952926E-01, 0.4621349E-01, Page 3 Source Listing O3INT 2025-03-12 18:21 O3INT.F 137 1 0.5403168E-01, 0.6330472E-01, 0.7406807E-01, 0.8677983E-01, 138 1 0.1015345E 00, 0.1189603E 00, 0.1391863E 00, 0.1630739E 00, 139 1 0.1908004E 00, 0.2235461E 00, 0.2609410E 00, 0.3036404E 00, 140 1 0.3513750E 00, 0.4055375E 00, 0.4656677E 00, 0.5335132E 00, 141 1 0.6083618E 00, 0.6923932E 00, 0.7845676E 00, 0.8875882E 00, 142 1 0.1000000E 01/ 143 DATA O3HI1/ 144 * .55,.50,.45,.45,.40,.35,.35,.30,.30,.30, 145 * .55,.51,.46,.47,.42,.38,.37,.36,.35,.35, 146 * .55,.53,.48,.49,.44,.42,.41,.40,.38,.38, 147 * .60,.55,.52,.52,.50,.47,.46,.44,.42,.41, 148 * .65,.60,.55,.56,.53,.52,.50,.48,.45,.45, 149 * .75,.65,.60,.60,.55,.55,.55,.50,.48,.47, 150 * .80,.75,.75,.75,.70,.70,.65,.63,.60,.60, 151 * .90,.85,.85,.80,.80,.75,.75,.74,.72,.71, 152 * 1.10,1.05,1.00,.90,.90,.90,.85,.83,.80,.80, 153 * 1.40,1.30,1.25,1.25,1.25,1.20,1.15,1.10,1.05,1.00, 154 * 1.7,1.7,1.6,1.6,1.6,1.6,1.6,1.6,1.5,1.5, 155 * 2.1,2.0,1.9,1.9,1.9,1.8,1.8,1.8,1.7,1.7, 156 * 2.4,2.3,2.2,2.2,2.2,2.1,2.1,2.1,2.0,2.0, 157 * 2.7,2.5,2.5,2.5,2.5,2.5,2.4,2.4,2.3,2.3, 158 * 2.9,2.8,2.7,2.7,2.7,2.7,2.7,2.7,2.6,2.6, 159 * 3.1,3.1,3.0,3.0,3.0,3.0,3.0,3.0,2.9,2.8/ 160 DATA O3HI2/ 161 * 3.3,3.4,3.4,3.6,3.7,3.9,4.0,4.1,4.0,3.8, 162 * 3.6,3.8,3.9,4.2,4.7,5.3,5.6,5.7,5.5,5.2, 163 * 4.1,4.3,4.7,5.2,6.0,6.7,7.0,6.8,6.4,6.2, 164 * 5.4,5.7,6.0,6.6,7.3,8.0,8.4,7.7,7.1,6.7, 165 * 6.7,6.8,7.0,7.6,8.3,10.0,9.6,8.2,7.5,7.2, 166 * 9.2,9.3,9.4,9.6,10.3,10.6,10.0,8.5,7.7,7.3, 167 * 12.6,12.1,12.0,12.1,11.7,11.0,10.0,8.6,7.8,7.4, 168 * 14.2,13.5,13.1,12.8,11.9,10.9,9.8,8.5,7.8,7.5, 169 * 14.3,14.0,13.4,12.7,11.6,10.6,9.3,8.4,7.6,7.3/ 170 DATA O3LO1/ 171 * 14.9,14.2,13.3,12.5,11.2,10.3,9.5,8.6,7.5,7.4, 172 * 14.5,14.1,13.0,11.8,10.5,9.8,9.2,7.9,7.4,7.4, 173 * 11.8,11.5,10.9,10.5,9.9,9.6,8.9,7.5,7.2,7.2, 174 * 7.3,7.7,7.8,8.4,8.4,8.5,7.9,7.4,7.1,7.1, 175 * 4.1,4.4,5.3,6.6,6.9,7.5,7.4,7.2,7.0,6.9, 176 * 1.8,1.9,2.5,3.3,4.5,5.8,6.3,6.3,6.4,6.1, 177 * 0.4,0.5,0.8,1.2,2.7,3.6,4.6,4.7,5.0,5.2, 178 * .10,.15,.20,.50,1.4,2.1,3.0,3.2,3.5,3.9, 179 * .07,.10,.12,.30,1.0,1.4,1.8,1.9,2.3,2.5, 180 * .06,.08,.10,.15,.60,.80,1.4,1.5,1.5,1.6, 181 * .05,.05,.06,.09,.20,.40,.70,.80,.90,.90, 182 * .05,.05,.06,.08,.10,.13,.20,.25,.30,.40, 183 * .05,.05,.05,.06,.07,.07,.08,.09,.10,.13, 184 * .05,.05,.05,.05,.06,.06,.06,.06,.07,.07, 185 * .05,.05,.05,.05,.05,.05,.05,.06,.06,.06, 186 * .04,.04,.04,.04,.04,.04,.04,.05,.05,.05/ 187 DATA O3LO2/ 188 * 14.8,14.2,13.8,12.2,11.0,9.8,8.5,7.8,7.4,6.9, 189 * 13.2,13.0,12.5,11.3,10.4,9.0,7.8,7.5,7.0,6.6, 190 * 10.6,10.6,10.7,10.1,9.4,8.6,7.5,7.0,6.5,6.1, 191 * 7.0,7.3,7.5,7.5,7.5,7.3,6.7,6.4,6.0,5.8, 192 * 3.8,4.0,4.7,5.0,5.2,5.9,5.8,5.6,5.5,5.5, 193 * 1.4,1.6,2.4,3.0,3.7,4.1,4.6,4.8,5.1,5.0, Page 4 Source Listing O3INT 2025-03-12 18:21 O3INT.F 194 * .40,.50,.90,1.2,2.0,2.7,3.2,3.6,4.3,4.1, 195 * .07,.10,.20,.30,.80,1.4,2.1,2.4,2.7,3.0, 196 * .06,.07,.09,.15,.30,.70,1.2,1.4,1.6,2.0, 197 * .05,.05,.06,.12,.15,.30,.60,.70,.80,.80, 198 * .04,.05,.06,.08,.09,.15,.30,.40,.40,.40, 199 * .04,.04,.05,.055,.06,.09,.12,.13,.15,.15, 200 * .03,.03,.045,.052,.055,.06,.07,.07,.06,.07, 201 * .03,.03,.04,.051,.052,.052,.06,.06,.05,.05, 202 * .02,.02,.03,.05,.05,.05,.04,.04,.04,.04, 203 * .02,.02,.02,.04,.04,.04,.03,.03,.03,.03/ 204 DATA O3LO3/ 205 * 14.5,14.0,13.5,11.3,11.0,10.0,9.0,8.3,7.5,7.3, 206 * 13.5,13.2,12.5,11.1,10.4,9.7,8.2,7.8,7.4,6.8, 207 * 10.8,10.9,11.0,10.4,10.0,9.6,7.9,7.5,7.0,6.7, 208 * 7.3,7.5,7.8,8.5,9.0,8.5,7.7,7.4,6.9,6.5, 209 * 4.1,4.5,5.3,6.2,7.3,7.7,7.3,7.0,6.6,6.4, 210 * 1.8,2.0,2.2,3.8,4.3,5.6,6.2,6.2,6.4,6.2, 211 * .30,.50,.60,1.5,2.8,3.7,4.5,4.7,5.5,5.6, 212 * .09,.10,.15,.60,1.2,2.1,3.0,3.5,4.0,4.3, 213 * .06,.08,.10,.30,.60,1.1,1.9,2.2,2.9,3.0, 214 * .04,.05,.06,.15,.45,.60,1.1,1.3,1.6,1.8, 215 * .04,.04,.04,.08,.20,.30,.55,.60,.75,.90, 216 * .04,.04,.04,.05,.06,.10,.12,.15,.20,.25, 217 * .04,.04,.03,.04,.05,.06,.07,.07,.07,.08, 218 * .03,.03,.04,.05,.05,.05,.05,.05,.05,.05, 219 * .03,.03,.03,.04,.04,.04,.05,.05,.04,.04, 220 * .02,.02,.02,.04,.04,.04,.04,.04,.03,.03/ 221 DATA O3LO4/ 222 * 14.2,13.8,13.2,12.5,11.7,10.5,8.6,7.8,7.5,6.6, 223 * 12.5,12.4,12.2,11.7,10.8,9.8,7.8,7.2,6.5,6.1, 224 * 10.6,10.5,10.4,10.1,9.6,9.0,7.1,6.8,6.1,5.9, 225 * 7.0,7.4,7.9,7.8,7.6,7.3,6.2,6.1,5.8,5.6, 226 * 4.2,4.6,5.1,5.6,5.9,5.9,5.9,5.8,5.6,5.3, 227 * 2.1,2.3,2.6,2.9,3.5,4.3,4.8,4.9,5.1,5.1, 228 * 0.7,0.8,1.0,1.5,2.0,2.8,3.5,3.6,3.7,4.0, 229 * .15,.20,.40,.50,.60,1.4,2.1,2.2,2.3,2.5, 230 * .08,.10,.15,.25,.30,.90,1.2,1.3,1.4,1.6, 231 * .07,.08,.10,.14,.20,.50,.70,.90,.90,.80, 232 * .05,.06,.08,.12,.14,.20,.35,.40,.60,.50, 233 * .05,.05,.08,.09,.09,.09,.11,.12,.15,.18, 234 * .04,.05,.06,.07,.07,.08,.08,.08,.08,.08, 235 * .04,.04,.05,.07,.07,.07,.07,.07,.06,.05, 236 * .02,.02,.04,.05,.05,.05,.05,.05,.04,.04, 237 * .02,.02,.03,.04,.04,.04,.04,.04,.03,.03/ 238 NKK=41 239 NK=81 240 NKP=NK+1 241 DO 24 K=1,NP 242 24 PHALF(K)=PHALF(K)*1.0E 03 243 C 24 PSTD(K)=PSTD(K+1)*1.0E 03 244 DO 25 K=1,NK 245 PH(K)=PH(K)*1013250. 246 25 P(K)=P(K)*1013250. 247 PH(NKP)=PH(NKP)*1013250. 248 CKAC WRITE (6,3) PH 249 CKAC WRITE (6,3) P 250 C WRITE (6,3) (PHALF(K),K=1,NP) Page 5 Source Listing O3INT 2025-03-12 18:21 O3INT.F 251 C WRITE (6,3) (PSTD(K),K=1,NP) 252 C***LOAD ARRAYS RO31,RO32,AS IN DICKS PGM. 253 DO 1010 K=1,25 254 DO 1010 L=1,10 255 RO31(L,K)=O3HI(L,K) 256 RO32(L,K)=O3HI(L,K) 257 1010 CONTINUE 258 C 259 DO 3000 NCASE=1,4 260 ITAPE=NCASE+50 261 IPLACE=2 262 IF (NCASE.EQ.2) IPLACE=4 263 IF (NCASE.EQ.3) IPLACE=1 264 IF (NCASE.EQ.4) IPLACE=3 265 C***NCASE=1: SPRING (IN N.H.) 266 C***NCASE=2: FALL (IN N.H.) 267 C***NCASE=3: WINTER (IN N.H.) 268 C***NCASE=4: SUMMER (IN N.H.) 269 IF (NCASE.EQ.1.OR.NCASE.EQ.2) THEN 270 DO 1011 K=26,41 271 DO 1011 L=1,10 272 RO31(L,K)=O3LO1(L,K-25) 273 RO32(L,K)=O3LO2(L,K-25) 274 1011 CONTINUE 275 ENDIF 276 IF (NCASE.EQ.3.OR.NCASE.EQ.4) THEN 277 DO 1031 K=26,41 278 DO 1031 L=1,10 279 RO31(L,K)=O3LO3(L,K-25) 280 RO32(L,K)=O3LO4(L,K-25) 281 1031 CONTINUE 282 ENDIF 283 DO 30 KK=1,NKK 284 DO 31 L=1,10 285 DUO3N(L,KK)=RO31(11-L,KK) 286 31 DUO3N(L+9,KK)=RO32(L,KK) 287 DUO3N(10,KK)=.5*(RO31(1,KK)+RO32(1,KK)) 288 30 CONTINUE 289 C***FOR NCASE=2 OR NCASE=4,REVERSE LATITUDE ARRANGEMENT OF CORR. SEASON 290 IF (NCASE.EQ.2.OR.NCASE.EQ.4) THEN 291 DO 1024 KK=1,NKK 292 DO 1025 L=1,19 293 TEMPN(L)=DUO3N(20-L,KK) 294 1025 CONTINUE 295 DO 1026 L=1,19 296 DUO3N(L,KK)=TEMPN(L) 297 1026 CONTINUE 298 1024 CONTINUE 299 ENDIF 300 C***DUO3N NOW IS O3 PROFILE FOR APPROPRIATE SEASON,AT STD. PRESSURE 301 C LEVELS 302 CKAC WRITE (6,800) DUO3N 303 C***BEGIN LATITUDE (10 DEG) LOOP 304 DO 33 L=1,19 305 DO 22 KK=1,NKK 306 22 RSTD(KK)=DUO3N(L,KK) 307 NKM=NK-1 Page 6 Source Listing O3INT 2025-03-12 18:21 O3INT.F 308 NKMM=NK-3 309 C BESSELS HALF-POINT INTERPOLATION FORMULA 310 DO 60 K=4,NKMM,2 311 KI=K/2 312 60 RDATA(K)=.5*(RSTD(KI)+RSTD(KI+1))-(RSTD(KI+2)-RSTD(KI+1)-RSTD(KI)+ 313 1RSTD(KI-1))/16. 314 RDATA(2)=.5*(RSTD(2)+RSTD(1)) 315 RDATA(NKM)=.5*(RSTD(NKK)+RSTD(NKK-1)) 316 C PUT UNCHANGED DATA INTO NEW ARRAY 317 DO 61 K=1,NK,2 318 KQ=(K+1)/2 319 61 RDATA(K)=RSTD(KQ) 320 C---NOTE TO NMC: THIS WRITE IS COMMENTED OUT TO REDUCE PRINTOUT 321 C WRITE (6,798) RDATA 322 C CALCULATE LAYER-MEAN OZONE MIXING RATIO FOR EACH MODEL LEVEL 323 DO 99 KK=1,N 324 RBAR(KK)=0. 325 C LOOP TO CALCULATE SUMS TO GET LAYER OZONE MEAN 326 DO 98 K=1,NK 327 IF(PH(K+1).LT.PHALF(KK)) GO TO 98 328 IF(PH(K).GT.PHALF(KK+1)) GO TO 98 329 IF(PH(K+1).LT.PHALF(KK+1).AND.PH(K).LT.PHALF(KK)) RBAR(KK)=RBAR(KK 330 1)+RDATA(K)*(PH(K+1)-PHALF(KK)) 331 IF(PH(K+1).LT.PHALF(KK+1).AND.PH(K).GE.PHALF(KK)) RBAR(KK)=RBAR(KK 332 1)+RDATA(K)*(PH(K+1)-PH(K)) 333 IF(PH(K+1).GT.PHALF(KK+1).AND.PH(K).GT.PHALF(KK)) RBAR(KK)=RBAR(KK 334 1)+RDATA(K)*(PHALF(KK+1)-PH(K)) 335 98 CONTINUE 336 RBAR(KK)=RBAR(KK)/(PHALF(KK+1)-PHALF(KK)) 337 IF(RBAR(KK).GT..0000) GO TO 99 338 C CODE TO COVER CASE WHEN MODEL RESOLUTION IS SO FINE THAT NO VALUE 339 C OF P(K) IN THE OZONE DATA ARRAY FALLS BETWEEN PHALF(KK+1) AND 340 C PHALF(KK). PROCEDURE IS TO SIMPLY GRAB THE NEAREST VALUE FROM 341 C RDATA 342 DO 29 K=1,NK 343 IF(PH(K).LT.PHALF(KK).AND.PH(K+1).GE.PHALF(KK+1)) RBAR(KK)=RDATA(K 344 1) 345 29 CONTINUE 346 99 CONTINUE 347 C CALCULATE TOTAL OZONE 348 O3RD=0. 349 DO 89 KK=1,80 350 89 O3RD=O3RD+RDATA(KK)*(PH(KK+1)-PH(KK)) 351 O3RD=O3RD+RDATA(81)*(P(81)-PH(81)) 352 O3RD=O3RD/980. 353 O3TOT=0. 354 DO 88 KK=1,N 355 88 O3TOT=O3TOT+RBAR(KK)*(PHALF(KK+1)-PHALF(KK)) 356 O3TOT=O3TOT/980. 357 C UNITS ARE MICROGRAMS/CM**2 358 O3DU=O3TOT/2.144 359 C O3DU UNITS ARE DOBSON UNITS (10**-3 ATM-CM) 360 C--NOTE TO NMC: THIS IS COMMENTED OUT TO SAVE PRINTOUT 361 C WRITE (6,796) O3RD,O3TOT,O3DU 362 DO 23 KK=1,N 363 23 DDUO3(L,KK)=RBAR(KK)*.01 364 33 CONTINUE Page 7 Source Listing O3INT 2025-03-12 18:21 O3INT.F 365 C***END OF LATITUDE LOOP 366 C 367 C***CREATE 5 DEG OZONE QUANTITIES BY LINEAR INTERPOLATION OF 368 C 10 DEG VALUES 369 DO 1060 KK=1,N 370 DO 1061 L=1,19 371 O35DEG(2*L-1,KK)=DDUO3(L,KK) 372 1061 CONTINUE 373 DO 1062 L=1,18 374 O35DEG(2*L,KK)=0.5*(DDUO3(L,KK)+DDUO3(L+1,KK)) 375 1062 CONTINUE 376 1060 CONTINUE 377 C***OUTPUT TO UNIT (ITAPE) THE OZONE VALUES FOR LATER USE 378 CO222 *************************************************** 379 CC WRITE (66) O35DEG 380 IF (IPLACE.EQ.1) THEN 381 DO 302 JJ=1,37 382 DO 302 KEN=1,N 383 DDUO3N(JJ,KEN) = O35DEG(JJ,KEN) 384 302 CONTINUE 385 ELSE IF (IPLACE.EQ.2) THEN 386 DO 312 JJ=1,37 387 DO 312 KEN=1,N 388 DDO3N2(JJ,KEN) = O35DEG(JJ,KEN) 389 312 CONTINUE 390 ELSE IF (IPLACE.EQ.3) THEN 391 DO 322 JJ=1,37 392 DO 322 KEN=1,N 393 DDO3N3(JJ,KEN) = O35DEG(JJ,KEN) 394 322 CONTINUE 395 ELSE IF (IPLACE.EQ.4) THEN 396 DO 332 JJ=1,37 397 DO 332 KEN=1,N 398 DDO3N4(JJ,KEN) = O35DEG(JJ,KEN) 399 332 CONTINUE 400 END IF 401 CO222 *************************************************** 402 3000 CONTINUE 403 C***END OF LOOP OVER CASES 404 RETURN 405 1 FORMAT(10F4.2) 406 2 FORMAT(10X,E14.7,1X,E14.7,1X,E14.7,1X,E14.7,1X) 407 3 FORMAT(10E12.5) 408 797 FORMAT(10F7.2) 409 799 FORMAT(19F6.4) 410 800 FORMAT(19F6.2) 411 102 FORMAT(' O3 IPLACE=',I4) 412 1033 FORMAT(19F6.5) 413 101 FORMAT(5X,1H*,F6.5,1H,,F6.5,1H,,F6.5,1H,,F6.5,1H,,F6.5,1H,,F6.5, 414 *1H,,F6.5,1H,,F6.5,1H,,F6.5,1H,) 415 END Page 8 Source Listing O3INT 2025-03-12 18:21 Entry Points O3INT.F ENTRY POINTS Name o3int_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1 Label 405 101 Label 413 1010 Label 257 253,254 1011 Label 274 270,271 102 Label 411 1024 Label 298 291 1025 Label 294 292 1026 Label 297 295 1031 Label 281 277,278 1033 Label 412 1060 Label 376 369 1061 Label 372 370 1062 Label 375 373 2 Label 406 22 Label 306 305 23 Label 363 362 24 Label 242 241 25 Label 246 244 29 Label 345 342 3 Label 407 30 Label 288 283 3000 Label 402 259 302 Label 384 381,382 31 Label 286 284 312 Label 389 386,387 322 Label 394 391,392 33 Label 364 304 332 Label 399 396,397 60 Label 312 310 61 Label 319 317 797 Label 408 799 Label 409 800 Label 410 88 Label 355 354 89 Label 350 349 98 Label 335 326,327,328 99 Label 346 323,337 DDUO3 Local 86 R(4) 4 2 855 363,371,374 DUO3N Local 86 R(4) 4 2 779 285,286,287,293,296,306 IDIM1 Param 66 I(4) 4 scalar IDIM2 Param 66 I(4) 4 scalar IGSTL Param 61 I(4) 4 scalar 66 IGSTR Param 61 I(4) 4 scalar 66 IM Param 50 I(4) 4 scalar 63,66 Page 9 Source Listing O3INT 2025-03-12 18:21 Symbol Table O3INT.F Name Object Declared Type Bytes Dimen Elements Attributes References INPES Param 58 I(4) 4 scalar 63,66 IPLACE Local 261 I(4) 4 scalar 261,262,263,264,380,385,390,395 ITAIL Param 63 I(4) 4 scalar ITAPE Local 260 I(4) 4 scalar 260 JDIM1 Param 67 I(4) 4 scalar JDIM2 Param 67 I(4) 4 scalar JGSTL Param 62 I(4) 4 scalar 67 JGSTR Param 62 I(4) 4 scalar 67 JJ Local 381 I(4) 4 scalar 381,383,386,388,391,393,396,398 JM Param 50 I(4) 4 scalar 64,67 JNPES Param 58 I(4) 4 scalar 64,67 JTAIL Param 64 I(4) 4 scalar K Local 241 I(4) 4 scalar 241,242,244,245,246,253,255,256,27 0,272,273,277,279,280,310,311,312, 317,318,319,326,327,328,329,330,33 1,332,333,334,342,343 KEN Local 382 I(4) 4 scalar 382,383,387,388,392,393,397,398 KI Local 311 I(4) 4 scalar 311,312,313 KK Local 283 I(4) 4 scalar 283,285,286,287,291,293,296,305,30 6,323,324,327,328,329,330,331,333, 334,336,337,343,349,350,354,355,36 2,363,369,371,374 KQ Local 318 I(4) 4 scalar 318,319 L Local 254 I(4) 4 scalar 254,255,256,271,272,273,278,279,28 0,284,285,286,292,293,295,296,304, 306,363,370,371,373,374 LM Param 50 I(4) 4 scalar 70,80 LSM Param 50 I(4) 4 scalar N Param 70 I(4) 4 scalar 70,86,91,92,323,354,362,369,382,38 7,392,397 NCASE Local 259 I(4) 4 scalar 259,260,262,263,264,269,276,290 NK Local 239 I(4) 4 scalar 239,240,244,307,308,317,326,342 NKK Local 238 I(4) 4 scalar 238,283,291,305,315 NKM Local 307 I(4) 4 scalar 307,315 NKMM Local 308 I(4) 4 scalar 308,310 NKP Local 240 I(4) 4 scalar 240,247 NM1 Param 70 I(4) 4 scalar NP Param 70 I(4) 4 scalar 93,241 NP2 Param 70 I(4) 4 scalar O35DEG Local 91 R(4) 4 2 1665 371,374,383,388,393,398 O3DU Local 358 R(4) 4 scalar 358 O3HI Local 88 R(4) 4 2 250 255,256 O3HI1 Local 90 R(4) 4 2 160 SAVE 143 O3HI2 Local 90 R(4) 4 2 90 SAVE 160 O3INT Subr 3 O3LO1 Local 88 R(4) 4 2 160 170,272 O3LO2 Local 88 R(4) 4 2 160 187,273 O3LO3 Local 88 R(4) 4 2 160 204,279 O3LO4 Local 89 R(4) 4 2 160 221,280 O3RD Local 348 R(4) 4 scalar 348,350,351,352 O3TOT Local 353 R(4) 4 scalar 353,355,356,358 P Local 93 R(4) 4 1 81 246,351 P1 Local 90 R(4) 4 1 48 SAVE 120 P2 Local 90 R(4) 4 1 33 SAVE 133 PH Local 93 R(4) 4 1 82 245,247,327,328,329,330,331,332,33 Page 10 Source Listing O3INT 2025-03-12 18:21 Symbol Table O3INT.F Name Object Declared Type Bytes Dimen Elements Attributes References 3,334,343,350,351 PH1 Local 90 R(4) 4 1 45 SAVE 97 PH2 Local 90 R(4) 4 1 37 SAVE 109 PHALF Dummy 3 R(4) 4 1 46 ARG,INOUT 242,327,328,329,330,331,333,334,33 6,343,355 QI Local 85 R(4) 4 1 82 RBAR Local 92 R(4) 4 1 45 324,329,331,333,336,337,343,355,36 3 RDATA Local 92 R(4) 4 1 81 312,314,315,319,330,332,334,343,35 0,351 RO3 Local 92 R(4) 4 2 410 RO31 Local 86 R(4) 4 2 410 255,272,279,285,287 RO32 Local 86 R(4) 4 2 410 256,273,280,286,287 RO3M Local 92 R(4) 4 2 400 RSTD Local 92 R(4) 4 1 81 306,312,313,314,315,319 SAVMEM Common 78 26640 TEMPN Local 87 R(4) 4 1 19 293,296 TYPE COMPONENTS/COMMON VARIABLES Name Type Bytes Offset Dimen Elements Attributes References DDO3N2 R(4) 4 6660 2 1665 COM 388 DDO3N3 R(4) 4 13320 2 1665 COM 393 DDO3N4 R(4) 4 19980 2 1665 COM 398 DDUO3N R(4) 4 0 2 1665 COM 383 Page 11 Source Listing O3INT 2025-03-12 18:21 Subprograms/Common Blocks O3INT.F SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References O3INT Subr 3 SAVMEM Common 78 26640 COMPILER OPTIONS BEING USED -align noall -align nonone -align nocommons -align nodcommons -align noqcommons -align nozcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -align norec32byte -align norec64byte -align noarray8byte -align noarray16byte -align noarray32byte -align noarray64byte -align noarray128byte -align noarray256byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume nobuffered_stdout -assume byterecl -assume nocontiguous_assumed_shape -assume nocontiguous_pointer -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_complex_align -assume old_unit_star -assume old_inquire_recl -assume old_ldout_format -assume old_ldout_zero -assume noold_logical_assign -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume noprotect_allocates -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume std_minus0_rounding -assume nostd_mod_proc_name -assume std_value -assume realloc_lhs -assume underscore -assume no2underscores -assume norecursion no -auto -auto_scalar no -bintext -ccdefault default -check noarg_temp_created -check noassume -check nobounds -check nocontiguous -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check noshape -check nostack -check nouninitialized -check noudio_iostat -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1910 -D __INTEL_COMPILER_UPDATE=3 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D __amd64 -D __amd64__ Page 12 Source Listing O3INT 2025-03-12 18:21 O3INT.F -D __INTEL_COMPILER_BUILD_DATE=20200925 -D __INTEL_OFFLOAD -D __MMX__ -D __SSE__ -D __SSE_MATH__ -D __SSE2__ -D __SSE2_MATH__ -D __SSE3__ -D __SSSE3__ -D __SSE4_1__ -D __SSE4_2__ -D __POPCNT__ -D __PCLMUL__ -D __AES__ -D __AVX__ -D __F16C__ -D __AVX_I__ -D __RDRND__ -D __FMA__ -D __FP_FAST_FMA -D __FP_FAST_FMAF -D __BMI__ -D __LZCNT__ -D __AVX2__ -D __haswell -D __haswell__ -D __tune_haswell__ -D __core_avx2 -D __core_avx2__ -D __tune_core_avx2__ -D __CRAY_X86_ROME -D __CRAYXT_COMPUTE_LINUX_TARGET -double_size 64 no -d_lines no -Qdyncom -error_limit 30 no -f66 no -f77rtl no -fast -fpscomp nofilesfromcmd -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals -fixed no -fpconstant -fpe3 -fprm nearest no -ftz -fp_model precise -fp_model nofast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -fp_modbits nofp_contract -fp_modbits nono_fp_contract -fp_modbits nofenv_access -fp_modbits nono_fenv_access -fp_modbits nocx_limited_range -fp_modbits nono_cx_limited_range -fp_modbits noprec_div -fp_modbits nono_prec_div -fp_modbits noprec_sqrt -fp_modbits nono_prec_sqrt -fp_modbits noftz -fp_modbits no_ftz -fp_modbits nointrin_limited_range -fp_modbits nono_intrin_limited_range -fp_modbits notrunc_compares -fp_modbits nono_trunc_compares -fp_modbits noieee_nan_compares -fp_modbits nono_ieee_nan_compares -fp_modbits nohonor_f32_conversion -fp_modbits nono_honor_f32_conversion -fp_modbits nohonor_f64_conversion -fp_modbits nono_honor_f64_conversion -fp_modbits nono_x87_copy -fp_modbits nono_no_x87_copy -fp_modbits noexception_semantics -fp_modbits nono_exception_semantics -fp_modbits noprecise_libm_functions -fp_modbits nono_precise_libm_functions -heap_arrays 0 no -threadprivate_compat -g2 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg -init noarrays -init nohuge -init noinfinity -init nominus_huge -init nominus_infinity -init nominus_tiny -init nonan -init nosnan -init notiny -init nozero no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude no -o -offload-build=host -openmp-simd -O2 no -pad_source -real_size 32 no -recursive Page 13 Source Listing O3INT 2025-03-12 18:21 O3INT.F -reentrancy threaded -vec=simd -show nofullpath -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w nodeclarations -w noexternals -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w noshape -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage no -wrap-margins -includepath : /pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/, .f90,./.f90,/opt/cray/pe/mpich/8.1.12/ofi/intel/19.0/include/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/ipp/include/.f90, /pe/intel/compilers_and_libraries_2020.4.304/linux/mkl/include/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/include/.f90, /pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/stdlib/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/tbb/include/.f90, /pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/intel64/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/icc/.f90, /pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/.f90,/usr/lib64/gcc/x86_64-suse-linux/7/include/.f90, /usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/.f90,/usr/include/.f90,/usr/include/.f90,/usr/include/.f90 -list filename : O3INT.lst no -o COMPILER: Intel(R) Fortran 19.1-1655