source: trunk/LMDZ.VENUS/libf/phyvenus/chemparam_mod.F90 @ 3461

Last change on this file since 3461 was 3323, checked in by flefevre, 7 months ago

1) revised cloud microphysical parameters (this changes the results)
2) the number of modes is passed as an argument to cloud routines (this does not change the results)
3) some cosmetics to chemparam_mod.F90 (this does not change the results)

  • Property svn:executable set to *
File size: 65.4 KB
Line 
1!============================================================================
2
3module chemparam_mod
4
5!============================================================================
6
7! 1) cloud microphysical parameters for the simplified scheme (cl_scheme = 1)
8! 2) indexes and molecular mass of chemical species
9
10implicit none
11
12!----------------------------------------------------------------------------
13!     chemical tracers
14!----------------------------------------------------------------------------
15
16integer, save :: i_co2, i_co, i_h2, i_h2o, i_o1d,        &
17                 i_o, i_o2, i_o2dg, i_o3, i_h,           &
18                 i_oh, i_ho2, i_h2o2, i_cl, i_clo,       &
19                 i_cl2, i_hcl, i_hocl, i_clco, i_clco3,  &
20                 i_cocl2, i_s, i_so, i_so2, i_so3,       &
21                 i_s2o2, i_ocs, i_hso3, i_h2so4, i_s2,   &
22                 i_clso2, i_oscl, i_n2, i_he, i_n, i_no, &
23                 i_no2, i_n2d,                           &
24                 i_co2plus, i_coplus, i_oplus, i_o2plus, &
25                 i_n2plus, i_hplus, i_h2oplus, i_nplus,  &
26                 i_ohplus, i_cplus, i_noplus, i_h3oplus, &
27                 i_hcoplus, i_hco2plus, i_elec
28
29integer, save :: i_h2oliq, i_h2so4liq
30
31integer, save :: i_m0_aer, i_m3_aer,                       &
32                 i_m0_mode1drop, i_m0_mode1ccn,            &
33                 i_m3_mode1sa, i_m3_mode1w, i_m3_mode1ccn, &
34                 i_m0_mode2drop, i_m0_mode2ccn,            &
35                 i_m3_mode2sa, i_m3_mode2w, i_m3_mode2ccn
36
37integer, save :: nmicro  ! number of species in the liquid phase
38
39real, dimension(:), save, allocatable :: m_tr           ! molecular mass of tracers
40real, dimension(:), save, allocatable :: type_tr        ! type of tracer
41
42real, dimension(:,:), save, allocatable :: no_emission
43real, dimension(:,:), save, allocatable :: o2_emission
44
45!----------------------------------------------------------------------------
46!     cloud parameters
47!----------------------------------------------------------------------------
48
49integer, save :: cloudmin, cloudmax
50
51!     qrad : ratio radius shell model of mode 3 (cimino, icarus, 1982)
52!     if qrad = 0, fully liquid, if qrad = 1 fully solid
53
54real, save :: qrad
55
56!     median radius and standard deviation in each mode
57
58real, save, dimension(:,:,:), allocatable :: r_median, stddev
59
60!     k_mass : defines how the condensed phase is distributed in each mode.
61!              sum of k_mass = 1
62
63real, save, dimension(:,:,:), allocatable :: k_mass
64
65real, save, dimension(:,:,:), allocatable :: nbrtot
66real, save, dimension(:,:), allocatable :: wh2so4
67real, save, dimension(:,:), allocatable :: rho_droplet
68
69contains
70
71!============================================================================
72
73subroutine cloud_ini(nbr_lon, nbr_lev, nbr_mode)
74
75!============================================================================
76
77!     sets cloud microphysical parameters for each mode:
78!     radius, standard deviation, mass distribution
79
80integer :: nbr_lon, nbr_lev, nbr_mode
81integer :: i_lev, ilon
82
83allocate(nbrtot(nbr_lon,nbr_lev,nbr_mode))
84allocate(r_median(nbr_lon,nbr_lev,nbr_mode))
85allocate(k_mass(nbr_lon,nbr_lev,nbr_mode))
86allocate(stddev(nbr_lon,nbr_lev,nbr_mode))
87allocate(wh2so4(nbr_lon,nbr_lev))
88allocate(rho_droplet(nbr_lon,nbr_lev))
89
90!     initialisation
91
92r_median(:,:,:)  = 0.     ! median radius
93stddev(:,:,:)    = 0.     ! geometric std deviation
94k_mass(:,:,:)    = 0.     ! coeff mass multimodal
95nbrtot(:,:,:)    = 0.
96wh2so4(:,:)      = 0.
97rho_droplet(:,:) = 0.
98
99!     minimum and maximum levels for the clouds
100
101cloudmin = 20   ! 20: 38 km
102cloudmax = 50   ! 50: 95 km
103
104print*,'================================'
105print*,'start initialisation cloud layer'
106print*,'================================'
107
108!       ===============================================
109!       knollenberg & hunten, 1980 and james et al 1997
110!       ===============================================
111!       initialisation unimodale
112!       ===============================================
113
114!     lower haze: mode 1
115!      do i_lev=cloudmin,20
116!      r_median(:,i_lev,1)=0.2e-6
117!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
118!      stddev(:,i_lev,1)=1.56
119!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
120!      k_mass(:,i_lev,1)=1.0
121!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
122!      end do
123
124!     lower cloud: mode 3
125!      do i_lev=21,23
126!      r_median(:,i_lev,1)=3.65e-6
127!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
128!      stddev(:,i_lev,1)=1.28
129!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
130!      k_mass(:,i_lev,1)=1.0
131!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
132!      end do
133
134!     middle cloud: mode 2 prime
135!      do i_lev=24,28
136!      r_median(:,i_lev,1)=1.4e-6
137!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
138!      stddev(:,i_lev,1)=1.23
139!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
140!      k_mass(:,i_lev,1)=1.0
141!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
142!      end do
143
144!     upper cloud: mode 2
145!      do i_lev=29,35
146!      r_median(:,i_lev,1)=1.0e-6
147!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
148!      stddev(:,i_lev,1)=1.29
149!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
150!      k_mass(:,i_lev,1)=1.0
151!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
152!      end do
153
154!     upper haze: mode 1
155!      do i_lev=36, cloudmax
156!      r_median(:,i_lev,1)=0.2e-6
157!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
158!      stddev(:,i_lev,1)=2.16
159!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
160!      k_mass(:,i_lev,1)=1.0
161!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
162!      end do
163
164!       ===============================================
165!       initialisation trimodale
166!       ===============================================
167
168!     lower haze: mode 1
169!      do i_lev=cloudmin,20
170!      r_median(:,i_lev,1)=0.3e-6
171!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
172!      stddev(:,i_lev,1)=1.56
173!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
174!      k_mass(:,i_lev,1)=1.0
175!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
176!      end do
177
178!     lower haze: mode 2
179   !   do i_lev=cloudmin,20
180   !   r_median(:,i_lev,2)=1.4e-6
181   !   print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
182   !   stddev(:,i_lev,2)=1.23
183   !   print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
184   !   k_mass(:,i_lev,2)=0.0
185   !   print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
186   !   end do
187
188!     lower haze: mode 3
189!      do i_lev=cloudmin,20
190!      r_median(:,i_lev,3)=3.65e-6
191!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
192!      stddev(:,i_lev,3)=1.28
193!      print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
194!      k_mass(:,i_lev,3)=0.
195!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
196!      end do
197
198!     lower cloud: mode 1
199!      do i_lev=21,23
200!      r_median(:,i_lev,1)=0.3e-6
201!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
202!      stddev(:,i_lev,1)=1.56
203!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
204!      k_mass(:,i_lev,1)=0.1
205!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
206!      end do
207
208!     lower cloud: mode 2 prime
209!      do i_lev=21,23
210!      r_median(:,i_lev,2)=1.4e-6
211!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
212!      stddev(:,i_lev,2)=1.23
213!      print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
214!      k_mass(:,i_lev,2)=0.4
215!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
216!      end do
217
218!     lower cloud: mode 3
219!      do i_lev=21,23
220!      r_median(:,i_lev,3)=3.65e-6
221!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
222!      stddev(:,i_lev,3)=1.28
223!      print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
224!      k_mass(:,i_lev,3)=0.5
225!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
226!      end do
227
228!     middle cloud: mode 1
229!      do i_lev=24,28
230!      r_median(:,i_lev,1)=0.3e-6
231!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
232!      stddev(:,i_lev,1)=1.56
233!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
234!      k_mass(:,i_lev,1)=0.0
235!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
236!      end do
237
238!     middle cloud: mode 2 prime
239!      do i_lev=24,28
240!      r_median(:,i_lev,2)=1.4e-6
241!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
242!      stddev(:,i_lev,2)=1.23
243!      print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
244!      k_mass(:,i_lev,2)=0.8
245!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
246!      end do
247
248!     middle cloud: mode 3
249!      do i_lev=24,28
250!      r_median(:,i_lev,3)=3.65e-6
251!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
252!      stddev(:,i_lev,3)=1.28
253!      print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
254!      k_mass(:,i_lev,3)=0.2
255!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
256!      end do
257
258
259!     upper cloud: mode 1
260!      do i_lev=29,35
261!      r_median(:,i_lev,1)=0.3e-6
262!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
263!      stddev(:,i_lev,1)=1.56
264!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
265!      k_mass(:,i_lev,1)=0.15
266!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
267!      end do
268
269!     upper cloud: mode 2
270!      do i_lev=29,35
271!      r_median(:,i_lev,2)=1.0e-6
272!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
273!      stddev(:,i_lev,2)=1.29
274!      print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
275!      k_mass(:,i_lev,2)=0.85
276!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
277!      end do
278
279!     upper cloud: mode 3
280!      do i_lev=29,35
281!      r_median(:,i_lev,3)=3.65e-6
282!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
283!      stddev(:,i_lev,3)=1.28
284!      print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
285!      k_mass(:,i_lev,3)=0.0
286!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
287!      end do
288
289!     upper haze: mode 1
290!      do i_lev=36, cloudmax
291!      r_median(:,i_lev,1)=0.3e-6
292!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
293!      stddev(:,i_lev,1)=1.56
294!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
295!      k_mass(:,i_lev,1)=1.0
296!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
297!      end do
298
299!     upper haze: mode 2
300!      do i_lev=36, cloudmax
301!      r_median(:,i_lev,2)=1.e-6
302!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
303!      stddev(:,i_lev,2)=1.29
304!      print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
305!      k_mass(:,i_lev,2)=0.0
306!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
307!      end do
308
309!     upper haze: mode 3
310!      do i_lev=36, cloudmax
311!      r_median(:,i_lev,3)=3.65e-6
312!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
313!      stddev(:,i_lev,3)=2.16
314!      print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
315!      k_mass(:,i_lev,3)=0.0
316!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
317!      end do
318!=============================================================
319
320!       ===============================================
321!       initialisation trimodale knollenberg
322!       ===============================================
323
324!     lower haze: mode 1
325      ! do i_lev=cloudmin,22
326      ! r_median(:,i_lev,1)=0.1e-6
327      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
328      ! stddev(:,i_lev,1)=1.57
329      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
330      ! k_mass(:,i_lev,1)=1.0
331      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
332      ! end do
333
334!     lower haze: mode 2
335      ! do i_lev=cloudmin,22
336      ! r_median(:,i_lev,2)=1.4e-6
337      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
338      ! stddev(:,i_lev,2)=1.23
339      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
340      ! k_mass(:,i_lev,2)=0.0
341      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
342      ! end do
343
344!     lower haze: mode 3
345      ! do i_lev=cloudmin,22
346      ! r_median(:,i_lev,3)=3.65e-6
347      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
348      ! stddev(:,i_lev,3)=1.28
349      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
350      ! k_mass(:,i_lev,3)=0.0
351      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
352      ! end do
353
354!     pre cloud: mode 1
355      ! do i_lev=23,23
356      ! r_median(:,i_lev,1)=0.15e-6
357      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
358      ! stddev(:,i_lev,1)=1.8
359      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
360      ! k_mass(:,i_lev,1)=0.04
361      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
362      ! end do
363
364!     pre cloud: mode 2
365      ! do i_lev=23,23
366      ! r_median(:,i_lev,2)=1.0e-6
367      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
368      ! stddev(:,i_lev,2)=1.29
369      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
370      ! k_mass(:,i_lev,2)=0.96
371      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
372      ! end do
373
374!     pre cloud: mode 3
375      ! do i_lev=23,23
376      ! r_median(:,i_lev,3)=3.65e-6
377      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
378      ! stddev(:,i_lev,3)=1.28
379      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
380      ! k_mass(:,i_lev,3)=0.0
381      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
382      ! end do
383
384!      lower cloud: mode 1
385      ! do i_lev=24,24
386      ! r_median(:,i_lev,1)=0.2e-6
387      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
388      ! stddev(:,i_lev,1)=1.8
389      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
390      ! k_mass(:,i_lev,1)=0.014
391      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
392      ! end do
393
394!     lower cloud: mode 2
395      ! do i_lev=24,24
396      ! r_median(:,i_lev,2)=1.0e-6
397      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
398      ! stddev(:,i_lev,2)=1.29
399      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
400      ! k_mass(:,i_lev,2)=0.02
401      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
402      ! end do
403
404!     lower cloud: mode 3
405      ! do i_lev=24,24
406      ! r_median(:,i_lev,3)=3.65e-6
407      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
408      ! stddev(:,i_lev,3)=1.28
409      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
410      ! k_mass(:,i_lev,3)=0.966
411      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
412      ! end do
413
414!     middle cloud: mode 1
415      ! do i_lev=25,28
416      ! r_median(:,i_lev,1)=0.15e-6
417      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
418      ! stddev(:,i_lev,1)=1.9
419      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
420      ! k_mass(:,i_lev,1)=0.0084
421      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
422      ! end do
423
424!     middle cloud: mode 2 prime
425      ! do i_lev=25,28
426      ! r_median(:,i_lev,2)=1.4e-6
427      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
428      ! stddev(:,i_lev,2)=1.23
429      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
430      ! k_mass(:,i_lev,2)=0.21
431      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
432      ! end do
433
434!     middle cloud: mode 3
435      ! do i_lev=25,28
436      ! r_median(:,i_lev,3)=3.65e-6
437      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
438      ! stddev(:,i_lev,3)=1.28
439      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
440      ! k_mass(:,i_lev,3)=0.7816
441      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
442      ! end do
443
444!      option: upper haze remplacee par extension upper cloud
445!         => 35 remplace par cloudmax et upper haze commentee
446!       ===============================================
447
448!     upper cloud: mode 1
449      ! do i_lev=29,35 !cloudmax
450      ! r_median(:,i_lev,1)=0.2e-6
451      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
452      ! stddev(:,i_lev,1)=2.16
453      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
454      ! k_mass(:,i_lev,1)=0.72
455      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
456      ! end do
457
458!     upper cloud: mode 2
459      ! do i_lev=29,35 !cloudmax
460      ! r_median(:,i_lev,2)=1.0e-6
461      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
462      ! stddev(:,i_lev,2)=1.29
463      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
464      ! k_mass(:,i_lev,2)=0.28
465      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
466      ! end do
467
468!     upper cloud: mode 3
469      ! do i_lev=29,35 !cloudmax
470      ! r_median(:,i_lev,3)=3.65e-6
471      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
472      ! stddev(:,i_lev,3)=1.28
473      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
474      ! k_mass(:,i_lev,3)=0.0
475      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
476      ! end do
477
478!     upper haze: mode 1
479      ! do i_lev=36, cloudmax
480      ! r_median(:,i_lev,1)=0.2e-6
481      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
482      ! stddev(:,i_lev,1)=2.16
483      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
484      ! k_mass(:,i_lev,1)=1.0
485      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
486      ! end do
487
488!     upper haze: mode 2
489      ! do i_lev=36, cloudmax
490      ! r_median(:,i_lev,2)=1.e-6
491      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
492      ! stddev(:,i_lev,2)=1.29
493      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
494      ! k_mass(:,i_lev,2)=0.0
495      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
496      ! end do
497
498!     upper haze: mode 3
499      ! do i_lev=36, cloudmax
500      ! r_median(:,i_lev,3)=3.65e-6
501      ! print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
502      ! stddev(:,i_lev,3)=2.16
503      ! print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
504      ! k_mass(:,i_lev,3)=0.0
505      ! print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
506      ! end do
507
508!=============================================================
509
510!       ===============================================================
511!       initialisation trimodale "knollenberg" sans mode3, mode2 etendu
512!       ===============================================================
513
514!     lower haze: mode 1
515!      do i_lev=cloudmin,22
516!      r_median(:,i_lev,1)=0.1e-6
517!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
518!      stddev(:,i_lev,1)=1.57
519!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
520!      k_mass(:,i_lev,1)=1.0
521!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
522!      end do
523
524!     lower haze: mode 2
525!      do i_lev=cloudmin,22
526!      r_median(:,i_lev,2)=1.4e-6
527!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
528!      stddev(:,i_lev,2)=1.23
529!      print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
530!      k_mass(:,i_lev,2)=0.0
531!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
532!      end do
533
534!     lower haze: mode 3
535!      do i_lev=cloudmin,22
536!      r_median(:,i_lev,3)=3.65e-6
537!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
538!      stddev(:,i_lev,3)=1.28
539!      print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
540!      k_mass(:,i_lev,3)=0.0
541!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
542!      end do
543
544!     pre cloud: mode 1
545!      do i_lev=23,23
546!      r_median(:,i_lev,1)=0.15e-6
547!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
548!      stddev(:,i_lev,1)=1.8
549!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
550!      k_mass(:,i_lev,1)=0.04
551!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
552!      end do
553
554!     pre cloud: mode 2
555!      do i_lev=23,23
556!      r_median(:,i_lev,2)=1.0e-6
557!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
558!      stddev(:,i_lev,2)=1.29
559!      print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
560!      k_mass(:,i_lev,2)=0.96
561!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
562!      end do
563
564!     pre cloud: mode 3
565!      do i_lev=23,23
566!      r_median(:,i_lev,3)=3.65e-6
567!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
568!      stddev(:,i_lev,3)=1.28
569!      print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
570!      k_mass(:,i_lev,3)=0.0
571!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
572!      end do
573
574!      lower cloud: mode 1
575!      do i_lev=24,24
576!      r_median(:,i_lev,1)=0.2e-6
577!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
578!      stddev(:,i_lev,1)=1.8
579!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
580!      k_mass(:,i_lev,1)=0.014
581!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
582!      end do
583
584!     lower cloud: mode 2
585!      do i_lev=24,24
586!      r_median(:,i_lev,2)=1.0e-6
587!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
588!      stddev(:,i_lev,2)=1.6
589!      print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
590!      k_mass(:,i_lev,2)=0.986
591!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
592!      end do
593
594!     lower cloud: mode 3
595!      do i_lev=24,24
596!      r_median(:,i_lev,3)=3.65e-6
597!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
598!      stddev(:,i_lev,3)=1.28
599!      print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
600!      k_mass(:,i_lev,3)=0.
601!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
602!      end do
603
604!     middle cloud: mode 1
605!      do i_lev=25,28
606!      r_median(:,i_lev,1)=0.15e-6
607!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
608!      stddev(:,i_lev,1)=1.9
609!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
610!      k_mass(:,i_lev,1)=0.0084
611!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
612!      end do
613
614!     middle cloud: mode 2 prime
615!      do i_lev=25,28
616!      r_median(:,i_lev,2)=1.4e-6
617!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
618!      stddev(:,i_lev,2)=1.6
619!      print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
620!      k_mass(:,i_lev,2)=0.9916
621!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
622!      end do
623
624!     middle cloud: mode 3
625!      do i_lev=25,28
626!      r_median(:,i_lev,3)=3.65e-6
627!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
628!      stddev(:,i_lev,3)=1.28
629!      print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
630!      k_mass(:,i_lev,3)=0.0
631!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
632!      end do
633
634
635!     upper cloud: mode 1
636!      do i_lev=29,35
637!      r_median(:,i_lev,1)=0.2e-6
638!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
639!      stddev(:,i_lev,1)=2.16
640!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
641!      k_mass(:,i_lev,1)=0.72
642!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
643!      end do
644
645!     upper cloud: mode 2
646!      do i_lev=29,35
647!      r_median(:,i_lev,2)=1.0e-6
648!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
649!      stddev(:,i_lev,2)=1.29
650!      print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
651!      k_mass(:,i_lev,2)=0.28
652!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
653!      end do
654
655!     upper cloud: mode 3
656!      do i_lev=29,35
657!      r_median(:,i_lev,3)=3.65e-6
658!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
659!      stddev(:,i_lev,3)=1.28
660!      print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
661!      k_mass(:,i_lev,3)=0.0
662!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
663!      end do
664
665!     upper haze: mode 1
666!      do i_lev=36, cloudmax
667!      r_median(:,i_lev,1)=0.2e-6
668!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
669!      stddev(:,i_lev,1)=2.16
670!      print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
671!      k_mass(:,i_lev,1)=1.0
672!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
673!      end do
674
675!     upper haze: mode 2
676!      do i_lev=36, cloudmax
677!      r_median(:,i_lev,2)=1.e-6
678!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
679!      stddev(:,i_lev,2)=1.29
680!      print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
681!      k_mass(:,i_lev,2)=0.0
682!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
683!      end do
684
685!     upper haze: mode 3
686!      do i_lev=36, cloudmax
687!      r_median(:,i_lev,3)=3.65e-6
688!      print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
689!      stddev(:,i_lev,3)=2.16
690!      print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
691!      k_mass(:,i_lev,3)=0.0
692!      print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
693!      end do
694
695   ! ========================================================
696   ! initialisation bimodale k&h 1980 with mode 3 fully solid
697   ! ========================================================
698   !    ! mode 3 fully solid
699   !    qrad=1
700   !    ! normally nb_mode=2 in physiq.def !!!
701   !    do ilon=1,nbr_lon
702   ! !     mode 1
703   !       do i_lev=cloudmin,20
704   !          r_median(ilon,i_lev,1)=0.125e-6
705   !          print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
706   !          stddev(ilon,i_lev,1)=1.57
707   !          print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
708   !          k_mass(ilon,i_lev,1)=1.0
709   !          print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
710   !       end do
711
712   !       r_median(ilon,21,1)=0.125e-6
713   !       print*,'level',21,'r r_median',r_median(1,21,1)
714   !       stddev(ilon,21,1)=1.57
715   !       print*,'level',21,'dev std',stddev(1,21,1)
716   !       k_mass(ilon,21,1)=0.02
717   !       print*,'level',21,'coeff mass: k_mass',k_mass(1,21,1)
718
719   !       r_median(ilon,22,1)=0.2e-6
720   !       print*,'level',22,'r r_median',r_median(1,22,1)
721   !       stddev(ilon,22,1)=1.8
722   !       print*,'level',22,'dev std',stddev(1,22,1)
723   !       k_mass(ilon,22,1)=0.02
724   !       print*,'level',22,'coeff mass: k_mass',k_mass(1,22,1)
725
726   !       r_median(ilon,23,1)=0.15e-6
727   !       print*,'level',23,'r r_median',r_median(1,23,1)
728   !       stddev(ilon,23,1)=1.8
729   !       print*,'level',23,'dev std',stddev(1,23,1)
730   !       k_mass(ilon,23,1)=0.02
731   !       print*,'level',23,'coeff mass: k_mass',k_mass(1,23,1)
732
733   !       do i_lev=24,25
734   !          r_median(ilon,i_lev,1)=0.15e-6
735   !          print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
736   !          stddev(ilon,i_lev,1)=1.9
737   !          print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
738   !          k_mass(ilon,i_lev,1)=0.02
739   !          print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
740   !       end do
741
742   !       r_median(ilon,26,1)=0.175e-6
743   !       print*,'level',26,'r r_median',r_median(1,26,1)
744   !       stddev(ilon,26,1)=2.16
745   !       print*,'level',26,'dev std',stddev(1,26,1)
746   !       k_mass(ilon,26,1)=0.175
747   !       print*,'level',26,'coeff mass: k_mass',k_mass(1,26,1)
748
749   !       do i_lev=27,33
750   !          r_median(ilon,i_lev,1)=0.175e-6
751   !          print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
752   !          stddev(ilon,i_lev,1)=2.16
753   !          print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
754   !          k_mass(ilon,i_lev,1)=0.25
755   !          print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
756   !       end do
757
758   !       do i_lev=34,cloudmax
759   !          r_median(ilon,i_lev,1)=0.175e-6
760   !          print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
761   !          stddev(ilon,i_lev,1)=2.16
762   !          print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
763   !          k_mass(ilon,i_lev,1)=1.0
764   !          print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
765   !       end do
766
767   !    !     mode 2
768   !       do i_lev=cloudmin,20
769   !          r_median(ilon,i_lev,2)=1.4e-6
770   !          print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
771   !          stddev(ilon,i_lev,2)=1.35
772   !          print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
773   !          k_mass(ilon,i_lev,2)=0.0
774   !          print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
775   !       end do
776
777   !       do i_lev=21,22
778   !          r_median(ilon,i_lev,2)=1.4e-6
779   !          print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
780   !          stddev(ilon,i_lev,2)=1.35
781   !          print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
782   !          k_mass(ilon,i_lev,2)=0.98
783   !          print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
784   !       end do
785
786   !       r_median(ilon,23,2)=1.35e-6
787   !       print*,'level',23,'r r_median',r_median(1,23,2)
788   !       stddev(ilon,23,2)=1.25
789   !       print*,'level',23,'dev std',stddev(1,23,2)
790   !       k_mass(ilon,23,2)=0.98
791   !       print*,'level',23,'coeff mass: k_mass',k_mass(1,23,2)
792
793
794   !       r_median(ilon,24,2)=1.375e-6
795   !       print*,'level',24,'r r_median',r_median(1,24,2)
796   !       stddev(ilon,24,2)=1.2
797   !       print*,'level',24,'dev std',stddev(1,24,2)
798   !       k_mass(ilon,24,2)=0.98
799   !       print*,'level',24,'coeff mass: k_mass',k_mass(1,24,2)
800
801
802   !       r_median(ilon,25,2)=1.4e-6
803   !       print*,'level',25,'r r_median',r_median(1,25,2)
804   !       stddev(ilon,25,2)=1.16
805   !       print*,'level',25,'dev std',stddev(1,25,2)
806   !       k_mass(ilon,25,2)=0.98
807   !       print*,'level',25,'coeff mass: k_mass',k_mass(1,25,2)
808
809
810   !       r_median(ilon,26,2)=1.15e-6
811   !       print*,'level',26,'r r_median',r_median(1,26,2)
812   !       stddev(ilon,26,2)=1.34
813   !       print*,'level',26,'dev std',stddev(1,26,2)
814   !       k_mass(ilon,26,2)=0.825
815   !       print*,'level',26,'coeff mass: k_mass',k_mass(1,26,2)
816
817
818   !       r_median(ilon,27,2)=1.14e-6
819   !       print*,'level',27,'r r_median',r_median(1,27,2)
820   !       stddev(ilon,27,2)=1.33
821   !       print*,'level',27,'dev std',stddev(1,27,2)
822   !       k_mass(ilon,27,2)=0.75
823   !       print*,'level',27,'coeff mass: k_mass',k_mass(1,27,2)
824
825
826   !       r_median(ilon,28,2)=1.35e-6
827   !       print*,'level',28,'r r_median',r_median(1,28,2)
828   !       stddev(ilon,28,2)=1.32
829   !       print*,'level',28,'dev std',stddev(1,28,2)
830   !       k_mass(ilon,28,2)=0.75
831   !       print*,'level',28,'coeff mass: k_mass',k_mass(1,28,2)
832
833
834   !       r_median(ilon,29,2)=1.125e-6
835   !       print*,'level',29,'r r_median',r_median(1,29,2)
836   !       stddev(ilon,29,2)=1.31
837   !       print*,'level',29,'dev std',stddev(1,29,2)
838   !       k_mass(ilon,29,2)=0.75
839   !       print*,'level',29,'coeff mass: k_mass',k_mass(1,29,2)
840
841
842   !       r_median(ilon,30,2)=1.118e-6
843   !       print*,'level',30,'r r_median',r_median(1,30,2)
844   !       stddev(ilon,30,2)=1.30
845   !       print*,'level',30,'dev std',stddev(1,30,2)
846   !       k_mass(ilon,30,2)=0.75
847   !       print*,'level',30,'coeff mass: k_mass',k_mass(1,30,2)
848
849
850   !       r_median(ilon,31,2)=1.11e-6
851   !       print*,'level',31,'r r_median',r_median(1,31,2)
852   !       stddev(ilon,31,2)=1.29
853   !       print*,'level',31,'dev std',stddev(1,31,2)
854   !       k_mass(ilon,31,2)=0.75
855   !       print*,'level',31,'coeff mass: k_mass',k_mass(1,31,2)
856
857   !       do i_lev=32,33
858   !          r_median(ilon,i_lev,2)=1.1e-6
859   !          print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
860   !          stddev(ilon,i_lev,2)=1.28
861   !          print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
862   !          k_mass(ilon,i_lev,2)=0.75
863   !          print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
864   !       end do
865
866   !       do i_lev=34,cloudmax
867   !          r_median(ilon,i_lev,2)=1.1e-6
868   !          print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
869   !          stddev(ilon,i_lev,2)=1.28
870   !          print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
871   !          k_mass(ilon,i_lev,2)=0.0
872   !          print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
873   !       end do
874   !    end do
875
876! ======================================================
877! knollenberg & hunten (1980) with mode 3 97% solid
878! ======================================================
879
880! mode 3 97% solid => qrad=0.97
881
882qrad = 0.97
883
884do ilon = 1,nbr_lon
885
886   ! mode 1
887
888   do i_lev = cloudmin,21
889      r_median(ilon,i_lev,1) = 0.125e-6
890      stddev(ilon,i_lev,1)   = 1.57
891      k_mass(ilon,i_lev,1)   = 1.0
892   end do
893
894   r_median(ilon,22,1)       = 0.125e-6
895   stddev(ilon,22,1)         = 1.57
896   k_mass(ilon,22,1)         = 1.0
897
898   r_median(ilon,23,1)       = 0.2e-6
899   stddev(ilon,23,1)         = 1.8
900   k_mass(ilon,23,1)         = 0.01
901
902   r_median(ilon,24,1)       = 0.15e-6
903   stddev(ilon,24,1)         = 1.8
904   k_mass(ilon,24,1)         = 0.01
905
906   do i_lev = 25,26
907      r_median(ilon,i_lev,1) = 0.15e-6
908      stddev(ilon,i_lev,1)   = 1.9
909      k_mass(ilon,i_lev,1)   = 0.01
910   end do
911
912   r_median(ilon,27,1)       = 0.175e-6
913   stddev(ilon,27,1)         = 2.16
914   k_mass(ilon,27,1)         = 0.175
915
916   do i_lev = 28,34
917      r_median(ilon,i_lev,1) = 0.175e-6
918      stddev(ilon,i_lev,1)   = 2.16
919      k_mass(ilon,i_lev,1)   = 0.25
920   end do
921
922   do i_lev = 35,cloudmax
923      r_median(ilon,i_lev,1) = 0.175e-6
924      stddev(ilon,i_lev,1)   = 2.16
925      k_mass(ilon,i_lev,1)   = 0.25
926   end do
927
928   !  mode 2
929
930   do i_lev = cloudmin,21
931      r_median(ilon,i_lev,2) = 1.4e-6
932      stddev(ilon,i_lev,2)   = 1.35
933      k_mass(ilon,i_lev,2)   = 0.0
934   end do
935
936   r_median(ilon,22,2)       = 1.4e-6
937   stddev(ilon,22,2)         = 1.25
938   k_mass(ilon,22,2)         = 0.0
939
940   r_median(ilon,23,2)       = 1.4e-6
941   stddev(ilon,23,2)         = 1.25
942   k_mass(ilon,23,2)         = 0.35
943
944   r_median(ilon,24,2)       = 1.35e-6
945   stddev(ilon,24,2)         = 1.25
946   k_mass(ilon,24,2)         = 0.35
947
948   r_median(ilon,25,2)       = 1.375e-6
949   stddev(ilon,25,2)         = 1.2
950   k_mass(ilon,25,2)         = 0.35
951
952   r_median(ilon,26,2)       = 1.4e-6
953   stddev(ilon,26,2)         = 1.16
954   k_mass(ilon,26,2)         = 0.35
955
956   r_median(ilon,27,2)       = 1.15e-6
957   stddev(ilon,27,2)         = 1.34
958   k_mass(ilon,27,2)         = 0.825
959
960   r_median(ilon,28,2)       = 1.14e-6
961   stddev(ilon,28,2)         = 1.33
962   k_mass(ilon,28,2)         = 0.75
963
964   r_median(ilon,29,2)       = 1.35e-6
965   stddev(ilon,29,2)         = 1.32
966   k_mass(ilon,29,2)         = 0.75
967
968   r_median(ilon,30,2)       = 1.125e-6
969   stddev(ilon,30,2)         = 1.31
970   k_mass(ilon,30,2)         = 0.75
971
972   r_median(ilon,31,2)       = 1.118e-6
973   stddev(ilon,31,2)         = 1.31
974   k_mass(ilon,31,2)         = 0.75
975
976   r_median(ilon,32,2)       = 1.11e-6
977   stddev(ilon,32,2)         = 1.29
978   k_mass(ilon,32,2)         = 0.75
979
980   do i_lev = 33,34
981      r_median(ilon,i_lev,2) = 1.1e-6
982      stddev(ilon,i_lev,2)   = 1.28
983      k_mass(ilon,i_lev,2)   = 0.75
984   end do
985
986   do i_lev = 35,cloudmax
987      r_median(ilon,i_lev,2) = 1.1e-6
988      stddev(ilon,i_lev,2)   = 1.28
989      k_mass(ilon,i_lev,2)   = 0.75
990   end do
991
992   ! mode 3
993
994   do i_lev = cloudmin,22
995      r_median(ilon,i_lev,3) = 3.65e-6
996      stddev(ilon,i_lev,3)   = 1.28
997      k_mass(ilon,i_lev,3)   = 0.0
998   end do
999
1000   do i_lev = 23,26
1001      r_median(ilon,i_lev,3) = 3.65e-6
1002      stddev(ilon,i_lev,3)   = 1.28
1003      k_mass(ilon,i_lev,3)   = 0.64
1004   end do
1005
1006   do i_lev = 27,cloudmax
1007      r_median(ilon,i_lev,3) = 3.65e-6
1008      stddev(ilon,i_lev,3)   = 1.28
1009      k_mass(ilon,i_lev,3)   = 0.0
1010   end do
1011end do
1012
1013      ! ! ==================================================================
1014      ! ! initialisation bimodale k&h 1980 with mode 3 0% solid fully liquid
1015      ! ! ==================================================================
1016      ! ! mode 3 0% solid, fully liquid
1017      ! qrad=0.0
1018      ! ! normally nb_mode=3 in physiq.def !!!
1019      ! do ilon=1,nbr_lon
1020      !    ! mode 1
1021      !    do i_lev=cloudmin,20
1022      !       r_median(ilon,i_lev,1)=0.125e-6
1023      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
1024      !       stddev(ilon,i_lev,1)=1.57
1025      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
1026      !       k_mass(ilon,i_lev,1)=1.0
1027      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
1028      !    end do
1029
1030      !    r_median(ilon,21,1)=0.125e-6
1031      !    print*,'level',21,'r r_median',r_median(1,21,1)
1032      !    stddev(ilon,21,1)=1.57
1033      !    print*,'level',21,'dev std',stddev(1,21,1)
1034      !    k_mass(ilon,21,1)=1.0
1035      !    print*,'level',21,'coeff mass: k_mass',k_mass(1,21,1)
1036
1037      !    r_median(ilon,22,1)=0.2e-6
1038      !    print*,'level',22,'r r_median',r_median(1,22,1)
1039      !    stddev(ilon,22,1)=1.8
1040      !    print*,'level',22,'dev std',stddev(1,22,1)
1041      !    k_mass(ilon,22,1)=0.01
1042      !    print*,'level',22,'coeff mass: k_mass',k_mass(1,22,1)
1043
1044      !    r_median(ilon,23,1)=0.15e-6
1045      !    print*,'level',23,'r r_median',r_median(1,23,1)
1046      !    stddev(ilon,23,1)=1.8
1047      !    print*,'level',23,'dev std',stddev(1,23,1)
1048      !    k_mass(ilon,23,1)=0.01
1049      !    print*,'level',23,'coeff mass: k_mass',k_mass(1,23,1)
1050
1051      !    do i_lev=24,25
1052      !       r_median(ilon,i_lev,1)=0.15e-6
1053      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
1054      !       stddev(ilon,i_lev,1)=1.9
1055      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
1056      !       k_mass(ilon,i_lev,1)=0.01
1057      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
1058      !    end do
1059
1060      !    r_median(ilon,26,1)=0.175e-6
1061      !    print*,'level',26,'r r_median',r_median(1,26,1)
1062      !    stddev(ilon,26,1)=2.16
1063      !    print*,'level',26,'dev std',stddev(1,26,1)
1064      !    k_mass(ilon,26,1)=0.175
1065      !    print*,'level',26,'coeff mass: k_mass',k_mass(1,26,1)
1066
1067      !    do i_lev=27,33
1068      !       r_median(ilon,i_lev,1)=0.175e-6
1069      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
1070      !       stddev(ilon,i_lev,1)=2.16
1071      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
1072      !       k_mass(ilon,i_lev,1)=0.25
1073      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
1074      !    end do
1075
1076      !    do i_lev=34,cloudmax
1077      !       r_median(ilon,i_lev,1)=0.175e-6
1078      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
1079      !       stddev(ilon,i_lev,1)=2.16
1080      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
1081      !       k_mass(ilon,i_lev,1)=0.25
1082      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
1083      !    end do
1084
1085      !    !  mode 2
1086      !    do i_lev=cloudmin,20
1087      !       r_median(ilon,i_lev,2)=1.4e-6
1088      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
1089      !       stddev(ilon,i_lev,2)=1.35
1090      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
1091      !       k_mass(ilon,i_lev,2)=0.0
1092      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
1093      !    end do
1094
1095      !    r_median(ilon,21,2)=1.4e-6
1096      !    print*,'level',21,'r r_median',r_median(1,21,2)
1097      !    stddev(ilon,21,2)=1.25
1098      !    print*,'level',21,'dev std',stddev(1,21,2)
1099      !    k_mass(ilon,21,2)=0.0
1100      !    print*,'level',21,'coeff mass: k_mass',k_mass(1,21,2)
1101
1102      !    r_median(ilon,22,2)=1.4e-6
1103      !    print*,'level',22,'r r_median',r_median(1,22,2)
1104      !    stddev(ilon,22,2)=1.25
1105      !    print*,'level',22,'dev std',stddev(1,22,2)
1106      !    k_mass(ilon,22,2)=0.04
1107      !    print*,'level',22,'coeff mass: k_mass',k_mass(1,22,2)
1108
1109      !    r_median(ilon,23,2)=1.35e-6
1110      !    print*,'level',23,'r r_median',r_median(1,23,2)
1111      !    stddev(ilon,23,2)=1.25
1112      !    print*,'level',23,'dev std',stddev(1,23,2)
1113      !    k_mass(ilon,23,2)=0.04
1114      !    print*,'level',23,'coeff mass: k_mass',k_mass(1,23,2)
1115
1116
1117      !    r_median(ilon,24,2)=1.375e-6
1118      !    print*,'level',24,'r r_median',r_median(1,24,2)
1119      !    stddev(ilon,24,2)=1.2
1120      !    print*,'level',24,'dev std',stddev(1,24,2)
1121      !    k_mass(ilon,24,2)=0.04
1122      !    print*,'level',24,'coeff mass: k_mass',k_mass(1,24,2)
1123
1124
1125      !    r_median(ilon,25,2)=1.4e-6
1126      !    print*,'level',25,'r r_median',r_median(1,25,2)
1127      !    stddev(ilon,25,2)=1.16
1128      !    print*,'level',25,'dev std',stddev(1,25,2)
1129      !    k_mass(ilon,25,2)=0.04
1130      !    print*,'level',25,'coeff mass: k_mass',k_mass(1,25,2)
1131
1132
1133      !    r_median(ilon,26,2)=1.15e-6
1134      !    print*,'level',26,'r r_median',r_median(1,26,2)
1135      !    stddev(ilon,26,2)=1.34
1136      !    print*,'level',26,'dev std',stddev(1,26,2)
1137      !    k_mass(ilon,26,2)=0.825
1138      !    print*,'level',26,'coeff mass: k_mass',k_mass(1,26,2)
1139
1140
1141      !    r_median(ilon,27,2)=1.14e-6
1142      !    print*,'level',27,'r r_median',r_median(1,27,2)
1143      !    stddev(ilon,27,2)=1.33
1144      !    print*,'level',27,'dev std',stddev(1,27,2)
1145      !    k_mass(ilon,27,2)=0.75
1146      !    print*,'level',27,'coeff mass: k_mass',k_mass(1,27,2)
1147
1148
1149      !    r_median(ilon,28,2)=1.35e-6
1150      !    print*,'level',28,'r r_median',r_median(1,28,2)
1151      !    stddev(ilon,28,2)=1.32
1152      !    print*,'level',28,'dev std',stddev(1,28,2)
1153      !    k_mass(ilon,28,2)=0.75
1154      !    print*,'level',28,'coeff mass: k_mass',k_mass(1,28,2)
1155
1156
1157      !    r_median(ilon,29,2)=1.125e-6
1158      !    print*,'level',29,'r r_median',r_median(1,29,2)
1159      !    stddev(ilon,29,2)=1.31
1160      !    print*,'level',29,'dev std',stddev(1,29,2)
1161      !    k_mass(ilon,29,2)=0.75
1162      !    print*,'level',29,'coeff mass: k_mass',k_mass(1,29,2)
1163
1164
1165      !    r_median(ilon,30,2)=1.118e-6
1166      !    print*,'level',30,'r r_median',r_median(1,30,2)
1167      !    stddev(ilon,30,2)=1.30
1168      !    print*,'level',30,'dev std',stddev(1,30,2)
1169      !    k_mass(ilon,30,2)=0.75
1170      !    print*,'level',30,'coeff mass: k_mass',k_mass(1,30,2)
1171
1172
1173      !    r_median(ilon,31,2)=1.11e-6
1174      !    print*,'level',31,'r r_median',r_median(1,31,2)
1175      !    stddev(ilon,31,2)=1.29
1176      !    print*,'level',31,'dev std',stddev(1,31,2)
1177      !    k_mass(ilon,31,2)=0.75
1178      !    print*,'level',31,'coeff mass: k_mass',k_mass(1,31,2)
1179
1180      !    do i_lev=32,33
1181      !       r_median(ilon,i_lev,2)=1.1e-6
1182      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
1183      !       stddev(ilon,i_lev,2)=1.28
1184      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
1185      !       k_mass(ilon,i_lev,2)=0.75
1186      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
1187      !    end do
1188
1189      !    ! if k_mass > 0 it means we have a bimodal upper haze.
1190      !    do i_lev=34,cloudmax
1191      !       r_median(ilon,i_lev,2)=1.1e-6
1192      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
1193      !       stddev(ilon,i_lev,2)=1.28
1194      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
1195      !       k_mass(ilon,i_lev,2)=0.75
1196      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
1197      !    end do
1198
1199      !    ! mode 3
1200      !    do i_lev=cloudmin,21
1201      !       r_median(ilon,i_lev,3)=3.65e-6
1202      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
1203      !       stddev(ilon,i_lev,3)=1.28
1204      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
1205      !       k_mass(ilon,i_lev,3)=0.0
1206      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
1207      !    end do
1208
1209      !    do i_lev=22,25
1210      !       r_median(ilon,i_lev,3)=3.65e-6
1211      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
1212      !       stddev(ilon,i_lev,3)=1.28
1213      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
1214      !       k_mass(ilon,i_lev,3)=0.95
1215      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
1216      !    end do
1217
1218      !    do i_lev=26,cloudmax
1219      !       r_median(ilon,i_lev,3)=3.65e-6
1220      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
1221      !       stddev(ilon,i_lev,3)=1.28
1222      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
1223      !       k_mass(ilon,i_lev,3)=0.0
1224      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
1225      !    end do
1226      ! end do
1227
1228      ! print*,'r_median size',size(r_median)
1229
1230      ! print*,'r_median(1,28,3)',r_median(1,28,3)
1231      ! print*,'r_median(1,28,3) ne devrait pas exister puisque les dim sont (285,78,2)'
1232      ! print*,'r_median(1,28,3) a la valeur de k_mass(1,28,1)', k_mass(1,28,1)
1233      ! print*,'r_median(1,28,1) just to see',r_median(1,28,1)
1234      ! print*,'r_median size after adding some shenanigans',size(r_median)
1235
1236      ! ! ==================================================================
1237      ! ! initialisation stupid with mode 3 100 um
1238      ! ! ==================================================================
1239      ! ! mode 3 0% solid, fully liquid
1240      ! qrad=0.0
1241      ! ! normally nb_mode=3 in physiq.def !!!
1242      ! do ilon=1,nbr_lon
1243      !    ! mode 1
1244      !    do i_lev=cloudmin,20
1245      !       r_median(ilon,i_lev,1)=0.125e-6
1246      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
1247      !       stddev(ilon,i_lev,1)=1.57
1248      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
1249      !       k_mass(ilon,i_lev,1)=1.0
1250      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
1251      !    end do
1252
1253      !    r_median(ilon,21,1)=0.125e-6
1254      !    print*,'level',21,'r r_median',r_median(1,21,1)
1255      !    stddev(ilon,21,1)=1.57
1256      !    print*,'level',21,'dev std',stddev(1,21,1)
1257      !    k_mass(ilon,21,1)=1.0
1258      !    print*,'level',21,'coeff mass: k_mass',k_mass(1,21,1)
1259
1260      !    r_median(ilon,22,1)=0.2e-6
1261      !    print*,'level',22,'r r_median',r_median(1,22,1)
1262      !    stddev(ilon,22,1)=1.8
1263      !    print*,'level',22,'dev std',stddev(1,22,1)
1264      !    k_mass(ilon,22,1)=0.0
1265      !    print*,'level',22,'coeff mass: k_mass',k_mass(1,22,1)
1266
1267      !    r_median(ilon,23,1)=0.15e-6
1268      !    print*,'level',23,'r r_median',r_median(1,23,1)
1269      !    stddev(ilon,23,1)=1.8
1270      !    print*,'level',23,'dev std',stddev(1,23,1)
1271      !    k_mass(ilon,23,1)=0.0
1272      !    print*,'level',23,'coeff mass: k_mass',k_mass(1,23,1)
1273
1274      !    do i_lev=24,25
1275      !       r_median(ilon,i_lev,1)=0.15e-6
1276      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
1277      !       stddev(ilon,i_lev,1)=1.9
1278      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
1279      !       k_mass(ilon,i_lev,1)=0.0
1280      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
1281      !    end do
1282
1283      !    r_median(ilon,26,1)=0.175e-6
1284      !    print*,'level',26,'r r_median',r_median(1,26,1)
1285      !    stddev(ilon,26,1)=2.16
1286      !    print*,'level',26,'dev std',stddev(1,26,1)
1287      !    k_mass(ilon,26,1)=0.0
1288      !    print*,'level',26,'coeff mass: k_mass',k_mass(1,26,1)
1289
1290      !    do i_lev=27,33
1291      !       r_median(ilon,i_lev,1)=0.175e-6
1292      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
1293      !       stddev(ilon,i_lev,1)=2.16
1294      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
1295      !       k_mass(ilon,i_lev,1)=0.0
1296      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
1297      !    end do
1298
1299      !    do i_lev=34,cloudmax
1300      !       r_median(ilon,i_lev,1)=0.175e-6
1301      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,1)
1302      !       stddev(ilon,i_lev,1)=2.16
1303      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,1)
1304      !       k_mass(ilon,i_lev,1)=0.0
1305      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,1)
1306      !    end do
1307
1308      !    !  mode 2
1309      !    do i_lev=cloudmin,20
1310      !       r_median(ilon,i_lev,2)=1.4e-6
1311      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
1312      !       stddev(ilon,i_lev,2)=1.35
1313      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
1314      !       k_mass(ilon,i_lev,2)=0.0
1315      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
1316      !    end do
1317
1318      !    r_median(ilon,21,2)=1.4e-6
1319      !    print*,'level',21,'r r_median',r_median(1,21,2)
1320      !    stddev(ilon,21,2)=1.25
1321      !    print*,'level',21,'dev std',stddev(1,21,2)
1322      !    k_mass(ilon,21,2)=0.0
1323      !    print*,'level',21,'coeff mass: k_mass',k_mass(1,21,2)
1324
1325      !    r_median(ilon,22,2)=1.4e-6
1326      !    print*,'level',22,'r r_median',r_median(1,22,2)
1327      !    stddev(ilon,22,2)=1.25
1328      !    print*,'level',22,'dev std',stddev(1,22,2)
1329      !    k_mass(ilon,22,2)=0.0
1330      !    print*,'level',22,'coeff mass: k_mass',k_mass(1,22,2)
1331
1332      !    r_median(ilon,23,2)=1.35e-6
1333      !    print*,'level',23,'r r_median',r_median(1,23,2)
1334      !    stddev(ilon,23,2)=1.25
1335      !    print*,'level',23,'dev std',stddev(1,23,2)
1336      !    k_mass(ilon,23,2)=0.0
1337      !    print*,'level',23,'coeff mass: k_mass',k_mass(1,23,2)
1338
1339
1340      !    r_median(ilon,24,2)=1.375e-6
1341      !    print*,'level',24,'r r_median',r_median(1,24,2)
1342      !    stddev(ilon,24,2)=1.2
1343      !    print*,'level',24,'dev std',stddev(1,24,2)
1344      !    k_mass(ilon,24,2)=0.0
1345      !    print*,'level',24,'coeff mass: k_mass',k_mass(1,24,2)
1346
1347
1348      !    r_median(ilon,25,2)=1.4e-6
1349      !    print*,'level',25,'r r_median',r_median(1,25,2)
1350      !    stddev(ilon,25,2)=1.16
1351      !    print*,'level',25,'dev std',stddev(1,25,2)
1352      !    k_mass(ilon,25,2)=0.0
1353      !    print*,'level',25,'coeff mass: k_mass',k_mass(1,25,2)
1354
1355
1356      !    r_median(ilon,26,2)=1.15e-6
1357      !    print*,'level',26,'r r_median',r_median(1,26,2)
1358      !    stddev(ilon,26,2)=1.34
1359      !    print*,'level',26,'dev std',stddev(1,26,2)
1360      !    k_mass(ilon,26,2)=0.0
1361      !    print*,'level',26,'coeff mass: k_mass',k_mass(1,26,2)
1362
1363
1364      !    r_median(ilon,27,2)=1.14e-6
1365      !    print*,'level',27,'r r_median',r_median(1,27,2)
1366      !    stddev(ilon,27,2)=1.33
1367      !    print*,'level',27,'dev std',stddev(1,27,2)
1368      !    k_mass(ilon,27,2)=0.0
1369      !    print*,'level',27,'coeff mass: k_mass',k_mass(1,27,2)
1370
1371
1372      !    r_median(ilon,28,2)=1.35e-6
1373      !    print*,'level',28,'r r_median',r_median(1,28,2)
1374      !    stddev(ilon,28,2)=1.32
1375      !    print*,'level',28,'dev std',stddev(1,28,2)
1376      !    k_mass(ilon,28,2)=0.0
1377      !    print*,'level',28,'coeff mass: k_mass',k_mass(1,28,2)
1378
1379
1380      !    r_median(ilon,29,2)=1.125e-6
1381      !    print*,'level',29,'r r_median',r_median(1,29,2)
1382      !    stddev(ilon,29,2)=1.31
1383      !    print*,'level',29,'dev std',stddev(1,29,2)
1384      !    k_mass(ilon,29,2)=0.0
1385      !    print*,'level',29,'coeff mass: k_mass',k_mass(1,29,2)
1386
1387
1388      !    r_median(ilon,30,2)=1.118e-6
1389      !    print*,'level',30,'r r_median',r_median(1,30,2)
1390      !    stddev(ilon,30,2)=1.30
1391      !    print*,'level',30,'dev std',stddev(1,30,2)
1392      !    k_mass(ilon,30,2)=0.0
1393      !    print*,'level',30,'coeff mass: k_mass',k_mass(1,30,2)
1394
1395
1396      !    r_median(ilon,31,2)=1.11e-6
1397      !    print*,'level',31,'r r_median',r_median(1,31,2)
1398      !    stddev(ilon,31,2)=1.29
1399      !    print*,'level',31,'dev std',stddev(1,31,2)
1400      !    k_mass(ilon,31,2)=0.0
1401      !    print*,'level',31,'coeff mass: k_mass',k_mass(1,31,2)
1402
1403      !    do i_lev=32,33
1404      !       r_median(ilon,i_lev,2)=1.1e-6
1405      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
1406      !       stddev(ilon,i_lev,2)=1.28
1407      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
1408      !       k_mass(ilon,i_lev,2)=0.0
1409      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
1410      !    end do
1411
1412      !    ! if k_mass > 0 it means we have a bimodal upper haze.
1413      !    do i_lev=34,cloudmax
1414      !       r_median(ilon,i_lev,2)=1.1e-6
1415      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,2)
1416      !       stddev(ilon,i_lev,2)=1.28
1417      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,2)
1418      !       k_mass(ilon,i_lev,2)=0.0
1419      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,2)
1420      !    end do
1421
1422      !    ! mode 3
1423      !    do i_lev=cloudmin,21
1424      !       r_median(ilon,i_lev,3)=100.0e-6
1425      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
1426      !       stddev(ilon,i_lev,3)=1.28
1427      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
1428      !       k_mass(ilon,i_lev,3)=1.0
1429      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
1430      !    end do
1431
1432      !    do i_lev=22,25
1433      !       r_median(ilon,i_lev,3)=100.0e-6
1434      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
1435      !       stddev(ilon,i_lev,3)=1.28
1436      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
1437      !       k_mass(ilon,i_lev,3)=1.0
1438      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
1439      !    end do
1440
1441      !    do i_lev=26,cloudmax
1442      !       r_median(ilon,i_lev,3)=100.0e-6
1443      !       print*,'level',i_lev,'r r_median',r_median(1,i_lev,3)
1444      !       stddev(ilon,i_lev,3)=1.28
1445      !       print*,'level',i_lev,'dev std',stddev(1,i_lev,3)
1446      !       k_mass(ilon,i_lev,3)=1.0
1447      !       print*,'level',i_lev,'coeff mass: k_mass',k_mass(1,i_lev,3)
1448      !    end do
1449      ! end do
1450
1451      ! print*,'r_median size',size(r_median)
1452
1453      ! print*,'r_median(1,28,3)',r_median(1,28,3)
1454      ! print*,'r_median(1,28,3) ne devrait pas exister puisque les dim sont (285,78,2)'
1455      ! print*,'r_median(1,28,3) a la valeur de k_mass(1,28,1)', k_mass(1,28,1)
1456      ! print*,'r_median(1,28,1) just to see',r_median(1,28,1)
1457      ! print*,'r_median size after adding some shenanigans',size(r_median)
1458
1459! check if sum of kmass = 1 at each level
1460
1461print*, 'chemparam_mod: start checking k_mass=1'
1462
1463do i_lev = cloudmin,cloudmax
1464   if (nbr_mode == 3) then
1465      if ((k_mass(1,i_lev,1) + k_mass(1,i_lev,2) + k_mass(1,i_lev,3)) /= 1.0) then
1466         print*, 'kmass total is not 1.0'
1467         print*, k_mass(1,i_lev,1) + k_mass(1,i_lev,2) + k_mass(1,i_lev,3)
1468         print*, 'at level: ',i_lev
1469         print*, 'check chemparam_mod cloud structure definition'
1470         stop
1471      end if
1472   else
1473      if ((k_mass(1,i_lev,1) + k_mass(1,i_lev,2)) /= 1.0) then
1474         print*, 'kmass total is not 1.0'
1475         print*, k_mass(1,i_lev,1) + k_mass(1,i_lev,2)
1476         print*, 'at level: ',i_lev
1477         print*, 'check chemparam_mod cloud structure definition'
1478      end if
1479   end if
1480end do
1481
1482print*, 'chemparam_mod: end checking k_mass=1'
1483print*, 'k_mass is fine'
1484print*
1485print*,'==============================='
1486print*,'end initialisation cloud layer'
1487print*,'==============================='
1488
1489end subroutine cloud_ini
1490
1491!============================================================================
1492
1493  subroutine chemparam_ini
1494
1495!============================================================================
1496
1497      use infotrac_phy, only: nqtot, tname
1498
1499      implicit none
1500
1501      integer :: i
1502
1503      allocate(m_tr(nqtot))    ! molecular mass of tracers
1504      allocate(type_tr(nqtot)) ! type of chemical tracers 1: neutral, 2: ion, 3: liquid
1505
1506      ! index for chemical tracers
1507
1508      ! neutrals
1509
1510      i_co2      = 0
1511      i_co       = 0
1512      i_h2       = 0
1513      i_h2o      = 0
1514      i_o1d      = 0
1515      i_o        = 0
1516      i_o2       = 0
1517      i_o2dg     = 0
1518      i_o3       = 0
1519      i_h        = 0
1520      i_oh       = 0
1521      i_ho2      = 0
1522      i_h2o2     = 0
1523      i_cl       = 0
1524      i_clo      = 0
1525      i_cl2      = 0
1526      i_hcl      = 0
1527      i_hocl     = 0
1528      i_clco     = 0
1529      i_clco3    = 0
1530      i_cocl2    = 0
1531      i_s        = 0
1532      i_so       = 0
1533      i_so2      = 0
1534      i_so3      = 0
1535      i_s2o2     = 0
1536      i_ocs      = 0
1537      i_hso3     = 0
1538      i_h2so4    = 0
1539      i_s2       = 0
1540      i_clso2    = 0
1541      i_oscl     = 0
1542      i_n2       = 0
1543      i_he       = 0
1544      i_n2d      = 0
1545      i_n        = 0
1546      i_no       = 0
1547      i_no2      = 0
1548
1549      ! ions
1550
1551      i_co2plus  = 0
1552      i_coplus   = 0
1553      i_oplus    = 0
1554      i_o2plus   = 0
1555      i_n2plus   = 0
1556      i_hplus    = 0
1557      i_h2oplus  = 0
1558      i_nplus    = 0
1559      i_ohplus   = 0
1560      i_cplus    = 0
1561      i_noplus   = 0
1562      i_h3oplus  = 0
1563      i_hcoplus  = 0
1564      i_hco2plus = 0
1565      i_elec     = 0
1566
1567      ! liquid
1568
1569      i_h2oliq   = 0
1570      i_h2so4liq = 0
1571
1572      do i = 1,nqtot
1573         print*,'tname(i)',tname(i)
1574         select case(tname(i))
1575
1576            ! neutrals
1577
1578            case('co2')
1579               i_co2 = i
1580               print*,'co2',i_co2
1581               m_tr(i_co2) = 44.0095
1582               type_tr(i_co2) = 1
1583            case('co')
1584               i_co = i
1585               print*,'co',i_co
1586               m_tr(i_co) = 28.0101
1587               type_tr(i_co) = 1
1588            case('h2')
1589               i_h2 = i
1590               print*,'h2',i_h2
1591               m_tr(i_h2) = 2.01588
1592               type_tr(i_h2) = 1
1593            case('h2o')
1594               i_h2o = i
1595               print*,'h2o',i_h2o
1596               m_tr(i_h2o) = 18.0153
1597               type_tr(i_h2o) = 1
1598            case('o1d')
1599               i_o1d = i
1600               print*,'o1d',i_o1d
1601               m_tr(i_o1d) = 15.994
1602               type_tr(i_o1d) = 1
1603            case('o')
1604               i_o = i
1605               print*,'o',i_o
1606               m_tr(i_o) = 15.994
1607               type_tr(i_o) = 1
1608            case('o2')
1609               i_o2 = i
1610               print*,'o2',i_o2
1611               m_tr(i_o2) = 31.9988
1612               type_tr(i_o2) = 1
1613            case('o2dg')
1614               i_o2dg = i
1615               print*,'o2dg',i_o2dg
1616               m_tr(i_o2dg) = 31.9988
1617               type_tr(i_o2dg) = 1
1618            case('o3')
1619               i_o3 = i
1620               print*,'o3',i_o3
1621               m_tr(i_o3) = 47.9982
1622               type_tr(i_o3) = 1
1623            case('h')
1624               i_h = i
1625               print*,'h',i_h
1626               m_tr(i_h) = 1.00794
1627               type_tr(i_h) = 1
1628            case('oh')
1629               i_oh = i
1630               print*,'oh',i_oh
1631               m_tr(i_oh) = 17.0073
1632               type_tr(i_oh) = 1
1633            case('ho2')
1634               i_ho2 = i
1635               print*,'ho2',i_ho2
1636               m_tr(i_ho2) = 33.0067
1637               type_tr(i_ho2) = 1
1638            case('h2o2')
1639               i_h2o2 = i
1640               print*,'h2o2',i_h2o2
1641               m_tr(i_h2o2) = 34.0147
1642               type_tr(i_h2o2) = 1
1643            case('cl')
1644               i_cl = i
1645               print*,'cl',i_cl
1646               m_tr(i_cl) = 35.453
1647               type_tr(i_cl) = 1
1648            case('clo')
1649               i_clo = i
1650               print*,'clo',i_clo
1651               m_tr(i_clo) = 51.452
1652               type_tr(i_clo) = 1
1653            case('cl2')
1654               i_cl2 = i
1655               print*,'cl2',i_cl2
1656               m_tr(i_cl2) = 70.906
1657               type_tr(i_cl2) = 1
1658            case('hcl')
1659               i_hcl = i
1660               print*,'hcl',i_hcl
1661               m_tr(i_hcl) = 36.461
1662               type_tr(i_hcl) = 1
1663            case('hocl')
1664               i_hocl = i
1665               print*,'hocl',i_hocl
1666               m_tr(i_hocl) = 52.46
1667               type_tr(i_hocl) = 1
1668            case('clco')
1669               i_clco = i
1670               print*,'clco',i_clco
1671               m_tr(i_clco) = 63.463
1672               type_tr(i_clco) = 1
1673            case('clco3')
1674               i_clco3 = i
1675               print*,'clco3',i_clco3
1676               m_tr(i_clco3) = 95.462
1677               type_tr(i_clco3) = 1
1678            case('cocl2')
1679               i_cocl2 = i
1680               print*,'cocl2',i_cocl2
1681               m_tr(i_cocl2) = 98.916
1682               type_tr(i_cocl2) = 1
1683            case('s')
1684               i_s = i
1685               print*,'s',i_s
1686               m_tr(i_s) = 32.065
1687               type_tr(i_s) = 1
1688            case('so')
1689               i_so = i
1690               print*,'so',i_so
1691               m_tr(i_so) = 48.0644
1692               type_tr(i_so) = 1
1693            case('so2')
1694               i_so2 = i
1695               print*,'so2',i_so2
1696               m_tr(i_so2) = 64.064
1697               type_tr(i_so2) = 1
1698            case('so3')
1699               i_so3 = i
1700               print*,'so3',i_so3
1701               m_tr(i_so3) = 80.063
1702               type_tr(i_so3) = 1
1703            case('s2o2')
1704               i_s2o2 = i
1705               print*,'s2o2',i_s2o2
1706               m_tr(i_s2o2)= 96.1288
1707               type_tr(i_s2o2) = 1
1708            case('ocs')
1709               i_ocs = i
1710               print*,'ocs',i_ocs
1711               m_tr(i_ocs) = 60.0751
1712               type_tr(i_ocs) = 1
1713            case('hso3')
1714               i_hso3 = i
1715               print*,'hso3',i_hso3
1716               m_tr(i_hso3) = 81.071
1717               type_tr(i_hso3) = 1
1718            case('h2so4')
1719               i_h2so4 = i
1720               print*,'h2so4',i_h2so4
1721               m_tr(i_h2so4) = 98.078
1722               type_tr(i_h2so4) = 1
1723            case('s2')
1724               i_s2 = i
1725               print*,'s2',i_s2
1726               m_tr(i_s2) = 64.13
1727               type_tr(i_s2) = 1
1728            case('clso2')
1729               i_clso2 = i
1730               print*,'clso2',i_clso2
1731               m_tr(i_clso2) = 99.517
1732               type_tr(i_clso2) = 1
1733            case('oscl')
1734               i_oscl = i
1735               print*,'oscl',i_oscl
1736               m_tr(i_oscl) = 83.517
1737               type_tr(i_oscl) = 1
1738            case('n2')
1739               i_n2 = i
1740               print*,'n2',i_n2
1741               m_tr(i_n2) = 28.013
1742               type_tr(i_n2) = 1
1743            case('he')
1744               i_he = i
1745               print*,'he',i_he
1746               m_tr(i_he) = 4.0026
1747               type_tr(i_he) = 1
1748            case('n2d')
1749               i_n2d = i
1750               print*,'n2d',i_n2d
1751               m_tr(i_n2d) = 14.0067
1752               type_tr(i_n2d) = 1
1753            case('n')
1754               i_n = i
1755               print*,'n',i_n
1756               m_tr(i_n) = 14.0067
1757               type_tr(i_n) = 1
1758            case('no')
1759               i_no = i
1760               print*,'no',i_no
1761               m_tr(i_no) = 30.0061
1762               type_tr(i_no) = 1
1763            case('no2')
1764               i_no2 = i
1765               print*,'no2',i_no2
1766               m_tr(i_no2) = 46.0055
1767               type_tr(i_no2) = 1
1768
1769            ! ions
1770
1771            case('co2plus')
1772               i_co2plus = i
1773               print*,'co2plus',i_co2plus
1774               m_tr(i_co2plus) = 44.0095
1775               type_tr(i_co2plus) = 2
1776            case('coplus')
1777               i_coplus = i
1778               print*,'coplus',i_coplus
1779               m_tr(i_coplus) = 28.0101
1780               type_tr(i_coplus) = 2
1781            case('oplus')
1782               i_oplus = i
1783               print*,'oplus',i_oplus
1784               m_tr(i_oplus) = 15.994
1785               type_tr(i_oplus) = 2
1786            case('o2plus')
1787               i_o2plus = i
1788               print*,'o2plus',i_o2plus
1789               m_tr(i_o2plus) = 31.9988
1790               type_tr(i_o2plus) = 2
1791            case('n2plus')
1792               i_n2plus = i
1793               print*,'n2plus',i_n2plus
1794               m_tr(i_n2plus) = 28.013
1795               type_tr(i_n2plus) = 2
1796            case('hplus')
1797               i_hplus = i
1798               print*,'hplus',i_hplus
1799               m_tr(i_hplus) = 1.00794
1800               type_tr(i_hplus) = 2
1801            case('h2oplus')
1802               i_h2oplus = i
1803               print*,'h2oplus',i_h2oplus
1804               m_tr(i_h2oplus) = 18.0153
1805               type_tr(i_h2oplus) = 2
1806            case('nplus')
1807               i_nplus = i
1808               print*,'nplus',i_nplus
1809               m_tr(i_nplus) = 14.0067
1810               type_tr(i_nplus) = 2
1811            case('ohplus')
1812               i_ohplus = i
1813               print*,'ohplus',i_ohplus
1814               m_tr(i_ohplus) = 17.0073
1815               type_tr(i_ohplus) = 2
1816            case('cplus')
1817               i_cplus = i
1818               print*,'cplus',i_cplus
1819               m_tr(i_cplus) = 12.011
1820               type_tr(i_cplus) = 2
1821            case('noplus')
1822               i_noplus = i
1823               print*,'noplus',i_noplus
1824               m_tr(i_noplus) = 30.0061
1825               type_tr(i_noplus) = 2
1826            case('h3oplus')
1827               i_h3oplus = i
1828               print*,'h3oplus',i_h3oplus
1829               m_tr(i_h3oplus) = 19.0232
1830               type_tr(i_h3oplus) = 2
1831            case('hcoplus')
1832               i_hcoplus = i
1833               print*,'hcoplus',i_hcoplus
1834               m_tr(i_hcoplus) = 29.0180
1835               type_tr(i_hcoplus) = 2
1836            case('hco2plus')
1837               i_hco2plus = i
1838               print*,'hco2plus',i_hco2plus
1839               m_tr(i_hco2plus) = 45.
1840               type_tr(i_hco2plus) = 2
1841            case('elec')
1842               i_elec = i
1843               print*,'elec',i_elec
1844               m_tr(i_elec) = 1./1822.89
1845               type_tr(i_elec) = 2
1846
1847            ! liquid tracers (cl_scheme = 1)
1848
1849            case('h2oliq')
1850               i_h2oliq = i
1851               print*,'h2oliq',i_h2oliq
1852               m_tr(i_h2oliq) = 18.0153
1853               type_tr(i_h2oliq) = 3
1854            case('h2so4liq')
1855               i_h2so4liq = i
1856               print*,'h2so4liq',i_h2so4liq
1857               m_tr(i_h2so4liq) = 98.078
1858               type_tr(i_h2so4liq) = 3
1859
1860            ! liquid tracers (cl_scheme = 2)
1861
1862            case('m0_aer')
1863               i_m0_aer = i
1864               print*,'m0_aer',i_m0_aer
1865               type_tr(i_m0_aer) = 10
1866            case('m3_aer')
1867               i_m3_aer = i
1868               print*,'m3_aer',i_m3_aer
1869               type_tr(i_m3_aer) = 10
1870            case('m0_m1drop')
1871               i_m0_mode1drop = i
1872               print*,'m0_m1drop',i_m0_mode1drop
1873               type_tr(i_m0_mode1drop) = 10
1874            case('m0_m1ccn')
1875               i_m0_mode1ccn = i
1876               print*,'m0_m1ccn',i_m0_mode1ccn
1877               type_tr(i_m0_mode1ccn) = 10
1878            case('m3_m1sa')
1879               i_m3_mode1sa = i
1880               print*,'m3_m1sa',i_m3_mode1sa
1881               type_tr(i_m3_mode1sa) = 10
1882            case('m3_m1w')
1883               i_m3_mode1w = i
1884               print*,'m3_m1w',i_m3_mode1w
1885               type_tr(i_m3_mode1w) = 10
1886            case('m3_m1ccn')
1887               i_m3_mode1ccn = i
1888               print*,'m3_m1ccn',i_m3_mode1ccn
1889               type_tr(i_m3_mode1ccn) = 10
1890            case('m0_m2drop')
1891               i_m0_mode2drop = i
1892               print*,'m0_m2drop',i_m0_mode2drop
1893               type_tr(i_m0_mode2drop) = 10
1894            case('m0_m2ccn')
1895               i_m0_mode2ccn = i
1896               print*,'m0_m2ccn',i_m0_mode2ccn
1897               type_tr(i_m0_mode2ccn) = 10
1898            case('m3_m2sa')
1899               i_m3_mode2sa = i
1900               print*,'m3_m2sa',i_m3_mode2sa
1901               type_tr(i_m3_mode2sa) = 10
1902            case('m3_m2w')
1903               i_m3_mode2w = i
1904               print*,'m3_m2w',i_m3_mode2w
1905               type_tr(i_m3_mode2w) = 10
1906            case('m3_m2ccn')
1907               i_m3_mode2ccn = i
1908               print*,'m3_m2ccn',i_m3_mode2ccn
1909               type_tr(i_m3_mode2ccn) = 10
1910         end select
1911      end do
1912
1913  end subroutine chemparam_ini
1914
1915!============================================================================
1916
1917  subroutine vapors4muphy_ini(nlon,nlev,trac)
1918
1919!============================================================================
1920
1921  use infotrac_phy, only: nqtot, tname
1922
1923  integer :: nlon, nlev
1924  real    :: trac(nlon,nlev,nqtot) ! traceur ( en vmr)
1925
1926!  integer :: i
1927!  real    :: trac1d(nlev,2) ! traceur lu ( en vmr)
1928
1929! lecture d'un fichier texte contenant les profils de trac1d(:1) = h2o et trac1d(:,2) = h2so4
1930!  do i=1,nlon
1931!     trac(i,:,i_h2o) = trac1d(:,1)
1932!     trac(i,:,i_h2so4) = trac1d(:,2)
1933!  enddo
1934
1935!  intitialisation profils altitude h2o et h2so4
1936!  profil h2o initial vap+liq == que vap
1937   trac(:,1:24,i_h2o) = 30.e-6 !
1938   trac(:,25:50,i_h2o) = 1.e-6 !
1939
1940   trac(:,:,i_h2so4) = 3.e-9 ! limite sup sandor 2012
1941   trac(:,23:50,i_h2so4) = 2.e-6 ! profil h2so4 initial => vap+liq
1942
1943  end subroutine vapors4muphy_ini
1944
1945end module chemparam_mod
Note: See TracBrowser for help on using the repository browser.