5 pdel, m_allaer, delt, rhcl, &
6 tau_allaer, piz_allaer, &
7 cg_allaer, m_allaer_pi, &
29 REAL,
DIMENSION(klon,klev),
INTENT(in) :: pdel
30 REAL,
INTENT(in) :: delt
31 REAL,
DIMENSION(klon,klev,naero_spc),
INTENT(in) :: m_allaer
33 REAL,
DIMENSION(klon,klev,naero_spc),
INTENT(in) :: m_allaer_pi
34 REAL,
DIMENSION(klon,klev),
INTENT(in) :: rhcl
36 INTEGER,
INTENT(in) :: flag_aerosol
37 REAL,
DIMENSION(klon,klev),
INTENT(in) ::
pplay
38 REAL,
DIMENSION(klon,klev),
INTENT(in) :: t_seri
39 REAL,
DIMENSION(klev),
INTENT(in) ::
presnivs
43 REAL,
DIMENSION(klon,klev,naero_grp,nbands),
INTENT(out) :: tau_allaer
44 REAL,
DIMENSION(klon,klev,naero_grp,nbands),
INTENT(out) :: piz_allaer
45 REAL,
DIMENSION(klon,klev,naero_grp,nbands),
INTENT(out) :: cg_allaer
50 REAL,
DIMENSION(klon,klev,naero_tot,nbands) :: tau_ae
52 REAL,
DIMENSION(klon,klev,naero_tot,nbands) :: tau_ae_pi
53 REAL,
DIMENSION(klon,klev,naero_tot,nbands) :: piz_ae
54 REAL,
DIMENSION(klon,klev,naero_tot,nbands) :: cg_ae
56 INTEGER ::
i,
k,
n, ierr, inu,
m, mrfspecies
57 INTEGER :: spsol, spinsol, spss
58 INTEGER :: rh_num(klon,
klev)
59 INTEGER,
PARAMETER :: nb_level=19
61 INTEGER,
PARAMETER :: nbre_rh=12
62 INTEGER,
PARAMETER :: naero_soluble=7
64 INTEGER,
PARAMETER :: naero_insoluble=3
65 LOGICAL,
SAVE :: firstcall=.true.
69 REAL,
SAVE,
DIMENSION(nb_level) :: presnivs_19
72 REAL,
SAVE,
DIMENSION(nb_level) :: a1_asssm_b1_19, a2_asssm_b1_19, a3_asssm_b1_19,&
73 b1_asssm_b1_19, b2_asssm_b1_19, c1_asssm_b1_19, c2_asssm_b1_19,&
74 a1_csssm_b1_19, a2_csssm_b1_19, a3_csssm_b1_19,&
75 b1_csssm_b1_19, b2_csssm_b1_19, c1_csssm_b1_19, c2_csssm_b1_19,&
76 a1_ssssm_b1_19, a2_ssssm_b1_19, a3_ssssm_b1_19,&
77 b1_ssssm_b1_19, b2_ssssm_b1_19, c1_ssssm_b1_19, c2_ssssm_b1_19,&
78 a1_asssm_b2_19, a2_asssm_b2_19, a3_asssm_b2_19,&
79 b1_asssm_b2_19, b2_asssm_b2_19, c1_asssm_b2_19, c2_asssm_b2_19,&
80 a1_csssm_b2_19, a2_csssm_b2_19, a3_csssm_b2_19,&
81 b1_csssm_b2_19, b2_csssm_b2_19, c1_csssm_b2_19, c2_csssm_b2_19,&
82 a1_ssssm_b2_19, a2_ssssm_b2_19, a3_ssssm_b2_19,&
83 b1_ssssm_b2_19, b2_ssssm_b2_19, c1_ssssm_b2_19, c2_ssssm_b2_19
99 REAL,
ALLOCATABLE,
DIMENSION(:),
SAVE :: &
100 a1_asssm_b1, a2_asssm_b1, a3_asssm_b1,&
101 b1_asssm_b1, b2_asssm_b1, c1_asssm_b1, c2_asssm_b1,&
102 a1_csssm_b1, a2_csssm_b1, a3_csssm_b1,&
103 b1_csssm_b1, b2_csssm_b1, c1_csssm_b1, c2_csssm_b1,&
104 a1_ssssm_b1, a2_ssssm_b1, a3_ssssm_b1,&
105 b1_ssssm_b1, b2_ssssm_b1, c1_ssssm_b1, c2_ssssm_b1,&
106 a1_asssm_b2, a2_asssm_b2, a3_asssm_b2,&
107 b1_asssm_b2, b2_asssm_b2, c1_asssm_b2, c2_asssm_b2,&
108 a1_csssm_b2, a2_csssm_b2, a3_csssm_b2,&
109 b1_csssm_b2, b2_csssm_b2, c1_csssm_b2, c2_csssm_b2,&
110 a1_ssssm_b2, a2_ssssm_b2, a3_ssssm_b2,&
111 b1_ssssm_b2, b2_ssssm_b2, c1_ssssm_b2, c2_ssssm_b2
125 REAL,
PARAMETER :: rh_tab(nbre_rh)=(/0.,10.,20.,30.,40.,50.,60.,70.,80.,85.,90.,95./)
126 REAL,
PARAMETER :: rh_max=95.
131 REAL :: fact_rh(nbre_rh)
134 REAL :: zdp1(klon,
klev)
135 REAL,
PARAMETER :: gravit = 9.80616
136 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: aerosol_name
138 REAL,
DIMENSION(klon,klev,naero_spc) :: mass_temp
140 REAL,
DIMENSION(klon,klev,naero_spc) :: mass_temp_pi
145 REAL:: alpha_aers_2bands(nbre_rh,nbands,naero_soluble)
146 REAL:: alpha_aeri_2bands(nbands,naero_insoluble)
147 REAL:: cg_aers_2bands(nbre_rh,nbands,naero_soluble)
148 REAL:: cg_aeri_2bands(nbands,naero_insoluble)
149 REAL:: piz_aers_2bands(nbre_rh,nbands,naero_soluble)
150 REAL:: piz_aeri_2bands(nbands,naero_insoluble)
153 LOGICAL :: used_aer(naero_tot)
154 REAL :: tmp_var, tmp_var_pi
157 100426.5, 98327.6, 95346.5, 90966.8, 84776.9, &
158 76536.5, 66292.2, 54559.3, 42501.8, 31806, &
159 23787.5, 18252.7, 13996, 10320.8, 7191.1, &
160 4661.7, 2732.9, 1345.6, 388.2/
165 DATA a1_asssm_b1_19/ 4.373e+00, 4.361e+00, 4.331e+00, &
166 4.278e+00, 4.223e+00, 4.162e+00, &
167 4.103e+00, 4.035e+00, 3.962e+00, &
168 3.904e+00, 3.871e+00, 3.847e+00, &
169 3.824e+00, 3.780e+00, 3.646e+00, &
170 3.448e+00, 3.179e+00, 2.855e+00, 2.630e+00/
171 DATA a2_asssm_b1_19/ 2.496e+00, 2.489e+00, 2.472e+00, &
172 2.442e+00, 2.411e+00, 2.376e+00, &
173 2.342e+00, 2.303e+00, 2.261e+00, &
174 2.228e+00, 2.210e+00, 2.196e+00, &
175 2.183e+00, 2.158e+00, 2.081e+00, &
176 1.968e+00, 1.814e+00, 1.630e+00, 1.501e+00/
177 DATA a3_asssm_b1_19/-4.688e-02, -4.676e-02, -4.644e-02, &
178 -4.587e-02, -4.528e-02, -4.463e-02, &
179 -4.399e-02, -4.326e-02, -4.248e-02, &
180 -4.186e-02, -4.151e-02, -4.125e-02, &
181 -4.100e-02, -4.053e-02, -3.910e-02, &
182 -3.697e-02, -3.408e-02, -3.061e-02, -2.819e-02/
183 DATA b1_asssm_b1_19/ 1.165e-08, 1.145e-08, 1.097e-08, &
184 1.012e-08, 9.233e-09, 8.261e-09, &
185 7.297e-09, 6.201e-09, 5.026e-09, &
186 4.098e-09, 3.567e-09, 3.187e-09, &
187 2.807e-09, 2.291e-09, 2.075e-09, &
188 1.756e-09, 1.322e-09, 8.011e-10, 4.379e-10/
189 DATA b2_asssm_b1_19/ 2.193e-08, 2.192e-08, 2.187e-08, &
190 2.179e-08, 2.171e-08, 2.162e-08, &
191 2.153e-08, 2.143e-08, 2.132e-08, &
192 2.124e-08, 2.119e-08, 2.115e-08, &
193 2.112e-08, 2.106e-08, 2.100e-08, &
194 2.090e-08, 2.077e-08, 2.061e-08, 2.049e-08/
195 DATA c1_asssm_b1_19/ 7.365e-01, 7.365e-01, 7.365e-01, &
196 7.364e-01, 7.363e-01, 7.362e-01, &
197 7.361e-01, 7.359e-01, 7.358e-01, &
198 7.357e-01, 7.356e-01, 7.356e-01, &
199 7.356e-01, 7.355e-01, 7.354e-01, &
200 7.352e-01, 7.350e-01, 7.347e-01, 7.345e-01/
201 DATA c2_asssm_b1_19/ 5.833e-02, 5.835e-02, 5.841e-02, &
202 5.850e-02, 5.859e-02, 5.870e-02, &
203 5.880e-02, 5.891e-02, 5.904e-02, &
204 5.914e-02, 5.920e-02, 5.924e-02, &
205 5.928e-02, 5.934e-02, 5.944e-02, &
206 5.959e-02, 5.979e-02, 6.003e-02, 6.020e-02/
208 DATA a1_csssm_b1_19/ 7.403e-01, 7.422e-01, 7.626e-01, &
209 8.019e-01, 8.270e-01, 8.527e-01, &
210 8.702e-01, 8.806e-01, 8.937e-01, &
211 9.489e-01, 1.030e+00, 1.105e+00, &
212 1.199e+00, 1.357e+00, 1.660e+00, &
213 2.540e+00, 4.421e+00, 2.151e+00, 9.518e-01/
214 DATA a2_csssm_b1_19/ 4.522e-01, 4.532e-01, 4.644e-01, &
215 4.859e-01, 4.996e-01, 5.137e-01, &
216 5.233e-01, 5.290e-01, 5.361e-01, &
217 5.655e-01, 6.085e-01, 6.483e-01, &
218 6.979e-01, 7.819e-01, 9.488e-01, &
219 1.450e+00, 2.523e+00, 1.228e+00, 5.433e-01/
220 DATA a3_csssm_b1_19/-8.516e-03, -8.535e-03, -8.744e-03, &
221 -9.148e-03, -9.406e-03, -9.668e-03, &
222 -9.848e-03, -9.955e-03, -1.009e-02, &
223 -1.064e-02, -1.145e-02, -1.219e-02, &
224 -1.312e-02, -1.470e-02, -1.783e-02, &
225 -2.724e-02, -4.740e-02, -2.306e-02, -1.021e-02/
226 DATA b1_csssm_b1_19/ 2.535e-07, 2.530e-07, 2.479e-07, &
227 2.380e-07, 2.317e-07, 2.252e-07, &
228 2.208e-07, 2.182e-07, 2.149e-07, &
229 2.051e-07, 1.912e-07, 1.784e-07, &
230 1.624e-07, 1.353e-07, 1.012e-07, &
231 6.016e-08, 2.102e-08, 0.000e+00, 0.000e+00/
232 DATA b2_csssm_b1_19/ 1.221e-07, 1.217e-07, 1.179e-07, &
233 1.104e-07, 1.056e-07, 1.008e-07, &
234 9.744e-08, 9.546e-08, 9.299e-08, &
235 8.807e-08, 8.150e-08, 7.544e-08, &
236 6.786e-08, 5.504e-08, 4.080e-08, &
237 2.960e-08, 2.300e-08, 2.030e-08, 1.997e-08/
238 DATA c1_csssm_b1_19/ 7.659e-01, 7.658e-01, 7.652e-01, &
239 7.639e-01, 7.631e-01, 7.623e-01, &
240 7.618e-01, 7.614e-01, 7.610e-01, &
241 7.598e-01, 7.581e-01, 7.566e-01, &
242 7.546e-01, 7.513e-01, 7.472e-01, &
243 7.423e-01, 7.376e-01, 7.342e-01, 7.334e-01/
244 DATA c2_csssm_b1_19/ 3.691e-02, 3.694e-02, 3.729e-02, &
245 3.796e-02, 3.839e-02, 3.883e-02, &
246 3.913e-02, 3.931e-02, 3.953e-02, &
247 4.035e-02, 4.153e-02, 4.263e-02, &
248 4.400e-02, 4.631e-02, 4.933e-02, &
249 5.331e-02, 5.734e-02, 6.053e-02, 6.128e-02/
251 DATA a1_ssssm_b1_19/ 2.836e-01, 2.876e-01, 2.563e-01, &
252 2.414e-01, 2.541e-01, 2.546e-01, &
253 2.572e-01, 2.638e-01, 2.781e-01, &
254 3.167e-01, 4.209e-01, 5.286e-01, &
255 6.959e-01, 9.233e-01, 1.282e+00, &
256 1.836e+00, 2.981e+00, 4.355e+00, 4.059e+00/
257 DATA a2_ssssm_b1_19/ 1.608e-01, 1.651e-01, 1.577e-01, &
258 1.587e-01, 1.686e-01, 1.690e-01, &
259 1.711e-01, 1.762e-01, 1.874e-01, &
260 2.138e-01, 2.751e-01, 3.363e-01, &
261 4.279e-01, 5.519e-01, 7.421e-01, &
262 1.048e+00, 1.702e+00, 2.485e+00, 2.317e+00/
263 DATA a3_ssssm_b1_19/-3.025e-03, -3.111e-03, -2.981e-03, &
264 -3.005e-03, -3.193e-03, -3.200e-03, &
265 -3.239e-03, -3.336e-03, -3.548e-03, &
266 -4.047e-03, -5.196e-03, -6.345e-03, &
267 -8.061e-03, -1.038e-02, -1.395e-02, &
268 -1.970e-02, -3.197e-02, -4.669e-02, -4.352e-02/
269 DATA b1_ssssm_b1_19/ 6.759e-07, 6.246e-07, 5.542e-07, &
270 4.953e-07, 4.746e-07, 4.738e-07, &
271 4.695e-07, 4.588e-07, 4.354e-07, &
272 3.947e-07, 3.461e-07, 3.067e-07, &
273 2.646e-07, 2.095e-07, 1.481e-07, &
274 9.024e-08, 5.747e-08, 2.384e-08, 6.599e-09/
275 DATA b2_ssssm_b1_19/ 5.977e-07, 5.390e-07, 4.468e-07, &
276 3.696e-07, 3.443e-07, 3.433e-07, &
277 3.380e-07, 3.249e-07, 2.962e-07, &
278 2.483e-07, 1.989e-07, 1.623e-07, &
279 1.305e-07, 9.015e-08, 6.111e-08, &
280 3.761e-08, 2.903e-08, 2.337e-08, 2.147e-08/
281 DATA c1_ssssm_b1_19/ 8.120e-01, 8.084e-01, 8.016e-01, &
282 7.953e-01, 7.929e-01, 7.928e-01, &
283 7.923e-01, 7.910e-01, 7.882e-01, &
284 7.834e-01, 7.774e-01, 7.725e-01, &
285 7.673e-01, 7.604e-01, 7.529e-01, &
286 7.458e-01, 7.419e-01, 7.379e-01, 7.360e-01/
287 DATA c2_ssssm_b1_19/ 2.388e-02, 2.392e-02, 2.457e-02, 2.552e-02, &
288 2.615e-02, 2.618e-02, 2.631e-02, 2.663e-02, &
289 2.735e-02, 2.875e-02, 3.113e-02, 3.330e-02, &
290 3.615e-02, 3.997e-02, 4.521e-02, 5.038e-02, &
291 5.358e-02, 5.705e-02, 5.887e-02/
294 DATA a1_asssm_b2_19/1.256e+00, 1.246e+00, 1.226e+00, 1.187e+00, 1.148e+00, &
295 1.105e+00, 1.062e+00, 1.014e+00, 9.616e-01, 9.205e-01, &
296 8.970e-01, 8.800e-01, 8.632e-01, 8.371e-01, 7.943e-01, &
297 7.308e-01, 6.448e-01, 5.414e-01, 4.693e-01/
298 DATA a2_asssm_b2_19/5.321e-01, 5.284e-01, 5.196e-01, 5.036e-01, 4.872e-01, &
299 4.691e-01, 4.512e-01, 4.308e-01, 4.089e-01, 3.917e-01, &
300 3.818e-01, 3.747e-01, 3.676e-01, 3.567e-01, 3.385e-01, &
301 3.116e-01, 2.751e-01, 2.312e-01, 2.006e-01/
302 DATA a3_asssm_b2_19/-1.053e-02, -1.046e-02, -1.028e-02, -9.964e-03, -9.637e-03, &
303 -9.279e-03, -8.923e-03, -8.518e-03, -8.084e-03, -7.741e-03, &
304 -7.545e-03, -7.405e-03, -7.265e-03, -7.048e-03, -6.687e-03, &
305 -6.156e-03, -5.433e-03, -4.565e-03, -3.961e-03/
306 DATA b1_asssm_b2_19/1.560e-02, 1.560e-02, 1.561e-02, 1.565e-02, 1.568e-02, &
307 1.572e-02, 1.576e-02, 1.580e-02, 1.584e-02, 1.588e-02, &
308 1.590e-02, 1.592e-02, 1.593e-02, 1.595e-02, 1.599e-02, &
309 1.605e-02, 1.612e-02, 1.621e-02, 1.627e-02/
310 DATA b2_asssm_b2_19/1.073e-02, 1.074e-02, 1.076e-02, 1.079e-02, 1.082e-02, &
311 1.085e-02, 1.089e-02, 1.093e-02, 1.097e-02, 1.100e-02, &
312 1.102e-02, 1.103e-02, 1.105e-02, 1.107e-02, 1.110e-02, &
313 1.115e-02, 1.122e-02, 1.130e-02, 1.136e-02/
314 DATA c1_asssm_b2_19/7.429e-01, 7.429e-01, 7.429e-01, 7.427e-01, 7.427e-01, &
315 7.424e-01, 7.423e-01, 7.422e-01, 7.421e-01, 7.420e-01, &
316 7.419e-01, 7.419e-01, 7.418e-01, 7.417e-01, 7.416e-01, &
317 7.415e-01, 7.413e-01, 7.409e-01, 7.408e-01/
318 DATA c2_asssm_b2_19/3.031e-02, 3.028e-02, 3.022e-02, 3.011e-02, 2.999e-02, &
319 2.986e-02, 2.973e-02, 2.959e-02, 2.943e-02, 2.931e-02, &
320 2.924e-02, 2.919e-02, 2.913e-02, 2.905e-02, 2.893e-02, &
321 2.874e-02, 2.847e-02, 2.817e-02, 2.795e-02/
323 DATA a1_csssm_b2_19/7.061e-01, 7.074e-01, 7.211e-01, 7.476e-01, 7.647e-01, &
324 7.817e-01, 7.937e-01, 8.007e-01, 8.095e-01, 8.436e-01, &
325 8.932e-01, 9.390e-01, 9.963e-01, 1.093e+00, 1.256e+00, &
326 1.668e+00, 1.581e+00, 3.457e-01, 1.331e-01/
327 DATA a2_csssm_b2_19/3.617e-01, 3.621e-01, 3.662e-01, 3.739e-01, 3.789e-01, &
328 3.840e-01, 3.874e-01, 3.895e-01, 3.921e-01, 4.001e-01, &
329 4.117e-01, 4.223e-01, 4.356e-01, 4.581e-01, 5.099e-01, &
330 6.831e-01, 6.663e-01, 1.481e-01, 5.703e-02/
331 DATA a3_csssm_b2_19/-6.953e-03, -6.961e-03, -7.048e-03, -7.216e-03, -7.322e-03, &
332 -7.431e-03, -7.506e-03, -7.551e-03, -7.606e-03, -7.791e-03, &
333 -8.059e-03, -8.305e-03, -8.613e-03, -9.134e-03, -1.023e-02, &
334 -1.365e-02, -1.320e-02, -2.922e-03, -1.125e-03/
335 DATA b1_csssm_b2_19/1.007e-02, 1.008e-02, 1.012e-02, 1.019e-02, 1.024e-02, &
336 1.029e-02, 1.033e-02, 1.035e-02, 1.038e-02, 1.056e-02, &
337 1.083e-02, 1.109e-02, 1.140e-02, 1.194e-02, 1.270e-02, &
338 1.390e-02, 1.524e-02, 1.639e-02, 1.667e-02/
339 DATA b2_csssm_b2_19/4.675e-03, 4.682e-03, 4.760e-03, 4.908e-03, 5.004e-03, &
340 5.102e-03, 5.168e-03, 5.207e-03, 5.256e-03, 5.474e-03, &
341 5.793e-03, 6.089e-03, 6.457e-03, 7.081e-03, 7.923e-03, &
342 9.127e-03, 1.041e-02, 1.147e-02, 1.173e-02/
343 DATA c1_csssm_b2_19/7.571e-01, 7.571e-01, 7.570e-01, 7.568e-01, 7.565e-01, &
344 7.564e-01, 7.563e-01, 7.562e-01, 7.562e-01, 7.557e-01, &
345 7.552e-01, 7.545e-01, 7.539e-01, 7.527e-01, 7.509e-01, &
346 7.478e-01, 7.440e-01, 7.404e-01, 7.394e-01/
347 DATA c2_csssm_b2_19/4.464e-02, 4.465e-02, 4.468e-02, 4.474e-02, 4.477e-02, &
348 4.480e-02, 4.482e-02, 4.484e-02, 4.486e-02, 4.448e-02, &
349 4.389e-02, 4.334e-02, 4.264e-02, 4.148e-02, 3.957e-02, &
350 3.588e-02, 3.149e-02, 2.751e-02, 2.650e-02/
352 DATA a1_ssssm_b2_19/2.357e-01, 2.490e-01, 2.666e-01, 2.920e-01, 3.120e-01, &
353 3.128e-01, 3.169e-01, 3.272e-01, 3.498e-01, 3.960e-01, &
354 4.822e-01, 5.634e-01, 6.763e-01, 8.278e-01, 1.047e+00, &
355 1.340e+00, 1.927e+00, 1.648e+00, 1.031e+00/
356 DATA a2_ssssm_b2_19/1.219e-01, 1.337e-01, 1.633e-01, 1.929e-01, 2.057e-01, &
357 2.062e-01, 2.089e-01, 2.155e-01, 2.300e-01, 2.560e-01, &
358 2.908e-01, 3.199e-01, 3.530e-01, 3.965e-01, 4.475e-01, &
359 5.443e-01, 7.943e-01, 6.928e-01, 4.381e-01/
360 DATA a3_ssssm_b2_19/-2.387e-03, -2.599e-03, -3.092e-03, -3.599e-03, -3.832e-03, &
361 -3.842e-03, -3.890e-03, -4.012e-03, -4.276e-03, -4.763e-03, &
362 -5.455e-03, -6.051e-03, -6.763e-03, -7.708e-03, -8.887e-03, &
363 -1.091e-02, -1.585e-02, -1.373e-02, -8.665e-03/
364 DATA b1_ssssm_b2_19/1.260e-02, 1.211e-02, 1.126e-02, 1.056e-02, 1.038e-02, &
365 1.037e-02, 1.033e-02, 1.023e-02, 1.002e-02, 9.717e-03, &
366 9.613e-03, 9.652e-03, 9.983e-03, 1.047e-02, 1.168e-02, &
367 1.301e-02, 1.399e-02, 1.514e-02, 1.578e-02/
368 DATA b2_ssssm_b2_19/2.336e-03, 2.419e-03, 2.506e-03, 2.610e-03, 2.690e-03, &
369 2.694e-03, 2.711e-03, 2.752e-03, 2.844e-03, 3.043e-03, &
370 3.455e-03, 3.871e-03, 4.507e-03, 5.373e-03, 6.786e-03, &
371 8.238e-03, 9.208e-03, 1.032e-02, 1.091e-02/
372 DATA c1_ssssm_b2_19/7.832e-01, 7.787e-01, 7.721e-01, 7.670e-01, 7.657e-01, &
373 7.657e-01, 7.654e-01, 7.648e-01, 7.634e-01, 7.613e-01, &
374 7.596e-01, 7.585e-01, 7.574e-01, 7.560e-01, 7.533e-01, &
375 7.502e-01, 7.476e-01, 7.443e-01, 7.423e-01/
376 DATA c2_ssssm_b2_19/3.144e-02, 3.268e-02, 3.515e-02, 3.748e-02, 3.837e-02, &
377 3.840e-02, 3.860e-02, 3.906e-02, 4.006e-02, 4.173e-02, &
378 4.338e-02, 4.435e-02, 4.459e-02, 4.467e-02, 4.202e-02, &
379 3.864e-02, 3.559e-02, 3.183e-02, 2.964e-02/
386 DATA alpha_aers_2bands/ &
388 7.675,7.675,7.675,7.675,7.675,7.675, &
389 7.675,7.675,10.433,11.984,13.767,15.567,&
390 4.720,4.720,4.720,4.720,4.720,4.720, &
391 4.720,4.720,6.081,6.793,7.567,9.344, &
393 5.503,5.503,5.503,5.503,5.588,5.957, &
394 6.404,7.340,8.545,10.319,13.595,20.398, &
395 1.402,1.402,1.402,1.402,1.431,1.562, &
396 1.715,2.032,2.425,2.991,4.193,7.133, &
398 4.681,5.062,5.460,5.798,6.224,6.733, &
399 7.556,8.613,10.687,12.265,16.32,21.692, &
400 1.107,1.239,1.381,1.490,1.635,1.8030, &
401 2.071,2.407,3.126,3.940,5.539,7.921, &
403 4.681,5.062,5.460,5.798,6.224,6.733, &
404 7.556,8.613,10.687,12.265,16.32,21.692, &
405 1.107,1.239,1.381,1.490,1.635,1.8030, &
406 2.071,2.407,3.126,3.940,5.539,7.921, &
408 0.5090,0.6554,0.7129,0.7767,0.8529,1.2728, &
409 1.3820,1.5792,1.9173,2.2002,2.7173,4.1487, &
410 0.5167,0.6613,0.7221,0.7868,0.8622,1.3027, &
411 1.4227,1.6317,1.9887,2.2883,2.8356,4.3453, &
413 0.5090,0.6554,0.7129,0.7767,0.8529,1.2728, &
414 1.3820,1.5792,1.9173,2.2002,2.7173,4.1487, &
415 0.5167,0.6613,0.7221,0.7868,0.8622,1.3027, &
416 1.4227,1.6317,1.9887,2.2883,2.8356,4.3453, &
418 4.125, 4.674, 5.005, 5.434, 5.985, 10.006, &
419 11.175,13.376,17.264,20.540,26.604, 42.349,&
420 4.187, 3.939, 3.919, 3.937, 3.995, 5.078, &
421 5.511, 6.434, 8.317,10.152,14.024, 26.537/
423 DATA alpha_aeri_2bands/ &
431 DATA cg_aers_2bands/ &
433 .612, .612, .612, .612, .612, .612, &
434 .612, .612, .702, .734, .760, .796, &
435 .433, .433, .433, .433, .433, .433, &
436 .433, .433, .534, .575, .613, .669, &
438 .663, .663, .663, .663, .666, .674, &
439 .685, .702, .718, .737, .757, .777, &
440 .544, .544, .544, .544, .547, .554, &
441 .565, .583, .604, .631, .661, .698, &
443 .658, .669, .680, .688, .698, .707, &
444 .719, .733, .752, .760, .773, .786, &
445 .544, .555, .565, .573, .583, .593, &
446 .610, .628, .655, .666, .692, .719, &
448 .658, .669, .680, .688, .698, .707, &
449 .719, .733, .752, .760, .773, .786, &
450 .544, .555, .565, .573, .583, .593, &
451 .610, .628, .655, .666, .692, .719, &
453 .727, .747, .755, .761, .770, .788, &
454 .792, .799, .805, .809, .815, .826, &
455 .717, .738, .745, .752, .761, .779, &
456 .781, .786, .793, .797, .803, .813, &
458 .727, .747, .755, .761, .770, .788, &
459 .792, .799, .805, .809, .815, .826, &
460 .717, .738, .745, .752, .761, .779, &
461 .781, .786, .793, .797, .803, .813, &
463 .727, .741, .748, .754, .761, .782, &
464 .787, .792, .797, .799, .801, .799, &
465 .606, .645, .658, .669, .681, .726, &
466 .734, .746, .761, .770, .782, .798/
468 DATA cg_aeri_2bands/ &
476 DATA piz_aers_2bands/&
478 .445, .445, .445, .445, .445, .445, &
479 .445, .445, .461, .480, .505, .528, &
480 .362, .362, .362, .362, .362, .362, &
481 .362, .362, .381, .405, .437, .483, &
483 .972, .972, .972, .972, .972, .974, &
484 .976, .979, .982, .986, .989, .992, &
485 .924, .924, .924, .924, .925, .927, &
486 .932, .938, .945, .952, .961, .970, &
488 1.000,1.000,1.000,1.000,1.000,1.000, &
489 1.000,1.000,1.000,1.000,1.000,1.000, &
490 .992, .988, .988, .987, .986, .985, &
491 .985, .985, .984, .984, .984, .984, &
493 1.000,1.000,1.000,1.000,1.000,1.000, &
494 1.000,1.000,1.000,1.000,1.000,1.000, &
495 .992, .988, .988, .987, .986, .985, &
496 .985, .985, .984, .984, .984, .984, &
498 1.000,1.000,1.000,1.000,1.000,1.000, &
499 1.000,1.000,1.000,1.000,1.000,1.000, &
500 0.992,0.989,0.987,0.986,0.986,0.980, &
501 0.980,0.978,0.976,0.976,0.974,0.971, &
503 1.000,1.000,1.000,1.000,1.000,1.000, &
504 1.000,1.000,1.000,1.000,1.000,1.000, &
505 0.992,0.989,0.987,0.986,0.986,0.980, &
506 0.980,0.978,0.976,0.976,0.974,0.971, &
508 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
509 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
510 0.970, 0.975, 0.976, 0.977, 0.978, 0.982, &
511 0.982, 0.983, 0.984, 0.984, 0.985, 0.985/
513 DATA piz_aeri_2bands/ &
525 IF (.NOT.
ALLOCATED(a1_asssm_b1))
THEN
526 ALLOCATE(a1_asssm_b1(
klev),a2_asssm_b1(
klev), a3_asssm_b1(
klev),&
527 b1_asssm_b1(
klev), b2_asssm_b1(
klev), c1_asssm_b1(
klev), c2_asssm_b1(
klev),&
528 a1_csssm_b1(
klev), a2_csssm_b1(
klev), a3_csssm_b1(
klev),&
529 b1_csssm_b1(
klev), b2_csssm_b1(
klev), c1_csssm_b1(
klev), c2_csssm_b1(
klev),&
530 a1_ssssm_b1(
klev), a2_ssssm_b1(
klev), a3_ssssm_b1(
klev),&
531 b1_ssssm_b1(
klev), b2_ssssm_b1(
klev), c1_ssssm_b1(
klev), c2_ssssm_b1(
klev),&
532 a1_asssm_b2(
klev), a2_asssm_b2(
klev), a3_asssm_b2(
klev),&
533 b1_asssm_b2(
klev), b2_asssm_b2(
klev), c1_asssm_b2(
klev), c2_asssm_b2(
klev),&
534 a1_csssm_b2(
klev), a2_csssm_b2(
klev), a3_csssm_b2(
klev),&
535 b1_csssm_b2(
klev), b2_csssm_b2(
klev), c1_csssm_b2(
klev), c2_csssm_b2(
klev),&
536 a1_ssssm_b2(
klev), a2_ssssm_b2(
klev), a3_ssssm_b2(
klev),&
537 b1_ssssm_b2(
klev), b2_ssssm_b2(
klev), c1_ssssm_b2(
klev), c2_ssssm_b2(
klev), stat=ierr)
538 IF (ierr /= 0) CALL
abort_gcm(
'aeropt_2bands',
'pb in allocation 1',1)
598 mass_temp(
i,
k,:) = m_allaer(
i,
k,:) / zrho / 1.e+9
601 mass_temp_pi(
i,
k,:) = m_allaer_pi(
i,
k,:) / zrho / 1.e+9
602 zdp1(
i,
k)=pdel(
i,
k)/(gravit*delt)
606 IF (flag_aerosol .EQ. 1)
THEN
608 ALLOCATE (aerosol_name(nb_aer))
609 aerosol_name(1) = id_asso4m
610 aerosol_name(2) = id_csso4m
611 ELSEIF (flag_aerosol .EQ. 2)
THEN
613 ALLOCATE (aerosol_name(nb_aer))
614 aerosol_name(1) = id_asbcm
615 aerosol_name(2) = id_aibcm
616 ELSEIF (flag_aerosol .EQ. 3)
THEN
618 ALLOCATE (aerosol_name(nb_aer))
619 aerosol_name(1) = id_aspomm
620 aerosol_name(2) = id_aipomm
621 ELSEIF (flag_aerosol .EQ. 4)
THEN
623 ALLOCATE (aerosol_name(nb_aer))
624 aerosol_name(1) = id_csssm
625 aerosol_name(2) = id_ssssm
626 aerosol_name(3) = id_asssm
627 ELSEIF (flag_aerosol .EQ. 5)
THEN
629 ALLOCATE (aerosol_name(nb_aer))
630 aerosol_name(1) = id_cidustm
631 ELSEIF (flag_aerosol .EQ. 6)
THEN
633 ALLOCATE (aerosol_name(nb_aer))
634 aerosol_name(1) = id_asso4m
635 aerosol_name(2) = id_asbcm
636 aerosol_name(3) = id_aibcm
637 aerosol_name(4) = id_aspomm
638 aerosol_name(5) = id_aipomm
639 aerosol_name(6) = id_csssm
640 aerosol_name(7) = id_ssssm
641 aerosol_name(8) = id_asssm
642 aerosol_name(9) = id_cidustm
643 aerosol_name(10)= id_csso4m
660 fact_rh(
n)=1./(rh_tab(
n+1)-rh_tab(
n))
667 rh(
i,
k)=min(rhcl(
i,
k)*100.,rh_max)
668 rh_num(
i,
k) = int( rh(
i,
k)/10. + 1.)
669 IF (rh(
i,
k).GT.85.) rh_num(
i,
k)=10
670 IF (rh(
i,
k).GT.90.) rh_num(
i,
k)=11
672 delta(
i,
k)=(rh(
i,
k)-rh_tab(rh_num(
i,
k)))*fact_rh(rh_num(
i,
k))
680 IF (aerosol_name(
m).EQ.id_asbcm)
THEN
684 ELSEIF (aerosol_name(
m).EQ.id_aspomm)
THEN
688 ELSEIF (aerosol_name(
m).EQ.id_asso4m)
THEN
693 ELSEIF (aerosol_name(
m).EQ.id_csso4m)
THEN
698 ELSEIF (aerosol_name(
m).EQ.id_ssssm)
THEN
702 ELSEIF (aerosol_name(
m).EQ.id_csssm)
THEN
706 ELSEIF (aerosol_name(
m).EQ.id_asssm)
THEN
710 ELSEIF (aerosol_name(
m).EQ.id_cidustm)
THEN
714 ELSEIF (aerosol_name(
m).EQ.id_aibcm)
THEN
718 ELSEIF (aerosol_name(
m).EQ.id_aipomm)
THEN
752 tmp_var=mass_temp(
i,
k,spsol)*1000.*zdp1(
i,
k)*delt*fac
753 tmp_var_pi=mass_temp_pi(
i,
k,spsol)*1000.*zdp1(
i,
k)*delt*fac
756 tau_ae2b_int=a1_asssm_b1(
k)+a2_asssm_b1(
k)*h+a3_asssm_b1(
k)/(h-1.05)
757 piz_ae2b_int=1-b1_asssm_b1(
k)-b2_asssm_b1(
k)*h
758 cg_ae2b_int=c1_asssm_b1(
k)+c2_asssm_b1(
k)*h
760 tau_ae(
i,
k,id,1) = tmp_var*tau_ae2b_int
761 tau_ae_pi(
i,
k,id,1) = tmp_var_pi* tau_ae2b_int
762 piz_ae(
i,
k,id,1) = piz_ae2b_int
763 cg_ae(
i,
k,id,1)= cg_ae2b_int
766 tau_ae2b_int=a1_asssm_b2(
k)+a2_asssm_b2(
k)*h+a3_asssm_b2(
k)/(h-1.05)
767 piz_ae2b_int=1-b1_asssm_b2(
k)-b2_asssm_b2(
k)*h
768 cg_ae2b_int=c1_asssm_b2(
k)+c2_asssm_b2(
k)*h
770 tau_ae(
i,
k,id,2) = tmp_var*tau_ae2b_int
771 tau_ae_pi(
i,
k,id,2) = tmp_var_pi* tau_ae2b_int
772 piz_ae(
i,
k,id,2) = piz_ae2b_int
773 cg_ae(
i,
k,id,2)= cg_ae2b_int
797 tmp_var=mass_temp(
i,
k,spsol)*1000.*zdp1(
i,
k)*delt*fac
798 tmp_var_pi=mass_temp_pi(
i,
k,spsol)*1000.*zdp1(
i,
k)*delt*fac
800 tau_ae2b_int=a1_csssm_b1(
k)+a2_csssm_b1(
k)*h+a3_csssm_b1(
k)/(h-1.05)
801 piz_ae2b_int=1-b1_csssm_b1(
k)-b2_csssm_b1(
k)*h
802 cg_ae2b_int=c1_csssm_b1(
k)+c2_csssm_b1(
k)*h
804 tau_ae(
i,
k,id,1) = tmp_var*tau_ae2b_int
805 tau_ae_pi(
i,
k,id,1) = tmp_var_pi* tau_ae2b_int
806 piz_ae(
i,
k,id,1) = piz_ae2b_int
807 cg_ae(
i,
k,id,1)= cg_ae2b_int
810 tau_ae2b_int=a1_csssm_b2(
k)+a2_csssm_b2(
k)*h+a3_csssm_b2(
k)/(h-1.05)
811 piz_ae2b_int=1-b1_csssm_b2(
k)-b2_csssm_b2(
k)*h
812 cg_ae2b_int=c1_csssm_b2(
k)+c2_csssm_b2(
k)*h
814 tau_ae(
i,
k,id,2) = tmp_var*tau_ae2b_int
815 tau_ae_pi(
i,
k,id,2) = tmp_var_pi* tau_ae2b_int
816 piz_ae(
i,
k,id,2) = piz_ae2b_int
817 cg_ae(
i,
k,id,2)= cg_ae2b_int
841 tmp_var=mass_temp(
i,
k,spsol)*1000.*zdp1(
i,
k)*delt*fac
842 tmp_var_pi=mass_temp_pi(
i,
k,spsol)*1000.*zdp1(
i,
k)*delt*fac
845 tau_ae2b_int=a1_ssssm_b1(
k)+a2_ssssm_b1(
k)*h+a3_ssssm_b1(
k)/(h-1.05)
846 piz_ae2b_int=1-b1_ssssm_b1(
k)-b2_ssssm_b1(
k)*h
847 cg_ae2b_int=c1_ssssm_b1(
k)+c2_ssssm_b1(
k)*h
849 tau_ae(
i,
k,id,1) = tmp_var*tau_ae2b_int
850 tau_ae_pi(
i,
k,id,1) = tmp_var_pi* tau_ae2b_int
851 piz_ae(
i,
k,id,1) = piz_ae2b_int
852 cg_ae(
i,
k,id,1)= cg_ae2b_int
855 tau_ae2b_int=a1_ssssm_b2(
k)+a2_ssssm_b2(
k)*h+a3_ssssm_b2(
k)/(h-1.05)
856 piz_ae2b_int=1-b1_ssssm_b2(
k)-b2_ssssm_b2(
k)*h
857 cg_ae2b_int=c1_ssssm_b2(
k)+c2_ssssm_b2(
k)*h
859 tau_ae(
i,
k,id,2) = tmp_var*tau_ae2b_int
860 tau_ae_pi(
i,
k,id,2) = tmp_var_pi* tau_ae2b_int
861 piz_ae(
i,
k,id,2) = piz_ae2b_int
862 cg_ae(
i,
k,id,2)= cg_ae2b_int
875 tmp_var=mass_temp(
i,
k,spsol)*1000.*zdp1(
i,
k)*delt*fac
876 tmp_var_pi=mass_temp_pi(
i,
k,spsol)*1000.*zdp1(
i,
k)*delt*fac
880 tau_ae2b_int= alpha_aers_2bands(rh_num(
i,
k),inu,spsol)+ &
881 delta(
i,
k)* (alpha_aers_2bands(rh_num(
i,
k)+1,inu,spsol) - &
882 alpha_aers_2bands(rh_num(
i,
k),inu,spsol))
884 piz_ae2b_int = piz_aers_2bands(rh_num(
i,
k),inu,spsol) + &
885 delta(
i,
k)* (piz_aers_2bands(rh_num(
i,
k)+1,inu,spsol) - &
886 piz_aers_2bands(rh_num(
i,
k),inu,spsol))
888 cg_ae2b_int = cg_aers_2bands(rh_num(
i,
k),inu,spsol) + &
889 delta(
i,
k)* (cg_aers_2bands(rh_num(
i,
k)+1,inu,spsol) - &
890 cg_aers_2bands(rh_num(
i,
k),inu,spsol))
892 tau_ae(
i,
k,id,inu) = tmp_var*tau_ae2b_int
893 tau_ae_pi(
i,
k,id,inu) = tmp_var_pi* tau_ae2b_int
894 piz_ae(
i,
k,id,inu) = piz_ae2b_int
895 cg_ae(
i,
k,id,inu)= cg_ae2b_int
910 tmp_var=mass_temp(
i,
k,naero_soluble+ spinsol)*1000.*zdp1(
i,
k)*delt*fac
911 tmp_var_pi=mass_temp_pi(
i,
k,naero_soluble+spinsol)*1000.*zdp1(
i,
k)*delt*fac
914 tau_ae2b_int = alpha_aeri_2bands(inu,spinsol)
915 piz_ae2b_int = piz_aeri_2bands(inu,spinsol)
916 cg_ae2b_int = cg_aeri_2bands(inu,spinsol)
918 tau_ae(
i,
k,id,inu) = tmp_var*tau_ae2b_int
919 tau_ae_pi(
i,
k,id,inu) = tmp_var_pi*tau_ae2b_int
920 piz_ae(
i,
k,id,inu) = piz_ae2b_int
921 cg_ae(
i,
k,id,inu)= cg_ae2b_int
931 IF (.NOT. used_aer(
m))
THEN
933 tau_ae_pi(:,:,
m,:)=0.
940 DO mrfspecies=1,naero_grp
941 IF (mrfspecies .EQ. 2)
THEN
944 tau_allaer(
i,
k,mrfspecies,inu)=tau_ae(
i,
k,id_asso4m,inu)+tau_ae(
i,
k,id_csso4m,inu)+ &
945 tau_ae(
i,
k,id_asbcm,inu)+tau_ae(
i,
k,id_aibcm,inu)+ &
946 tau_ae(
i,
k,id_aspomm,inu)+tau_ae(
i,
k,id_aipomm,inu)+ &
947 tau_ae(
i,
k,id_asssm,inu)+tau_ae(
i,
k,id_csssm,inu)+ &
948 tau_ae(
i,
k,id_ssssm,inu)+ tau_ae(
i,
k,id_cidustm,inu)
949 tau_allaer(
i,
k,mrfspecies,inu)=max(tau_allaer(
i,
k,mrfspecies,inu),1e-5)
951 piz_allaer(
i,
k,mrfspecies,inu)=(tau_ae(
i,
k,id_asso4m,inu)*piz_ae(
i,
k,id_asso4m,inu)+ &
952 tau_ae(
i,
k,id_csso4m,inu)*piz_ae(
i,
k,id_csso4m,inu)+ &
953 tau_ae(
i,
k,id_asbcm,inu)*piz_ae(
i,
k,id_asbcm,inu)+ &
954 tau_ae(
i,
k,id_aibcm,inu)*piz_ae(
i,
k,id_aibcm,inu)+ &
955 tau_ae(
i,
k,id_aspomm,inu)*piz_ae(
i,
k,id_aspomm,inu)+ &
956 tau_ae(
i,
k,id_aipomm,inu)*piz_ae(
i,
k,id_aipomm,inu)+ &
957 tau_ae(
i,
k,id_asssm,inu)*piz_ae(
i,
k,id_asssm,inu)+ &
958 tau_ae(
i,
k,id_csssm,inu)*piz_ae(
i,
k,id_csssm,inu)+ &
959 tau_ae(
i,
k,id_ssssm,inu)*piz_ae(
i,
k,id_ssssm,inu)+ &
960 tau_ae(
i,
k,id_cidustm,inu)*piz_ae(
i,
k,id_cidustm,inu)) &
961 /tau_allaer(
i,
k,mrfspecies,inu)
962 piz_allaer(
i,
k,mrfspecies,inu)=max(piz_allaer(
i,
k,mrfspecies,inu),0.1)
964 cg_allaer(
i,
k,mrfspecies,inu)=(tau_ae(
i,
k,id_asso4m,inu)*piz_ae(
i,
k,id_asso4m,inu)*cg_ae(
i,
k,id_asso4m,inu)+ &
965 tau_ae(
i,
k,id_csso4m,inu)*piz_ae(
i,
k,id_csso4m,inu)*cg_ae(
i,
k,id_csso4m,inu)+ &
966 tau_ae(
i,
k,id_asbcm,inu)*piz_ae(
i,
k,id_asbcm,inu)*cg_ae(
i,
k,id_asbcm,inu)+ &
967 tau_ae(
i,
k,id_aibcm,inu)*piz_ae(
i,
k,id_aibcm,inu)*cg_ae(
i,
k,id_aibcm,inu)+ &
968 tau_ae(
i,
k,id_aspomm,inu)*piz_ae(
i,
k,id_aspomm,inu)*cg_ae(
i,
k,id_aspomm,inu)+ &
969 tau_ae(
i,
k,id_aipomm,inu)*piz_ae(
i,
k,id_aipomm,inu)*cg_ae(
i,
k,id_aipomm,inu)+ &
970 tau_ae(
i,
k,id_asssm,inu)*piz_ae(
i,
k,id_asssm,inu)*cg_ae(
i,
k,id_asssm,inu)+ &
971 tau_ae(
i,
k,id_csssm,inu)*piz_ae(
i,
k,id_csssm,inu)*cg_ae(
i,
k,id_csssm,inu)+ &
972 tau_ae(
i,
k,id_ssssm,inu)*piz_ae(
i,
k,id_ssssm,inu)*cg_ae(
i,
k,id_ssssm,inu)+ &
973 tau_ae(
i,
k,id_cidustm,inu)*piz_ae(
i,
k,id_cidustm,inu)*cg_ae(
i,
k,id_cidustm,inu))/ &
974 (tau_allaer(
i,
k,mrfspecies,inu)*piz_allaer(
i,
k,mrfspecies,inu))
978 ELSEIF (mrfspecies .EQ. 3)
THEN
983 tau_allaer(
i,
k,mrfspecies,inu)=tau_ae_pi(
i,
k,id_asso4m,inu)+ &
984 tau_ae_pi(
i,
k,id_csso4m,inu)+ &
985 tau_ae_pi(
i,
k,id_asbcm,inu)+ &
986 tau_ae_pi(
i,
k,id_aibcm,inu)+ &
987 tau_ae_pi(
i,
k,id_aspomm,inu)+ &
988 tau_ae_pi(
i,
k,id_aipomm,inu)+ &
989 tau_ae_pi(
i,
k,id_asssm,inu)+ &
990 tau_ae_pi(
i,
k,id_csssm,inu)+ &
991 tau_ae_pi(
i,
k,id_ssssm,inu)+ &
992 tau_ae_pi(
i,
k,id_cidustm,inu)
993 tau_allaer(
i,
k,mrfspecies,inu)=max(tau_allaer(
i,
k,mrfspecies,inu),1e-5)
995 piz_allaer(
i,
k,mrfspecies,inu)=(tau_ae_pi(
i,
k,id_asso4m,inu)*piz_ae(
i,
k,id_asso4m,inu)+ &
996 tau_ae_pi(
i,
k,id_csso4m,inu)*piz_ae(
i,
k,id_csso4m,inu)+ &
997 tau_ae_pi(
i,
k,id_asbcm,inu)*piz_ae(
i,
k,id_asbcm,inu)+ &
998 tau_ae_pi(
i,
k,id_aibcm,inu)*piz_ae(
i,
k,id_aibcm,inu)+ &
999 tau_ae_pi(
i,
k,id_aspomm,inu)*piz_ae(
i,
k,id_aspomm,inu)+ &
1000 tau_ae_pi(
i,
k,id_aipomm,inu)*piz_ae(
i,
k,id_aipomm,inu)+ &
1001 tau_ae_pi(
i,
k,id_asssm,inu)*piz_ae(
i,
k,id_asssm,inu)+ &
1002 tau_ae_pi(
i,
k,id_csssm,inu)*piz_ae(
i,
k,id_csssm,inu)+ &
1003 tau_ae_pi(
i,
k,id_ssssm,inu)*piz_ae(
i,
k,id_ssssm,inu)+ &
1004 tau_ae_pi(
i,
k,id_cidustm,inu)*piz_ae(
i,
k,id_cidustm,inu)) &
1005 /tau_allaer(
i,
k,mrfspecies,inu)
1006 piz_allaer(
i,
k,mrfspecies,inu)=max(piz_allaer(
i,
k,mrfspecies,inu),0.1)
1008 cg_allaer(
i,
k,mrfspecies,inu)=(&
1009 tau_ae_pi(
i,
k,id_asso4m,inu)*piz_ae(
i,
k,id_asso4m,inu)*cg_ae(
i,
k,id_asso4m,inu)+ &
1010 tau_ae_pi(
i,
k,id_csso4m,inu)*piz_ae(
i,
k,id_csso4m,inu)*cg_ae(
i,
k,id_csso4m,inu)+ &
1011 tau_ae_pi(
i,
k,id_asbcm,inu)*piz_ae(
i,
k,id_asbcm,inu)*cg_ae(
i,
k,id_asbcm,inu)+ &
1012 tau_ae_pi(
i,
k,id_aibcm,inu)*piz_ae(
i,
k,id_aibcm,inu)*cg_ae(
i,
k,id_aibcm,inu)+ &
1013 tau_ae_pi(
i,
k,id_aspomm,inu)*piz_ae(
i,
k,id_aspomm,inu)*cg_ae(
i,
k,id_aspomm,inu)+ &
1014 tau_ae_pi(
i,
k,id_aipomm,inu)*piz_ae(
i,
k,id_aipomm,inu)*cg_ae(
i,
k,id_aipomm,inu)+ &
1015 tau_ae_pi(
i,
k,id_asssm,inu)*piz_ae(
i,
k,id_asssm,inu)*cg_ae(
i,
k,id_asssm,inu)+ &
1016 tau_ae_pi(
i,
k,id_csssm,inu)*piz_ae(
i,
k,id_csssm,inu)*cg_ae(
i,
k,id_csssm,inu)+ &
1017 tau_ae_pi(
i,
k,id_ssssm,inu)*piz_ae(
i,
k,id_ssssm,inu)*cg_ae(
i,
k,id_ssssm,inu)+ &
1018 tau_ae_pi(
i,
k,id_cidustm,inu)*piz_ae(
i,
k,id_cidustm,inu)*&
1019 cg_ae(
i,
k,id_cidustm,inu))/ &
1020 (tau_allaer(
i,
k,mrfspecies,inu)*piz_allaer(
i,
k,mrfspecies,inu))
1024 ELSEIF (mrfspecies .EQ. 4)
THEN
1027 tau_allaer(
i,
k,mrfspecies,inu)=tau_ae(
i,
k,id_asbcm,inu)+tau_ae(
i,
k,id_aibcm,inu)
1028 tau_allaer(
i,
k,mrfspecies,inu)=max(tau_allaer(
i,
k,mrfspecies,inu),1e-5)
1029 piz_allaer(
i,
k,mrfspecies,inu)=(tau_ae(
i,
k,id_asbcm,inu)*piz_ae(
i,
k,id_asbcm,inu) &
1030 +tau_ae(
i,
k,id_aibcm,inu)*piz_ae(
i,
k,id_aibcm,inu))/ &
1031 tau_allaer(
i,
k,mrfspecies,inu)
1032 piz_allaer(
i,
k,mrfspecies,inu)=max(piz_allaer(
i,
k,mrfspecies,inu),0.1)
1033 cg_allaer(
i,
k,mrfspecies,inu)=(tau_ae(
i,
k,id_asbcm,inu)*piz_ae(
i,
k,id_asbcm,inu) *cg_ae(
i,
k,id_asbcm,inu)&
1034 +tau_ae(
i,
k,id_aibcm,inu)*piz_ae(
i,
k,id_aibcm,inu)*cg_ae(
i,
k,id_aibcm,inu))/ &
1035 (tau_allaer(
i,
k,mrfspecies,inu)*piz_allaer(
i,
k,mrfspecies,inu))
1039 ELSEIF (mrfspecies .EQ. 5)
THEN
1043 tau_allaer(
i,
k,mrfspecies,inu)=tau_ae(
i,
k,id_asso4m,inu)+tau_ae(
i,
k,id_csso4m,inu)
1044 tau_allaer(
i,
k,mrfspecies,inu)=max(tau_allaer(
i,
k,mrfspecies,inu),1e-5)
1045 piz_allaer(
i,
k,mrfspecies,inu)=(tau_ae(
i,
k,id_csso4m,inu)*piz_ae(
i,
k,id_csso4m,inu) &
1046 +tau_ae(
i,
k,id_asso4m,inu)*piz_ae(
i,
k,id_asso4m,inu))/ &
1047 tau_allaer(
i,
k,mrfspecies,inu)
1048 piz_allaer(
i,
k,mrfspecies,inu)=max(piz_allaer(
i,
k,mrfspecies,inu),0.1)
1049 cg_allaer(
i,
k,mrfspecies,inu)=(tau_ae(
i,
k,id_csso4m,inu)*piz_ae(
i,
k,id_csso4m,inu) *cg_ae(
i,
k,id_csso4m,inu)&
1050 +tau_ae(
i,
k,id_asso4m,inu)*piz_ae(
i,
k,id_asso4m,inu)*cg_ae(
i,
k,id_asso4m,inu))/ &
1051 (tau_allaer(
i,
k,mrfspecies,inu)*piz_allaer(
i,
k,mrfspecies,inu))
1055 ELSEIF (mrfspecies .EQ. 6)
THEN
1059 tau_allaer(
i,
k,mrfspecies,inu)=tau_ae(
i,
k,id_aspomm,inu)+tau_ae(
i,
k,id_aipomm,inu)
1060 tau_allaer(
i,
k,mrfspecies,inu)=max(tau_allaer(
i,
k,mrfspecies,inu),1e-5)
1061 piz_allaer(
i,
k,mrfspecies,inu)=(tau_ae(
i,
k,id_aspomm,inu)*piz_ae(
i,
k,id_aspomm,inu) &
1062 +tau_ae(
i,
k,id_aipomm,inu)*piz_ae(
i,
k,id_aipomm,inu))/ &
1063 tau_allaer(
i,
k,mrfspecies,inu)
1064 piz_allaer(
i,
k,mrfspecies,inu)=max(piz_allaer(
i,
k,mrfspecies,inu),0.1)
1065 cg_allaer(
i,
k,mrfspecies,inu)=(tau_ae(
i,
k,id_aspomm,inu)*piz_ae(
i,
k,id_aspomm,inu) *cg_ae(
i,
k,id_aspomm,inu)&
1066 +tau_ae(
i,
k,id_aipomm,inu)*piz_ae(
i,
k,id_aipomm,inu)*cg_ae(
i,
k,id_aipomm,inu))/ &
1067 (tau_allaer(
i,
k,mrfspecies,inu)*piz_allaer(
i,
k,mrfspecies,inu))
1071 ELSEIF (mrfspecies .EQ. 7)
THEN
1075 tau_allaer(
i,
k,mrfspecies,inu)=tau_ae(
i,
k,id_cidustm,inu)
1076 tau_allaer(
i,
k,mrfspecies,inu)=max(tau_allaer(
i,
k,mrfspecies,inu),1e-5)
1077 piz_allaer(
i,
k,mrfspecies,inu)=piz_ae(
i,
k,id_cidustm,inu)
1078 cg_allaer(
i,
k,mrfspecies,inu)=cg_ae(
i,
k,id_cidustm,inu)
1082 ELSEIF (mrfspecies .EQ. 8)
THEN
1086 tau_allaer(
i,
k,mrfspecies,inu)=tau_ae(
i,
k,id_asssm,inu)+tau_ae(
i,
k,id_csssm,inu)+tau_ae(
i,
k,id_ssssm,inu)
1087 tau_allaer(
i,
k,mrfspecies,inu)=max(tau_allaer(
i,
k,mrfspecies,inu),1e-5)
1088 piz_allaer(
i,
k,mrfspecies,inu)=(tau_ae(
i,
k,id_asssm,inu)*piz_ae(
i,
k,id_asssm,inu) &
1089 +tau_ae(
i,
k,id_csssm,inu)*piz_ae(
i,
k,id_csssm,inu) &
1090 +tau_ae(
i,
k,id_ssssm,inu)*piz_ae(
i,
k,id_ssssm,inu))/ &
1091 tau_allaer(
i,
k,mrfspecies,inu)
1092 piz_allaer(
i,
k,mrfspecies,inu)=max(piz_allaer(
i,
k,mrfspecies,inu),0.1)
1093 cg_allaer(
i,
k,mrfspecies,inu)=(tau_ae(
i,
k,id_asssm,inu)*piz_ae(
i,
k,id_asssm,inu) *cg_ae(
i,
k,id_asssm,inu)&
1094 +tau_ae(
i,
k,id_csssm,inu)*piz_ae(
i,
k,id_csssm,inu)*cg_ae(
i,
k,id_csssm,inu) &
1095 +tau_ae(
i,
k,id_ssssm,inu)*piz_ae(
i,
k,id_ssssm,inu)*cg_ae(
i,
k,id_ssssm,inu))/ &
1096 (tau_allaer(
i,
k,mrfspecies,inu)*piz_allaer(
i,
k,mrfspecies,inu))
1100 ELSEIF (mrfspecies .EQ. 9)
THEN
1104 tau_allaer(
i,
k,mrfspecies,inu)=0.
1105 piz_allaer(
i,
k,mrfspecies,inu)=0.
1106 cg_allaer(
i,
k,mrfspecies,inu)=0.
1114 tau_allaer(
i,
k,mrfspecies,inu)=0.
1115 piz_allaer(
i,
k,mrfspecies,inu)=0.
1116 cg_allaer(
i,
k,mrfspecies,inu)=0.
1128 absvisaer(
i)=sum((1-piz_allaer(
i,:,:,inu))*tau_allaer(
i,:,:,inu))
1131 DEALLOCATE(aerosol_name)