Index: LMDZ4/branches/LMDZ4-dev/libf/phylmd/calltherm.F90
===================================================================
--- LMDZ4/branches/LMDZ4-dev/libf/phylmd/calltherm.F90	(revision 1138)
+++ LMDZ4/branches/LMDZ4-dev/libf/phylmd/calltherm.F90	(revision 1139)
@@ -126,5 +126,7 @@
          do k=1,klev
             do i=1,klon
-               logexpr2(i,k)=.not.q_seri(i,k).ge.0.
+! Attention teste abderr 19-03-09
+!               logexpr2(i,k)=.not.q_seri(i,k).ge.0.
+                logexpr2(i,k)=.not.q_seri(i,k).ge.1.e-15
                if (logexpr2(i,k)) then
                 q_seri(i,k)=1.e-15
Index: LMDZ4/branches/LMDZ4-dev/libf/phylmd/cv3_routines.F
===================================================================
--- LMDZ4/branches/LMDZ4-dev/libf/phylmd/cv3_routines.F	(revision 1138)
+++ LMDZ4/branches/LMDZ4-dev/libf/phylmd/cv3_routines.F	(revision 1139)
@@ -2968,4 +2968,35 @@
       do 503 il=1,ncum
       IF (iflag(il) .le. 1) THEN
+        if (cvflag_grav) then
+      ax=0.01*grav*ment(il,inb(il),inb(il))*(hp(il,inb(il))
+     : -h(il,inb(il))+t(il,inb(il))*(cpv-cpd)
+     : *(rr(il,inb(il))-qent(il,inb(il),inb(il))))
+     :  /(cpn(il,inb(il))*(ph(il,inb(il))-ph(il,inb(il)+1)))
+      ft(il,inb(il))=ft(il,inb(il))-ax
+      ft(il,inb(il)-1)=ft(il,inb(il)-1)+ax*cpn(il,inb(il))
+     :    *(ph(il,inb(il))-ph(il,inb(il)+1))/(cpn(il,inb(il)-1)
+     :    *(ph(il,inb(il)-1)-ph(il,inb(il))))
+
+      bx=0.01*grav*ment(il,inb(il),inb(il))*(qent(il,inb(il),inb(il))
+     :    -rr(il,inb(il)))/(ph(il,inb(il))-ph(il,inb(il)+1))
+      fr(il,inb(il))=fr(il,inb(il))-bx
+      fr(il,inb(il)-1)=fr(il,inb(il)-1)
+     :   +bx*(ph(il,inb(il))-ph(il,inb(il)+1))
+     :      /(ph(il,inb(il)-1)-ph(il,inb(il)))
+
+      cx=0.01*grav*ment(il,inb(il),inb(il))*(uent(il,inb(il),inb(il))
+     :       -u(il,inb(il)))/(ph(il,inb(il))-ph(il,inb(il)+1))
+      fu(il,inb(il))=fu(il,inb(il))-cx
+      fu(il,inb(il)-1)=fu(il,inb(il)-1)
+     :     +cx*(ph(il,inb(il))-ph(il,inb(il)+1))
+     :        /(ph(il,inb(il)-1)-ph(il,inb(il)))
+
+      dx=0.01*grav*ment(il,inb(il),inb(il))*(vent(il,inb(il),inb(il))
+     :      -v(il,inb(il)))/(ph(il,inb(il))-ph(il,inb(il)+1))
+      fv(il,inb(il))=fv(il,inb(il))-dx
+      fv(il,inb(il)-1)=fv(il,inb(il)-1)
+     :    +dx*(ph(il,inb(il))-ph(il,inb(il)+1))
+     :       /(ph(il,inb(il)-1)-ph(il,inb(il)))
+       else
        ax=0.1*ment(il,inb(il),inb(il))*(hp(il,inb(il))
      : -h(il,inb(il))+t(il,inb(il))*(cpv-cpd)
@@ -2997,4 +3028,5 @@
      :    +dx*(ph(il,inb(il))-ph(il,inb(il)+1))
      :       /(ph(il,inb(il)-1)-ph(il,inb(il)))
+       endif
       ENDIF    !iflag
 503   continue
Index: LMDZ4/branches/LMDZ4-dev/libf/phylmd/wake.F
===================================================================
--- LMDZ4/branches/LMDZ4-dev/libf/phylmd/wake.F	(revision 1138)
+++ LMDZ4/branches/LMDZ4-dev/libf/phylmd/wake.F	(revision 1139)
@@ -190,6 +190,4 @@
        REAL q0_min(klon),q1_min(klon)
        LOGICAL wk_adv(klon), OK_qx_qw(klon)
-       REAL epsilon
-       DATA epsilon/1.e-9/
 
 c Autres variables internes
@@ -1016,5 +1014,5 @@
 C   Scale tendencies so that water vapour remains positive in w and x.
 C
-      call wake_vec_modulation(klon,klev,wk_adv,epsilon,qe,d_qe,deltaqw,
+      call wake_vec_modulation(klon,klev,wk_adv,qe,d_qe,deltaqw,
      $                d_deltaqw,sigmaw,d_sigmaw,alpha)
 c
@@ -1534,5 +1532,5 @@
       END
 
-      SUBROUTINE wake_vec_modulation(nlon,nl,wk_adv,epsilon,qe,d_qe,
+      SUBROUTINE wake_vec_modulation(nlon,nl,wk_adv,qe,d_qe,
      $           deltaqw,d_deltaqw,sigmaw,d_sigmaw,alpha)
 c------------------------------------------------------
@@ -1555,5 +1553,5 @@
       REAL x,a,b,c,discrim,zeta(nlon)
       REAL epsilon
-!      DATA epsilon/1.e-9/
+      DATA epsilon/1.e-15/
 c
       DO k=1,nl
@@ -1575,6 +1573,6 @@
       b=d_qe(i,k)+(zeta(i)-sigmaw(i))*d_deltaqw(i,k)
      $           -deltaqw(i,k)*d_sigmaw(i)
-!      c=qe(i,k)+(zeta(i)-sigmaw(i))*deltaqw(i,k)-epsilon
-       c=qe(i,k)+(zeta(i)-sigmaw(i))*deltaqw(i,k)
+      c=qe(i,k)+(zeta(i)-sigmaw(i))*deltaqw(i,k)-epsilon
+!       c=qe(i,k)+(zeta(i)-sigmaw(i))*deltaqw(i,k)
 
       discrim=b*b-4.*a*c
