Index: trunk/LMDZ.PLUTO/libf/phypluto/callcorrk_pluto_mod.F90
===================================================================
--- trunk/LMDZ.PLUTO/libf/phypluto/callcorrk_pluto_mod.F90	(revision 3682)
+++ trunk/LMDZ.PLUTO/libf/phypluto/callcorrk_pluto_mod.F90	(revision 3683)
@@ -239,4 +239,7 @@
          !--------------------------------------------------
          !     Effective radius and variance of the aerosols
+         !     Madeleine's PhD (eq. 2.3-2.4):
+         !     --> r_eff = <r^3> / <r^2>
+         !     --> nu_eff = <r^4>*<r^2> / <r^3>^2 - 1
          !--------------------------------------------------
          ! Radiative Hazes
@@ -245,5 +248,5 @@
             ! Spherical aerosols
             sig = 0.2
-            WHERE(mp2m_rc_sph(:,:) > 1e-10)
+            WHERE(mp2m_rc_sph(:,:) > 1e-9)
                reffrad(:,:,1) = mp2m_rc_sph(:,:) * exp(5.*sig**2 / 2.)
             ELSEWHERE
@@ -253,5 +256,5 @@
             ! Fractal aerosols
             sig = 0.35
-            WHERE(mp2m_rc_fra(:,:) > 1e-10)
+            WHERE(mp2m_rc_fra(:,:) > 1e-8)
                reffrad(:,:,2) = mp2m_rc_fra(:,:) * exp(5.*sig**2 / 2.)
             ELSEWHERE
Index: trunk/LMDZ.PLUTO/libf/phypluto/mp2m_calmufi.F90
===================================================================
--- trunk/LMDZ.PLUTO/libf/phypluto/mp2m_calmufi.F90	(revision 3682)
+++ trunk/LMDZ.PLUTO/libf/phypluto/mp2m_calmufi.F90	(revision 3683)
@@ -121,5 +121,5 @@
         DO ilon = 1, nlon
 
-            ! Convert tracers to extensive
+            ! Convert tracers to extensive [X.kg-1 --> X.m-2]
             int2ext(ilon,:) = (plev(ilon,1:nlay)-plev(ilon,2:nlay+1)) / g3d(ilon,1:nlay)
             
Index: trunk/LMDZ.PLUTO/libf/phypluto/mp2m_diagnostics.F90
===================================================================
--- trunk/LMDZ.PLUTO/libf/phypluto/mp2m_diagnostics.F90	(revision 3682)
+++ trunk/LMDZ.PLUTO/libf/phypluto/mp2m_diagnostics.F90	(revision 3683)
@@ -78,5 +78,5 @@
     m3af = pq(:,:,micro_indx(4)) * int2ext
 
-    WHERE(m0as > 1e-10 .AND. m3as > (1e-10*alpha_s(3.)*haze_rc_prod**3))
+    WHERE(m0as > 1e-8 .AND. m3as > (1e-8*alpha_s(3.)*haze_rc_prod**3))
       mp2m_rc_sph = (m3as / (m0as*alpha_s(3.)))**(1./3.)
     ELSEWHERE
@@ -84,5 +84,5 @@
     ENDWHERE
 
-    WHERE(m0af > 1e-10 .AND. m3af > (1e-10*alpha_f(3.)*haze_rm**3))
+    WHERE(m0af > 1e-8 .AND. m3af > (1e-8*alpha_f(3.)*haze_rm**3))
       mp2m_rc_fra = (m3af / (m0af*alpha_f(3.)))**(1./3.)
     ELSEWHERE
Index: trunk/LMDZ.PLUTO/libf/phypluto/optcv_pluto_mod.F90
===================================================================
--- trunk/LMDZ.PLUTO/libf/phypluto/optcv_pluto_mod.F90	(revision 3682)
+++ trunk/LMDZ.PLUTO/libf/phypluto/optcv_pluto_mod.F90	(revision 3683)
@@ -138,6 +138,11 @@
   end do
 
-!     we ignore K=1... hope this is ok...
+  ! We ignore K = 1... Hope this is ok...
   do K=2,L_LEVELS
+
+     ! JL18: It seems to be good to have aerosols in the first "radiative layer" of the gcm in the IR
+     ! but visible does not handle very well diffusion in first layer.
+     ! This solves random variations of the sw heating at the model top. 
+     if (K < 3) TAEROS(K,:,:) = 0.0
 
      do NW=1,L_NSPECTV
Index: trunk/LMDZ.PLUTO/libf/phypluto/physiq_mod.F90
===================================================================
--- trunk/LMDZ.PLUTO/libf/phypluto/physiq_mod.F90	(revision 3682)
+++ trunk/LMDZ.PLUTO/libf/phypluto/physiq_mod.F90	(revision 3683)
@@ -2331,8 +2331,8 @@
             endif
 
-           if (optichaze) then
-              call write_output("tau_col",&
-                 "Total aerosol optical depth","opacity",tau_col)
-           endif
+            if (optichaze) then
+               call write_output("tau_col",&
+               "Total aerosol optical depth","opacity",tau_col)
+            endif
 
          endif ! end haze
@@ -2340,17 +2340,17 @@
          if (callmufi) then
             ! Tracers:
-            call write_output("m0as","Spherical mode 0th order moment","m-3",zq(:,:,micro_indx(1))*int2ext(:,:))
-            call write_output("m3as","Spherical mode 3rd order moment","m3.m-3",zq(:,:,micro_indx(2))*int2ext(:,:))
-            call write_output("m0af","Fractal mode 0th order moment","m-3",zq(:,:,micro_indx(3))*int2ext(:,:))
-            call write_output("m3af","Fractal mode 3rd order moment","m3.m-3",zq(:,:,micro_indx(4))*int2ext(:,:))
+            call write_output("m0as","Density number of spherical aerosols","m-3",zq(:,:,micro_indx(1))*int2ext(:,:))
+            call write_output("m3as","Volume of spherical aerosols","m3.m-3",zq(:,:,micro_indx(2))*int2ext(:,:))
+            call write_output("m0af","Density number of fractal aerosols","m-3",zq(:,:,micro_indx(3))*int2ext(:,:))
+            call write_output("m3af","Volume of fractal aerosols","m3.m-3",zq(:,:,micro_indx(4))*int2ext(:,:))
 
             ! Diagnostics:
-            call write_output("rcs","Spherical mode characteristic radius","m",mp2m_rc_sph(:,:))
-            call write_output("rcf","Fractal mode characteristic radius","m",mp2m_rc_fra(:,:))
-
-           if (optichaze) then
-              call write_output("tau_col",&
-                 "Total aerosol optical depth","opacity",tau_col)
-           endif ! end optichaze
+            call write_output("rcs","Characteristic radius of spherical aerosols","m",mp2m_rc_sph(:,:))
+            call write_output("rcf","Characteristic radius of fractal aerosols","m",mp2m_rc_fra(:,:))
+
+            if (optichaze) then
+               call write_output("tau_col",&
+               "Total aerosol optical depth","opacity",tau_col)
+            endif ! end optichaze
          endif ! end callmufi
 
