6 pdel, m_allaer, delt, &
7 rhcl, ai, flag_aerosol, &
57 REAL,
DIMENSION(klon,klev),
INTENT(in) :: pdel
58 REAL,
INTENT(in) :: delt
59 REAL,
DIMENSION(klon,klev,naero_tot),
INTENT(in) :: m_allaer
60 REAL,
DIMENSION(klon,klev),
INTENT(in) :: RHcl
61 INTEGER,
INTENT(in) :: flag_aerosol
62 REAL,
DIMENSION(klon,klev),
INTENT(in) :: pplay
63 REAL,
DIMENSION(klon,klev),
INTENT(in) :: t_seri
64 REAL,
DIMENSION(klev),
INTENT(in) :: presnivs
68 REAL,
DIMENSION(klon),
INTENT(out) :: ai
69 REAL,
DIMENSION(klon,nwave,naero_tot),
INTENT(out) :: tausum
70 REAL,
DIMENSION(klon,klev,nwave,naero_tot),
INTENT(out) :: tau
76 INTEGER,
PARAMETER :: las =
nwave
79 INTEGER :: i, k, ierr, m, aerindex
80 INTEGER :: spsol, spinsol, spss, la
82 INTEGER,
PARAMETER :: la443 = 1
83 INTEGER,
PARAMETER :: la550 = 2
84 INTEGER,
PARAMETER :: la670 = 3
85 INTEGER,
PARAMETER :: la765 = 4
86 INTEGER,
PARAMETER :: la865 = 5
87 INTEGER,
PARAMETER :: nbre_RH=12
88 INTEGER,
PARAMETER :: naero_soluble=7
90 INTEGER,
PARAMETER :: naero_insoluble=3
91 INTEGER,
PARAMETER :: nb_level = 19
92 LOGICAL,
SAVE :: firstcall=.
true.
98 REAL,
SAVE,
DIMENSION(nb_level) :: presnivs_19
101 REAL,
SAVE,
DIMENSION(nb_level) :: A1_ASSSM_19, A2_ASSSM_19, A3_ASSSM_19,&
102 B1_ASSSM_19, B2_ASSSM_19, C1_ASSSM_19, C2_ASSSM_19,&
103 A1_CSSSM_19, A2_CSSSM_19, A3_CSSSM_19,&
104 B1_CSSSM_19, B2_CSSSM_19, C1_CSSSM_19, C2_CSSSM_19, &
105 A1_SSSSM_19, A2_SSSSM_19, A3_SSSSM_19,&
106 B1_SSSSM_19, B2_SSSSM_19, C1_SSSSM_19, C2_SSSSM_19
115 REAL,
ALLOCATABLE,
DIMENSION(:),
SAVE :: &
116 A1_ASSSM, A2_ASSSM, A3_ASSSM,&
117 B1_ASSSM, B2_ASSSM, C1_ASSSM, C2_ASSSM,&
118 A1_CSSSM, A2_CSSSM, A3_CSSSM,&
119 B1_CSSSM, B2_CSSSM, C1_CSSSM, C2_CSSSM, &
120 A1_SSSSM, A2_SSSSM, A3_SSSSM,&
121 B1_SSSSM, B2_SSSSM, C1_SSSSM, C2_SSSSM
130 REAL,
PARAMETER :: RH_tab(nbre_rh)=(/0.,10.,20.,30.,40.,50.,60.,70.,80.,85.,90.,95./)
132 REAL :: tau_ae5wv_int
133 REAL :: piz_ae5wv_int
135 REAL,
PARAMETER :: RH_MAX=95.
136 REAL :: taue670(
klon)
137 REAL :: taue865(
klon)
140 REAL,
PARAMETER :: gravit = 9.80616
141 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: aerosol_name
148 REAL :: alpha_aers_5wv(nbre_rh,las,naero_soluble)
150 REAL :: alpha_aeri_5wv(las,naero_insoluble)
151 REAL :: cg_aers_5wv(nbre_rh,las,naero_soluble)
153 REAL :: cg_aeri_5wv(las,naero_insoluble)
154 REAL :: piz_aers_5wv(nbre_rh,las,naero_soluble)
156 REAL :: piz_aeri_5wv(las,naero_insoluble)
158 REAL,
DIMENSION(klon,klev,naero_tot) :: mass_temp
163 REAL :: radry = 287.054
165 REAL :: fact_RH(nbre_rh)
170 100426.5, 98327.6, 95346.5, 90966.8, 84776.9, &
171 76536.5, 66292.2, 54559.3, 42501.8, 31806, &
172 23787.5, 18252.7, 13996, 10320.8, 7191.1, &
173 4661.7, 2732.9, 1345.6, 388.2/
176 DATA a1_asssm_19/ 4.373e+00, 4.361e+00, 4.331e+00, &
177 4.278e+00, 4.223e+00, 4.162e+00, &
178 4.103e+00, 4.035e+00, 3.962e+00, &
179 3.904e+00, 3.871e+00, 3.847e+00, &
180 3.824e+00, 3.780e+00, 3.646e+00, &
181 3.448e+00, 3.179e+00, 2.855e+00, 2.630e+00/
182 DATA a2_asssm_19/ 2.496e+00, 2.489e+00, 2.472e+00, &
183 2.442e+00, 2.411e+00, 2.376e+00, &
184 2.342e+00, 2.303e+00, 2.261e+00, &
185 2.228e+00, 2.210e+00, 2.196e+00, &
186 2.183e+00, 2.158e+00, 2.081e+00, &
187 1.968e+00, 1.814e+00, 1.630e+00, 1.501e+00/
188 DATA a3_asssm_19/-4.688e-02, -4.676e-02, -4.644e-02, &
189 -4.587e-02, -4.528e-02, -4.463e-02, &
190 -4.399e-02, -4.326e-02, -4.248e-02, &
191 -4.186e-02, -4.151e-02, -4.125e-02, &
192 -4.100e-02, -4.053e-02, -3.910e-02, &
193 -3.697e-02, -3.408e-02, -3.061e-02, -2.819e-02/
194 DATA b1_asssm_19/ 1.165e-08, 1.145e-08, 1.097e-08, &
195 1.012e-08, 9.233e-09, 8.261e-09, &
196 7.297e-09, 6.201e-09, 5.026e-09, &
197 4.098e-09, 3.567e-09, 3.187e-09, &
198 2.807e-09, 2.291e-09, 2.075e-09, &
199 1.756e-09, 1.322e-09, 8.011e-10, 4.379e-10/
200 DATA b2_asssm_19/ 2.193e-08, 2.192e-08, 2.187e-08, &
201 2.179e-08, 2.171e-08, 2.162e-08, &
202 2.153e-08, 2.143e-08, 2.132e-08, &
203 2.124e-08, 2.119e-08, 2.115e-08, &
204 2.112e-08, 2.106e-08, 2.100e-08, &
205 2.090e-08, 2.077e-08, 2.061e-08, 2.049e-08/
206 DATA c1_asssm_19/ 7.365e-01, 7.365e-01, 7.365e-01, &
207 7.364e-01, 7.363e-01, 7.362e-01, &
208 7.361e-01, 7.359e-01, 7.358e-01, &
209 7.357e-01, 7.356e-01, 7.356e-01, &
210 7.356e-01, 7.355e-01, 7.354e-01, &
211 7.352e-01, 7.350e-01, 7.347e-01, 7.345e-01/
212 DATA c2_asssm_19/ 5.833e-02, 5.835e-02, 5.841e-02, &
213 5.850e-02, 5.859e-02, 5.870e-02, &
214 5.880e-02, 5.891e-02, 5.904e-02, &
215 5.914e-02, 5.920e-02, 5.924e-02, &
216 5.928e-02, 5.934e-02, 5.944e-02, &
217 5.959e-02, 5.979e-02, 6.003e-02, 6.020e-02/
219 DATA a1_csssm_19/ 7.403e-01, 7.422e-01, 7.626e-01, &
220 8.019e-01, 8.270e-01, 8.527e-01, &
221 8.702e-01, 8.806e-01, 8.937e-01, &
222 9.489e-01, 1.030e+00, 1.105e+00, &
223 1.199e+00, 1.357e+00, 1.660e+00, &
224 2.540e+00, 4.421e+00, 2.151e+00, 9.518e-01/
225 DATA a2_csssm_19/ 4.522e-01, 4.532e-01, 4.644e-01, &
226 4.859e-01, 4.996e-01, 5.137e-01, &
227 5.233e-01, 5.290e-01, 5.361e-01, &
228 5.655e-01, 6.085e-01, 6.483e-01, &
229 6.979e-01, 7.819e-01, 9.488e-01, &
230 1.450e+00, 2.523e+00, 1.228e+00, 5.433e-01/
231 DATA a3_csssm_19/-8.516e-03, -8.535e-03, -8.744e-03, &
232 -9.148e-03, -9.406e-03, -9.668e-03, &
233 -9.848e-03, -9.955e-03, -1.009e-02, &
234 -1.064e-02, -1.145e-02, -1.219e-02, &
235 -1.312e-02, -1.470e-02, -1.783e-02, &
236 -2.724e-02, -4.740e-02, -2.306e-02, -1.021e-02/
237 DATA b1_csssm_19/ 2.535e-07, 2.530e-07, 2.479e-07, &
238 2.380e-07, 2.317e-07, 2.252e-07, &
239 2.208e-07, 2.182e-07, 2.149e-07, &
240 2.051e-07, 1.912e-07, 1.784e-07, &
241 1.624e-07, 1.353e-07, 1.012e-07, &
242 6.016e-08, 2.102e-08, 0.000e+00, 0.000e+00/
243 DATA b2_csssm_19/ 1.221e-07, 1.217e-07, 1.179e-07, &
244 1.104e-07, 1.056e-07, 1.008e-07, &
245 9.744e-08, 9.546e-08, 9.299e-08, &
246 8.807e-08, 8.150e-08, 7.544e-08, &
247 6.786e-08, 5.504e-08, 4.080e-08, &
248 2.960e-08, 2.300e-08, 2.030e-08, 1.997e-08/
249 DATA c1_csssm_19/ 7.659e-01, 7.658e-01, 7.652e-01, &
250 7.639e-01, 7.631e-01, 7.623e-01, &
251 7.618e-01, 7.614e-01, 7.610e-01, &
252 7.598e-01, 7.581e-01, 7.566e-01, &
253 7.546e-01, 7.513e-01, 7.472e-01, &
254 7.423e-01, 7.376e-01, 7.342e-01, 7.334e-01/
255 DATA c2_csssm_19/ 3.691e-02, 3.694e-02, 3.729e-02, &
256 3.796e-02, 3.839e-02, 3.883e-02, &
257 3.913e-02, 3.931e-02, 3.953e-02, &
258 4.035e-02, 4.153e-02, 4.263e-02, &
259 4.400e-02, 4.631e-02, 4.933e-02, &
260 5.331e-02, 5.734e-02, 6.053e-02, 6.128e-02/
262 DATA a1_ssssm_19/ 2.836e-01, 2.876e-01, 2.563e-01, &
263 2.414e-01, 2.541e-01, 2.546e-01, &
264 2.572e-01, 2.638e-01, 2.781e-01, &
265 3.167e-01, 4.209e-01, 5.286e-01, &
266 6.959e-01, 9.233e-01, 1.282e+00, &
267 1.836e+00, 2.981e+00, 4.355e+00, 4.059e+00/
268 DATA a2_ssssm_19/ 1.608e-01, 1.651e-01, 1.577e-01, &
269 1.587e-01, 1.686e-01, 1.690e-01, &
270 1.711e-01, 1.762e-01, 1.874e-01, &
271 2.138e-01, 2.751e-01, 3.363e-01, &
272 4.279e-01, 5.519e-01, 7.421e-01, &
273 1.048e+00, 1.702e+00, 2.485e+00, 2.317e+00/
274 DATA a3_ssssm_19/-3.025e-03, -3.111e-03, -2.981e-03, &
275 -3.005e-03, -3.193e-03, -3.200e-03, &
276 -3.239e-03, -3.336e-03, -3.548e-03, &
277 -4.047e-03, -5.196e-03, -6.345e-03, &
278 -8.061e-03, -1.038e-02, -1.395e-02, &
279 -1.970e-02, -3.197e-02, -4.669e-02, -4.352e-02/
280 DATA b1_ssssm_19/ 6.759e-07, 6.246e-07, 5.542e-07, &
281 4.953e-07, 4.746e-07, 4.738e-07, &
282 4.695e-07, 4.588e-07, 4.354e-07, &
283 3.947e-07, 3.461e-07, 3.067e-07, &
284 2.646e-07, 2.095e-07, 1.481e-07, &
285 9.024e-08, 5.747e-08, 2.384e-08, 6.599e-09/
286 DATA b2_ssssm_19/ 5.977e-07, 5.390e-07, 4.468e-07, &
287 3.696e-07, 3.443e-07, 3.433e-07, &
288 3.380e-07, 3.249e-07, 2.962e-07, &
289 2.483e-07, 1.989e-07, 1.623e-07, &
290 1.305e-07, 9.015e-08, 6.111e-08, &
291 3.761e-08, 2.903e-08, 2.337e-08, 2.147e-08/
292 DATA c1_ssssm_19/ 8.120e-01, 8.084e-01, 8.016e-01, &
293 7.953e-01, 7.929e-01, 7.928e-01, &
294 7.923e-01, 7.910e-01, 7.882e-01, &
295 7.834e-01, 7.774e-01, 7.725e-01, &
296 7.673e-01, 7.604e-01, 7.529e-01, &
297 7.458e-01, 7.419e-01, 7.379e-01, 7.360e-01/
298 DATA c2_ssssm_19/ 2.388e-02, 2.392e-02, 2.457e-02, 2.552e-02, &
299 2.615e-02, 2.618e-02, 2.631e-02, 2.663e-02, &
300 2.735e-02, 2.875e-02, 3.113e-02, 3.330e-02, &
301 3.615e-02, 3.997e-02, 4.521e-02, 5.038e-02, &
302 5.358e-02, 5.705e-02, 5.887e-02/
314 DATA alpha_aers_5wv/ &
316 7.930,7.930,7.930,7.930,7.930,7.930, &
317 7.930,7.930,10.893,12.618,14.550,16.613, &
318 7.658,7.658,7.658,7.658,7.658,7.658, &
319 7.658,7.658,10.351,11.879,13.642,15.510, &
320 7.195,7.195,7.195,7.195,7.195,7.195, &
321 7.195,7.195,9.551,10.847,12.381,13.994, &
322 6.736,6.736,6.736,6.736,6.736,6.736, &
323 6.736,6.736,8.818,9.938,11.283,12.687, &
324 6.277,6.277,6.277,6.277,6.277,6.277, &
325 6.277,6.277,8.123,9.094,10.275,11.501, &
327 6.676,6.676,6.676,6.676,6.710,6.934, &
328 7.141,7.569,8.034,8.529,9.456,10.511, &
329 5.109,5.109,5.109,5.109,5.189,5.535, &
330 5.960,6.852,8.008,9.712,12.897,19.676, &
331 3.718,3.718,3.718,3.718,3.779,4.042, &
332 4.364,5.052,5.956,7.314,9.896,15.688, &
333 2.849,2.849,2.849,2.849,2.897,3.107, &
334 3.365,3.916,4.649,5.760,7.900,12.863, &
335 2.229,2.229,2.229,2.229,2.268,2.437, &
336 2.645,3.095,3.692,4.608,6.391,10.633, &
338 5.751,6.215,6.690,7.024,7.599,8.195, &
339 9.156,10.355,12.660,14.823,18.908,24.508, &
340 4.320,4.675,5.052,5.375,5.787,6.274, &
341 7.066,8.083,10.088,12.003,15.697,21.133, &
342 3.079,3.351,3.639,3.886,4.205,4.584, &
343 5.206,6.019,7.648,9.234,12.391,17.220, &
344 2.336,2.552,2.781,2.979,3.236,3.540, &
345 4.046,4.711,6.056,7.388,10.093,14.313, &
346 1.777,1.949,2.134,2.292,2.503,2.751, &
347 3.166,3.712,4.828,5.949,8.264,11.922, &
349 5.751,6.215,6.690,7.024,7.599,8.195, &
350 9.156,10.355,12.660,14.823,18.908,24.508, &
351 4.320,4.675,5.052,5.375,5.787,6.274, &
352 7.066,8.083,10.088,12.003,15.697,21.133, &
353 3.079,3.351,3.639,3.886,4.205,4.584, &
354 5.206,6.019,7.648,9.234,12.391,17.220, &
355 2.336,2.552,2.781,2.979,3.236,3.540, &
356 4.046,4.711,6.056,7.388,10.093,14.313, &
357 1.777,1.949,2.134,2.292,2.503,2.751, &
358 3.166,3.712,4.828,5.949,8.264,11.922, &
360 0.50,0.90,1.05,1.21,1.40,2.41, &
361 2.66,3.11,3.88,4.52,5.69,8.84, &
362 0.000,0.000,0.000,0.000,0.000,0.000, &
363 0.000,0.000,0.000,0.000,0.000,0.000, &
364 0.52,0.93,1.08,1.24,1.43,2.47, &
365 2.73,3.20,3.99,4.64,5.84,9.04, &
366 0.52,0.93,1.09,1.25,1.44,2.50, &
367 2.76,3.23,4.03,4.68,5.89,9.14, &
368 0.52,0.94,1.09,1.26,1.45,2.51, &
369 2.78,3.25,4.06,4.72,5.94,9.22, &
371 0.50,0.90,1.05,1.21,1.40,2.41, &
372 2.66,3.11,3.88,4.52,5.69,8.84, &
373 0.000,0.000,0.000,0.000,0.000,0.000, &
374 0.000,0.000,0.000,0.000,0.000,0.000, &
375 0.52,0.93,1.08,1.24,1.43,2.47, &
376 2.73,3.20,3.99,4.64,5.84,9.04, &
377 0.52,0.93,1.09,1.25,1.44,2.50, &
378 2.76,3.23,4.03,4.68,5.89,9.14, &
379 0.52,0.94,1.09,1.26,1.45,2.51, &
380 2.78,3.25,4.06,4.72,5.94,9.22, &
382 4.28, 7.17, 8.44, 9.85,11.60,22.44, &
383 25.34,30.54,39.38,46.52,59.33,91.77, &
384 0.000,0.000,0.000,0.000,0.000,0.000, &
385 0.000,0.000,0.000,0.000,0.000,0.000, &
386 2.48, 4.22, 5.02, 5.94, 7.11,15.29, &
387 17.70,22.31,30.73,38.06,52.15,90.59, &
388 1.90, 3.29, 3.94, 4.69, 5.65, 12.58, &
389 14.68,18.77,26.41,33.25,46.77,85.50, &
390 1.47, 2.59, 3.12, 3.74, 4.54, 10.42, &
391 12.24,15.82,22.66,28.91,41.54,79.33/
393 DATA alpha_aeri_5wv/ &
395 0.759, 0.770, 0.775, 0.775, 0.772, &
397 11.536,10.033, 8.422, 7.234, 6.270, &
399 5.042, 3.101, 1.890, 1.294, 0.934/
403 .651, .651, .651, .651, .651, .651, &
404 .651, .651, .738, .764, .785, .800, &
405 .597, .597, .597, .597, .597, .597, &
406 .597, .597, .695, .725, .751, .770, &
407 .543, .543, .543, .543, .543, .543, &
408 .543, .543, .650, .684, .714, .736, &
409 .504, .504, .504, .504, .504, .504, &
410 .504, .504, .614, .651, .683, .708, &
411 .469, .469, .469, .469, .469, .469, &
412 .469, .469, .582, .620, .655, .681, &
414 .679, .679, .679, .679, .683, .691, &
415 .703, .720, .736, .751, .766, .784, &
416 .656, .656, .656, .656, .659, .669, &
417 .681, .699, .717, .735, .750, .779, &
418 .623, .623, .623, .623, .627, .637, &
419 .649, .668, .688, .709, .734, .762, &
420 .592, .592, .592, .592, .595, .605, &
421 .618, .639, .660, .682, .711, .743, &
422 .561, .561, .561, .561, .565, .575, &
423 .588, .609, .632, .656, .688, .724, &
425 .671, .684, .697, .704, .714, .723, &
426 .734, .746, .762, .771, .781, .789, &
427 .653, .666, .678, .687, .697, .707, &
428 .719, .732, .751, .762, .775, .789, &
429 .622, .635, .648, .657, .667, .678, &
430 .691, .705, .728, .741, .758, .777, &
431 .591, .604, .617, .627, .638, .650, &
432 .664, .679, .704, .719, .739, .761, &
433 .560, .574, .587, .597, .609, .621, &
434 .637, .653, .680, .697, .719, .745, &
436 .671, .684, .697, .704, .714, .723, &
437 .734, .746, .762, .771, .781, .789, &
438 .653, .666, .678, .687, .697, .707, &
439 .719, .732, .751, .762, .775, .789, &
440 .622, .635, .648, .657, .667, .678, &
441 .691, .705, .728, .741, .758, .777, &
442 .591, .604, .617, .627, .638, .650, &
443 .664, .679, .704, .719, .739, .761, &
444 .560, .574, .587, .597, .609, .621, &
445 .637, .653, .680, .697, .719, .745, &
447 0.730,0.753,0.760,0.766,0.772,0.793, &
448 0.797,0.802,0.809,0.813,0.820,0.830, &
449 0.000,0.000,0.000,0.000,0.000,0.000, &
450 0.000,0.000,0.000,0.000,0.000,0.000, &
451 0.721,0.744,0.750,0.756,0.762,0.784, &
452 0.787,0.793,0.800,0.804,0.811,0.822, &
453 0.717,0.741,0.747,0.753,0.759,0.780, &
454 0.784,0.789,0.795,0.800,0.806,0.817, &
455 0.715,0.739,0.745,0.751,0.757,0.777, &
456 0.781,0.786,0.793,0.797,0.803,0.814, &
458 0.730,0.753,0.760,0.766,0.772,0.793, &
459 0.797,0.802,0.809,0.813,0.820,0.830, &
460 0.000,0.000,0.000,0.000,0.000,0.000, &
461 0.000,0.000,0.000,0.000,0.000,0.000, &
462 0.721,0.744,0.750,0.756,0.762,0.784, &
463 0.787,0.793,0.800,0.804,0.811,0.822, &
464 0.717,0.741,0.747,0.753,0.759,0.780, &
465 0.784,0.789,0.795,0.800,0.806,0.817, &
466 0.715,0.739,0.745,0.751,0.757,0.777, &
467 0.781,0.786,0.793,0.797,0.803,0.814, &
469 0.698,0.722,0.729,0.736,0.743,0.765, &
470 0.768,0.773,0.777,0.779,0.781,0.779, &
471 0.000,0.000,0.000,0.000,0.000,0.000, &
472 0.000,0.000,0.000,0.000,0.000,0.000, &
473 0.658,0.691,0.701,0.710,0.720,0.756, &
474 0.763,0.771,0.782,0.788,0.795,0.801, &
475 0.632,0.668,0.679,0.690,0.701,0.743, &
476 0.750,0.762,0.775,0.783,0.792,0.804, &
477 0.605,0.644,0.656,0.669,0.681,0.729, &
478 0.737,0.750,0.765,0.775,0.787,0.803/
483 0.714, 0.697, 0.688, 0.683, 0.679, &
485 0.511, 0.445, 0.384, 0.342, 0.307, &
487 0.596, 0.536, 0.466, 0.409, 0.359/
491 .445, .445, .445, .445, .445, .445, &
492 .445, .445, .470, .487, .508, .531, &
493 .442, .442, .442, .442, .442, .442, &
494 .442, .442, .462, .481, .506, .533, &
495 .427, .427, .427, .427, .427, .427, &
496 .427, .427, .449, .470, .497, .526, &
497 .413, .413, .413, .413, .413, .413, &
498 .413, .413, .437, .458, .486, .516, &
499 .399, .399, .399, .399, .399, .399, &
500 .399, .399, .423, .445, .473, .506, &
502 .975, .975, .975, .975, .975, .977, &
503 .979, .982, .984, .987, .990, .994, &
504 .972, .972, .972, .972, .973, .974, &
505 .977, .980, .983, .986, .989, .993, &
506 .963, .963, .963, .963, .964, .966, &
507 .969, .974, .977, .982, .986, .991, &
508 .955, .955, .955, .955, .955, .958, &
509 .962, .967, .972, .977, .983, .989, &
510 .944, .944, .944, .944, .944, .948, &
511 .952, .959, .962, .972, .979, .987, &
513 1.000,1.000,1.000,1.000,1.000,1.000, &
514 1.000,1.000,1.000,1.000,1.000,1.000, &
515 1.000,1.000,1.000,1.000,1.000,1.000, &
516 1.000,1.000,1.000,1.000,1.000,1.000, &
517 1.000,1.000,1.000,1.000,1.000,1.000, &
518 1.000,1.000,1.000,1.000,1.000,1.000, &
519 1.000,1.000,1.000,1.000,1.000,1.000, &
520 1.000,1.000,1.000,1.000,1.000,1.000, &
521 1.000,1.000,1.000,1.000,1.000,1.000, &
522 1.000,1.000,1.000,1.000,1.000,1.000, &
524 1.000,1.000,1.000,1.000,1.000,1.000, &
525 1.000,1.000,1.000,1.000,1.000,1.000, &
526 1.000,1.000,1.000,1.000,1.000,1.000, &
527 1.000,1.000,1.000,1.000,1.000,1.000, &
528 1.000,1.000,1.000,1.000,1.000,1.000, &
529 1.000,1.000,1.000,1.000,1.000,1.000, &
530 1.000,1.000,1.000,1.000,1.000,1.000, &
531 1.000,1.000,1.000,1.000,1.000,1.000, &
532 1.000,1.000,1.000,1.000,1.000,1.000, &
533 1.000,1.000,1.000,1.000,1.000,1.000, &
535 1.000,1.000,1.000,1.000,1.000,1.000, &
536 1.000,1.000,1.000,1.000,1.000,1.000, &
537 1.000,1.000,1.000,1.000,1.000,1.000, &
538 1.000,1.000,1.000,1.000,1.000,1.000, &
539 1.000,1.000,1.000,1.000,1.000,1.000, &
540 1.000,1.000,1.000,1.000,1.000,1.000, &
541 1.000,1.000,1.000,1.000,1.000,1.000, &
542 1.000,1.000,1.000,1.000,1.000,1.000, &
543 1.000,1.000,1.000,1.000,1.000,1.000, &
544 1.000,1.000,1.000,1.000,1.000,1.000, &
546 1.000,1.000,1.000,1.000,1.000,1.000, &
547 1.000,1.000,1.000,1.000,1.000,1.000, &
548 1.000,1.000,1.000,1.000,1.000,1.000, &
549 1.000,1.000,1.000,1.000,1.000,1.000, &
550 1.000,1.000,1.000,1.000,1.000,1.000, &
551 1.000,1.000,1.000,1.000,1.000,1.000, &
552 1.000,1.000,1.000,1.000,1.000,1.000, &
553 1.000,1.000,1.000,1.000,1.000,1.000, &
554 1.000,1.000,1.000,1.000,1.000,1.000, &
555 1.000,1.000,1.000,1.000,1.000,1.000, &
557 1.000,1.000,1.000,1.000,1.000,1.000, &
558 1.000,1.000,1.000,1.000,1.000,1.000, &
559 1.000,1.000,1.000,1.000,1.000,1.000, &
560 1.000,1.000,1.000,1.000,1.000,1.000, &
561 1.000,1.000,1.000,1.000,1.000,1.000, &
562 1.000,1.000,1.000,1.000,1.000,1.000, &
563 1.000,1.000,1.000,1.000,1.000,1.000, &
564 1.000,1.000,1.000,1.000,1.000,1.000, &
565 1.000,1.000,1.000,1.000,1.000,1.000, &
566 1.000,1.000,1.000,1.000,1.000,1.000/
571 0.944, 0.970, 0.977, 0.982, 0.987, &
573 0.415, 0.387, 0.355, 0.328, 0.301, &
575 0.972, 0.963, 0.943, 0.923, 0.897/
581 IF (.NOT.
ALLOCATED(a1_asssm))
THEN
582 ALLOCATE(a1_asssm(
klev),a2_asssm(
klev), a3_asssm(
klev),&
588 IF (ierr /= 0)
CALL abort_physic(
'aeropt_5mw',
'pb in allocation 1',1)
592 CALL pres2lev(a1_asssm_19, a1_asssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
593 CALL pres2lev(a2_asssm_19, a2_asssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
594 CALL pres2lev(a3_asssm_19, a3_asssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
595 CALL pres2lev(b1_asssm_19, b1_asssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
596 CALL pres2lev(b2_asssm_19, b2_asssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
597 CALL pres2lev(c1_asssm_19, c1_asssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
598 CALL pres2lev(c2_asssm_19, c2_asssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
600 CALL pres2lev(a1_csssm_19, a1_csssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
601 CALL pres2lev(a2_csssm_19, a2_csssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
602 CALL pres2lev(a3_csssm_19, a3_csssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
603 CALL pres2lev(b1_csssm_19, b1_csssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
604 CALL pres2lev(b2_csssm_19, b2_csssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
605 CALL pres2lev(c1_csssm_19, c1_csssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
606 CALL pres2lev(c2_csssm_19, c2_csssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
608 CALL pres2lev(a1_ssssm_19, a1_ssssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
609 CALL pres2lev(a2_ssssm_19, a2_ssssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
610 CALL pres2lev(a3_ssssm_19, a3_ssssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
611 CALL pres2lev(b1_ssssm_19, b1_ssssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
612 CALL pres2lev(b2_ssssm_19, b2_ssssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
613 CALL pres2lev(c1_ssssm_19, c1_ssssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
614 CALL pres2lev(c2_ssssm_19, c2_ssssm, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
626 zrho=pplay(i,k)/t_seri(i,k)/rd
627 dh(i,k)=pdel(i,k)/(gravit*zrho)
628 mass_temp(i,k,:) = m_allaer(i,k,:) / zrho / 1.e+9
629 zdp1(i,k)=pdel(i,k)/(gravit*delt)
635 IF (flag_aerosol .EQ. 1)
THEN
637 ALLOCATE (aerosol_name(nb_aer))
640 ELSEIF (flag_aerosol .EQ. 2)
THEN
642 ALLOCATE (aerosol_name(nb_aer))
645 ELSEIF (flag_aerosol .EQ. 3)
THEN
647 ALLOCATE (aerosol_name(nb_aer))
650 ELSEIF (flag_aerosol .EQ. 4)
THEN
652 ALLOCATE (aerosol_name(nb_aer))
656 ELSEIF (flag_aerosol .EQ. 5)
THEN
658 ALLOCATE (aerosol_name(nb_aer))
660 ELSEIF (flag_aerosol .EQ. 6)
THEN
662 ALLOCATE (aerosol_name(nb_aer))
691 fact_rh(n)=1./(rh_tab(n+1)-rh_tab(n))
698 rh(i,k)=min(rhcl(i,k)*100.,rh_max)
699 rh_num(i,k) = int( rh(i,k)/10. + 1.)
700 IF (rh(i,k).GT.85.) rh_num(i,k)=10
701 IF (rh(i,k).GT.90.) rh_num(i,k)=11
702 delta(i,k)=(rh(i,k)-rh_tab(rh_num(i,k)))*fact_rh(rh_num(i,k))
758 used_tau(spsol)=.
true.
760 used_tau(naero_soluble+spinsol)=.
true.
763 aerindex=aerosol_name(m)
769 IF((la.EQ.2).AND.(spss.NE.0))
THEN
777 tau_ae5wv_int=a1_asssm(k)+a2_asssm(k)*h+a3_asssm(k)/(h-1.05)
778 tau(i,k,la,aerindex) = mass_temp(i,k,aerindex)*1000.*zdp1(i,k) &
779 *tau_ae5wv_int*delt*fac
780 tausum(i,la,aerindex)=tausum(i,la,aerindex)+tau(i,k,la,aerindex)
792 tau_ae5wv_int=a1_csssm(k)+a2_csssm(k)*h+a3_csssm(k)/(h-1.05)
793 tau(i,k,la,aerindex) = mass_temp(i,k,aerindex)*1000.*zdp1(i,k) &
794 *tau_ae5wv_int*delt*fac
795 tausum(i,la,aerindex) = tausum(i,la,aerindex)+tau(i,k,la,aerindex)
807 tau_ae5wv_int=a1_ssssm(k)+a2_ssssm(k)*h+a3_ssssm(k)/(h-1.05)
808 tau(i,k,la,aerindex) = mass_temp(i,k,aerindex)*1000.*zdp1(i,k) &
809 *tau_ae5wv_int*delt*fac
810 tausum(i,la,aerindex)=tausum(i,la,aerindex)+tau(i,k,la,aerindex)
819 tau_ae5wv_int = alpha_aers_5wv(rh_num(i,k),la,spsol)+delta(i,k)* &
820 (alpha_aers_5wv(rh_num(i,k)+1,la,spsol) - &
821 alpha_aers_5wv(rh_num(i,k),la,spsol))
823 tau(i,k,la,aerindex) = mass_temp(i,k,aerindex)*1000.*zdp1(i,k) &
824 *tau_ae5wv_int*delt*fac
825 tausum(i,la,aerindex)=tausum(i,la,aerindex)+tau(i,k,la,aerindex)
834 tau_ae5wv_int = alpha_aeri_5wv(la,spinsol)
835 tau(i,k,la,aerindex) = mass_temp(i,k,aerindex)*1000.*zdp1(i,k)* &
836 tau_ae5wv_int*delt*fac
837 tausum(i,la,aerindex)= tausum(i,la,aerindex)+tau(i,k,la,aerindex)
845 IF (.NOT.used_tau(m)) tau(:,:,:,m)=0.
884 DEALLOCATE(aerosol_name)
integer, parameter id_asssm_phy
integer, parameter id_aipomm_phy
integer, parameter id_aspomm_phy
real, dimension(:), allocatable, save od550lt1aer
subroutine pres2lev(varo, varn, lmo, lmn, po, pn, ni, nj, ok_invertp)
real, dimension(:,:), allocatable, save ec550aer
integer, parameter id_csssm_phy
!$Id!Parameters for nlm real spfac!IM cf epmax real ptcrit real omtrain real dttrig real tau
real, dimension(:), allocatable, save od865aer
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
integer, parameter id_asbcm_phy
subroutine aeropt_5wv(pdel, m_allaer, delt, RHcl, ai, flag_aerosol, pplay, t_seri, tausum, tau, presnivs)
integer, parameter id_aibcm_phy
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL pplay
integer, parameter id_asso4m_phy
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
real, dimension(:), allocatable, save od550aer
integer, parameter naero_spc
integer, parameter id_ssssm_phy
subroutine abort_physic(modname, message, ierr)
integer, parameter id_csso4m_phy
integer, parameter id_cidustm_phy