Index: trunk/LMDZ.VENUS/libf/phyvenus/cloudvenus/new_cloud_sedim.F
===================================================================
--- trunk/LMDZ.VENUS/libf/phyvenus/cloudvenus/new_cloud_sedim.F	(revision 2200)
+++ trunk/LMDZ.VENUS/libf/phyvenus/cloudvenus/new_cloud_sedim.F	(revision 2203)
@@ -1,5 +1,5 @@
       subroutine new_cloud_sedim(n_lon, n_lev, ptimestep,
      $                           pmidlay, pbndlay, pt, pq,
-     $                           d_tr_chem, pdqsed, pdqs_sed,
+     $                           d_tr_chem, pdqsed,
      $                           nq, F_sed)
 
@@ -33,5 +33,4 @@
       real pdqsed(n_lon,n_lev,2)    ! tendency due to sedimentation (kg/kg)
       real d_tr_chem(n_lon,n_lev,nq)! tendency due to chemistry and clouds (kg/kg)
-      real pdqs_sed(n_lon)          ! surface density (Flux if /ptimestep) at surface due to sedimentation (kg.m-2)
       
 c   local:
@@ -53,5 +52,5 @@
 c     Gas molecular viscosity (N.s.m-2)
 c      real,parameter :: visc=1.e-5       ! CO2
-	REAL :: VISCOSITY_CO2
+      REAL :: VISCOSITY_CO2
 c     Effective gas molecular radius (m)
       real,parameter :: molrad=2.2e-10   ! CO2
@@ -91,9 +90,10 @@
 c    -----------------
     
-!     Updating the droplet mass mixing ratio with the partition H2O/H2SO4
+!     update water vapour and sulfuric acid mixing ratios
 
       zqi_wv(:,:) = pq(:,:,i_h2oliq) + d_tr_chem(:,:,i_h2oliq)*ptimestep
       zqi_sa(:,:) = pq(:,:,i_h2so4liq) 
      $            + d_tr_chem(:,:,i_h2so4liq)*ptimestep
+
       wgt_SA(:,:) = wh2so4(:,:)
 
@@ -348,70 +348,54 @@
            
          ENDDO
-c****************************************************************
 
 c     Passage du Flux au Flux pour un pas de temps (== kg.m-2)     
-      F_sed(:,:)=F_sed(:,:)*ptimestep
-
-
-c	VENUS: le flux à la surface est fixé à 0
-c     les conditions P/T en surface ne permettent pas la condensation
-      DO ig=1,n_lon
-      pdqs_sed(ig) = 0.0d0
-      ENDDO
-      
-c         Compute the final tendency:
-c         ---------------------------
-
-c     Partie H2SO4l
-c     ~~~~~~~~~~~~
-
-      DO l = 1, n_lev
-         DO ig=1,n_lon
-            zqi_sa(ig,l) = zqi_sa(ig,l) + (
-     &                         F_sed(ig,l+1)*wgt_SA(ig,l+1)
-     &                       - F_sed(ig,l)*wgt_SA(ig,l))
-     &                       / m_lay(ig,l)
-c     On peut avoir theoriquement le cas ou on epuise tout le VMR present
-             IF (zqi_sa(ig,l).LT.0.0D0) THEN
-c              PRINT*,'STOP sedimentation on epuise tout le VMR present'
-c              PRINT*,'couche',ig,'level',l
-c               STOP
-c              Ce n est pas juste mais il faudrait alors adapter les pas
-c              de tps de la phys, microphys et chimie
-c              car dans ce cas, c est comme si on epuisait la couche pour un pdtphys
-c              mais en fait on l epuise pour un pdt<pdtphys
-               zqi_sa(ig,l) = 0.0D0
-             ENDIF
-            pdqsed(ig,l,1) = zqi_sa(ig,l) - pq(ig,l,i_h2so4liq)                       
-         ENDDO
-      ENDDO
-
-c     Partie H2Ol
-c     ~~~~~~~~~~~
+
+      F_sed(:,:) = F_sed(:,:)*ptimestep
+
+!=========================================================
+!     compute tendency due to sedimentation
+!=========================================================
+
+!     h2so4
+
+      do l = 1,n_lev
+         do ig = 1,n_lon
+            zqi_sa(ig,l) = zqi_sa(ig,l) 
+     $                   + (F_sed(ig,l+1)*wgt_SA(ig,l+1)
+     $                    - F_sed(ig,l)*wgt_SA(ig,l))/m_lay(ig,l)
+!           if (zqi_sa(ig,l) < 0.) THEN
+!              print*,'STOP sedim on epuise tout le H2SO4l present'
+!              print*,'point ',ig,'level ',l
+!              print*,'zqi_sa = ', zqi_sa(ig,l)
+!              STOP
+!              zqi_sa(ig,l) = 0.
+!           end if
+            zqi_sa(ig,l) = max(zqi_sa(ig,l), 0.)
+            pdqsed(ig,l,1) = zqi_sa(ig,l) - pq(ig,l,i_h2so4liq)
+         end do
+      end do
+
+!     h2o
                      
-      DO l = 1, n_lev
-         DO ig=1,n_lon
-            zqi_wv(ig,l) = zqi_wv(ig,l) + (
-     &                         F_sed(ig,l+1)*(1. - wgt_SA(ig,l+1))
-     &                       - F_sed(ig,l)*(1. - wgt_SA(ig,l)))
-     &                       / m_lay(ig,l)
-c     On peut avoir theoriquement le cas ou on epuise tout le VMR present
-             IF (zqi_wv(ig,l).LT.0.0D0) THEN
-c              PRINT*,'STOP sedimentation on epuise tout le VMR present'
-c              PRINT*,'couche',ig,'level',l
-c               STOP
-c              Ce n est pas juste mais il faudrait alors adapter les pas
-c              de tps de la phys, microphys et chimie
-c              car dans ce cas, c est comme si on epuisait la couche pour un pdtphys
-c              mais en fait on l epuise pour un pdt<pdtphys
-               zqi_wv(ig,l) = 0.0D0
-             ENDIF
-            pdqsed(ig,l,2) = zqi_wv(ig,l) - pq(ig,l,i_h2oliq)                   
-         ENDDO
-      ENDDO
+      do l = 1, n_lev
+         do ig=1,n_lon
+            zqi_wv(ig,l) = zqi_wv(ig,l) 
+     $                   + (F_sed(ig,l+1)*(1. - wgt_SA(ig,l+1))
+     &                    - F_sed(ig,l)*(1. - wgt_SA(ig,l)))
+     &                    /m_lay(ig,l)
+!           if (zqi_wv(ig,l) < 0.) THEN
+!              print*,'STOP sedim on epuise tout le H2Ol present'
+!              print*,'point ',ig,'level ',l
+!              print*,'zqi_wv = ', zqi_wv(ig,l)
+!              STOP
+!              zqi_wv(ig,l) = 0.
+!           end if
+            zqi_wv(ig,l) = max(zqi_wv(ig,l), 0.)
+            pdqsed(ig,l,2) = zqi_wv(ig,l) - pq(ig,l,i_h2oliq) 
+         end do
+      end do
 
 c		Save output file in 1D model
 c		============================ 
-	        
 c      IF (n_lon .EQ. 1) THEN
 c      PRINT*,'Save output sedim' 	
