Index: /LMDZ5/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/physiq_mod.F90	(revision 2704)
+++ /LMDZ5/trunk/libf/phylmd/physiq_mod.F90	(revision 2705)
@@ -54,5 +54,5 @@
        d_t_ajs_x,d_q_ajs_x, &
        !
-       d_t_eva,d_q_eva, &
+       d_t_eva,d_q_eva,d_ql_eva,d_qi_eva, &
        d_t_lsc,d_q_lsc,d_ql_lsc,d_qi_lsc, &
        d_t_lscst,d_q_lscst, &
@@ -1958,52 +1958,11 @@
     ! Re-evaporer l'eau liquide nuageuse
     !
-    DO k = 1, klev  ! re-evaporation de l'eau liquide nuageuse
-       DO i = 1, klon
-          zlvdcp=RLVTT/RCPD/(1.0+RVTMP2*q_seri(i,k))
-          !jyg<
-          !  Attention : Arnaud a propose des formules completement differentes
-          !                  A verifier !!!
-          zlsdcp=RLSTT/RCPD/(1.0+RVTMP2*q_seri(i,k))
-          IF (iflag_ice_thermo .EQ. 0) THEN
-             zlsdcp=zlvdcp
-          ENDIF
-          !>jyg
-
-          IF (iflag_ice_thermo.eq.0) THEN   
-             !pas necessaire a priori
-
-             zdelta = MAX(0.,SIGN(1.,RTT-t_seri(i,k)))
-             zb = MAX(0.0,ql_seri(i,k))
-             za = - MAX(0.0,ql_seri(i,k)) &
-                  * (zlvdcp*(1.-zdelta)+zlsdcp*zdelta)
-             t_seri(i,k) = t_seri(i,k) + za
-             q_seri(i,k) = q_seri(i,k) + zb
-             ql_seri(i,k) = 0.0
-             d_t_eva(i,k) = za
-             d_q_eva(i,k) = zb
-
-          ELSE
-
-             !CR: on r\'e-\'evapore eau liquide et glace
-
-             !        zdelta = MAX(0.,SIGN(1.,RTT-t_seri(i,k)))
-             !        zb = MAX(0.0,ql_seri(i,k))
-             !        za = - MAX(0.0,ql_seri(i,k)) &
-             !             * (zlvdcp*(1.-zdelta)+zlsdcp*zdelta)
-             zb = MAX(0.0,ql_seri(i,k)+qs_seri(i,k))
-             za = - MAX(0.0,ql_seri(i,k))*zlvdcp & 
-                  - MAX(0.0,qs_seri(i,k))*zlsdcp
-             t_seri(i,k) = t_seri(i,k) + za
-             q_seri(i,k) = q_seri(i,k) + zb
-             ql_seri(i,k) = 0.0
-             !on \'evapore la glace
-             qs_seri(i,k) = 0.0
-             d_t_eva(i,k) = za
-             d_q_eva(i,k) = zb
-          ENDIF
-
-       ENDDO
-    ENDDO
-    !IM
+     CALL reevap (klon,klev,iflag_ice_thermo,t_seri,q_seri,ql_seri,qs_seri, &
+   &         d_t_eva,d_q_eva,d_ql_eva,d_qi_eva)
+
+     CALL add_phys_tend &
+            (du0,dv0,d_t_eva,d_q_eva,d_ql_eva,d_qi_eva,paprs,&
+               'eva',abortphy,flag_inhib_tend)
+
     IF (ip_ebil_phy.ge.2) THEN 
        ztit='after reevap'
Index: /LMDZ5/trunk/libf/phylmd/reevap.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/reevap.F90	(revision 2705)
+++ /LMDZ5/trunk/libf/phylmd/reevap.F90	(revision 2705)
@@ -0,0 +1,71 @@
+  SUBROUTINE reevap (klon,klev,iflag_ice_thermo,t_seri,q_seri,ql_seri,qs_seri, &
+   &         d_t_eva,d_q_eva,d_ql_eva,d_qs_eva)
+
+
+    IMPLICIT none
+    !>======================================================================
+
+    INTEGER klon,klev,iflag_ice_thermo
+    REAL, DIMENSION(klon,klev), INTENT(in) :: t_seri,q_seri,ql_seri,qs_seri
+    REAL, DIMENSION(klon,klev), INTENT(out) :: d_t_eva,d_q_eva,d_ql_eva,d_qs_eva
+
+    REAL za,zb,zdelta,zlvdcp,zlsdcp
+    INTEGER i,k
+
+    !--------Stochastic Boundary Layer Triggering: ALE_BL--------
+    !---Propri\'et\'es du thermiques au LCL 
+    include "YOMCST.h"
+    include "YOETHF.h"
+    include "FCTTRE.h"
+    !IM 100106 BEG : pouvoir sortir les ctes de la physique
+    !
+    ! Re-evaporer l'eau liquide nuageuse
+    !
+
+    DO k = 1, klev  ! re-evaporation de l'eau liquide nuageuse
+       DO i = 1, klon
+          zlvdcp=RLVTT/RCPD/(1.0+RVTMP2*q_seri(i,k))
+          !jyg<
+          !  Attention : Arnaud a propose des formules completement differentes
+          !                  A verifier !!!
+          zlsdcp=RLSTT/RCPD/(1.0+RVTMP2*q_seri(i,k))
+          IF (iflag_ice_thermo .EQ. 0) THEN
+             zlsdcp=zlvdcp
+          ENDIF
+          !>jyg
+
+          IF (iflag_ice_thermo.eq.0) THEN   
+             !pas necessaire a priori
+
+             zdelta = MAX(0.,SIGN(1.,RTT-t_seri(i,k)))
+             zb = MAX(0.0,ql_seri(i,k))
+             za = - MAX(0.0,ql_seri(i,k)) &
+                  * (zlvdcp*(1.-zdelta)+zlsdcp*zdelta)
+             d_t_eva(i,k) = za
+             d_q_eva(i,k) = zb
+             d_ql_eva(i,k) = -ql_seri(i,k)
+             d_qs_eva(i,k) = 0.
+
+          ELSE
+
+             !CR: on r\'e-\'evapore eau liquide et glace
+
+             !        zdelta = MAX(0.,SIGN(1.,RTT-t_seri(i,k)))
+             !        zb = MAX(0.0,ql_seri(i,k))
+             !        za = - MAX(0.0,ql_seri(i,k)) &
+             !             * (zlvdcp*(1.-zdelta)+zlsdcp*zdelta)
+             zb = MAX(0.0,ql_seri(i,k)+qs_seri(i,k))
+             za = - MAX(0.0,ql_seri(i,k))*zlvdcp & 
+                  - MAX(0.0,qs_seri(i,k))*zlsdcp
+             d_t_eva(i,k) = za
+             d_q_eva(i,k) = zb
+             d_ql_eva(i,k) = -ql_seri(i,k)
+             d_qs_eva(i,k) = -qs_seri(i,k)
+          ENDIF
+
+       ENDDO
+    ENDDO
+
+RETURN
+
+END SUBROUTINE reevap
