5 pdel, m_allaer, delt, rhcl, &
6 tau_allaer, piz_allaer, &
7 cg_allaer, m_allaer_pi, &
28 REAL,
DIMENSION(klon,klev),
INTENT(in) :: pdel
29 REAL,
INTENT(in) :: delt
30 REAL,
DIMENSION(klon,klev,naero_tot),
INTENT(in) :: m_allaer
31 REAL,
DIMENSION(klon,klev,naero_tot),
INTENT(in) :: m_allaer_pi
32 REAL,
DIMENSION(klon,klev),
INTENT(in) :: RHcl
33 INTEGER,
INTENT(in) :: flag_aerosol
34 REAL,
DIMENSION(klon,klev),
INTENT(in) :: pplay
35 REAL,
DIMENSION(klon,klev),
INTENT(in) :: t_seri
36 REAL,
DIMENSION(klev),
INTENT(in) :: presnivs
40 REAL,
DIMENSION(klon,klev,naero_grp,nbands),
INTENT(out) :: tau_allaer
41 REAL,
DIMENSION(klon,klev,naero_grp,nbands),
INTENT(out) :: piz_allaer
42 REAL,
DIMENSION(klon,klev,naero_grp,nbands),
INTENT(out) :: cg_allaer
47 REAL,
DIMENSION(klon,klev,naero_tot,nbands) :: tau_ae
48 REAL,
DIMENSION(klon,klev,naero_tot,nbands) :: tau_ae_pi
49 REAL,
DIMENSION(klon,klev,naero_tot,nbands) :: piz_ae
50 REAL,
DIMENSION(klon,klev,naero_tot,nbands) :: cg_ae
52 INTEGER :: i, k,n, ierr, inu, m, mrfspecies
53 INTEGER :: spsol, spinsol, spss
55 INTEGER,
PARAMETER :: nb_level=19
57 INTEGER,
PARAMETER :: nbre_RH=12
58 INTEGER,
PARAMETER :: naero_soluble=7
60 INTEGER,
PARAMETER :: naero_insoluble=3
61 LOGICAL,
SAVE :: firstcall=.
true.
65 REAL,
SAVE,
DIMENSION(nb_level) :: presnivs_19
68 REAL,
SAVE,
DIMENSION(nb_level) :: A1_ASSSM_b1_19, A2_ASSSM_b1_19, A3_ASSSM_b1_19,&
69 B1_ASSSM_b1_19, B2_ASSSM_b1_19, C1_ASSSM_b1_19, C2_ASSSM_b1_19,&
70 A1_CSSSM_b1_19, A2_CSSSM_b1_19, A3_CSSSM_b1_19,&
71 B1_CSSSM_b1_19, B2_CSSSM_b1_19, C1_CSSSM_b1_19, C2_CSSSM_b1_19,&
72 A1_SSSSM_b1_19, A2_SSSSM_b1_19, A3_SSSSM_b1_19,&
73 B1_SSSSM_b1_19, B2_SSSSM_b1_19, C1_SSSSM_b1_19, C2_SSSSM_b1_19,&
74 A1_ASSSM_b2_19, A2_ASSSM_b2_19, A3_ASSSM_b2_19,&
75 B1_ASSSM_b2_19, B2_ASSSM_b2_19, C1_ASSSM_b2_19, C2_ASSSM_b2_19,&
76 A1_CSSSM_b2_19, A2_CSSSM_b2_19, A3_CSSSM_b2_19,&
77 B1_CSSSM_b2_19, B2_CSSSM_b2_19, C1_CSSSM_b2_19, C2_CSSSM_b2_19,&
78 A1_SSSSM_b2_19, A2_SSSSM_b2_19, A3_SSSSM_b2_19,&
79 B1_SSSSM_b2_19, B2_SSSSM_b2_19, C1_SSSSM_b2_19, C2_SSSSM_b2_19
95 REAL,
ALLOCATABLE,
DIMENSION(:),
SAVE :: &
96 A1_ASSSM_b1, A2_ASSSM_b1, A3_ASSSM_b1,&
97 B1_ASSSM_b1, B2_ASSSM_b1, C1_ASSSM_b1, C2_ASSSM_b1,&
98 A1_CSSSM_b1, A2_CSSSM_b1, A3_CSSSM_b1,&
99 B1_CSSSM_b1, B2_CSSSM_b1, C1_CSSSM_b1, C2_CSSSM_b1,&
100 A1_SSSSM_b1, A2_SSSSM_b1, A3_SSSSM_b1,&
101 B1_SSSSM_b1, B2_SSSSM_b1, C1_SSSSM_b1, C2_SSSSM_b1,&
102 A1_ASSSM_b2, A2_ASSSM_b2, A3_ASSSM_b2,&
103 B1_ASSSM_b2, B2_ASSSM_b2, C1_ASSSM_b2, C2_ASSSM_b2,&
104 A1_CSSSM_b2, A2_CSSSM_b2, A3_CSSSM_b2,&
105 B1_CSSSM_b2, B2_CSSSM_b2, C1_CSSSM_b2, C2_CSSSM_b2,&
106 A1_SSSSM_b2, A2_SSSSM_b2, A3_SSSSM_b2,&
107 B1_SSSSM_b2, B2_SSSSM_b2, C1_SSSSM_b2, C2_SSSSM_b2
121 REAL,
PARAMETER :: RH_tab(nbre_rh)=(/0.,10.,20.,30.,40.,50.,60.,70.,80.,85.,90.,95./)
122 REAL,
PARAMETER :: RH_MAX=95.
127 REAL :: Fact_RH(nbre_rh)
131 REAL,
PARAMETER :: gravit = 9.80616
132 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: aerosol_name
134 REAL,
DIMENSION(klon,klev,naero_tot) :: mass_temp
136 REAL,
DIMENSION(klon,klev,naero_tot) :: mass_temp_pi
141 REAL:: alpha_aers_2bands(nbre_rh,
nbands,naero_soluble)
142 REAL:: alpha_aeri_2bands(
nbands,naero_insoluble)
143 REAL:: cg_aers_2bands(nbre_rh,
nbands,naero_soluble)
144 REAL:: cg_aeri_2bands(
nbands,naero_insoluble)
145 REAL:: piz_aers_2bands(nbre_rh,
nbands,naero_soluble)
146 REAL:: piz_aeri_2bands(
nbands,naero_insoluble)
150 REAL :: tmp_var, tmp_var_pi
153 100426.5, 98327.6, 95346.5, 90966.8, 84776.9, &
154 76536.5, 66292.2, 54559.3, 42501.8, 31806, &
155 23787.5, 18252.7, 13996, 10320.8, 7191.1, &
156 4661.7, 2732.9, 1345.6, 388.2/
161 DATA a1_asssm_b1_19/ 4.373e+00, 4.361e+00, 4.331e+00, &
162 4.278e+00, 4.223e+00, 4.162e+00, &
163 4.103e+00, 4.035e+00, 3.962e+00, &
164 3.904e+00, 3.871e+00, 3.847e+00, &
165 3.824e+00, 3.780e+00, 3.646e+00, &
166 3.448e+00, 3.179e+00, 2.855e+00, 2.630e+00/
167 DATA a2_asssm_b1_19/ 2.496e+00, 2.489e+00, 2.472e+00, &
168 2.442e+00, 2.411e+00, 2.376e+00, &
169 2.342e+00, 2.303e+00, 2.261e+00, &
170 2.228e+00, 2.210e+00, 2.196e+00, &
171 2.183e+00, 2.158e+00, 2.081e+00, &
172 1.968e+00, 1.814e+00, 1.630e+00, 1.501e+00/
173 DATA a3_asssm_b1_19/-4.688e-02, -4.676e-02, -4.644e-02, &
174 -4.587e-02, -4.528e-02, -4.463e-02, &
175 -4.399e-02, -4.326e-02, -4.248e-02, &
176 -4.186e-02, -4.151e-02, -4.125e-02, &
177 -4.100e-02, -4.053e-02, -3.910e-02, &
178 -3.697e-02, -3.408e-02, -3.061e-02, -2.819e-02/
179 DATA b1_asssm_b1_19/ 1.165e-08, 1.145e-08, 1.097e-08, &
180 1.012e-08, 9.233e-09, 8.261e-09, &
181 7.297e-09, 6.201e-09, 5.026e-09, &
182 4.098e-09, 3.567e-09, 3.187e-09, &
183 2.807e-09, 2.291e-09, 2.075e-09, &
184 1.756e-09, 1.322e-09, 8.011e-10, 4.379e-10/
185 DATA b2_asssm_b1_19/ 2.193e-08, 2.192e-08, 2.187e-08, &
186 2.179e-08, 2.171e-08, 2.162e-08, &
187 2.153e-08, 2.143e-08, 2.132e-08, &
188 2.124e-08, 2.119e-08, 2.115e-08, &
189 2.112e-08, 2.106e-08, 2.100e-08, &
190 2.090e-08, 2.077e-08, 2.061e-08, 2.049e-08/
191 DATA c1_asssm_b1_19/ 7.365e-01, 7.365e-01, 7.365e-01, &
192 7.364e-01, 7.363e-01, 7.362e-01, &
193 7.361e-01, 7.359e-01, 7.358e-01, &
194 7.357e-01, 7.356e-01, 7.356e-01, &
195 7.356e-01, 7.355e-01, 7.354e-01, &
196 7.352e-01, 7.350e-01, 7.347e-01, 7.345e-01/
197 DATA c2_asssm_b1_19/ 5.833e-02, 5.835e-02, 5.841e-02, &
198 5.850e-02, 5.859e-02, 5.870e-02, &
199 5.880e-02, 5.891e-02, 5.904e-02, &
200 5.914e-02, 5.920e-02, 5.924e-02, &
201 5.928e-02, 5.934e-02, 5.944e-02, &
202 5.959e-02, 5.979e-02, 6.003e-02, 6.020e-02/
204 DATA a1_csssm_b1_19/ 7.403e-01, 7.422e-01, 7.626e-01, &
205 8.019e-01, 8.270e-01, 8.527e-01, &
206 8.702e-01, 8.806e-01, 8.937e-01, &
207 9.489e-01, 1.030e+00, 1.105e+00, &
208 1.199e+00, 1.357e+00, 1.660e+00, &
209 2.540e+00, 4.421e+00, 2.151e+00, 9.518e-01/
210 DATA a2_csssm_b1_19/ 4.522e-01, 4.532e-01, 4.644e-01, &
211 4.859e-01, 4.996e-01, 5.137e-01, &
212 5.233e-01, 5.290e-01, 5.361e-01, &
213 5.655e-01, 6.085e-01, 6.483e-01, &
214 6.979e-01, 7.819e-01, 9.488e-01, &
215 1.450e+00, 2.523e+00, 1.228e+00, 5.433e-01/
216 DATA a3_csssm_b1_19/-8.516e-03, -8.535e-03, -8.744e-03, &
217 -9.148e-03, -9.406e-03, -9.668e-03, &
218 -9.848e-03, -9.955e-03, -1.009e-02, &
219 -1.064e-02, -1.145e-02, -1.219e-02, &
220 -1.312e-02, -1.470e-02, -1.783e-02, &
221 -2.724e-02, -4.740e-02, -2.306e-02, -1.021e-02/
222 DATA b1_csssm_b1_19/ 2.535e-07, 2.530e-07, 2.479e-07, &
223 2.380e-07, 2.317e-07, 2.252e-07, &
224 2.208e-07, 2.182e-07, 2.149e-07, &
225 2.051e-07, 1.912e-07, 1.784e-07, &
226 1.624e-07, 1.353e-07, 1.012e-07, &
227 6.016e-08, 2.102e-08, 0.000e+00, 0.000e+00/
228 DATA b2_csssm_b1_19/ 1.221e-07, 1.217e-07, 1.179e-07, &
229 1.104e-07, 1.056e-07, 1.008e-07, &
230 9.744e-08, 9.546e-08, 9.299e-08, &
231 8.807e-08, 8.150e-08, 7.544e-08, &
232 6.786e-08, 5.504e-08, 4.080e-08, &
233 2.960e-08, 2.300e-08, 2.030e-08, 1.997e-08/
234 DATA c1_csssm_b1_19/ 7.659e-01, 7.658e-01, 7.652e-01, &
235 7.639e-01, 7.631e-01, 7.623e-01, &
236 7.618e-01, 7.614e-01, 7.610e-01, &
237 7.598e-01, 7.581e-01, 7.566e-01, &
238 7.546e-01, 7.513e-01, 7.472e-01, &
239 7.423e-01, 7.376e-01, 7.342e-01, 7.334e-01/
240 DATA c2_csssm_b1_19/ 3.691e-02, 3.694e-02, 3.729e-02, &
241 3.796e-02, 3.839e-02, 3.883e-02, &
242 3.913e-02, 3.931e-02, 3.953e-02, &
243 4.035e-02, 4.153e-02, 4.263e-02, &
244 4.400e-02, 4.631e-02, 4.933e-02, &
245 5.331e-02, 5.734e-02, 6.053e-02, 6.128e-02/
247 DATA a1_ssssm_b1_19/ 2.836e-01, 2.876e-01, 2.563e-01, &
248 2.414e-01, 2.541e-01, 2.546e-01, &
249 2.572e-01, 2.638e-01, 2.781e-01, &
250 3.167e-01, 4.209e-01, 5.286e-01, &
251 6.959e-01, 9.233e-01, 1.282e+00, &
252 1.836e+00, 2.981e+00, 4.355e+00, 4.059e+00/
253 DATA a2_ssssm_b1_19/ 1.608e-01, 1.651e-01, 1.577e-01, &
254 1.587e-01, 1.686e-01, 1.690e-01, &
255 1.711e-01, 1.762e-01, 1.874e-01, &
256 2.138e-01, 2.751e-01, 3.363e-01, &
257 4.279e-01, 5.519e-01, 7.421e-01, &
258 1.048e+00, 1.702e+00, 2.485e+00, 2.317e+00/
259 DATA a3_ssssm_b1_19/-3.025e-03, -3.111e-03, -2.981e-03, &
260 -3.005e-03, -3.193e-03, -3.200e-03, &
261 -3.239e-03, -3.336e-03, -3.548e-03, &
262 -4.047e-03, -5.196e-03, -6.345e-03, &
263 -8.061e-03, -1.038e-02, -1.395e-02, &
264 -1.970e-02, -3.197e-02, -4.669e-02, -4.352e-02/
265 DATA b1_ssssm_b1_19/ 6.759e-07, 6.246e-07, 5.542e-07, &
266 4.953e-07, 4.746e-07, 4.738e-07, &
267 4.695e-07, 4.588e-07, 4.354e-07, &
268 3.947e-07, 3.461e-07, 3.067e-07, &
269 2.646e-07, 2.095e-07, 1.481e-07, &
270 9.024e-08, 5.747e-08, 2.384e-08, 6.599e-09/
271 DATA b2_ssssm_b1_19/ 5.977e-07, 5.390e-07, 4.468e-07, &
272 3.696e-07, 3.443e-07, 3.433e-07, &
273 3.380e-07, 3.249e-07, 2.962e-07, &
274 2.483e-07, 1.989e-07, 1.623e-07, &
275 1.305e-07, 9.015e-08, 6.111e-08, &
276 3.761e-08, 2.903e-08, 2.337e-08, 2.147e-08/
277 DATA c1_ssssm_b1_19/ 8.120e-01, 8.084e-01, 8.016e-01, &
278 7.953e-01, 7.929e-01, 7.928e-01, &
279 7.923e-01, 7.910e-01, 7.882e-01, &
280 7.834e-01, 7.774e-01, 7.725e-01, &
281 7.673e-01, 7.604e-01, 7.529e-01, &
282 7.458e-01, 7.419e-01, 7.379e-01, 7.360e-01/
283 DATA c2_ssssm_b1_19/ 2.388e-02, 2.392e-02, 2.457e-02, 2.552e-02, &
284 2.615e-02, 2.618e-02, 2.631e-02, 2.663e-02, &
285 2.735e-02, 2.875e-02, 3.113e-02, 3.330e-02, &
286 3.615e-02, 3.997e-02, 4.521e-02, 5.038e-02, &
287 5.358e-02, 5.705e-02, 5.887e-02/
290 DATA a1_asssm_b2_19/1.256e+00, 1.246e+00, 1.226e+00, 1.187e+00, 1.148e+00, &
291 1.105e+00, 1.062e+00, 1.014e+00, 9.616e-01, 9.205e-01, &
292 8.970e-01, 8.800e-01, 8.632e-01, 8.371e-01, 7.943e-01, &
293 7.308e-01, 6.448e-01, 5.414e-01, 4.693e-01/
294 DATA a2_asssm_b2_19/5.321e-01, 5.284e-01, 5.196e-01, 5.036e-01, 4.872e-01, &
295 4.691e-01, 4.512e-01, 4.308e-01, 4.089e-01, 3.917e-01, &
296 3.818e-01, 3.747e-01, 3.676e-01, 3.567e-01, 3.385e-01, &
297 3.116e-01, 2.751e-01, 2.312e-01, 2.006e-01/
298 DATA a3_asssm_b2_19/-1.053e-02, -1.046e-02, -1.028e-02, -9.964e-03, -9.637e-03, &
299 -9.279e-03, -8.923e-03, -8.518e-03, -8.084e-03, -7.741e-03, &
300 -7.545e-03, -7.405e-03, -7.265e-03, -7.048e-03, -6.687e-03, &
301 -6.156e-03, -5.433e-03, -4.565e-03, -3.961e-03/
302 DATA b1_asssm_b2_19/1.560e-02, 1.560e-02, 1.561e-02, 1.565e-02, 1.568e-02, &
303 1.572e-02, 1.576e-02, 1.580e-02, 1.584e-02, 1.588e-02, &
304 1.590e-02, 1.592e-02, 1.593e-02, 1.595e-02, 1.599e-02, &
305 1.605e-02, 1.612e-02, 1.621e-02, 1.627e-02/
306 DATA b2_asssm_b2_19/1.073e-02, 1.074e-02, 1.076e-02, 1.079e-02, 1.082e-02, &
307 1.085e-02, 1.089e-02, 1.093e-02, 1.097e-02, 1.100e-02, &
308 1.102e-02, 1.103e-02, 1.105e-02, 1.107e-02, 1.110e-02, &
309 1.115e-02, 1.122e-02, 1.130e-02, 1.136e-02/
310 DATA c1_asssm_b2_19/7.429e-01, 7.429e-01, 7.429e-01, 7.427e-01, 7.427e-01, &
311 7.424e-01, 7.423e-01, 7.422e-01, 7.421e-01, 7.420e-01, &
312 7.419e-01, 7.419e-01, 7.418e-01, 7.417e-01, 7.416e-01, &
313 7.415e-01, 7.413e-01, 7.409e-01, 7.408e-01/
314 DATA c2_asssm_b2_19/3.031e-02, 3.028e-02, 3.022e-02, 3.011e-02, 2.999e-02, &
315 2.986e-02, 2.973e-02, 2.959e-02, 2.943e-02, 2.931e-02, &
316 2.924e-02, 2.919e-02, 2.913e-02, 2.905e-02, 2.893e-02, &
317 2.874e-02, 2.847e-02, 2.817e-02, 2.795e-02/
319 DATA a1_csssm_b2_19/7.061e-01, 7.074e-01, 7.211e-01, 7.476e-01, 7.647e-01, &
320 7.817e-01, 7.937e-01, 8.007e-01, 8.095e-01, 8.436e-01, &
321 8.932e-01, 9.390e-01, 9.963e-01, 1.093e+00, 1.256e+00, &
322 1.668e+00, 1.581e+00, 3.457e-01, 1.331e-01/
323 DATA a2_csssm_b2_19/3.617e-01, 3.621e-01, 3.662e-01, 3.739e-01, 3.789e-01, &
324 3.840e-01, 3.874e-01, 3.895e-01, 3.921e-01, 4.001e-01, &
325 4.117e-01, 4.223e-01, 4.356e-01, 4.581e-01, 5.099e-01, &
326 6.831e-01, 6.663e-01, 1.481e-01, 5.703e-02/
327 DATA a3_csssm_b2_19/-6.953e-03, -6.961e-03, -7.048e-03, -7.216e-03, -7.322e-03, &
328 -7.431e-03, -7.506e-03, -7.551e-03, -7.606e-03, -7.791e-03, &
329 -8.059e-03, -8.305e-03, -8.613e-03, -9.134e-03, -1.023e-02, &
330 -1.365e-02, -1.320e-02, -2.922e-03, -1.125e-03/
331 DATA b1_csssm_b2_19/1.007e-02, 1.008e-02, 1.012e-02, 1.019e-02, 1.024e-02, &
332 1.029e-02, 1.033e-02, 1.035e-02, 1.038e-02, 1.056e-02, &
333 1.083e-02, 1.109e-02, 1.140e-02, 1.194e-02, 1.270e-02, &
334 1.390e-02, 1.524e-02, 1.639e-02, 1.667e-02/
335 DATA b2_csssm_b2_19/4.675e-03, 4.682e-03, 4.760e-03, 4.908e-03, 5.004e-03, &
336 5.102e-03, 5.168e-03, 5.207e-03, 5.256e-03, 5.474e-03, &
337 5.793e-03, 6.089e-03, 6.457e-03, 7.081e-03, 7.923e-03, &
338 9.127e-03, 1.041e-02, 1.147e-02, 1.173e-02/
339 DATA c1_csssm_b2_19/7.571e-01, 7.571e-01, 7.570e-01, 7.568e-01, 7.565e-01, &
340 7.564e-01, 7.563e-01, 7.562e-01, 7.562e-01, 7.557e-01, &
341 7.552e-01, 7.545e-01, 7.539e-01, 7.527e-01, 7.509e-01, &
342 7.478e-01, 7.440e-01, 7.404e-01, 7.394e-01/
343 DATA c2_csssm_b2_19/4.464e-02, 4.465e-02, 4.468e-02, 4.474e-02, 4.477e-02, &
344 4.480e-02, 4.482e-02, 4.484e-02, 4.486e-02, 4.448e-02, &
345 4.389e-02, 4.334e-02, 4.264e-02, 4.148e-02, 3.957e-02, &
346 3.588e-02, 3.149e-02, 2.751e-02, 2.650e-02/
348 DATA a1_ssssm_b2_19/2.357e-01, 2.490e-01, 2.666e-01, 2.920e-01, 3.120e-01, &
349 3.128e-01, 3.169e-01, 3.272e-01, 3.498e-01, 3.960e-01, &
350 4.822e-01, 5.634e-01, 6.763e-01, 8.278e-01, 1.047e+00, &
351 1.340e+00, 1.927e+00, 1.648e+00, 1.031e+00/
352 DATA a2_ssssm_b2_19/1.219e-01, 1.337e-01, 1.633e-01, 1.929e-01, 2.057e-01, &
353 2.062e-01, 2.089e-01, 2.155e-01, 2.300e-01, 2.560e-01, &
354 2.908e-01, 3.199e-01, 3.530e-01, 3.965e-01, 4.475e-01, &
355 5.443e-01, 7.943e-01, 6.928e-01, 4.381e-01/
356 DATA a3_ssssm_b2_19/-2.387e-03, -2.599e-03, -3.092e-03, -3.599e-03, -3.832e-03, &
357 -3.842e-03, -3.890e-03, -4.012e-03, -4.276e-03, -4.763e-03, &
358 -5.455e-03, -6.051e-03, -6.763e-03, -7.708e-03, -8.887e-03, &
359 -1.091e-02, -1.585e-02, -1.373e-02, -8.665e-03/
360 DATA b1_ssssm_b2_19/1.260e-02, 1.211e-02, 1.126e-02, 1.056e-02, 1.038e-02, &
361 1.037e-02, 1.033e-02, 1.023e-02, 1.002e-02, 9.717e-03, &
362 9.613e-03, 9.652e-03, 9.983e-03, 1.047e-02, 1.168e-02, &
363 1.301e-02, 1.399e-02, 1.514e-02, 1.578e-02/
364 DATA b2_ssssm_b2_19/2.336e-03, 2.419e-03, 2.506e-03, 2.610e-03, 2.690e-03, &
365 2.694e-03, 2.711e-03, 2.752e-03, 2.844e-03, 3.043e-03, &
366 3.455e-03, 3.871e-03, 4.507e-03, 5.373e-03, 6.786e-03, &
367 8.238e-03, 9.208e-03, 1.032e-02, 1.091e-02/
368 DATA c1_ssssm_b2_19/7.832e-01, 7.787e-01, 7.721e-01, 7.670e-01, 7.657e-01, &
369 7.657e-01, 7.654e-01, 7.648e-01, 7.634e-01, 7.613e-01, &
370 7.596e-01, 7.585e-01, 7.574e-01, 7.560e-01, 7.533e-01, &
371 7.502e-01, 7.476e-01, 7.443e-01, 7.423e-01/
372 DATA c2_ssssm_b2_19/3.144e-02, 3.268e-02, 3.515e-02, 3.748e-02, 3.837e-02, &
373 3.840e-02, 3.860e-02, 3.906e-02, 4.006e-02, 4.173e-02, &
374 4.338e-02, 4.435e-02, 4.459e-02, 4.467e-02, 4.202e-02, &
375 3.864e-02, 3.559e-02, 3.183e-02, 2.964e-02/
382 DATA alpha_aers_2bands/ &
384 7.675,7.675,7.675,7.675,7.675,7.675, &
385 7.675,7.675,10.433,11.984,13.767,15.567,&
386 4.720,4.720,4.720,4.720,4.720,4.720, &
387 4.720,4.720,6.081,6.793,7.567,9.344, &
389 5.503,5.503,5.503,5.503,5.588,5.957, &
390 6.404,7.340,8.545,10.319,13.595,20.398, &
391 1.402,1.402,1.402,1.402,1.431,1.562, &
392 1.715,2.032,2.425,2.991,4.193,7.133, &
394 4.681,5.062,5.460,5.798,6.224,6.733, &
395 7.556,8.613,10.687,12.265,16.32,21.692, &
396 1.107,1.239,1.381,1.490,1.635,1.8030, &
397 2.071,2.407,3.126,3.940,5.539,7.921, &
399 4.681,5.062,5.460,5.798,6.224,6.733, &
400 7.556,8.613,10.687,12.265,16.32,21.692, &
401 1.107,1.239,1.381,1.490,1.635,1.8030, &
402 2.071,2.407,3.126,3.940,5.539,7.921, &
404 0.5090,0.6554,0.7129,0.7767,0.8529,1.2728, &
405 1.3820,1.5792,1.9173,2.2002,2.7173,4.1487, &
406 0.5167,0.6613,0.7221,0.7868,0.8622,1.3027, &
407 1.4227,1.6317,1.9887,2.2883,2.8356,4.3453, &
409 0.5090,0.6554,0.7129,0.7767,0.8529,1.2728, &
410 1.3820,1.5792,1.9173,2.2002,2.7173,4.1487, &
411 0.5167,0.6613,0.7221,0.7868,0.8622,1.3027, &
412 1.4227,1.6317,1.9887,2.2883,2.8356,4.3453, &
414 4.125, 4.674, 5.005, 5.434, 5.985, 10.006, &
415 11.175,13.376,17.264,20.540,26.604, 42.349,&
416 4.187, 3.939, 3.919, 3.937, 3.995, 5.078, &
417 5.511, 6.434, 8.317,10.152,14.024, 26.537/
419 DATA alpha_aeri_2bands/ &
427 DATA cg_aers_2bands/ &
429 .612, .612, .612, .612, .612, .612, &
430 .612, .612, .702, .734, .760, .796, &
431 .433, .433, .433, .433, .433, .433, &
432 .433, .433, .534, .575, .613, .669, &
434 .663, .663, .663, .663, .666, .674, &
435 .685, .702, .718, .737, .757, .777, &
436 .544, .544, .544, .544, .547, .554, &
437 .565, .583, .604, .631, .661, .698, &
439 .658, .669, .680, .688, .698, .707, &
440 .719, .733, .752, .760, .773, .786, &
441 .544, .555, .565, .573, .583, .593, &
442 .610, .628, .655, .666, .692, .719, &
444 .658, .669, .680, .688, .698, .707, &
445 .719, .733, .752, .760, .773, .786, &
446 .544, .555, .565, .573, .583, .593, &
447 .610, .628, .655, .666, .692, .719, &
449 .727, .747, .755, .761, .770, .788, &
450 .792, .799, .805, .809, .815, .826, &
451 .717, .738, .745, .752, .761, .779, &
452 .781, .786, .793, .797, .803, .813, &
454 .727, .747, .755, .761, .770, .788, &
455 .792, .799, .805, .809, .815, .826, &
456 .717, .738, .745, .752, .761, .779, &
457 .781, .786, .793, .797, .803, .813, &
459 .727, .741, .748, .754, .761, .782, &
460 .787, .792, .797, .799, .801, .799, &
461 .606, .645, .658, .669, .681, .726, &
462 .734, .746, .761, .770, .782, .798/
464 DATA cg_aeri_2bands/ &
472 DATA piz_aers_2bands/&
474 .445, .445, .445, .445, .445, .445, &
475 .445, .445, .461, .480, .505, .528, &
476 .362, .362, .362, .362, .362, .362, &
477 .362, .362, .381, .405, .437, .483, &
479 .972, .972, .972, .972, .972, .974, &
480 .976, .979, .982, .986, .989, .992, &
481 .924, .924, .924, .924, .925, .927, &
482 .932, .938, .945, .952, .961, .970, &
484 1.000,1.000,1.000,1.000,1.000,1.000, &
485 1.000,1.000,1.000,1.000,1.000,1.000, &
486 .992, .988, .988, .987, .986, .985, &
487 .985, .985, .984, .984, .984, .984, &
489 1.000,1.000,1.000,1.000,1.000,1.000, &
490 1.000,1.000,1.000,1.000,1.000,1.000, &
491 .992, .988, .988, .987, .986, .985, &
492 .985, .985, .984, .984, .984, .984, &
494 1.000,1.000,1.000,1.000,1.000,1.000, &
495 1.000,1.000,1.000,1.000,1.000,1.000, &
496 0.992,0.989,0.987,0.986,0.986,0.980, &
497 0.980,0.978,0.976,0.976,0.974,0.971, &
499 1.000,1.000,1.000,1.000,1.000,1.000, &
500 1.000,1.000,1.000,1.000,1.000,1.000, &
501 0.992,0.989,0.987,0.986,0.986,0.980, &
502 0.980,0.978,0.976,0.976,0.974,0.971, &
504 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
505 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
506 0.970, 0.975, 0.976, 0.977, 0.978, 0.982, &
507 0.982, 0.983, 0.984, 0.984, 0.985, 0.985/
509 DATA piz_aeri_2bands/ &
521 IF (.NOT.
ALLOCATED(a1_asssm_b1))
THEN
522 ALLOCATE(a1_asssm_b1(
klev),a2_asssm_b1(
klev), a3_asssm_b1(
klev),&
523 b1_asssm_b1(
klev), b2_asssm_b1(
klev), c1_asssm_b1(
klev), c2_asssm_b1(
klev),&
524 a1_csssm_b1(
klev), a2_csssm_b1(
klev), a3_csssm_b1(
klev),&
525 b1_csssm_b1(
klev), b2_csssm_b1(
klev), c1_csssm_b1(
klev), c2_csssm_b1(
klev),&
526 a1_ssssm_b1(
klev), a2_ssssm_b1(
klev), a3_ssssm_b1(
klev),&
527 b1_ssssm_b1(
klev), b2_ssssm_b1(
klev), c1_ssssm_b1(
klev), c2_ssssm_b1(
klev),&
528 a1_asssm_b2(
klev), a2_asssm_b2(
klev), a3_asssm_b2(
klev),&
529 b1_asssm_b2(
klev), b2_asssm_b2(
klev), c1_asssm_b2(
klev), c2_asssm_b2(
klev),&
530 a1_csssm_b2(
klev), a2_csssm_b2(
klev), a3_csssm_b2(
klev),&
531 b1_csssm_b2(
klev), b2_csssm_b2(
klev), c1_csssm_b2(
klev), c2_csssm_b2(
klev),&
532 a1_ssssm_b2(
klev), a2_ssssm_b2(
klev), a3_ssssm_b2(
klev),&
533 b1_ssssm_b2(
klev), b2_ssssm_b2(
klev), c1_ssssm_b2(
klev), c2_ssssm_b2(
klev), stat=ierr)
534 IF (ierr /= 0)
CALL abort_physic(
'aeropt_2bands',
'pb in allocation 1',1)
538 CALL pres2lev(a1_asssm_b1_19, a1_asssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
539 CALL pres2lev(a2_asssm_b1_19, a2_asssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
540 CALL pres2lev(a3_asssm_b1_19, a3_asssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
541 CALL pres2lev(b1_asssm_b1_19, b1_asssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
542 CALL pres2lev(b2_asssm_b1_19, b2_asssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
543 CALL pres2lev(c1_asssm_b1_19, c1_asssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
544 CALL pres2lev(c2_asssm_b1_19, c2_asssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
546 CALL pres2lev(a1_csssm_b1_19, a1_csssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
547 CALL pres2lev(a2_csssm_b1_19, a2_csssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
548 CALL pres2lev(a3_csssm_b1_19, a3_csssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
549 CALL pres2lev(b1_csssm_b1_19, b1_csssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
550 CALL pres2lev(b2_csssm_b1_19, b2_csssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
551 CALL pres2lev(c1_csssm_b1_19, c1_csssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
552 CALL pres2lev(c2_csssm_b1_19, c2_csssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
554 CALL pres2lev(a1_ssssm_b1_19, a1_ssssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
555 CALL pres2lev(a2_ssssm_b1_19, a2_ssssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
556 CALL pres2lev(a3_ssssm_b1_19, a3_ssssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
557 CALL pres2lev(b1_ssssm_b1_19, b1_ssssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
558 CALL pres2lev(b2_ssssm_b1_19, b2_ssssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
559 CALL pres2lev(c1_ssssm_b1_19, c1_ssssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
560 CALL pres2lev(c2_ssssm_b1_19, c2_ssssm_b1, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
563 CALL pres2lev(a1_asssm_b2_19, a1_asssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
564 CALL pres2lev(a2_asssm_b2_19, a2_asssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
565 CALL pres2lev(a3_asssm_b2_19, a3_asssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
566 CALL pres2lev(b1_asssm_b2_19, b1_asssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
567 CALL pres2lev(b2_asssm_b2_19, b2_asssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
568 CALL pres2lev(c1_asssm_b2_19, c1_asssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
569 CALL pres2lev(c2_asssm_b2_19, c2_asssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
571 CALL pres2lev(a1_csssm_b2_19, a1_csssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
572 CALL pres2lev(a2_csssm_b2_19, a2_csssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
573 CALL pres2lev(a3_csssm_b2_19, a3_csssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
574 CALL pres2lev(b1_csssm_b2_19, b1_csssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
575 CALL pres2lev(b2_csssm_b2_19, b2_csssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
576 CALL pres2lev(c1_csssm_b2_19, c1_csssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
577 CALL pres2lev(c2_csssm_b2_19, c2_csssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
579 CALL pres2lev(a1_ssssm_b2_19, a1_ssssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
580 CALL pres2lev(a2_ssssm_b2_19, a2_ssssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
581 CALL pres2lev(a3_ssssm_b2_19, a3_ssssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
582 CALL pres2lev(b1_ssssm_b2_19, b1_ssssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
583 CALL pres2lev(b2_ssssm_b2_19, b2_ssssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
584 CALL pres2lev(c1_ssssm_b2_19, c1_ssssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
585 CALL pres2lev(c2_ssssm_b2_19, c2_ssssm_b2, nb_level,
klev, presnivs_19, presnivs, 1, 1, .
false.)
592 zrho=pplay(i,k)/t_seri(i,k)/rd
593 mass_temp(i,k,:) = m_allaer(i,k,:) / zrho / 1.e+9
594 mass_temp_pi(i,k,:) = m_allaer_pi(i,k,:) / zrho / 1.e+9
595 zdp1(i,k)=pdel(i,k)/(gravit*delt)
599 IF (flag_aerosol .EQ. 1)
THEN
601 ALLOCATE (aerosol_name(nb_aer))
604 ELSEIF (flag_aerosol .EQ. 2)
THEN
606 ALLOCATE (aerosol_name(nb_aer))
609 ELSEIF (flag_aerosol .EQ. 3)
THEN
611 ALLOCATE (aerosol_name(nb_aer))
614 ELSEIF (flag_aerosol .EQ. 4)
THEN
616 ALLOCATE (aerosol_name(nb_aer))
620 ELSEIF (flag_aerosol .EQ. 5)
THEN
622 ALLOCATE (aerosol_name(nb_aer))
624 ELSEIF (flag_aerosol .EQ. 6)
THEN
626 ALLOCATE (aerosol_name(nb_aer))
652 fact_rh(n)=1./(rh_tab(n+1)-rh_tab(n))
658 rh(i,k)=min(rhcl(i,k)*100.,rh_max)
659 rh_num(i,k) = int( rh(i,k)/10. + 1.)
660 IF (rh(i,k).GT.85.) rh_num(i,k)=10
661 IF (rh(i,k).GT.90.) rh_num(i,k)=11
663 delta(i,k)=(rh(i,k)-rh_tab(rh_num(i,k)))*fact_rh(rh_num(i,k))
743 tmp_var=mass_temp(i,k,spsol)*1000.*zdp1(i,k)*delt*fac
744 tmp_var_pi=mass_temp_pi(i,k,spsol)*1000.*zdp1(i,k)*delt*fac
747 tau_ae2b_int=a1_asssm_b1(k)+a2_asssm_b1(k)*h+a3_asssm_b1(k)/(h-1.05)
748 piz_ae2b_int=1-b1_asssm_b1(k)-b2_asssm_b1(k)*h
749 cg_ae2b_int=c1_asssm_b1(k)+c2_asssm_b1(k)*h
751 tau_ae(i,k,id,1) = tmp_var*tau_ae2b_int
752 tau_ae_pi(i,k,id,1) = tmp_var_pi* tau_ae2b_int
753 piz_ae(i,k,id,1) = piz_ae2b_int
754 cg_ae(i,k,id,1)= cg_ae2b_int
757 tau_ae2b_int=a1_asssm_b2(k)+a2_asssm_b2(k)*h+a3_asssm_b2(k)/(h-1.05)
758 piz_ae2b_int=1-b1_asssm_b2(k)-b2_asssm_b2(k)*h
759 cg_ae2b_int=c1_asssm_b2(k)+c2_asssm_b2(k)*h
761 tau_ae(i,k,id,2) = tmp_var*tau_ae2b_int
762 tau_ae_pi(i,k,id,2) = tmp_var_pi* tau_ae2b_int
763 piz_ae(i,k,id,2) = piz_ae2b_int
764 cg_ae(i,k,id,2)= cg_ae2b_int
788 tmp_var=mass_temp(i,k,spsol)*1000.*zdp1(i,k)*delt*fac
789 tmp_var_pi=mass_temp_pi(i,k,spsol)*1000.*zdp1(i,k)*delt*fac
791 tau_ae2b_int=a1_csssm_b1(k)+a2_csssm_b1(k)*h+a3_csssm_b1(k)/(h-1.05)
792 piz_ae2b_int=1-b1_csssm_b1(k)-b2_csssm_b1(k)*h
793 cg_ae2b_int=c1_csssm_b1(k)+c2_csssm_b1(k)*h
795 tau_ae(i,k,id,1) = tmp_var*tau_ae2b_int
796 tau_ae_pi(i,k,id,1) = tmp_var_pi* tau_ae2b_int
797 piz_ae(i,k,id,1) = piz_ae2b_int
798 cg_ae(i,k,id,1)= cg_ae2b_int
801 tau_ae2b_int=a1_csssm_b2(k)+a2_csssm_b2(k)*h+a3_csssm_b2(k)/(h-1.05)
802 piz_ae2b_int=1-b1_csssm_b2(k)-b2_csssm_b2(k)*h
803 cg_ae2b_int=c1_csssm_b2(k)+c2_csssm_b2(k)*h
805 tau_ae(i,k,id,2) = tmp_var*tau_ae2b_int
806 tau_ae_pi(i,k,id,2) = tmp_var_pi* tau_ae2b_int
807 piz_ae(i,k,id,2) = piz_ae2b_int
808 cg_ae(i,k,id,2)= cg_ae2b_int
832 tmp_var=mass_temp(i,k,spsol)*1000.*zdp1(i,k)*delt*fac
833 tmp_var_pi=mass_temp_pi(i,k,spsol)*1000.*zdp1(i,k)*delt*fac
836 tau_ae2b_int=a1_ssssm_b1(k)+a2_ssssm_b1(k)*h+a3_ssssm_b1(k)/(h-1.05)
837 piz_ae2b_int=1-b1_ssssm_b1(k)-b2_ssssm_b1(k)*h
838 cg_ae2b_int=c1_ssssm_b1(k)+c2_ssssm_b1(k)*h
840 tau_ae(i,k,id,1) = tmp_var*tau_ae2b_int
841 tau_ae_pi(i,k,id,1) = tmp_var_pi* tau_ae2b_int
842 piz_ae(i,k,id,1) = piz_ae2b_int
843 cg_ae(i,k,id,1)= cg_ae2b_int
846 tau_ae2b_int=a1_ssssm_b2(k)+a2_ssssm_b2(k)*h+a3_ssssm_b2(k)/(h-1.05)
847 piz_ae2b_int=1-b1_ssssm_b2(k)-b2_ssssm_b2(k)*h
848 cg_ae2b_int=c1_ssssm_b2(k)+c2_ssssm_b2(k)*h
850 tau_ae(i,k,id,2) = tmp_var*tau_ae2b_int
851 tau_ae_pi(i,k,id,2) = tmp_var_pi* tau_ae2b_int
852 piz_ae(i,k,id,2) = piz_ae2b_int
853 cg_ae(i,k,id,2)= cg_ae2b_int
866 tmp_var=mass_temp(i,k,spsol)*1000.*zdp1(i,k)*delt*fac
867 tmp_var_pi=mass_temp_pi(i,k,spsol)*1000.*zdp1(i,k)*delt*fac
871 tau_ae2b_int= alpha_aers_2bands(rh_num(i,k),inu,spsol)+ &
872 delta(i,k)* (alpha_aers_2bands(rh_num(i,k)+1,inu,spsol) - &
873 alpha_aers_2bands(rh_num(i,k),inu,spsol))
875 piz_ae2b_int = piz_aers_2bands(rh_num(i,k),inu,spsol) + &
876 delta(i,k)* (piz_aers_2bands(rh_num(i,k)+1,inu,spsol) - &
877 piz_aers_2bands(rh_num(i,k),inu,spsol))
879 cg_ae2b_int = cg_aers_2bands(rh_num(i,k),inu,spsol) + &
880 delta(i,k)* (cg_aers_2bands(rh_num(i,k)+1,inu,spsol) - &
881 cg_aers_2bands(rh_num(i,k),inu,spsol))
883 tau_ae(i,k,id,inu) = tmp_var*tau_ae2b_int
884 tau_ae_pi(i,k,id,inu) = tmp_var_pi* tau_ae2b_int
885 piz_ae(i,k,id,inu) = piz_ae2b_int
886 cg_ae(i,k,id,inu)= cg_ae2b_int
901 tmp_var=mass_temp(i,k,naero_soluble+ spinsol)*1000.*zdp1(i,k)*delt*fac
902 tmp_var_pi=mass_temp_pi(i,k,naero_soluble+spinsol)*1000.*zdp1(i,k)*delt*fac
905 tau_ae2b_int = alpha_aeri_2bands(inu,spinsol)
906 piz_ae2b_int = piz_aeri_2bands(inu,spinsol)
907 cg_ae2b_int = cg_aeri_2bands(inu,spinsol)
909 tau_ae(i,k,id,inu) = tmp_var*tau_ae2b_int
910 tau_ae_pi(i,k,id,inu) = tmp_var_pi*tau_ae2b_int
911 piz_ae(i,k,id,inu) = piz_ae2b_int
912 cg_ae(i,k,id,inu)= cg_ae2b_int
924 IF (.NOT. used_aer(m))
THEN
926 tau_ae_pi(:,:,m,:)=0.
934 IF (mrfspecies .EQ. 2)
THEN
942 tau_allaer(i,k,mrfspecies,inu)=max(tau_allaer(i,k,mrfspecies,inu),1e-5)
954 /tau_allaer(i,k,mrfspecies,inu)
955 piz_allaer(i,k,mrfspecies,inu)=max(piz_allaer(i,k,mrfspecies,inu),0.1)
957 cg_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,
id_asso4m_phy,inu)* &
977 (tau_allaer(i,k,mrfspecies,inu)*piz_allaer(i,k,mrfspecies,inu))
981 ELSEIF (mrfspecies .EQ. 3)
THEN
986 tau_allaer(i,k,mrfspecies,inu)=tau_ae_pi(i,k,
id_asso4m_phy,inu)+ &
996 tau_allaer(i,k,mrfspecies,inu)=max(tau_allaer(i,k,mrfspecies,inu),1e-5)
1008 /tau_allaer(i,k,mrfspecies,inu)
1009 piz_allaer(i,k,mrfspecies,inu)=max(piz_allaer(i,k,mrfspecies,inu),0.1)
1011 cg_allaer(i,k,mrfspecies,inu)=(&
1023 (tau_allaer(i,k,mrfspecies,inu)*piz_allaer(i,k,mrfspecies,inu))
1027 ELSEIF (mrfspecies .EQ. 4)
THEN
1031 tau_allaer(i,k,mrfspecies,inu)=max(tau_allaer(i,k,mrfspecies,inu),1e-5)
1034 tau_allaer(i,k,mrfspecies,inu)
1035 piz_allaer(i,k,mrfspecies,inu)=max(piz_allaer(i,k,mrfspecies,inu),0.1)
1036 cg_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,
id_asbcm_phy,inu)*piz_ae(i,k,
id_asbcm_phy,inu) *cg_ae(i,k,
id_asbcm_phy,inu)&
1038 (tau_allaer(i,k,mrfspecies,inu)*piz_allaer(i,k,mrfspecies,inu))
1042 ELSEIF (mrfspecies .EQ. 5)
THEN
1047 tau_allaer(i,k,mrfspecies,inu)=max(tau_allaer(i,k,mrfspecies,inu),1e-5)
1050 tau_allaer(i,k,mrfspecies,inu)
1051 piz_allaer(i,k,mrfspecies,inu)=max(piz_allaer(i,k,mrfspecies,inu),0.1)
1052 cg_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,
id_csso4m_phy,inu)* &
1056 (tau_allaer(i,k,mrfspecies,inu)*piz_allaer(i,k,mrfspecies,inu))
1060 ELSEIF (mrfspecies .EQ. 6)
THEN
1065 tau_allaer(i,k,mrfspecies,inu)=max(tau_allaer(i,k,mrfspecies,inu),1e-5)
1068 tau_allaer(i,k,mrfspecies,inu)
1069 piz_allaer(i,k,mrfspecies,inu)=max(piz_allaer(i,k,mrfspecies,inu),0.1)
1070 cg_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,
id_aspomm_phy,inu)*piz_ae(i,k,
id_aspomm_phy,inu)*cg_ae(i,k,
id_aspomm_phy,inu)&
1072 (tau_allaer(i,k,mrfspecies,inu)*piz_allaer(i,k,mrfspecies,inu))
1076 ELSEIF (mrfspecies .EQ. 7)
THEN
1081 tau_allaer(i,k,mrfspecies,inu)=max(tau_allaer(i,k,mrfspecies,inu),1e-5)
1087 ELSEIF (mrfspecies .EQ. 8)
THEN
1091 tau_allaer(i,k,mrfspecies,inu)=tau_ae(i,k,
id_asssm_phy,inu)+tau_ae(i,k,
id_csssm_phy,inu)+tau_ae(i,k,
id_ssssm_phy,inu)
1092 tau_allaer(i,k,mrfspecies,inu)=max(tau_allaer(i,k,mrfspecies,inu),1e-5)
1096 tau_allaer(i,k,mrfspecies,inu)
1097 piz_allaer(i,k,mrfspecies,inu)=max(piz_allaer(i,k,mrfspecies,inu),0.1)
1098 cg_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,
id_asssm_phy,inu)*piz_ae(i,k,
id_asssm_phy,inu) *cg_ae(i,k,
id_asssm_phy,inu)&
1101 (tau_allaer(i,k,mrfspecies,inu)*piz_allaer(i,k,mrfspecies,inu))
1105 ELSEIF (mrfspecies .EQ. 9)
THEN
1109 tau_allaer(i,k,mrfspecies,inu)=0.
1110 piz_allaer(i,k,mrfspecies,inu)=0.
1111 cg_allaer(i,k,mrfspecies,inu)=0.
1119 tau_allaer(i,k,mrfspecies,inu)=0.
1120 piz_allaer(i,k,mrfspecies,inu)=0.
1121 cg_allaer(i,k,mrfspecies,inu)=0.
1132 absvisaer(i)=sum((1-piz_allaer(i,:,:,inu))*tau_allaer(i,:,:,inu))
1135 DEALLOCATE(aerosol_name)
integer, parameter id_asssm_phy
integer, parameter id_aipomm_phy
integer, parameter id_aspomm_phy
integer, parameter nbands
subroutine pres2lev(varo, varn, lmo, lmn, po, pn, ni, nj, ok_invertp)
integer, parameter id_csssm_phy
subroutine aeropt_2bands(pdel, m_allaer, delt, RHcl, tau_allaer, piz_allaer, cg_allaer, m_allaer_pi, flag_aerosol, pplay, t_seri, presnivs)
!$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
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 absvisaer
integer, parameter id_ssssm_phy
subroutine abort_physic(modname, message, ierr)
integer, parameter naero_tot
integer, parameter id_csso4m_phy
integer, parameter naero_grp
integer, parameter id_cidustm_phy