3 MODULE module_wave_data
7 integer, parameter :: dp = selected_real_kind(14,300)
9 !-------------------------------------------------------
11 !-------------------------------------------------------
12 public :: r01, r04, r44, r08, r06, r10, r11, r14, r15, r17, r18, &
13 wave_data_inti, xs_mvk, xs_macr
15 !-------------------------------------------------------
17 !-------------------------------------------------------
18 private :: r44_inti, r08_inti
20 !-------------------------------------------------------
22 !-------------------------------------------------------
23 integer, public, parameter :: nw = 18
24 ! integer, public, parameter :: nj = 56
25 ! species table extended
26 integer, public, parameter :: nj = 58
27 ! integer, public, parameter :: tuv_jmax = 28
28 ! integer, public, parameter :: tuv_jmax = 30
29 ! species table extended
30 integer, public, parameter :: tuv_jmax = 58
32 real(dp), public :: sflx(nw), wl(nw), wc(nw), wu(nw), deltaw(nw)
33 real(dp), public :: xso3(nw), s226(nw), s263(nw), s298(nw)
34 real(dp), public :: c20(5,tuv_jmax), c40(5,tuv_jmax), c60(5,tuv_jmax), c80(5,tuv_jmax)
36 real(dp), public, allocatable :: sq(:,:,:)
38 !-------------------------------------------------------
40 !-------------------------------------------------------
41 real(dp), private :: r01g1(nw), r01g2(nw), r01g3(nw), r01g4(nw)
42 real(dp), private :: r04g(nw)
43 real(dp), private :: r08g(nw)
44 real(dp), private :: r06g1(nw), r06g2(nw)
45 real(dp), private :: r10g1(nw), r10g2(nw), r10g3(nw), r10g4(nw), r10g5(nw)
46 real(dp), private :: r11g(nw), r11g1(nw), r11g2(nw), r11g3(nw), r11g4(nw)
47 real(dp), private :: r14g(nw), r14g1(nw), r14g2(nw)
48 real(dp), private :: r15g(nw), r15g1(nw), r15g2(nw), r15g3(nw)
49 real(dp), private :: r17g(nw), r17g1(nw)
50 real(dp), private :: r18g(nw), r18g2(nw)
52 real(dp), private :: sjref(nw,nj)
54 real(dp), private :: acrolein_xs(nw)
56 real(dp), private, allocatable :: a(:), b(:)
57 real(dp), private, allocatable :: suma(:), sumb(:)
59 integer, private :: ii, kk
61 !-------------------------------------------------------
63 !-------------------------------------------------------
64 data (wl(ii),ii=1,18)/ &
65 0.1786E+03_dp, 0.1800E+03_dp, 0.1830E+03_dp, 0.1870E+03_dp, 0.1920E+03_dp, &
66 0.1980E+03_dp, 0.2050E+03_dp, 0.2130E+03_dp, 0.2220E+03_dp, 0.2410E+03_dp, &
67 0.2899E+03_dp, 0.3055E+03_dp, 0.3135E+03_dp, 0.3375E+03_dp, 0.4200E+03_dp, &
68 0.4750E+03_dp, 0.7290E+03_dp, 0.7436E+03_dp /
70 data (wc(ii),ii=1,17)/ &
71 0.1793E+03_dp, 0.1815E+03_dp, 0.1850E+03_dp, 0.1895E+03_dp, 0.1950E+03_dp, &
72 0.2015E+03_dp, 0.2090E+03_dp, 0.2175E+03_dp, 0.2265E+03_dp, 0.2655E+03_dp, &
73 0.2977E+03_dp, 0.3095E+03_dp, 0.3255E+03_dp, 0.3788E+03_dp, 0.4475E+03_dp, &
74 0.6020E+03_dp, 0.7363E+03_dp /
76 data (wu(ii),ii=1,17)/ &
77 0.1800E+03_dp, 0.1830E+03_dp, 0.1870E+03_dp, 0.1920E+03_dp, 0.1980E+03_dp, &
78 0.2050E+03_dp, 0.2130E+03_dp, 0.2220E+03_dp, 0.2310E+03_dp, 0.2899E+03_dp, &
79 0.3055E+03_dp, 0.3135E+03_dp, 0.3375E+03_dp, 0.4200E+03_dp, 0.4750E+03_dp, &
80 0.7290E+03_dp, 0.7436E+03_dp /
82 data (deltaw(ii),ii=1,17)/ &
83 0.1265E+15_dp, 0.2744E+15_dp, 0.3729E+15_dp, 0.4774E+15_dp, 0.5896E+15_dp, &
84 0.7108E+15_dp, 0.8425E+15_dp, 0.9864E+15_dp, 0.1027E+16_dp, 0.6541E+16_dp, &
85 0.2340E+16_dp, 0.1248E+16_dp, 0.3936E+16_dp, 0.1575E+17_dp, 0.1240E+17_dp, &
86 0.7705E+17_dp, 0.5417E+16_dp /
88 !-------------------------------------------------------
89 ! NOTE top solar flux (1-wl,2-flux)
90 !-------------------------------------------------------
91 data (sflx(ii),ii=1,17)/ &
92 0.1628E-02_dp, 0.2184E-02_dp, 0.2459E-02_dp, 0.3736E-02_dp, 0.5386E-02_dp, &
93 0.8259E-02_dp, 0.2115E-01_dp, 0.4013E-01_dp, 0.4934E-01_dp, 0.1674E+00_dp, &
94 0.5534E+00_dp, 0.6459E+00_dp, 0.8579E+00_dp, 0.9751E+00_dp, 0.1878E+01_dp, &
95 0.1706E+01_dp, 0.1301E+01_dp /
97 !-------------------------------------------------------
98 ! NOTE O3 cross (wl,xso3,s226,s263,s298)
99 !-------------------------------------------------------
100 data (xso3(ii),ii=1,17)/ &
101 0.7858E-18_dp, 0.7516E-18_dp, 0.6632E-18_dp, 0.5325E-18_dp, 0.4089E-18_dp, &
102 0.3319E-18_dp, 0.4999E-18_dp, 0.1396E-17_dp, 0.5096E-17_dp, 0.7774E-17_dp, &
103 0.6241E-18_dp, 0.1152E-18_dp, 0.1831E-19_dp, 0.1494E-21_dp, 0.2066E-21_dp, &
104 0.2476E-20_dp, 0.4732E-21_dp /
106 data (s226(ii),ii=1,17)/ &
107 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
108 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.2299E-18_dp, 0.7880E-17_dp, &
109 0.5887E-18_dp, 0.1018E-18_dp, 0.1533E-19_dp, 0.8263E-22_dp, 0.0000E+00_dp, &
110 0.0000E+00_dp, 0.0000E+00_dp /
112 data (s263(ii),ii=1,17)/ &
113 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
114 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.2284E-18_dp, 0.7854E-17_dp, &
115 0.6065E-18_dp, 0.1079E-18_dp, 0.1704E-19_dp, 0.1115E-21_dp, 0.0000E+00_dp, &
116 0.0000E+00_dp, 0.0000E+00_dp /
118 data (s298(ii),ii=1,17)/ &
119 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
120 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.2290E-18_dp, 0.7867E-17_dp, &
121 0.6320E-18_dp, 0.1176E-18_dp, 0.1945E-19_dp, 0.1497E-21_dp, 0.0000E+00_dp, &
122 0.0000E+00_dp, 0.0000E+00_dp /
124 !-------------------------------------------------------
125 ! NOTE temperature dependence of parameter
126 !-------------------------------------------------------
128 !-------------------------------------------------------
130 !-------------------------------------------------------
131 data (r01g1(ii),ii=1,17)/ &
132 0.9600E+00, 0.9600E+00, 0.9600E+00, 0.9600E+00, 0.9600E+00, &
133 0.9600E+00, 0.9600E+00, 0.9600E+00, 0.9600E+00, 0.9600E+00, &
134 0.9600E+00, 0.2747E+01, 0.1280E+02, 0.1120E+02, 0.1120E+02, &
135 0.1120E+02, 0.1120E+02 /
137 data (r01g2(ii),ii=1,17)/ &
138 0.5659E+01, 0.5659E+01, 0.5659E+01, 0.5659E+01, 0.5659E+01, &
139 0.5659E+01, 0.5659E+01, 0.5659E+01, 0.5659E+01, 0.5659E+01, &
140 0.5746E+01, 0.3976E+03, 0.1769E+04, 0.2065E+04, 0.2065E+04, &
141 0.2065E+04, 0.2065E+04 /
143 data (r01g3(ii),ii=1,17)/ &
144 0.7266E+03, 0.7147E+03, 0.6899E+03, 0.6698E+03, 0.6460E+03, &
145 0.6140E+03, 0.5968E+03, 0.5913E+03, 0.5606E+03, 0.5450E+03, &
146 0.5221E+03, 0.5096E+03, 0.4906E+03, 0.4668E+03, 0.4516E+03, &
147 0.4326E+03, 0.4158E+03 /
149 data (r01g4(ii),ii=1,17)/ &
150 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
151 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
152 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
153 0.0000E+00, 0.0000E+00 /
155 !-------------------------------------------------------
157 !-------------------------------------------------------
158 data (r04g(ii),ii=1,17)/ &
159 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
160 0.6227E-17, 0.6199E-17, 0.3001E-17, 0.1030E-17, 0.2288E-18, &
161 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
162 0.0000E+00, 0.0000E+00 /
164 !-------------------------------------------------------
166 !-------------------------------------------------------
167 data (r08g(ii),ii=1,17)/ &
168 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.2614E-18, 0.5668E-18, &
169 0.4562E-18, 0.3673E-18, 0.2829E-18, 0.1749E-18, 0.4953E-19, &
170 0.8043E-20, 0.4051E-20, 0.1756E-20, 0.8721E-22, 0.0000E+00, &
171 0.0000E+00, 0.0000E+00 /
173 !-------------------------------------------------------
175 !-------------------------------------------------------
176 data (r06g1(ii),ii=1,17)/ &
177 0.0000E+00, 0.0000E+00, 0.3924E+03, 0.1386E+04, 0.1011E+04, &
178 0.4960E+03, 0.1419E+03, 0.2597E+02, 0.5679E+01, 0.1612E+01, &
179 0.3449E+00, 0.9030E-01, 0.1428E-01, 0.1162E-03, 0.0000E+00, &
180 0.0000E+00, 0.0000E+00 /
182 data (r06g2(ii),ii=1,17)/ &
183 0.1700E+01, 0.1700E+01, 0.1700E+01, 0.1700E+01, 0.1692E+01, &
184 0.1691E+01, 0.1919E+01, 0.2160E+01, 0.1902E+01, 0.1524E+01, &
185 0.2895E+01, 0.4240E+01, 0.7779E+01, 0.9579E+01, 0.9300E+01, &
186 0.9300E+01, 0.9300E+01 /
188 !-------------------------------------------------------
190 !-------------------------------------------------------
191 data (r10g1(ii),ii=1,17)/ &
192 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
193 0.0000E+00, 0.1401E-38, 0.1401E-38, 0.4764E-38, 0.0000E+00, & !BSINGH(PNNL) - To avoid underflow errors, E-43 and E-44 were changed to E-38
194 0.0000E+00, 0.4764E-38, 0.1401E-38, 0.0000E+00, 0.0000E+00, &
195 0.4147E-33, 0.4147E-33 /
197 data (r10g2(ii),ii=1,17)/ &
198 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
199 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.2517E-22, 0.9677E-20, &
200 0.2944E-19, 0.2061E-19, 0.1965E-19, 0.2352E-20, 0.0000E+00, &
201 0.0000E+00, 0.0000E+00 /
203 data (r10g3(ii),ii=1,17)/ &
204 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
205 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
206 -.6612E-23, 0.3843E-23, -.1605E-22, -.6776E-23, 0.0000E+00, &
207 0.0000E+00, 0.0000E+00 /
209 data (r10g4(ii),ii=1,17)/ &
210 0.3200E+00, 0.3200E+00, 0.3200E+00, 0.3200E+00, 0.3200E+00, &
211 0.3200E+00, 0.3200E+00, 0.3200E+00, 0.3200E+00, 0.4116E+00, &
212 0.7417E+00, 0.7470E+00, 0.4245E+00, 0.2078E-03, 0.0000E+00, &
213 0.0000E+00, 0.0000E+00 /
215 data (r10g5(ii),ii=1,17)/ &
216 0.4900E+00, 0.4900E+00, 0.4900E+00, 0.4900E+00, 0.4900E+00, &
217 0.4900E+00, 0.4900E+00, 0.4900E+00, 0.4900E+00, 0.4390E+00, &
218 0.2662E+00, 0.2596E+00, 0.5374E+00, 0.1096E+00, 0.0000E+00, &
219 0.0000E+00, 0.0000E+00 /
221 !-------------------------------------------------------
222 ! CH3CHO -> CH3CO + H
223 !-------------------------------------------------------
224 data (r11g(ii),ii=1,17)/ &
225 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
226 0.2360E-21, 0.5041E-21, 0.5357E-21, 0.2195E-20, 0.2829E-19, &
227 0.4195E-19, 0.2992E-19, 0.1144E-19, 0.1073E-21, 0.0000E+00, &
228 0.0000E+00, 0.0000E+00 /
230 data (r11g1(ii),ii=1,17)/ &
231 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
232 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.2833E+00, &
233 0.4510E+00, 0.2919E+00, 0.5863E-01, 0.0000E+00, 0.0000E+00, &
234 0.0000E+00, 0.0000E+00 /
236 data (r11g2(ii),ii=1,17)/ &
237 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
238 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.1218E+00, &
239 0.1668E-02, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
240 0.0000E+00, 0.0000E+00 /
242 data (r11g3(ii),ii=1,17)/ &
243 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
244 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
245 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
246 0.0000E+00, 0.0000E+00 /
248 data (r11g4(ii),ii=1,17)/ &
249 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
250 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
251 0.1528E+01, 0.4668E+01, 0.4616E+01, 0.0000E+00, 0.0000E+00, &
252 0.0000E+00, 0.0000E+00 /
254 !-------------------------------------------------------
255 ! CH3COCHO -> products
256 !-------------------------------------------------------
257 data (r14g(ii),ii=1,17)/ &
258 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
259 0.0000E+00, 0.0000E+00, 0.3316E-20, 0.1626E-19, 0.3444E-19, &
260 0.3923E-19, 0.2396E-19, 0.9245E-20, 0.3321E-19, 0.6271E-19, &
261 0.9944E-23, 0.0000E+00 /
263 data (r14g1(ii),ii=1,17)/ &
264 0.0000E+00, 0.2126E+01, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
265 0.1401E-38, 0.0000E+00, 0.1401E-38, 0.2286E+01, 0.0000E+00, &!BSINGH(PNNL) - To avoid underflow errors, E-43 and E-44 were changed to E-38
266 0.4204E-38, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.2127E+01, &
267 0.1067E-07, 0.6409E-09 /
269 data (r14g2(ii),ii=1,17)/ &
270 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
271 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
272 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
273 0.0000E+00, 0.0000E+00 /
275 !-------------------------------------------------------
277 !-------------------------------------------------------
278 data (r15g(ii),ii=1,17)/ &
279 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
280 0.1636E-20, 0.1205E-20, 0.1660E-20, 0.6857E-20, 0.3884E-19, &
281 0.3123E-19, 0.1487E-19, 0.2983E-20, 0.5364E-23, 0.0000E+00, &
282 0.0000E+00, 0.0000E+00 /
284 data (r15g1(ii),ii=1,17)/ &
285 0.0000E+00, 0.0000E+00, 0.8408E-38, 0.8408E-38, 0.0000E+00, &!BSINGH(PNNL) - To avoid underflow errors, E-43 and E-44 were changed to E-38
286 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
287 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
288 0.0000E+00, 0.0000E+00 /
290 data (r15g2(ii),ii=1,17)/ &
291 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
292 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
293 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
294 0.0000E+00, 0.0000E+00 /
296 data (r15g3(ii),ii=1,17)/ &
297 0.1401E-38, 0.0000E+00, 0.0000E+00, 0.5605E-38, 0.0000E+00, &!BSINGH(PNNL) - To avoid underflow errors, E-43 and E-44 were changed to E-38
298 0.0000E+00, 0.2278E+01, 0.0000E+00, 0.2285E+01, 0.1401E-38, &
299 0.0000E+00, 0.2286E+01, 0.0000E+00, 0.2275E+01, 0.2119E+01, &
300 0.0000E+00, 0.2275E+01 /
302 !-------------------------------------------------------
303 ! CH3ONO2 -> CH3O+NO2
304 !-------------------------------------------------------
305 data (r17g(ii),ii=1,17)/ &
306 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
307 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.1739E-19, 0.2671E-19, &
308 0.4845E-20, 0.1333E-20, 0.2144E-21, 0.8327E-24, 0.0000E+00, &
309 0.0000E+00, 0.0000E+00 /
311 data (r17g1(ii),ii=1,17)/ &
312 0.3350E-02, 0.3350E-02, 0.3350E-02, 0.3350E-02, 0.3350E-02, &
313 0.3350E-02, 0.3350E-02, 0.3350E-02, 0.3374E-02, 0.3214E-02, &
314 0.4746E-02, 0.6248E-02, 0.1142E-01, 0.1610E-01, 0.1610E-01, &
315 0.1610E-01, 0.1610E-01 /
317 !-------------------------------------------------------
318 ! PAN + hv -> products
319 !-------------------------------------------------------
320 data (r18g(ii),ii=1,17)/ &
321 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.1385E-17, &
322 0.3352E-17, 0.2129E-17, 0.1113E-17, 0.4450E-18, 0.6841E-19, &
323 0.2748E-20, 0.7224E-21, 0.1850E-21, 0.4999E-23, 0.0000E+00, &
324 0.0000E+00, 0.0000E+00 /
326 data (r18g2(ii),ii=1,17)/ &
327 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.6283E-03, &
328 0.1183E-02, 0.7700E-03, 0.1256E-02, 0.2424E-02, 0.4971E-02, &
329 0.8197E-02, 0.9115E-02, 0.1055E-01, 0.1876E-02, 0.0000E+00, &
330 0.0000E+00, 0.0000E+00 /
332 !-------------------------------------------------------
334 !-------------------------------------------------------
335 data (sjref(ii,01),ii=1,17)/ &
336 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
337 0.3473E-23, 0.6642E-23, 0.5002E-23, 0.2480E-23, 0.4111E-25, &
338 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
339 0.0000E+00, 0.0000E+00 /
341 !-------------------------------------------------------
343 !-------------------------------------------------------
344 data (sjref(ii,02),ii=1,17)/ &
345 0.6836E-18, 0.6539E-18, 0.5770E-18, 0.4632E-18, 0.3557E-18, &
346 0.2887E-18, 0.4349E-18, 0.1214E-17, 0.4433E-17, 0.6838E-17, &
347 0.5868E-18, 0.7389E-19, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
348 0.0000E+00, 0.0000E+00 /
350 !-------------------------------------------------------
352 !-------------------------------------------------------
353 data (sjref(ii,03),ii=1,17)/ &
354 0.1022E-18, 0.9770E-19, 0.8622E-19, 0.6922E-19, 0.5315E-19, &
355 0.4314E-19, 0.6499E-19, 0.1814E-18, 0.6625E-18, 0.1022E-17, &
356 0.3088E-19, 0.3828E-19, 0.1810E-19, 0.1494E-21, 0.2066E-21, &
357 0.2476E-20, 0.4732E-21 /
359 !-------------------------------------------------------
361 !-------------------------------------------------------
362 data (sjref(ii,04),ii=1,17)/ &
363 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
364 0.1808E-18, 0.4635E-18, 0.4744E-18, 0.2462E-18, 0.4284E-19, &
365 0.1225E-18, 0.1815E-18, 0.2798E-18, 0.4150E-18, 0.1583E-22, &
366 0.0000E+00, 0.0000E+00 /
368 !-------------------------------------------------------
370 !-------------------------------------------------------
371 data (sjref(ii,05),ii=1,17)/ &
372 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
373 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
374 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
375 0.5840E-18, 0.0000E+00 /
377 !-------------------------------------------------------
379 !-------------------------------------------------------
380 data (sjref(ii,06),ii=1,17)/ &
381 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
382 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
383 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.1024E-19, 0.2811E-18, &
384 0.1085E-17, 0.0000E+00 /
386 !-------------------------------------------------------
387 ! N2O5 -> NO3 + NO + O
388 !-------------------------------------------------------
389 data (sjref(ii,07),ii=1,17)/ &
390 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
391 0.6227E-17, 0.6199E-17, 0.3001E-17, 0.8927E-18, 0.9888E-19, &
392 0.7750E-21, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
393 0.0000E+00, 0.0000E+00 /
395 !-------------------------------------------------------
397 !-------------------------------------------------------
398 data (sjref(ii,08),ii=1,17)/ &
399 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
400 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.1369E-18, 0.1299E-18, &
401 0.3999E-19, 0.1973E-19, 0.7371E-20, 0.0000E+00, 0.0000E+00, &
402 0.0000E+00, 0.0000E+00 /
404 !-------------------------------------------------------
405 ! N2O + hv -> N2 + O(1
406 !-------------------------------------------------------
407 data (sjref(ii,09),ii=1,17)/ &
408 0.1417E-18, 0.1441E-18, 0.1366E-18, 0.1106E-18, 0.6920E-19, &
409 0.3004E-19, 0.8198E-20, 0.1335E-20, 0.4760E-22, 0.0000E+00, &
410 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
411 0.0000E+00, 0.0000E+00 /
413 !-------------------------------------------------------
415 !-------------------------------------------------------
416 data (sjref(ii,10),ii=1,17)/ &
417 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.1152E-19, 0.4251E-18, &
418 0.9602E-18, 0.1522E-17, 0.1892E-17, 0.1668E-17, 0.1727E-18, &
419 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
420 0.0000E+00, 0.0000E+00 /
422 !-------------------------------------------------------
424 !-------------------------------------------------------
425 data (sjref(ii,11),ii=1,17)/ &
426 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.2614E-18, 0.5668E-18, &
427 0.4562E-18, 0.3673E-18, 0.2829E-18, 0.1749E-18, 0.4953E-19, &
428 0.7495E-20, 0.3722E-20, 0.1378E-20, 0.3749E-21, 0.0000E+00, &
429 0.0000E+00, 0.0000E+00 /
431 !-------------------------------------------------------
433 !-------------------------------------------------------
434 data (sjref(ii,12),ii=1,17)/ &
435 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
436 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
437 0.0000E+00, 0.1047E-19, 0.6659E-19, 0.9813E-19, 0.0000E+00, &
438 0.0000E+00, 0.0000E+00 /
440 !-------------------------------------------------------
442 !-------------------------------------------------------
443 data (sjref(ii,13),ii=1,17)/ &
444 0.0000E+00, 0.0000E+00, 0.3796E-17, 0.1341E-16, 0.9779E-17, &
445 0.4798E-17, 0.1367E-17, 0.2489E-18, 0.5471E-19, 0.1564E-19, &
446 0.3259E-20, 0.8310E-21, 0.1226E-21, 0.9635E-24, 0.0000E+00, &
447 0.0000E+00, 0.0000E+00 /
449 !-------------------------------------------------------
451 !-------------------------------------------------------
452 data (sjref(ii,14),ii=1,17)/ &
453 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.3904E-17, 0.8071E-17, &
454 0.5075E-17, 0.2702E-17, 0.1419E-17, 0.7767E-18, 0.2486E-18, &
455 0.2041E-19, 0.5706E-20, 0.1144E-20, 0.0000E+00, 0.0000E+00, &
456 0.0000E+00, 0.0000E+00 /
458 !-------------------------------------------------------
460 !-------------------------------------------------------
461 data (sjref(ii,15),ii=1,17)/ &
462 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
463 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.8056E-23, 0.3983E-20, &
464 0.2183E-19, 0.1541E-19, 0.8306E-20, 0.4813E-24, 0.0000E+00, &
465 0.0000E+00, 0.0000E+00 /
467 !-------------------------------------------------------
469 !-------------------------------------------------------
470 data (sjref(ii,16),ii=1,17)/ &
471 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
472 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.1234E-22, 0.4248E-20, &
473 0.7835E-20, 0.5357E-20, 0.1052E-19, 0.1582E-21, 0.0000E+00, &
474 0.0000E+00, 0.0000E+00 /
476 !-------------------------------------------------------
477 ! CH3CHO -> CH3 + HCO
478 !-------------------------------------------------------
479 data (sjref(ii,17),ii=1,17)/ &
480 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
481 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.8013E-20, &
482 0.1853E-19, 0.8492E-20, 0.6520E-21, 0.0000E+00, 0.0000E+00, &
483 0.0000E+00, 0.0000E+00 /
485 !-------------------------------------------------------
487 !-------------------------------------------------------
488 data (sjref(ii,18),ii=1,17)/ &
489 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
490 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.3445E-20, &
491 0.6997E-22, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
492 0.0000E+00, 0.0000E+00 /
494 !-------------------------------------------------------
495 ! CH3CHO -> CH3CO + H
496 !-------------------------------------------------------
497 data (sjref(ii,19),ii=1,17)/ &
498 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
499 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
500 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
501 0.0000E+00, 0.0000E+00 /
503 !-------------------------------------------------------
504 ! C2H5CHO -> C2H5 + HC
505 !-------------------------------------------------------
506 data (sjref(ii,20),ii=1,17)/ &
507 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
508 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
509 0.3277E-19, 0.2222E-19, 0.3489E-20, 0.1042E-24, 0.0000E+00, &
510 0.0000E+00, 0.0000E+00 /
512 !-------------------------------------------------------
514 !-------------------------------------------------------
515 data (sjref(ii,21),ii=1,17)/ &
516 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
517 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.7555E-21, 0.7623E-20, &
518 0.1313E-19, 0.1112E-19, 0.3667E-21, 0.5683E-21, 0.1817E-20, &
519 0.0000E+00, 0.0000E+00 /
521 !-------------------------------------------------------
522 ! CH3COCHO -> products
523 !-------------------------------------------------------
524 data (sjref(ii,22),ii=1,17)/ &
525 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
526 0.0000E+00, 0.0000E+00, 0.1492E-20, 0.7317E-20, 0.1550E-19, &
527 0.1765E-19, 0.9996E-20, 0.3344E-20, 0.5892E-20, 0.0000E+00, &
528 0.0000E+00, 0.0000E+00 /
530 !-------------------------------------------------------
532 !-------------------------------------------------------
533 data (sjref(ii,23),ii=1,17)/ &
534 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
535 0.1636E-20, 0.1205E-20, 0.1660E-20, 0.6857E-20, 0.3884E-19, &
536 0.7735E-20, 0.9000E-21, 0.7830E-22, 0.0000E+00, 0.0000E+00, &
537 0.0000E+00, 0.0000E+00 /
539 !-------------------------------------------------------
540 ! CH3OOH -> CH3O + OH
541 !-------------------------------------------------------
542 data (sjref(ii,24),ii=1,17)/ &
543 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
544 0.0000E+00, 0.1058E-18, 0.1847E-18, 0.9326E-19, 0.2451E-19, &
545 0.4842E-20, 0.2490E-20, 0.1101E-20, 0.9321E-22, 0.0000E+00, &
546 0.0000E+00, 0.0000E+00 /
548 !-------------------------------------------------------
549 ! CH3ONO2 -> CH3O+NO2
550 !-------------------------------------------------------
551 data (sjref(ii,25),ii=1,17)/ &
552 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
553 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.1627E-19, 0.2508E-19, &
554 0.4415E-20, 0.1180E-20, 0.1714E-21, 0.6073E-24, 0.0000E+00, &
555 0.0000E+00, 0.0000E+00 /
557 !-------------------------------------------------------
558 ! PAN + hv -> products
559 !-------------------------------------------------------
560 data (sjref(ii,26),ii=1,17)/ &
561 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.1368E-17, &
562 0.3275E-17, 0.2097E-17, 0.1086E-17, 0.4244E-18, 0.6206E-19, &
563 0.2340E-20, 0.6042E-21, 0.1504E-21, 0.4819E-23, 0.0000E+00, &
564 0.0000E+00, 0.0000E+00 /
566 !-------------------------------------------------------
567 ! ClOO + hv -> Product
568 !-------------------------------------------------------
569 data (sjref(ii,27),ii=1,17)/ &
570 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
571 0.0000E+00, 0.0000E+00, 0.1431E-17, 0.1648E-16, 0.1280E-16, &
572 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
573 0.0000E+00, 0.0000E+00 /
575 !-------------------------------------------------------
576 ! ClONO2 + hv -> Cl +
577 !-------------------------------------------------------
578 data (sjref(ii,28),ii=1,17)/ &
579 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.6062E-18, &
580 0.1691E-17, 0.1862E-17, 0.2042E-17, 0.1170E-17, 0.1932E-18, &
581 0.2182E-19, 0.9468E-20, 0.4360E-20, 0.1328E-20, 0.4907E-22, &
582 0.0000E+00, 0.0000E+00 /
584 !-------------------------------------------------------
585 ! ClONO2 + hv -> ClO +
586 !-------------------------------------------------------
587 data (sjref(ii,29),ii=1,17)/ &
588 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.4041E-18, &
589 0.1127E-17, 0.1241E-17, 0.1361E-17, 0.7799E-18, 0.1288E-18, &
590 0.1455E-19, 0.6034E-20, 0.1653E-20, 0.0000E+00, 0.0000E+00, &
591 0.0000E+00, 0.0000E+00 /
593 !-------------------------------------------------------
594 ! CH3Cl + hv -> Produc
595 !-------------------------------------------------------
596 data (sjref(ii,30),ii=1,17)/ &
597 0.0000E+00, 0.0000E+00, 0.5782E-19, 0.1421E-18, 0.5267E-19, &
598 0.1384E-19, 0.2628E-20, 0.1801E-21, 0.0000E+00, 0.0000E+00, &
599 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
600 0.0000E+00, 0.0000E+00 /
602 !-------------------------------------------------------
603 ! CCl2O + hv -> Produc
604 !-------------------------------------------------------
605 data (sjref(ii,31),ii=1,17)/ &
606 0.0000E+00, 0.0000E+00, 0.1283E-17, 0.1195E-17, 0.5590E-18, &
607 0.2495E-18, 0.1489E-18, 0.1234E-18, 0.4404E-19, 0.0000E+00, &
608 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
609 0.0000E+00, 0.0000E+00 /
611 !-------------------------------------------------------
612 ! CCl4 + hv -> Product
613 !-------------------------------------------------------
614 data (sjref(ii,32),ii=1,17)/ &
615 0.8434E-17, 0.6384E-17, 0.3864E-17, 0.1696E-17, 0.7502E-18, &
616 0.6283E-18, 0.4862E-18, 0.2369E-18, 0.4361E-19, 0.8880E-21, &
617 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
618 0.0000E+00, 0.0000E+00 /
620 !-------------------------------------------------------
621 ! CClFO + hv -> Produc
622 !-------------------------------------------------------
623 data (sjref(ii,33),ii=1,17)/ &
624 0.0000E+00, 0.0000E+00, 0.3825E-19, 0.1351E-18, 0.1255E-18, &
625 0.1216E-18, 0.1004E-18, 0.6294E-19, 0.1102E-19, 0.0000E+00, &
626 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
627 0.0000E+00, 0.0000E+00 /
629 !-------------------------------------------------------
630 ! CF2O + hv -> Product
631 !-------------------------------------------------------
632 data (sjref(ii,34),ii=1,17)/ &
633 0.0000E+00, 0.0000E+00, 0.1339E-19, 0.4267E-19, 0.2636E-19, &
634 0.1225E-19, 0.4416E-20, 0.1115E-20, 0.9727E-22, 0.0000E+00, &
635 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
636 0.0000E+00, 0.0000E+00 /
638 ! CF2ClCFCl2 (CFC-113)
639 data (sjref(ii,35),ii=1,17)/ &
640 0.0000E+00, 0.0000E+00, 0.8049E-18, 0.6998E-18, 0.3166E-18, &
641 0.9827E-19, 0.2275E-19, 0.3931E-20, 0.2737E-21, 0.0000E+00, &
642 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
643 0.0000E+00, 0.0000E+00 /
645 ! CF2ClCF2Cl (CFC-114)
646 data (sjref(ii,36),ii=1,17)/ &
647 0.2880E-18, 0.2147E-18, 0.1310E-18, 0.6113E-19, 0.2178E-19, &
648 0.6132E-20, 0.1327E-20, 0.1991E-21, 0.0000E+00, 0.0000E+00, &
649 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
650 0.0000E+00, 0.0000E+00 /
652 ! CF3CF2Cl (CFC-115) +
653 data (sjref(ii,37),ii=1,17)/ &
654 0.1660E-19, 0.1158E-19, 0.6494E-20, 0.3055E-20, 0.1155E-20, &
655 0.3346E-21, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
656 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
657 0.0000E+00, 0.0000E+00 /
659 ! CCl3F (CFC-11) + hv
660 data (sjref(ii,38),ii=1,17)/ &
661 0.3100E-17, 0.2925E-17, 0.2465E-17, 0.1838E-17, 0.1100E-17, &
662 0.5342E-18, 0.1850E-18, 0.4170E-19, 0.4090E-20, 0.3713E-22, &
663 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
664 0.0000E+00, 0.0000E+00 /
666 ! CCl2F2 (CFC-12) + hv
667 data (sjref(ii,39),ii=1,17)/ &
668 0.1806E-17, 0.1617E-17, 0.1205E-17, 0.6804E-18, 0.2623E-18, &
669 0.6733E-19, 0.1216E-19, 0.1473E-20, 0.9542E-22, 0.0000E+00, &
670 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
671 0.0000E+00, 0.0000E+00 /
673 ! CH3CCl3 + hv -> Prod
674 data (sjref(ii,40),ii=1,17)/ &
675 0.0000E+00, 0.0000E+00, 0.1258E-17, 0.2007E-17, 0.1365E-17, &
676 0.7141E-18, 0.2853E-18, 0.7284E-19, 0.8014E-20, 0.0000E+00, &
677 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
678 0.0000E+00, 0.0000E+00 /
680 ! CF3CHCl2 (HCFC-123)
681 data (sjref(ii,41),ii=1,17)/ &
682 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.2399E-18, &
683 0.7356E-19, 0.1688E-19, 0.3281E-20, 0.0000E+00, 0.0000E+00, &
684 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
685 0.0000E+00, 0.0000E+00 /
687 ! CF3CHFCl (HCFC-124)
688 data (sjref(ii,42),ii=1,17)/ &
689 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.2450E-20, &
690 0.7010E-21, 0.1547E-21, 0.3603E-22, 0.0000E+00, 0.0000E+00, &
691 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
692 0.0000E+00, 0.0000E+00 /
694 ! CH3CFCl2 (HCFC-141b)
695 data (sjref(ii,43),ii=1,17)/ &
696 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.2974E-18, 0.4178E-18, &
697 0.1328E-18, 0.2962E-19, 0.4478E-20, 0.0000E+00, 0.0000E+00, &
698 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
699 0.0000E+00, 0.0000E+00 /
701 ! CH3CF2Cl (HCFC-142b)
702 data (sjref(ii,44),ii=1,17)/ &
703 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.2907E-20, &
704 0.7364E-21, 0.1479E-21, 0.2526E-22, 0.0000E+00, 0.0000E+00, &
705 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
706 0.0000E+00, 0.0000E+00 /
708 ! CF3CF2CHCl2 (HCFC-22
709 data (sjref(ii,45),ii=1,17)/ &
710 0.1790E-17, 0.1626E-17, 0.1283E-17, 0.8094E-18, 0.3940E-18, &
711 0.1395E-18, 0.3959E-19, 0.8927E-20, 0.8714E-21, 0.0000E+00, &
712 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
713 0.0000E+00, 0.0000E+00 /
715 ! CF2ClCF2CHFCl (HCFC-
716 data (sjref(ii,46),ii=1,17)/ &
717 0.2464E-18, 0.1743E-18, 0.9730E-19, 0.4340E-19, 0.1599E-19, &
718 0.5669E-20, 0.1816E-20, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
719 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
720 0.0000E+00, 0.0000E+00 /
722 ! CHClF2 (HCFC-22) + h
723 data (sjref(ii,47),ii=1,17)/ &
724 0.2207E-19, 0.1453E-19, 0.7236E-20, 0.2882E-20, 0.9112E-21, &
725 0.2275E-21, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
726 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
727 0.0000E+00, 0.0000E+00 /
729 ! BrONO2 + hv -> Br +
730 data (sjref(ii,48),ii=1,17)/ &
731 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
732 0.1007E-17, 0.1060E-17, 0.8014E-18, 0.5760E-18, 0.1392E-18, &
733 0.5338E-19, 0.3872E-19, 0.2723E-19, 0.1113E-19, 0.2644E-20, &
734 0.5404E-22, 0.0000E+00 /
736 ! BrONO2 + hv -> BrO +
737 data (sjref(ii,49),ii=1,17)/ &
738 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
739 0.2465E-17, 0.2596E-17, 0.1962E-17, 0.1410E-17, 0.3407E-18, &
740 0.1307E-18, 0.9481E-19, 0.6667E-19, 0.2725E-19, 0.6474E-20, &
741 0.1323E-21, 0.0000E+00 /
743 ! CH3Br + hv -> Produc
744 data (sjref(ii,50),ii=1,17)/ &
745 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.1948E-18, 0.6517E-18, &
746 0.7879E-18, 0.6941E-18, 0.4525E-18, 0.1482E-18, 0.4843E-20, &
747 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
748 0.0000E+00, 0.0000E+00 /
751 data (sjref(ii,51),ii=1,17)/ &
752 0.3990E-17, 0.3990E-17, 0.3990E-17, 0.3912E-17, 0.3645E-17, &
753 0.4246E-17, 0.4651E-17, 0.5596E-17, 0.4158E-17, 0.8230E-18, &
754 0.8168E-20, 0.1454E-20, 0.1400E-21, 0.2931E-23, 0.0000E+00, &
755 0.0000E+00, 0.0000E+00 /
757 ! CF3Br (Halon-1301) +
758 data (sjref(ii,52),ii=1,17)/ &
759 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.2792E-19, 0.8983E-19, &
760 0.1155E-18, 0.1202E-18, 0.8986E-19, 0.2972E-19, 0.8513E-21, &
761 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
762 0.0000E+00, 0.0000E+00 /
764 ! CF2BrCF2Br (Halon-24
765 data (sjref(ii,53),ii=1,17)/ &
766 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.4481E-18, 0.1200E-17, &
767 0.1227E-17, 0.1086E-17, 0.7878E-18, 0.3245E-18, 0.1949E-19, &
768 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
769 0.0000E+00, 0.0000E+00 /
771 ! CF2Br2 (Halon-1202)
772 data (sjref(ii,54),ii=1,17)/ &
773 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.4482E-18, 0.9550E-18, &
774 0.7511E-18, 0.1054E-17, 0.1957E-17, 0.2161E-17, 0.2699E-18, &
775 0.5915E-21, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
776 0.0000E+00, 0.0000E+00 /
778 ! CF2BrCl (Halon-1211)
779 data (sjref(ii,55),ii=1,17)/ &
780 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.2109E-18, 0.7667E-18, &
781 0.1140E-17, 0.1178E-17, 0.9150E-18, 0.3996E-18, 0.3035E-19, &
782 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
783 0.0000E+00, 0.0000E+00 /
785 ! Cl2 + hv -> Cl + Cl
786 data (sjref(ii,56),ii=1,17)/ &
787 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
788 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.1341E-19, &
789 0.1068E-18, 0.1806E-18, 0.2395E-18, 0.8432E-19, 0.4492E-20, &
790 0.0000E+00, 0.0000E+00 /
792 !HOCl + hv -> OH + Cl
793 data (sjref(ii,57),ii=1,17)/ &
794 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
795 0.4436E-19, 0.5807E-19, 0.8483E-19, 0.1532E-18, 0.1040E-18, &
796 0.5762E-19, 0.5963E-19, 0.4075E-19, 0.8082E-20, 0.0000E+00, &
797 0.0000E+00, 0.0000E+00 /
799 ! FMCl + hv -> Cl + CO + HO2
800 data (sjref(ii,58),ii=1,17)/ &
801 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
802 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.3344E-19, &
803 0.3021E-20, 0.2700E-22, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
804 0.0000E+00, 0.0000E+00 /
805 ! acolein cross sections
806 ! data (acrolein_xs(ii),ii=1,18)/ &
807 ! 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.0000E+00, &
808 ! 0.0000E+00, 0.0000E+00, 0.0000E+00, 0.7242E-20, 0.6807E-20, &
809 ! 0.2450E-19, 0.3803E-19, 0.5302E-19, 0.1754E-19, 0.0000E+00, &
810 ! 0.0000E+00, 0.0000E+00, 0.0000E+00 /
811 !------------------------------------------------------------------
812 ! ... updated from mz4.5
813 !------------------------------------------------------------------
814 data (acrolein_xs(ii),ii=1,18)/ &
815 0._dp, 0._dp, 0._dp, 0._dp, 0._dp, &
816 0._dp, 0._dp, 0._dp, 3.253e-22_dp, 8.705e-21_dp, &
817 3.255e-20_dp, 4.899e-20_dp, 6.26e-20_dp, 1.852e-20_dp, 0._dp, &
818 0._dp, 0._dp, 0._dp /
820 !-------------------------------------------------------
821 ! correction coef. for zenith=20
822 !-------------------------------------------------------
824 data ((c20(ii,kk),ii=1,5),kk=1,58)/ &
825 0.7070E+01_dp, 0.3759E+00_dp, -.1308E+01_dp, 0.2779E+00_dp, -.1295E-01_dp, &
826 0.3696E+02_dp, -.3947E+02_dp, 0.1206E+02_dp, -.1179E+01_dp, 0.3640E-01_dp, &
827 -.2446E+01_dp, -.1012E+01_dp, 0.2398E+00_dp, -.2085E-01_dp, 0.5971E-03_dp, &
828 0.1162E+02_dp, 0.4995E+00_dp, -.1370E+00_dp, 0.1473E-01_dp, -.5209E-03_dp, &
829 -.7467E+02_dp, -.4068E-01_dp, 0.3046E-02_dp, -.3493E-03_dp, 0.1300E-04_dp, &
830 0.3233E+01_dp, 0.2210E+00_dp, -.9869E-01_dp, 0.1192E-01_dp, -.4533E-03_dp, &
831 0.1156E+02_dp, -.8101E+01_dp, 0.1430E+01_dp, 0.6346E-01_dp, -.1035E-01_dp, &
832 0.2245E+02_dp, -.3740E+01_dp, 0.2204E+01_dp, -.2758E+00_dp, 0.1017E-01_dp, &
833 -.1997E+02_dp, 0.3596E+02_dp, -.1341E+02_dp, 0.1726E+01_dp, -.6627E-01_dp, &
834 0.2146E+02_dp, -.1454E+02_dp, 0.3728E+01_dp, -.3417E+00_dp, 0.1067E-01_dp, &
835 -.7225E+01_dp, -.1905E+02_dp, 0.3493E+01_dp, -.2899E+00_dp, 0.8709E-02_dp, &
836 0.7219E+01_dp, 0.1184E+01_dp, -.3897E+00_dp, 0.4558E-01_dp, -.1691E-02_dp, &
837 -.2406E+00_dp, -.2155E+01_dp, 0.1012E+01_dp, -.1102E+00_dp, 0.3265E-02_dp, &
838 0.6289E+01_dp, -.5259E+01_dp, 0.1010E+01_dp, -.9599E-01_dp, 0.2999E-02_dp, &
839 0.5790E+01_dp, 0.3564E+01_dp, -.9204E+00_dp, 0.7470E-01_dp, -.2067E-02_dp, &
840 -.7339E+01_dp, 0.8577E+01_dp, -.1439E+01_dp, 0.1715E+00_dp, -.6845E-02_dp, &
841 0.6873E+01_dp, 0.9925E+01_dp, -.1103E+01_dp, 0.3600E-01_dp, -.4397E-03_dp, &
842 0.2127E+03_dp, -.1728E+03_dp, 0.3302E+02_dp, -.2579E+01_dp, 0.7060E-01_dp, &
843 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
844 -.2486E+01_dp, 0.1277E+02_dp, -.2734E+01_dp, 0.2094E+00_dp, -.5546E-02_dp, &
845 0.1594E+02_dp, 0.2352E+01_dp, -.5208E+00_dp, 0.4645E-01_dp, -.1468E-02_dp, &
846 -.8191E+01_dp, -.1325E+01_dp, 0.3376E+00_dp, -.3625E-01_dp, 0.1290E-02_dp, &
847 ! 58.88973_dp, -67.7546_dp, 17.7761_dp, -2.26103_dp, 0.10354_dp, &
848 0.1569E+02_dp, -.7515E+01_dp, 0.3110E+01_dp, -.3417E+00_dp, 0.1105E-01_dp, &
849 0.8295E+01_dp, -.4326E+01_dp, 0.7690E+00_dp, -.5752E-01_dp, 0.1458E-02_dp, &
850 0.8573E+01_dp, -.6433E+01_dp, 0.1910E+01_dp, -.1765E+00_dp, 0.4821E-02_dp, &
851 0.5567E+01_dp, -.3415E+01_dp, 0.9974E+00_dp, -.1327E+00_dp, 0.5125E-02_dp, &
852 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
853 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
854 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
855 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
856 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
857 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
858 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
859 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
860 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
861 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
862 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
863 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
864 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
865 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
866 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
867 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
868 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
869 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
870 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
871 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
872 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
873 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
874 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
875 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
876 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
877 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
878 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
879 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
880 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
881 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
882 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
883 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp /
885 !-------------------------------------------------------
886 ! correction coef. for zenith=40
887 !-------------------------------------------------------
889 data ((c40(ii,kk),ii=1,5),kk=1,58)/ &
890 -.1895E+00_dp, 0.1173E+02_dp, -.4908E+01_dp, 0.7820E+00_dp, -.3439E-01_dp, &
891 0.1962E+02_dp, -.2455E+02_dp, 0.9490E+01_dp, -.1049E+01_dp, 0.3501E-01_dp, &
892 -.3079E+01_dp, -.5048E+00_dp, 0.1277E+00_dp, -.1175E-01_dp, 0.3456E-03_dp, &
893 0.1153E+02_dp, 0.5407E+00_dp, -.1458E+00_dp, 0.1569E-01_dp, -.5555E-03_dp, &
894 -.7465E+02_dp, -.7051E-01_dp, 0.8473E-02_dp, -.9057E-03_dp, 0.3180E-04_dp, &
895 0.3155E+01_dp, 0.3559E+00_dp, -.1534E+00_dp, 0.1835E-01_dp, -.6973E-03_dp, &
896 0.2650E+02_dp, -.2605E+02_dp, 0.7603E+01_dp, -.5420E+00_dp, 0.7451E-02_dp, &
897 0.1966E+02_dp, 0.5411E-01_dp, 0.1362E+01_dp, -.2107E+00_dp, 0.8579E-02_dp, &
898 -.2380E+02_dp, 0.3767E+02_dp, -.1202E+02_dp, 0.1779E+01_dp, -.7717E-01_dp, &
899 0.2125E+02_dp, -.1242E+02_dp, 0.2822E+01_dp, -.1615E+00_dp, 0.1873E-02_dp, &
900 -.1070E+02_dp, -.1866E+02_dp, 0.3452E+01_dp, -.2876E+00_dp, 0.8628E-02_dp, &
901 0.6843E+01_dp, 0.1299E+01_dp, -.4284E+00_dp, 0.5045E-01_dp, -.1890E-02_dp, &
902 -.1506E+02_dp, 0.1398E+02_dp, -.2476E+01_dp, 0.1543E+00_dp, -.3430E-02_dp, &
903 0.2068E+01_dp, -.7057E+00_dp, -.1971E+00_dp, 0.9200E-02_dp, -.5000E-05_dp, &
904 0.5924E+01_dp, 0.4186E+01_dp, -.1217E+01_dp, 0.1055E+00_dp, -.3038E-02_dp, &
905 -.7911E+01_dp, 0.8992E+01_dp, -.1554E+01_dp, 0.1856E+00_dp, -.7309E-02_dp, &
906 0.5082E+01_dp, 0.1396E+02_dp, -.2272E+01_dp, 0.1452E+00_dp, -.3790E-02_dp, &
907 0.1701E+03_dp, -.1574E+03_dp, 0.3097E+02_dp, -.2461E+01_dp, 0.6813E-01_dp, &
908 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
909 -.9485E+00_dp, 0.1351E+02_dp, -.3240E+01_dp, 0.2661E+00_dp, -.7396E-02_dp, &
910 0.1571E+02_dp, 0.2718E+01_dp, -.6571E+00_dp, 0.5990E-01_dp, -.1893E-02_dp, &
911 -.8311E+01_dp, -.1182E+01_dp, 0.3142E+00_dp, -.3576E-01_dp, 0.1336E-02_dp, &
912 ! 59.04684_dp, -67.68378_dp, 17.67471_dp, -2.24201_dp, 0.10236_dp, &
913 0.4926E+01_dp, 0.3918E+01_dp, 0.3607E+00_dp, -.1143E+00_dp, 0.4793E-02_dp, &
914 0.6043E+01_dp, -.2715E+01_dp, 0.3730E+00_dp, -.2205E-01_dp, 0.3954E-03_dp, &
915 -.6693E-02_dp, 0.1872E+01_dp, -.8570E-01_dp, -.1044E-01_dp, 0.2336E-03_dp, &
916 0.5017E-01_dp, 0.4719E+01_dp, -.1084E+01_dp, 0.4456E-01_dp, 0.1960E-03_dp, &
917 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
918 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
919 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
920 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
921 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
922 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
923 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
924 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
925 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
926 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
927 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
928 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
929 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
930 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
931 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
932 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
933 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
934 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
935 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
936 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
937 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
938 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
939 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
940 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
941 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
942 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
943 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
944 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
945 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
946 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
947 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
948 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp /
951 !-------------------------------------------------------
952 ! correction coef. for zenith=60
953 !-------------------------------------------------------
955 data ((c60(ii,kk),ii=1,5),kk=1,58)/ &
956 -.1638E+02_dp, 0.3958E+02_dp, -.1606E+02_dp, 0.2488E+01_dp, -.1077E+00_dp, &
957 -.2315E+02_dp, 0.2426E+02_dp, -.2826E+01_dp, -.3649E-03_dp, 0.5939E-02_dp, &
958 -.3974E+01_dp, 0.3165E+00_dp, -.7318E-01_dp, 0.5292E-02_dp, -.1394E-03_dp, &
959 0.1136E+02_dp, 0.5802E+00_dp, -.1499E+00_dp, 0.1645E-01_dp, -.5966E-03_dp, &
960 -.7464E+02_dp, -.1207E+00_dp, 0.1455E-01_dp, -.1564E-02_dp, 0.5550E-04_dp, &
961 0.2808E+01_dp, 0.6323E+00_dp, -.2726E+00_dp, 0.3265E-01_dp, -.1250E-02_dp, &
962 0.6710E+02_dp, -.7909E+02_dp, 0.2461E+02_dp, -.2071E+01_dp, 0.4810E-01_dp, &
963 0.1837E+02_dp, 0.4619E+01_dp, 0.2547E+00_dp, -.1197E+00_dp, 0.6375E-02_dp, &
964 -.5101E+02_dp, 0.9591E+02_dp, -.3419E+02_dp, 0.5055E+01_dp, -.2158E+00_dp, &
965 -.4153E+01_dp, 0.2473E+02_dp, -.1137E+02_dp, 0.1819E+01_dp, -.7925E-01_dp, &
966 -.1660E+02_dp, -.1775E+02_dp, 0.3260E+01_dp, -.2704E+00_dp, 0.8049E-02_dp, &
967 0.5976E+01_dp, 0.1501E+01_dp, -.4931E+00_dp, 0.5883E-01_dp, -.2256E-02_dp, &
968 -.1125E+02_dp, 0.2029E+02_dp, -.5391E+01_dp, 0.4692E+00_dp, -.1363E-01_dp, &
969 0.4837E+00_dp, 0.2130E+01_dp, -.1477E+01_dp, 0.1459E+00_dp, -.4428E-02_dp, &
970 0.8633E+01_dp, 0.2963E+01_dp, -.1277E+01_dp, 0.1250E+00_dp, -.3843E-02_dp, &
971 -.8969E+01_dp, 0.9657E+01_dp, -.1778E+01_dp, 0.2186E+00_dp, -.8465E-02_dp, &
972 0.6672E+01_dp, 0.1784E+02_dp, -.3836E+01_dp, 0.3077E+00_dp, -.9108E-02_dp, &
973 0.6373E+02_dp, -.1009E+03_dp, 0.2045E+02_dp, -.1652E+01_dp, 0.4621E-01_dp, &
974 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
975 0.6551E+01_dp, 0.1004E+02_dp, -.3142E+01_dp, 0.2893E+00_dp, -.8648E-02_dp, &
976 0.1623E+02_dp, 0.2482E+01_dp, -.7158E+00_dp, 0.6861E-01_dp, -.2212E-02_dp, &
977 -.7875E+01_dp, -.1366E+01_dp, 0.3688E+00_dp, -.4288E-01_dp, 0.1665E-02_dp, &
978 ! 60.2912_dp, -68.21459_dp, 17.65838_dp, -2.22646_dp, 0.10101_dp, &
979 -.9723E+01_dp, 0.2415E+02_dp, -.5494E+01_dp, 0.4353E+00_dp, -.1185E-01_dp, &
980 0.2494E+01_dp, -.1060E+00_dp, -.3462E+00_dp, 0.4881E-01_dp, -.1885E-02_dp, &
981 -.1241E+02_dp, 0.1633E+02_dp, -.4155E+01_dp, 0.3659E+00_dp, -.1103E-01_dp, &
982 0.3754E+01_dp, 0.4798E+01_dp, -.2051E+01_dp, 0.1749E+00_dp, -.4421E-02_dp, &
983 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
984 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
985 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
986 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
987 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
988 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
989 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
990 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
991 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
992 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
993 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
994 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
995 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
996 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
997 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
998 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
999 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1000 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1001 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1002 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1003 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1004 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1005 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1006 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1007 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1008 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1009 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1010 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1011 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1012 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1013 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1014 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp /
1016 !-------------------------------------------------------
1017 ! correction coef. for zenith=80
1018 !-------------------------------------------------------
1020 data ((c80(ii,kk),ii=1,5),kk=1,58)/ &
1021 -.1932E+02_dp, 0.4848E+02_dp, -.1816E+02_dp, 0.2644E+01_dp, -.1113E+00_dp, &
1022 0.1728E+02_dp, 0.8264E+01_dp, -.4332E+01_dp, 0.4240E+00_dp, -.1205E-01_dp, &
1023 -.3679E+01_dp, 0.3203E+00_dp, -.2073E+00_dp, 0.2292E-01_dp, -.8063E-03_dp, &
1024 0.1162E+02_dp, -.1252E+00_dp, 0.1497E+00_dp, -.1788E-01_dp, 0.6020E-03_dp, &
1025 -.7465E+02_dp, -.3094E+00_dp, 0.2662E-01_dp, -.3132E-02_dp, 0.1261E-03_dp, &
1026 0.1354E+01_dp, 0.1268E+01_dp, -.6397E+00_dp, 0.7837E-01_dp, -.3072E-02_dp, &
1027 0.4900E+02_dp, -.4330E+02_dp, 0.1243E+02_dp, -.6545E+00_dp, -.3124E-02_dp, &
1028 0.3719E+02_dp, -.5631E+01_dp, 0.2814E+01_dp, -.3031E+00_dp, 0.1144E-01_dp, &
1029 -.4231E+02_dp, 0.1101E+03_dp, -.3837E+02_dp, 0.5405E+01_dp, -.2250E+00_dp, &
1030 -.1008E+02_dp, 0.3177E+02_dp, -.1279E+02_dp, 0.1910E+01_dp, -.8098E-01_dp, &
1031 -.2675E+02_dp, -.1888E+02_dp, 0.3767E+01_dp, -.3337E+00_dp, 0.1035E-01_dp, &
1032 0.5699E+01_dp, -.2313E+00_dp, 0.1181E+00_dp, -.1085E-01_dp, 0.9490E-04_dp, &
1033 0.1952E+02_dp, -.9656E+01_dp, 0.3008E+00_dp, 0.3705E-01_dp, -.1937E-02_dp, &
1034 0.1146E+02_dp, -.1376E+02_dp, 0.1489E+01_dp, -.8155E-01_dp, 0.1865E-02_dp, &
1035 0.1915E+02_dp, -.9104E+01_dp, 0.1121E+01_dp, -.5157E-01_dp, 0.7693E-03_dp, &
1036 -.1538E+02_dp, 0.1580E+02_dp, -.3802E+01_dp, 0.4911E+00_dp, -.1826E-01_dp, &
1037 0.3248E+02_dp, 0.1777E+01_dp, -.1424E+01_dp, 0.1013E+00_dp, -.2249E-02_dp, &
1038 -.7258E+02_dp, -.1391E+02_dp, 0.2730E+01_dp, -.2204E+00_dp, 0.6206E-02_dp, &
1039 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1040 0.2933E+02_dp, -.1389E+02_dp, 0.1774E+01_dp, -.1105E+00_dp, 0.2751E-02_dp, &
1041 0.2003E+02_dp, -.1591E+01_dp, 0.3060E-01_dp, 0.9648E-02_dp, -.5457E-03_dp, &
1042 -.6542E+01_dp, -.2002E+01_dp, 0.5333E+00_dp, -.5663E-01_dp, 0.2222E-02_dp, &
1043 ! 67.51654_dp, -74.30246_dp, 19.69406_dp, -2.53227_dp, 0.1171_dp, &
1044 0.2831E+02_dp, -.4422E+01_dp, -.1020E+01_dp, 0.1347E+00_dp, -.4307E-02_dp, &
1045 0.4106E+01_dp, -.4695E+01_dp, 0.8728E+00_dp, -.5511E-01_dp, 0.9340E-03_dp, &
1046 0.1123E+02_dp, -.3881E+01_dp, -.7454E+00_dp, 0.1149E+00_dp, -.4054E-02_dp, &
1047 0.2265E+02_dp, -.2158E+02_dp, 0.4002E+01_dp, -.3497E+00_dp, 0.1110E-01_dp, &
1048 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1049 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1050 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1051 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1052 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1053 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1054 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1055 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1056 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1057 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1058 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1059 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1060 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1061 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1062 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1063 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1064 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1065 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1066 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1067 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1068 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1069 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1070 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1071 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1072 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1073 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1074 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1075 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1076 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1077 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1078 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, &
1079 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp, 0.0000E+00_dp /
1083 subroutine wave_data_inti( nz )
1087 !-------------------------------------------------------
1089 !-------------------------------------------------------
1090 integer, intent(in) :: nz
1092 !-------------------------------------------------------
1094 !-------------------------------------------------------
1095 integer :: astat, ij, iw
1097 if( .not. allocated(sq) ) then
1098 !-------------------------------------------------------
1099 ! allocate memory space
1100 !-------------------------------------------------------
1101 allocate( sq(nw-1,nz,nj), stat=astat )
1102 if( astat /= 0 ) then
1103 write(*,*) 'wave_data_inti: sq allocate failed; error = ',astat
1107 !-------------------------------------------------------
1109 !-------------------------------------------------------
1112 sq(iw,:,ij) = sjref(iw,ij)
1116 !-------------------------------------------------------
1117 ! ... initialize cross section functions
1118 !-------------------------------------------------------
1123 end subroutine wave_data_inti
1125 subroutine r01( nz, tlev, airlev, j, jlabel )
1126 !-----------------------------------------------------------------------------
1128 ! provide the product of (cross section) x (quantum yield) for the two
1129 ! o3 photolysis reactions:
1130 ! (a) o3 + hv -> o2 + o(1d)
1131 ! (b) o3 + hv -> o2 + o(3p)
1132 ! cross section: combined data from wmo 85 ozone assessment (use 273k
1133 ! value from 175.439-847.5 nm) and data from molina and
1134 ! molina (use in hartley and huggins bans (240.5-350 nm)
1135 ! quantum yield: choice between
1136 ! (1) data from michelsen et al, 1994
1137 ! (2) jpl 87 recommendation
1138 ! (3) jpl 90/92 recommendation (no "tail")
1139 ! (4) data from shetter et al., 1996
1140 ! (5) jpl 97 recommendation
1141 !-----------------------------------------------------------------------------
1143 ! nw - integer, number of specified intervals + 1 in working (i)
1145 ! wl - real(dp), vector of lower limits of wavelength intervals in (i)
1146 ! working wavelength grid
1147 ! wc - real(dp), vector of center points of wavelength intervals in (i)
1148 ! working wavelength grid
1149 ! nz - integer, number of altitude levels in working altitude grid (i)
1150 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
1151 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
1152 ! j - integer, counter for number of weighting functions defined (io)
1153 ! sq - real(dp), cross section x quantum yield (cm^2) for each (o)
1154 ! photolysis reaction defined, at each defined wavelength and
1155 ! at each defined altitude level
1156 ! jlabel - character*40, string identifier for each photolysis reaction (o)
1158 !-----------------------------------------------------------------------------
1160 ! 05/98 original, adapted from former jspec1 subroutine
1161 !-----------------------------------------------------------------------------
1162 ! this program is free software; you can redistribute it and/or modify
1163 ! it under the terms of the gnu general public license as published by the
1164 ! free software foundation; either version 2 of the license, or (at your
1165 ! option) any later version.
1166 ! the tuv package is distributed in the hope that it will be useful, but
1167 ! without any warranty; without even the implied warranty of merchantibi-
1168 ! lity or fitness for a particular purpose. see the gnu general public
1169 ! license for more details.
1170 ! free software foundation, inc., 675 mass ave, cambridge, ma 02139, usa.
1171 !-----------------------------------------------------------------------------
1173 !-----------------------------------------------------------------------------
1174 ! ... dummy arguments
1175 !-----------------------------------------------------------------------------
1176 integer, intent(in) :: nz
1177 integer, intent(inout) :: j
1178 real(dp), intent(in) :: tlev(nz)
1179 real(dp), intent(in) :: airlev(nz)
1180 character(len=40), intent(out) :: jlabel(nj)
1181 !-----------------------------------------------------------------------------
1182 ! ... local variables
1183 !-----------------------------------------------------------------------------
1184 real(dp), parameter :: c0 = 12._dp/19._dp
1185 real(dp), parameter :: a1 = 0.887_dp
1186 real(dp), parameter :: a2 = 2.35_dp
1187 real(dp), parameter :: a3 = 57.0_dp
1188 real(dp), parameter :: wc1 = 302._dp
1189 real(dp), parameter :: wc2 = 311.1_dp
1190 real(dp), parameter :: wc3 = 313.9_dp
1191 real(dp), parameter :: v2 = 820.0_dp
1192 real(dp), parameter :: v3 = 1190.0_dp
1193 real(dp), parameter :: w1 = 7.9_dp
1194 real(dp), parameter :: w2 = 2.2_dp
1195 real(dp), parameter :: w3 = 7.4_dp
1196 real(dp), parameter :: xk = 0.695_dp
1199 real(dp) :: qy1d, qy3p, so3, wrk, tinv
1202 !-----------------------------------------------------------------------------
1203 ! ... o3 photodissociation
1204 !-----------------------------------------------------------------------------
1206 jlabel(j) = 'o3 -> o2 + o(1d)'
1208 jlabel(j) = 'o3 -> o2 + o(3p)'
1213 tl = tlev(i) < 263._dp
1215 wrk = (tlev(i) - 226._dp)/(263._dp - 226._dp)
1217 wrk = (tlev(i) - 263._dp)/(298._dp - 263._dp)
1221 if( wl(iw) > 240.5_dp .and. wl(iw+1) < 350._dp ) then
1223 so3 = s226(iw) + (s263(iw) - s226(iw)) * wrk
1225 so3 = s263(iw) + (s298(iw) - s263(iw)) * wrk
1230 !-----------------------------------------------------------------------------
1232 !-----------------------------------------------------------------------------
1233 if( wc(iw) < 271._dp ) then
1235 else if( wc(iw) >= 271._dp .and. wc(iw) < 290._dp ) then
1236 qy1d = .87_dp + (wc(iw) - 271._dp)*c0
1237 else if( wc(iw) >= 290._dp .and. wc(iw) < 305._dp ) then
1239 else if( wc(iw) >= 305._dp .and. wc(iw) <= 325._dp ) then
1240 qy1d = r01g1(iw) * exp ( -r01g2(iw)*tinv )
1244 !-------------------------------------------------------------------------------
1246 !-------------------------------------------------------------------------------
1247 if( wc(iw) < 300._dp ) then
1249 else if( wc(iw) >= 300._dp .and. wc(iw) < 331._dp ) then
1250 qy1d = a1*exp( -((wc(iw) - wc1 )/w1)**4 ) &
1251 + a2*(tlev(i)/300._dp)**4*exp( -v2/xk*tinv ) &
1252 * exp( -((wc(iw) - wc2)/w2)**2 ) &
1253 + a3*exp( -v3/xk*tinv ) * exp( -((wc(iw) - wc3)/w3)**2 ) &
1255 else if( wc(iw) .ge. 331._dp .and. wc(iw) .lt. 345._dp ) then
1261 qy1d = fo3qy( wc(iw), tlev(i) )
1263 sq(iw,i,j-1) = qy1d*so3
1265 sq(iw,i,j) = qy3p*so3
1271 function fo3qy( w, t )
1272 !-----------------------------------------------------------------------------
1274 ! function to calculate the quantum yield O3 + hv -> O(1D) + O2,
1276 ! Matsumi, Y., F. J. Comes, G. Hancock, A. Hofzumanhays, A. J. Hynes,
1277 ! M. Kawasaki, and A. R. Ravishankara, QUantum yields for production of O(1D)
1278 ! in the ultraviolet photolysis of ozone: Recommendation based on evaluation
1279 ! of laboratory data, J. Geophys. Res., 107, 10.1029/2001JD000510, 2002.
1280 !-----------------------------------------------------------------------------
1284 !-----------------------------------------------------------------------------
1285 ! ... dummy arguments
1286 !-----------------------------------------------------------------------------
1287 real(dp), intent(in) :: w
1288 real(dp), intent(in) :: t
1290 !-----------------------------------------------------------------------------
1291 ! ... local variables
1292 !-----------------------------------------------------------------------------
1297 real(dp) :: a(3) = (/ 0.8036_dp, 8.9061_dp, 0.1192_dp /)
1298 real(dp) :: x(3) = (/ 304.225_dp, 314.957_dp, 310.737_dp /)
1299 real(dp) :: om(3) = (/ 5.576_dp, 6.601_dp, 2.187_dp /)
1301 !-----------------------------------------------------------------------------
1302 ! ... function declarations
1303 !-----------------------------------------------------------------------------
1309 q2 = exp( -825.518_dp/kt )
1311 if( w <= 305._dp ) then
1313 else if( w > 305._dp .and. w <= 328._dp ) then
1316 + a(1)* (q1/(q1+q2))*exp( -((x(1) - w)/om(1))**4 ) &
1317 + a(2)*(tfac)**2 *(q2/(q1+q2))*exp( -((x(2) - w)/om(2))**2 ) &
1318 + a(3)*(tfac)**1.5_dp *exp( -((x(3) - w)/om(3))**2 )
1319 else if( w > 328._dp .and. w <= 340._dp ) then
1321 else if( w > 340._dp ) then
1327 subroutine r04( nz, tlev, airlev, j, jlabel )
1328 !-----------------------------------------------------------------------------
1330 ! provide product of (cross section) x (quantum yiels) for n2o5 photolysis
1332 ! (a) n2o5 + hv -> no3 + no + o(3p)
1333 ! (b) n2o5 + hv -> no3 + no2
1334 ! cross section from jpl97: use tabulated values up to 280 nm, use expon.
1335 ! expression for >285nm, linearly interpolate
1336 ! between s(280) and s(285,t) in between
1337 ! quantum yield: analysis of data in jpl94 (->dataj1/yld/n2o5.qy)
1338 !-----------------------------------------------------------------------------
1340 ! nw - integer, number of specified intervals + 1 in working (i)
1342 ! wl - real(dp), vector of lower limits of wavelength intervals in (i)
1343 ! working wavelength grid
1344 ! wc - real(dp), vector of center points of wavelength intervals in (i)
1345 ! working wavelength grid
1346 ! nz - integer, number of altitude levels in working altitude grid (i)
1347 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
1348 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
1349 ! j - integer, counter for number of weighting functions defined (io)
1350 ! sq - real(dp), cross section x quantum yield (cm^2) for each (o)
1351 ! photolysis reaction defined, at each defined wavelength and
1352 ! at each defined altitude level
1353 ! jlabel - character*40, string identifier for each photolysis reaction (o)
1355 !-----------------------------------------------------------------------------
1357 ! 05/98 original, adapted from former jspec1 subroutine
1358 !-----------------------------------------------------------------------------
1360 !-----------------------------------------------------------------------------
1361 ! ... dummy arguments
1362 !-----------------------------------------------------------------------------
1363 integer, intent(in) :: nz
1364 integer, intent(inout) :: j
1365 real(dp), intent(in) :: tlev(nz)
1366 real(dp), intent(in) :: airlev(nz)
1367 character(len=40), intent(out) :: jlabel(nj)
1368 !-----------------------------------------------------------------------------
1369 ! ... local variables
1370 !-----------------------------------------------------------------------------
1371 real(dp), parameter :: xs280 = 1.16999993e-19_dp
1375 real(dp) :: xs, xst285
1377 !-----------------------------------------------------------------------------
1378 ! ... n2o5 photodissociation
1379 !-----------------------------------------------------------------------------
1381 jlabel(j) = 'n2o5 -> no3 + no + o(3p)'
1383 jlabel(j) = 'n2o5 -> no3 + no2'
1384 !-----------------------------------------------------------------------------
1385 ! ... cross section from jpl97, table up to 280 nm
1386 ! quantum yield : see dataj1/yld/n2o5.qy for explanation
1387 ! correct for t-dependence of cross section
1388 !-----------------------------------------------------------------------------
1390 !-----------------------------------------------------------------------------
1391 ! ... temperature dependence only valid for 225 - 300 k.
1392 !-----------------------------------------------------------------------------
1393 t = 1./max( 225._dp,min( tlev(i),300._dp ) )
1395 qy = max( 0._dp,min( 1._dp, 3.832441_dp - 0.012809638_dp * wc(iw) ) )
1396 !-----------------------------------------------------------------------------
1397 ! ... evaluate exponential
1398 !-----------------------------------------------------------------------------
1399 if( wl(iw) >= 285._dp .and. wl(iw+1) <= 380._dp ) then
1400 sq(iw,i,j-1) = qy * 1.e-20_dp*exp( 2.735_dp + (4728.5_dp - 17.127_dp*wc(iw)) * t )
1401 sq(iw,i,j) = (1._dp - qy) * 1.e-20_dp*exp( 2.735_dp + (4728.5_dp - 17.127_dp*wc(iw)) * t )
1402 !-----------------------------------------------------------------------------
1403 ! ... between 280 and 285, interpolate between temperature evaluated exponential
1404 ! at 285 nm and the tabulated value at 280 nm.
1405 !-----------------------------------------------------------------------------
1406 else if( wl(iw) >= 280._dp .and. wl(iw+1) <= 286._dp ) then
1407 xst285 = 1.e-20_dp* exp( 2.735_dp + (4728.5_dp - 17.127_dp*286._dp)*t )
1408 xs = xs280 + (wc(iw) - 280._dp)*(xst285 - xs280)/(286._dp - 280._dp)
1409 sq(iw,i,j-1) = qy * xs
1410 sq(iw,i,j) = (1._dp - qy) * xs
1411 !-----------------------------------------------------------------------------
1412 ! ... use tabulated values
1413 !-----------------------------------------------------------------------------
1414 else if (wl(iw) <= 280._dp ) then
1415 sq(iw,i,j-1) = qy * r04g(iw)
1416 sq(iw,i,j) = (1._dp - qy) * r04g(iw)
1417 !-----------------------------------------------------------------------------
1418 ! ... beyond 380 nm, set to zero
1419 !-----------------------------------------------------------------------------
1421 sq(iw,i,j-1) = 0._dp
1429 subroutine r44_inti( )
1430 !-----------------------------------------------------------------------------
1431 ! ... initialize subroutine r44
1432 !-----------------------------------------------------------------------------
1434 !-----------------------------------------------------------------------------
1435 ! ... dummy arguments
1436 !-----------------------------------------------------------------------------
1437 !-----------------------------------------------------------------------------
1438 ! ... local variables
1439 !-----------------------------------------------------------------------------
1440 !-----------------------------------------------------------------------------
1441 ! ... cross sections according to jpl97 recommendation (identical to 94 rec.)
1442 ! see file dataj1/abs/n2o_jpl94.abs for detail
1443 !-----------------------------------------------------------------------------
1444 real(dp), parameter :: a0 = 68.21023_dp
1445 real(dp), parameter :: a1 = -4.071805_dp
1446 real(dp), parameter :: a2 = 4.301146e-02_dp
1447 real(dp), parameter :: a3 = -1.777846e-04_dp
1448 real(dp), parameter :: a4 = 2.520672e-07_dp
1449 real(dp), parameter :: b0 = 123.4014_dp
1450 real(dp), parameter :: b1 = -2.116255_dp
1451 real(dp), parameter :: b2 = 1.111572e-02_dp
1452 real(dp), parameter :: b3 = -1.881058e-05_dp
1454 integer :: iw, astat
1457 allocate( a(nw-1), b(nw-1), stat=astat )
1458 if( astat /= 0 ) then
1459 write(*,*) 'r44_inti: a,b allocate failed; error = ',astat
1464 if( lambda >= 173._dp .and. lambda <= 240._dp ) then
1465 a(iw) = (((a4*lambda + a3)*lambda + a2)*lambda + a1)*lambda + a0
1466 b(iw) = ((b3*lambda + b2)*lambda + b1)*lambda + b0
1470 end subroutine r44_inti
1472 subroutine r44( nz, tlev, airlev, j, jlabel )
1473 !-----------------------------------------------------------------------------
1475 ! provide product (cross section) x (quantum yield) for n2o photolysis:
1476 ! n2o + hv -> n2 + o(1d)
1477 ! cross section: from jpl 97 recommendation
1478 ! quantum yield: assumed to be unity, based on greenblatt and ravishankara
1479 !-----------------------------------------------------------------------------
1481 ! nw - integer, number of specified intervals + 1 in working (i)
1483 ! wl - real(dp), vector of lower limits of wavelength intervals in (i)
1484 ! working wavelength grid
1485 ! wc - real(dp), vector of center points of wavelength intervals in (i)
1486 ! working wavelength grid
1487 ! nz - integer, number of altitude levels in working altitude grid (i)
1488 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
1489 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
1490 ! j - integer, counter for number of weighting functions defined (io)
1491 ! sq - real(dp), cross section x quantum yield (cm^2) for each (o)
1492 ! photolysis reaction defined, at each defined wavelength and
1493 ! at each defined altitude level
1494 ! jlabel - character*40, string identifier for each photolysis reaction (o)
1496 !-----------------------------------------------------------------------------
1498 ! 05/98 original, adapted from former jspec1 subroutine
1499 !-----------------------------------------------------------------------------
1501 !-----------------------------------------------------------------------------
1502 ! ... dummy arguments
1503 !-----------------------------------------------------------------------------
1504 integer, intent(in) :: nz
1505 integer, intent(inout) :: j
1506 real(dp), intent(in) :: tlev(nz)
1507 real(dp), intent(in) :: airlev(nz)
1508 character(len=40), intent(out) :: jlabel(nj)
1509 !-----------------------------------------------------------------------------
1510 ! ... local variables
1511 !-----------------------------------------------------------------------------
1514 !-----------------------------------------------------------------------------
1515 ! ... n2o photodissociation
1516 !-----------------------------------------------------------------------------
1518 jlabel(j) = 'n2o + hv -> n2 + o(1d)'
1519 !-----------------------------------------------------------------------------
1520 ! ... quantum yield of n(4s) and no(2pi) is less than 1% (greenblatt and
1521 ! ravishankara), so quantum yield of o(1d) is assumed to be unity
1522 !-----------------------------------------------------------------------------
1524 t = max( 194._dp,min( tlev(i),320._dp ) ) - 300._dp
1525 where( wc(:nw-1) >= 173._dp .and. wc(:nw-1) <= 240._dp )
1526 sq(:nw-1,i,j) = exp( a(:nw-1) + t*exp( b(:nw-1) ) )
1528 sq(:nw-1,i,j) = 0._dp
1534 subroutine r08_inti( )
1535 !-----------------------------------------------------------------------------
1536 ! ... initialize subroutine r08
1537 !-----------------------------------------------------------------------------
1539 !-----------------------------------------------------------------------------
1540 ! ... dummy arguments
1541 !-----------------------------------------------------------------------------
1542 !-----------------------------------------------------------------------------
1543 ! ... local variables
1544 !-----------------------------------------------------------------------------
1545 real(dp), parameter :: a0 = 6.4761e+04_dp
1546 real(dp), parameter :: a1 = -9.2170972e+02_dp
1547 real(dp), parameter :: a2 = 4.535649_dp
1548 real(dp), parameter :: a3 = -4.4589016e-03_dp
1549 real(dp), parameter :: a4 = -4.035101e-05_dp
1550 real(dp), parameter :: a5 = 1.6878206e-07_dp
1551 real(dp), parameter :: a6 = -2.652014e-10_dp
1552 real(dp), parameter :: a7 = 1.5534675e-13_dp
1553 real(dp), parameter :: b0 = 6.8123e+03_dp
1554 real(dp), parameter :: b1 = -5.1351e+01_dp
1555 real(dp), parameter :: b2 = 1.1522e-01_dp
1556 real(dp), parameter :: b3 = -3.0493e-05_dp
1557 real(dp), parameter :: b4 = -1.0924e-07_dp
1559 integer :: iw, astat
1562 allocate( suma(nw-1), sumb(nw-1), stat=astat )
1563 if( astat /= 0 ) then
1564 write(*,*) 'r08_inti: suma,sumb allocate failed; error = ',astat
1568 if( wl(iw) >= 260._dp .and. wl(iw) < 350._dp ) then
1570 suma(iw) = ((((((a7*lambda + a6)*lambda + a5)*lambda + a4)*lambda +a3)*lambda + a2)*lambda + a1)*lambda + a0
1571 sumb(iw) = (((b4*lambda + b3)*lambda + b2)*lambda + b1)*lambda + b0
1575 end subroutine r08_inti
1577 subroutine r08( nz, tlev, airlev, j, jlabel )
1578 !-----------------------------------------------------------------------------
1580 ! provide product of (cross section) x (quantum yield) for h2o2 photolysis
1582 ! cross section: from jpl97, tabulated values @ 298k for <260nm, t-depend.
1583 ! parameterization for 260-350nm
1584 ! quantum yield: assumed to be unity
1585 !-----------------------------------------------------------------------------
1587 ! nw - integer, number of specified intervals + 1 in working (i)
1589 ! wl - real(dp), vector of lower limits of wavelength intervals in (i)
1590 ! working wavelength grid
1591 ! wc - real(dp), vector of center points of wavelength intervals in (i)
1592 ! working wavelength grid
1593 ! nz - integer, number of altitude levels in working altitude grid (i)
1594 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
1595 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
1596 ! j - integer, counter for number of weighting functions defined (io)
1597 ! sq - real(dp), cross section x quantum yield (cm^2) for each (o)
1598 ! photolysis reaction defined, at each defined wavelength and
1599 ! at each defined altitude level
1600 ! jlabel - character*40, string identifier for each photolysis reaction (o)
1602 !-----------------------------------------------------------------------------
1604 ! 05/98 original, adapted from former jspec1 subroutine
1605 !-----------------------------------------------------------------------------
1607 !-----------------------------------------------------------------------------
1608 ! ... dummy arguments
1609 !-----------------------------------------------------------------------------
1610 integer, intent(in) :: nz
1611 integer, intent(inout) :: j
1612 real(dp), intent(in) :: tlev(nz)
1613 real(dp), intent(in) :: airlev(nz)
1614 character(len=40), intent(out) :: jlabel(nj)
1615 !-----------------------------------------------------------------------------
1616 ! ... local variables
1617 !-----------------------------------------------------------------------------
1621 !-----------------------------------------------------------------------------
1622 ! ... h2o2 photodissociation
1623 ! cross section from lin et al. 1978
1624 !-----------------------------------------------------------------------------
1626 jlabel(j) = 'h2o2 -> 2 oh'
1628 t = 1._dp/min( max( tlev(i),200._dp ),400._dp )
1629 chi = 1._dp/(1._dp + exp( -1265._dp*t ))
1630 !-----------------------------------------------------------------------------
1631 ! ... parameterization (jpl94)
1632 ! range 260-350 nm; 200-400 k
1633 !-----------------------------------------------------------------------------
1634 where( wl(:nw-1) > 260._dp .and. wl(:nw-1) < 350._dp )
1635 sq(:nw-1,i,j) = (chi * suma(:nw-1) + (1._dp - chi)*sumb(:nw-1))*1.e-21_dp
1637 sq(:nw-1,i,j) = r08g(:nw-1)
1643 subroutine r06( nz, tlev, airlev, j, jlabel )
1644 !-----------------------------------------------------------------------------
1646 ! provide product of (cross section) x (quantum yield) for hno3 photolysis
1647 ! hno3 + hv -> oh + no2
1648 ! cross section: burkholder et al., 1993
1649 ! quantum yield: assumed to be unity
1650 !-----------------------------------------------------------------------------
1652 ! nw - integer, number of specified intervals + 1 in working (i)
1654 ! wl - real(dp), vector of lower limits of wavelength intervals in (i)
1655 ! working wavelength grid
1656 ! wc - real(dp), vector of center points of wavelength intervals in (i)
1657 ! working wavelength grid
1658 ! nz - integer, number of altitude levels in working altitude grid (i)
1659 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
1660 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
1661 ! j - integer, counter for number of weighting functions defined (io)
1662 ! sq - real(dp), cross section x quantum yield (cm^2) for each (o)
1663 ! photolysis reaction defined, at each defined wavelength and
1664 ! at each defined altitude level
1665 ! jlabel - character*40, string identifier for each photolysis reaction (o)
1667 !-----------------------------------------------------------------------------
1669 !-----------------------------------------------------------------------------
1670 ! ... dummy arguments
1671 !-----------------------------------------------------------------------------
1672 integer, intent(in) :: nz
1673 integer, intent(inout) :: j
1674 real(dp), intent(in) :: tlev(nz)
1675 real(dp), intent(in) :: airlev(nz)
1676 character(len=40), intent(out) :: jlabel(nj)
1677 !-----------------------------------------------------------------------------
1678 ! ... local variables
1679 !-----------------------------------------------------------------------------
1682 !-----------------------------------------------------------------------------
1683 ! ... hno3 photodissociation
1684 !-----------------------------------------------------------------------------
1686 jlabel(j) = 'hno3 -> oh + no2'
1687 !-----------------------------------------------------------------------------
1688 ! ... hno3 cross section parameters from burkholder et al. 1993
1690 ! correct for temperature dependence
1691 !-----------------------------------------------------------------------------
1693 wrk = 1.e-3_dp*(tlev(k) - 298._dp)
1694 sq(:nw-1,k,j) = r06g1(:nw-1) * 1.e-20_dp * exp( r06g2(:nw-1)*wrk )
1699 subroutine r10( nz, tlev, airlev, j, jlabel )
1700 !-----------------------------------------------------------------------------
1702 ! provide product of (cross section) x (quantum yield) for ch2o photolysis *
1703 ! (a) ch2o + hv -> h + hco
1704 ! (b) ch2o + hv -> h2 + co
1705 ! cross section: choice between
1706 ! 1) bass et al., 1980 (resolution: 0.025 nm)
1707 ! 2) moortgat and schneider (resolution: 1 nm)
1708 ! 3) cantrell et al. (orig res.) for > 301 nm,
1709 ! iupac 92, 97 elsewhere
1710 ! 4) cantrell et al. (2.5 nm res.) for > 301 nm,
1711 ! iupac 92, 97 elsewhere
1712 ! 5) rogers et al., 1990
1713 ! 6) new ncar recommendation, based on averages of
1714 ! cantrell et al., moortgat and schneider, and rogers
1716 ! quantum yield: choice between
1717 ! 1) evaluation by madronich 1991 (unpublished)
1718 ! 2) iupac 89, 92, 97
1719 ! 3) madronich, based on 1), updated 1998.
1720 !-----------------------------------------------------------------------------
1722 ! nw - integer, number of specified intervals + 1 in working (i)
1724 ! wl - real(dp), vector of lower limits of wavelength intervals in (i)
1725 ! working wavelength grid
1726 ! wc - real(dp), vector of center points of wavelength intervals in (i)
1727 ! working wavelength grid
1728 ! nz - integer, number of altitude levels in working altitude grid (i)
1729 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
1730 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
1731 ! j - integer, counter for number of weighting functions defined (io)
1732 ! sq - real(dp), cross section x quantum yield (cm^2) for each (o)
1733 ! photolysis reaction defined, at each defined wavelength and
1734 ! at each defined altitude level
1735 ! jlabel - character*40, string identifier for each photolysis reaction (o)
1737 !-----------------------------------------------------------------------------
1739 !-----------------------------------------------------------------------------
1740 ! ... dummy arguments
1741 !-----------------------------------------------------------------------------
1742 integer, intent(in) :: nz
1743 integer, intent(inout) :: j
1744 real(dp), intent(in) :: tlev(nz)
1745 real(dp), intent(in) :: airlev(nz)
1746 character(len=40), intent(out) :: jlabel(nj)
1747 !-----------------------------------------------------------------------------
1748 ! ... local variables
1749 !-----------------------------------------------------------------------------
1750 integer, parameter :: mopt1 = 6
1751 integer, parameter :: mopt2 = 1
1752 real(dp), parameter :: c0 = 1._dp/70._dp
1755 real(dp) :: phi1, phi2, phi20, ak300, akt
1756 real(dp) :: qy, qy1, qy2, qy3, t, t1
1757 real(dp) :: sigma, sig, slope
1758 !-----------------------------------------------------------------------------
1759 ! ... ch2o photodissociatation
1760 !-----------------------------------------------------------------------------
1762 jlabel(j) = 'ch2o -> h + hco'
1764 jlabel(j) = 'ch2o -> h2 + co'
1765 !-----------------------------------------------------------------------------
1768 ! y2 = xsect(223), cantrell et al.
1769 ! y3 = xsect(293), cantrell et al.
1770 ! y4 = qy for radical channel
1771 ! y5 = qy for molecular channel
1772 ! pressure and temperature dependent for w > 330.
1773 !-----------------------------------------------------------------------------
1775 t = max( 223.15_dp,min( tlev(i),293.15_dp ) )
1778 if( mopt1 == 6 ) then
1783 !-----------------------------------------------------------------------------
1784 ! ... correct cross section for temperature dependence for > 301. nm
1785 !-----------------------------------------------------------------------------
1786 if( wl(iw) >= 301._dp ) then
1787 if( mopt1 == 3 .or. mopt1 == 6 ) then
1788 sig = r10g2(iw) + r10g3(iw) * (t - 273.15_dp)
1789 else if( mopt1 == 4 ) then
1790 slope = (r10g3(iw) - r10g2(iw)) * c0
1791 slope = (r10g3(iw) - r10g2(iw)) * c0
1792 sig = r10g2(iw) + slope * (t - 223._dp)
1795 sig = max( sig,0._dp )
1796 !-----------------------------------------------------------------------------
1797 ! ... quantum yields:
1798 ! temperature and pressure dependence beyond 330 nm
1799 !-----------------------------------------------------------------------------
1801 if( wc(iw) >= 330._dp .and. r10g5(iw) > 0._dp ) then
1804 phi20 = 1._dp - phi1
1805 ak300 = ((phi20 - phi2)/(phi2*phi20))/2.54e+19_dp
1806 akt = ak300*(1. + 61.69_dp*(1._dp - tlev(i)/300._dp)*(wc(iw)/329._dp - 1._dp))
1807 qy2 = 1._dp / ((1._dp/phi20) + t1*akt)
1811 qy2 = max( 0._dp,qy2 )
1812 qy2 = min( 1._dp,qy2 )
1813 sq(iw,i,j-1) = sig * qy1
1814 sq(iw,i,j) = sig * qy2
1820 subroutine r11( nz, tlev, airlev, j, jlabel )
1821 !-----------------------------------------------------------------------------
1823 ! provide product (cross section) x (quantum yield) for ch3cho photolysis:
1824 ! (a) ch3cho + hv -> ch3 + hco
1825 ! (b) ch3cho + hv -> ch4 + co
1826 ! (c) ch3cho + hv -> ch3co + h
1827 ! cross section: choice between
1828 ! (1) iupac 97 data, from martinez et al.
1829 ! (2) calvert and pitts
1830 ! (3) martinez et al., table 1 scanned from paper
1831 ! (4) kfa tabulations
1832 ! quantum yields: choice between
1833 ! (1) iupac 97, pressure correction using horowith and
1835 ! (2) ncar data file, from moortgat, 1986
1836 !-----------------------------------------------------------------------------
1838 ! nw - integer, number of specified intervals + 1 in working (i)
1840 ! wl - real(dp), vector of lower limits of wavelength intervals in (i)
1841 ! working wavelength grid
1842 ! wc - real(dp), vector of center points of wavelength intervals in (i)
1843 ! working wavelength grid
1844 ! nz - integer, number of altitude levels in working altitude grid (i)
1845 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
1846 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
1847 ! j - integer, counter for number of weighting functions defined (io)
1848 ! sq - real(dp), cross section x quantum yield (cm^2) for each (o)
1849 ! photolysis reaction defined, at each defined wavelength and
1850 ! at each defined altitude level
1851 ! jlabel - character*40, string identifier for each photolysis reaction (o)
1853 !-----------------------------------------------------------------------------
1855 !-----------------------------------------------------------------------------
1856 ! ... dummy arguments
1857 !-----------------------------------------------------------------------------
1858 integer, intent(in) :: nz
1859 integer, intent(inout) :: j
1860 real(dp), intent(in) :: tlev(nz)
1861 real(dp), intent(in) :: airlev(nz)
1862 character(len=40), intent(out) :: jlabel(nj)
1863 !-----------------------------------------------------------------------------
1864 ! ... local variables
1865 !-----------------------------------------------------------------------------
1866 integer, parameter :: mabs = 3
1867 integer, parameter :: myld = 1
1868 real(dp), parameter :: c0 = 1._dp/2.465e19_dp
1871 real(dp) :: qy1, qy2, qy3
1873 !-----------------------------------------------------------------------------
1874 ! ... ch3cho photolysis
1878 !-----------------------------------------------------------------------------
1880 jlabel(j) = 'ch3cho -> ch3 + hco'
1882 jlabel(j) = 'ch3cho -> ch4 + co'
1884 jlabel(j) = 'ch3cho -> ch3co + h'
1885 !-----------------------------------------------------------------------------
1887 ! mabs for cross sections
1888 ! myld for quantum yields
1891 ! 1: iupac-97 data, from martinez et al.
1892 ! 2: calvert and pitts
1893 ! 3: martinez et al., table 1 scanned from paper
1894 ! 4: kfa tabulations, 6 choices, see file open statements
1897 ! 1: dataj1/ch3cho/ch3cho_iup.yld
1898 ! pressure correction using horowitz and calvert 1982,
1899 ! based on slope/intercept of stern-volmer plots
1901 ! 2: ncar data file, from moortgat 1986.
1902 !-----------------------------------------------------------------------------
1910 !-----------------------------------------------------------------------------
1911 ! ... pressure correction for channel 1, ch3 + cho
1912 ! based on horowitz and calvert 1982.
1913 !-----------------------------------------------------------------------------
1914 qy1 = qy1 * (1._dp + r11g4(iw))/(1._dp + r11g4(iw)*t)
1915 qy1 = min( 1._dp,max( 0._dp,qy1 ) )
1916 sq(iw,i,j-2) = sig * qy1
1917 sq(iw,i,j-1) = sig * qy2
1918 sq(iw,i,j) = sig * qy3
1924 subroutine r14( nz, tlev, airlev, j, jlabel )
1925 !-----------------------------------------------------------------------------
1927 ! provide the product (cross section) x (quantum yield) for ch3cocho
1929 ! ch3cocho + hv -> products
1931 ! cross section: choice between
1932 ! (1) from meller et al., 1991, as tabulated by iupac 97
1933 ! 5 nm resolution (table 1) for < 402 nm
1934 ! 2 nm resolution (table 2) for > 402 nm
1935 ! (2) average at 1 nm of staffelbach et al., 1995, and
1936 ! meller et al., 1991
1937 ! (3) plum et al., 1983, as tabulated by kfa
1938 ! (4) meller et al., 1991 (0.033 nm res.), as tab. by kfa
1939 ! (5) meller et al., 1991 (1.0 nm res.), as tab. by kfa
1940 ! (6) staffelbach et al., 1995, as tabulated by kfa
1941 ! quantum yield: choice between
1942 ! (1) plum et al., fixed at 0.107
1943 ! (2) plum et al., divided by 2, fixed at 0.0535
1944 ! (3) staffelbach et al., 0.45 for < 300 nm, 0 for > 430 nm
1945 ! linear interp. in between
1946 ! (4) koch and moortgat, prv. comm., 1997
1947 !-----------------------------------------------------------------------------
1949 ! nw - integer, number of specified intervals + 1 in working (i)
1951 ! wl - real(dp), vector of lower limits of wavelength intervals in (i)
1952 ! working wavelength grid
1953 ! wc - real(dp), vector of center points of wavelength intervals in (i)
1954 ! working wavelength grid
1955 ! nz - integer, number of altitude levels in working altitude grid (i)
1956 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
1957 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
1958 ! j - integer, counter for number of weighting functions defined (io)
1959 ! sq - real(dp), cross section x quantum yield (cm^2) for each (o)
1960 ! photolysis reaction defined, at each defined wavelength and
1961 ! at each defined altitude level
1962 ! jlabel - character*40, string identifier for each photolysis reaction (o)
1964 !-----------------------------------------------------------------------------
1966 !-----------------------------------------------------------------------------
1967 ! ... dummy arguments
1968 !-----------------------------------------------------------------------------
1969 integer, intent(in) :: nz
1970 integer, intent(inout) :: j
1971 real(dp), intent(in) :: tlev(nz)
1972 real(dp), intent(in) :: airlev(nz)
1973 character(len=40), intent(out) :: jlabel(nj)
1974 !-----------------------------------------------------------------------------
1975 ! ... local variables
1976 !-----------------------------------------------------------------------------
1977 real(dp), parameter :: sig2 = .45_dp
1978 real(dp), parameter :: sig3 = 1._dp/130._dp
1984 !-----------------------------------------------------------------------------
1985 ! ... ch3cocho photolysis
1986 !-----------------------------------------------------------------------------
1988 jlabel(j) = 'ch3cocho -> products'
1989 !-----------------------------------------------------------------------------
1991 ! 1: from meller et al. (1991), as tabulated by iupac-97
1992 ! for wc < 402, use coarse data (5 nm, table 1)
1993 ! for wc > 402, use finer data (2 nm, table 2)
1994 ! 2: average at 1nm of staffelbach et al. 1995 and meller et al. 1991
1995 ! cross section from kfa tables:
1996 ! 3: ch3cocho.001 - plum et al. 1983
1997 ! 4: ch3cocho.002 - meller et al. 1991, 0.033 nm resolution
1998 ! 5: ch3cocho.003 - meller et al. 1991, 1.0 nm resolution
1999 ! 6: ch3cocho.004 - staffelbach et al. 1995
2002 ! 1: plum et al., 0.107
2003 ! 2: plum et al., divided by two = 0.0535
2004 ! 3: staffelbach et al., 0.45 at wc .le. 300, 0 for wc .gt. 430, linear
2006 ! 4: koch and moortgat, prv. comm. 1997. - pressure-dependent
2007 ! * 5: Chen, Y., W. Wang, and L. Zhu, Wavelength-dependent photolysis of methylglyoxal
2008 ! * in the 290-440 nm region, J Phys Chem A, 104, 11126-11131, 2000
2009 !-----------------------------------------------------------------------------
2012 phi0 = 1._dp - (wc(iw) - 380._dp)/60._dp
2013 phi0 = max( 0._dp,min( phi0,1._dp ) )
2014 kq = 1.36e8_dp * exp( -8793._dp/wc(iw) )
2015 if( phi0 > 0._dp ) then
2016 if( wc(iw) >= 380._dp .and. wc(iw) <= 440._dp ) then
2017 qy = phi0 / (phi0 + kq * airlev(i) * 760._dp/2.456e19_dp)
2024 sq(iw,i,j) = r14g(iw) * qy
2030 subroutine r15( nz, tlev, airlev, j, jlabel )
2031 !-----------------------------------------------------------------------------
2033 ! provide product (cross section) x (quantum yield) for ch3coch3 photolysis
2034 ! ch3coch3 + hv -> products
2036 ! cross section: choice between
2037 ! (1) calvert and pitts
2038 ! (2) martinez et al., 1991, alson in iupac 97
2039 ! (3) noaa, 1998, unpublished as of 01/98
2040 ! quantum yield: choice between
2041 ! (1) gardiner et al, 1984
2043 ! (3) mckeen et al., 1997
2044 !-----------------------------------------------------------------------------
2046 ! nw - integer, number of specified intervals + 1 in working (i)
2048 ! wl - real(dp), vector of lower limits of wavelength intervals in (i)
2049 ! working wavelength grid
2050 ! wc - real(dp), vector of center points of wavelength intervals in (i)
2051 ! working wavelength grid
2052 ! nz - integer, number of altitude levels in working altitude grid (i)
2053 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
2054 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
2055 ! j - integer, counter for number of weighting functions defined (io)
2056 ! sq - real(dp), cross section x quantum yield (cm^2) for each (o)
2057 ! photolysis reaction defined, at each defined wavelength and
2058 ! at each defined altitude level
2059 ! jlabel - character*40, string identifier for each photolysis reaction (o)
2061 !-----------------------------------------------------------------------------
2065 !-----------------------------------------------------------------------------
2066 ! ... dummy arguments
2067 !-----------------------------------------------------------------------------
2068 integer, intent(in) :: nz
2069 integer, intent(inout) :: j
2070 real(dp), intent(in) :: tlev(nz)
2071 real(dp), intent(in) :: airlev(nz)
2072 character(len=40), intent(out) :: jlabel(nj)
2073 !-----------------------------------------------------------------------------
2074 ! ... local variables
2075 !-----------------------------------------------------------------------------
2076 integer, parameter :: mabs = 2
2077 integer, parameter :: myld = 3
2082 real(dp) :: m, t, fco, fac, w
2084 !-----------------------------------------------------------------------------
2085 ! ... ch3coch3 photodissociation
2086 !-----------------------------------------------------------------------------
2088 ! 1: cross section from calvert and pitts
2089 ! 2: martinez et al. 1991, also in iupac97
2090 ! 3: noaa 1998, unpublished as of jan 98.
2093 ! 1: gardiner et al. 1984
2095 ! 3: mckeen, s. a., t. gierczak, j. b. burkholder, p. o. wennberg, t. f. hanisco,
2096 ! e. r. keim, r.-s. gao, s. c. liu, a. r. ravishankara, and d. w. fahey,
2097 ! the photochemistry of acetone in the upper troposphere: a source of
2098 ! odd-hydrogen radicals, geophys. res. lett., 24, 3177-3180, 1997.
2099 ! 4: Blitz, M. A., D. E. Heard, M. J. Pilling, S. R. Arnold, and M. P. Chipperfield
2100 ! (2004), Pressure and temperature-dependent quantum yields for the
2101 ! photodissociation of acetone between 279 and 327.5 nm, Geophys.
2102 ! Res. Lett., 31, L06111, doi:10.1029/2003GL018793.
2103 !-----------------------------------------------------------------------------
2105 jlabel(j) = 'ch3coch3 '
2113 call qyacet( w, t, m, fco, fac )
2114 qy = min( 1._dp,max( 0._dp,fac ) )
2121 subroutine qyacet( w, t, m, fco, fac )
2122 !-----------------------------------------------------------------------------
2123 ! Compute acetone quantum yields according to the parameterization of:
2124 ! Blitz, M. A., D. E. Heard, M. J. Pilling, S. R. Arnold, and M. P. Chipperfield
2125 ! (2004), Pressure and temperature-dependent quantum yields for the
2126 ! photodissociation of acetone between 279 and 327.5 nm, Geophys.
2127 ! Res. Lett., 31, L06111, doi:10.1029/2003GL018793.
2128 !-----------------------------------------------------------------------------
2132 !-----------------------------------------------------------------------------
2133 ! ... dummy arguments
2134 !-----------------------------------------------------------------------------
2135 real(dp), intent(in) :: w ! w = wavelength (nm)
2136 real(dp), intent(in) :: t ! T = temperature (K)
2137 real(dp), intent(in) :: m ! m = air number density (molec/cm^3)
2138 real(dp), intent(out) :: fco ! fco = quantum yield for product CO
2139 real(dp), intent(out) :: fac ! fac = quantum yield for product CH3CO (acetyl radical)
2141 !-----------------------------------------------------------------------------
2142 ! ... local variables
2143 !-----------------------------------------------------------------------------
2144 real(dp) :: a0, a1, a2, a3, a4
2145 real(dp) :: b0, b1, b2, b3, b4
2147 real(dp) :: cA0, cA1, cA2, cA3, cA4
2151 !-----------------------------------------------------------------------------
2152 !** set out-of-range values:
2153 ! use low pressure limits for shorter wavelengths
2154 ! set to zero beyound 327.5
2155 !-----------------------------------------------------------------------------
2156 if( w < 279._dp ) then
2159 else if( w > 327.5_dp ) then
2165 !-----------------------------------------------------------------------------
2166 ! ... CO (carbon monoxide) quantum yields
2167 !-----------------------------------------------------------------------------
2168 a0 = .350_dp * twrk**(-1.28_dp)
2169 b0 = .068_dp * twrk**(-2.65_dp)
2170 cA0 = exp( b0*(w - 248._dp) ) * a0 / (1._dp - a0)
2171 fco = 1._dp / (1._dp + cA0)
2172 !-----------------------------------------------------------------------------
2173 ! ... CH3CO (acetyl radical) quantum yields:
2174 !-----------------------------------------------------------------------------
2175 if( w >= 279._dp .and. w < 302._dp ) then
2176 a1 = 1.600e-19_dp * twrk**(-2.38_dp)
2177 b1 = 0.55e-3_dp * twrk**(-3.19_dp)
2178 cA1 = a1 * exp( -b1*(fwrk - 33113._dp) )
2179 fac = (1._dp - fco) / (1._dp + cA1 * m)
2180 else if( w >= 302._dp .and. w < 327.5_dp ) then
2181 a2 = 1.62e-17_dp * twrk**(-10.03_dp)
2182 b2 = 1.79e-3_dp * twrk**(-1.364_dp)
2183 cA2 = a2 * exp( -b2*(fwrk - 30488._dp) )
2184 a3 = 26.29_dp * twrk**(-6.59_dp)
2185 b3 = 5.72e-7_dp * twrk**(-2.93_dp)
2186 c3 = 30006._dp * twrk**(-0.064_dp)
2187 ca3 = a3 * exp( -b3*(fwrk - c3)**2._dp )
2188 a4 = 1.67e-15_dp * twrk**(-7.25_dp)
2189 b4 = 2.08e-3_dp * twrk**(-1.16_dp)
2190 cA4 = a4 * exp( -b4*(fwrk - 30488._dp) )
2191 fac = (1._dp - fco) * (1._dp + cA3 + cA4 * m) &
2192 /((1._dp + cA3 + cA2 * m)*(1._dp + cA4 * m))
2196 end subroutine qyacet
2198 subroutine r17( nz, tlev, airlev, j, jlabel )
2199 !-----------------------------------------------------------------------------
2201 ! provide product (cross section) x (quantum yield) for ch3ono2
2203 ! ch3ono2 + hv -> ch3o + no2
2205 ! cross section: choice between
2206 ! (1) calvert and pitts, 1966
2207 ! (2) talukdar, burkholder, hunter, gilles, roberts,
2208 ! ravishankara, 1997
2209 ! (3) iupac 97, table of values for 198k
2210 ! (4) iupac 97, temperature-dependent equation
2211 ! (5) taylor et al, 1980
2212 ! (6) fit from roberts and fajer, 1989
2213 ! (7) rattigan et al., 1992
2214 ! (8) libuda and zabel, 1995
2215 ! quantum yield: assumed to be unity
2216 !-----------------------------------------------------------------------------
2218 ! nw - integer, number of specified intervals + 1 in working (i)
2220 ! wl - real(dp), vector of lower limits of wavelength intervals in (i)
2221 ! working wavelength grid
2222 ! wc - real(dp), vector of center points of wavelength intervals in (i)
2223 ! working wavelength grid
2224 ! nz - integer, number of altitude levels in working altitude grid (i)
2225 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
2226 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
2227 ! j - integer, counter for number of weighting functions defined (io)
2228 ! sq - real(dp), cross section x quantum yield (cm^2) for each (o)
2229 ! photolysis reaction defined, at each defined wavelength and
2230 ! at each defined altitude level
2231 ! jlabel - character*40, string identifier for each photolysis reaction (o)
2233 !-----------------------------------------------------------------------------
2235 !-----------------------------------------------------------------------------
2236 ! ... dummy arguments
2237 !-----------------------------------------------------------------------------
2238 integer, intent(in) :: nz
2239 integer, intent(inout) :: j
2240 real(dp), intent(in) :: tlev(nz)
2241 real(dp), intent(in) :: airlev(nz)
2242 character(len=40), intent(out) :: jlabel(nj)
2243 !-----------------------------------------------------------------------------
2244 ! ... local variables
2245 !-----------------------------------------------------------------------------
2247 real(dp) :: qy, t, sig
2248 !-----------------------------------------------------------------------------
2249 ! ... ch3ono2 photodissociation
2250 !-----------------------------------------------------------------------------
2252 jlabel(j) = 'ch3ono2 -> ch3o+no2'
2253 !-----------------------------------------------------------------------------
2254 ! ... mabs: absorption cross section options:
2255 ! 1: calvert and pitts 1966
2256 ! 2: talukdar, burkholder, hunter, gilles, roberts, ravishankara, 1997.
2257 ! 3: iupac-97, table of values for 298k.
2258 ! 4: iupac-97, temperature-dependent equation
2259 ! 5: taylor et al. 1980
2260 ! 6: fit from roberts and fajer, 1989
2261 ! 7: rattigan et al. 1992
2262 ! 8: libuda and zabel 1995
2263 !-----------------------------------------------------------------------------
2265 t = tlev(i) - 298._dp
2266 sq(:nw-1,i,j) = r17g(:nw-1) * exp( r17g1(:nw-1)*t )
2271 subroutine r18( nz, tlev, airlev, j, jlabel )
2272 !-----------------------------------------------------------------------------
2274 ! provide product (cross section) x (quantum yield) for pan photolysis:
2275 ! pan + hv -> products
2277 ! cross section: from talukdar et al., 1995
2278 ! quantum yield: assumed to be unity
2279 !-----------------------------------------------------------------------------
2281 ! nw - integer, number of specified intervals + 1 in working (i)
2283 ! wl - real(dp), vector of lower limits of wavelength intervals in (i)
2284 ! working wavelength grid
2285 ! wc - real(dp), vector of center points of wavelength intervals in (i)
2286 ! working wavelength grid
2287 ! nz - integer, number of altitude levels in working altitude grid (i)
2288 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
2289 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
2290 ! j - integer, counter for number of weighting functions defined (io)
2291 ! sq - real(dp), cross section x quantum yield (cm^2) for each (o)
2292 ! photolysis reaction defined, at each defined wavelength and
2293 ! at each defined altitude level
2294 ! jlabel - character*40, string identifier for each photolysis reaction (o)
2296 !-----------------------------------------------------------------------------
2298 !-----------------------------------------------------------------------------
2299 ! ... dummy arguments
2300 !-----------------------------------------------------------------------------
2301 integer, intent(in) :: nz
2302 integer, intent(inout) :: j
2303 real(dp), intent(in) :: tlev(nz)
2304 real(dp), intent(in) :: airlev(nz)
2305 character(len=40), intent(out) :: jlabel(nj)
2306 !-----------------------------------------------------------------------------
2307 ! ... local variables
2308 !-----------------------------------------------------------------------------
2311 !-----------------------------------------------------------------------------
2312 ! ... pan photodissociation
2313 !-----------------------------------------------------------------------------
2315 jlabel(j) = 'pan + hv -> products'
2316 !-----------------------------------------------------------------------------
2317 ! ... cross section from senum et al., 1984, j.phys.chem. 88/7, 1269-1270
2319 ! yet unknown, but assumed to be 1.0 (talukdar et al., 1995)
2320 !-----------------------------------------------------------------------------
2322 t = tlev(i) - 298._dp
2323 sq(:nw-1,i,j) = r18g(:nw-1) * exp( r18g2(:nw-1)*t )
2328 subroutine xs_mvk( nz, tlev, airlev )
2329 !-----------------------------------------------------------------------------
2331 ! provide product (cross section) x (quantum yield) for mvk photolysis:
2332 ! mvk + hv -> products
2333 !-----------------------------------------------------------------------------
2335 ! nw - integer, number of specified intervals + 1 in working (i)
2337 ! wl - real(dp), vector of lower limits of wavelength intervals in (i)
2338 ! working wavelength grid
2339 ! wc - real(dp), vector of center points of wavelength intervals in (i)
2340 ! working wavelength grid
2341 ! nz - integer, number of altitude levels in working altitude grid (i)
2342 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
2343 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
2344 ! sq - real(dp), cross section x quantum yield (cm^2) for each (o)
2345 ! photolysis reaction defined, at each defined wavelength and
2346 ! at each defined altitude level
2347 !-----------------------------------------------------------------------------
2349 !-----------------------------------------------------------------------------
2350 ! ... dummy arguments
2351 !-----------------------------------------------------------------------------
2352 integer, intent(in) :: nz
2353 real(dp), intent(in) :: tlev(nz)
2354 real(dp), intent(in) :: airlev(nz)
2355 !-----------------------------------------------------------------------------
2356 ! ... local variables
2357 !-----------------------------------------------------------------------------
2359 real(dp) :: qy(nw-1)
2363 ! qy = .0766 + .09415*exp( -airlev(k)/3.222e18 )
2364 ! sq(:nw-1,k,27) = qy * acrolein_xs(:nw-1)
2367 denomi = 1._dp/(5.5_dp + 9.2e-19_dp*airlev(k))
2368 qy(:nw-1) = exp( -.055_dp*(wc(:nw-1) - 308._dp) )*denomi
2369 sq(:nw-1,k,27) = min( qy(:nw-1),1._dp ) * acrolein_xs(:nw-1)
2372 end subroutine xs_mvk
2374 subroutine xs_macr( nz, tlev, airlev )
2375 !-----------------------------------------------------------------------------
2377 ! provide product (cross section) x (quantum yield) for macr photolysis:
2378 ! macr + hv -> products
2379 !-----------------------------------------------------------------------------
2381 ! nw - integer, number of specified intervals + 1 in working (i)
2383 ! wl - real(dp), vector of lower limits of wavelength intervals in (i)
2384 ! working wavelength grid
2385 ! wc - real(dp), vector of center points of wavelength intervals in (i)
2386 ! working wavelength grid
2387 ! nz - integer, number of altitude levels in working altitude grid (i)
2388 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
2389 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
2390 ! sq - real(dp), cross section x quantum yield (cm^2) for each (o)
2391 ! photolysis reaction defined, at each defined wavelength and
2392 ! at each defined altitude level
2393 !-----------------------------------------------------------------------------
2395 !-----------------------------------------------------------------------------
2396 ! ... dummy arguments
2397 !-----------------------------------------------------------------------------
2398 integer, intent(in) :: nz
2399 real(dp), intent(in) :: tlev(nz)
2400 real(dp), intent(in) :: airlev(nz)
2401 !-----------------------------------------------------------------------------
2402 ! ... local variables
2403 !-----------------------------------------------------------------------------
2405 real(dp) :: phi, ph313, ph334, qy
2408 ! ph313 = .004 + 1./(.086 + 1.613e-17*airlev(k))
2409 ! ph334 = .005 + 1./(9.54 + 6.170e-17*airlev(k))
2410 ! factor = (ph334 - ph313)/21.
2412 ! phi = ph313 + factor*(wc(l) - 313.)
2413 ! qy = max( 0._dp, min( 1._dp, phi ) )
2414 ! sq(l,k,28) = qy * acrolein_xs(l)
2417 !-----------------------------------------------------------------------------
2419 !-----------------------------------------------------------------------------
2421 sq(:nw-1,k,28) = (/ 0._dp, 0._dp, 0._dp, 0._dp, 0._dp, &
2422 0._dp, 0._dp, 0._dp, 3.881e-23_dp, 5.908e-23_dp, &
2423 3.182e-22_dp, 5.087e-22_dp, 6.586e-22_dp, 1.858e-22_dp, 0._dp, &
2427 end subroutine xs_macr
2429 subroutine xs_hyac( nz, tlev, airlev )
2430 !-----------------------------------------------------------------------------
2432 ! provide product (cross section) x (quantum yield) for hyac photolysis:
2433 ! hyac + hv -> products
2434 !-----------------------------------------------------------------------------
2436 ! nz - integer, number of altitude levels in working altitude grid (i)
2437 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
2438 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
2439 !-----------------------------------------------------------------------------
2443 !-----------------------------------------------------------------------------
2444 ! ... dummy arguments
2445 !-----------------------------------------------------------------------------
2446 integer, intent(in) :: nz
2447 real(dp), intent(in) :: tlev(nz)
2448 real(dp), intent(in) :: airlev(nz)
2450 !-----------------------------------------------------------------------------
2451 ! ... local variables
2452 !-----------------------------------------------------------------------------
2455 !-----------------------------------------------------------------------------
2457 !-----------------------------------------------------------------------------
2459 sq(:nw-1,k,29) = (/ 0._dp, 0._dp, 0._dp, 0._dp, 0._dp, &
2460 0._dp, 0._dp, 0._dp, 2.164e-21_dp, 1.714e-20_dp, &
2461 4.927e-21_dp, 1.052e-21_dp, 2.39e-22_dp, 0._dp, 0._dp, &
2465 end subroutine xs_hyac
2467 subroutine xs_glyald( nz, tlev, airlev )
2468 !-----------------------------------------------------------------------------
2470 ! provide product (cross section) x (quantum yield) for glyald photolysis:
2471 ! glyald + hv -> products
2472 !-----------------------------------------------------------------------------
2474 ! nz - integer, number of altitude levels in working altitude grid (i)
2475 ! tlev - real(dp), temperature (k) at each specified altitude level (i)
2476 ! airlev - real(dp), air density (molec/cc) at each altitude level (i)
2477 !-----------------------------------------------------------------------------
2481 !-----------------------------------------------------------------------------
2482 ! ... dummy arguments
2483 !-----------------------------------------------------------------------------
2484 integer, intent(in) :: nz
2485 real(dp), intent(in) :: tlev(nz)
2486 real(dp), intent(in) :: airlev(nz)
2488 !-----------------------------------------------------------------------------
2489 ! ... local variables
2490 !-----------------------------------------------------------------------------
2493 !-----------------------------------------------------------------------------
2495 !-----------------------------------------------------------------------------
2497 sq(:nw-1,k,30) = (/ 0._dp, 0._dp, 0._dp, 0._dp, 0._dp, &
2498 2.864e-22_dp, 1.123e-19_dp, 2.659e-20_dp, 4.5e-21_dp, 1.998e-20_dp, &
2499 1.6e-20_dp, 6.617e-21_dp, 1.151e-21_dp, 0._dp, 0._dp, &
2503 end subroutine xs_glyald
2505 END MODULE module_wave_data