Index: LMDZ4/branches/LMDZ4-dev/libf/phylmd/fisrtilp.F
===================================================================
--- LMDZ4/branches/LMDZ4-dev/libf/phylmd/fisrtilp.F	(revision 1090)
+++ LMDZ4/branches/LMDZ4-dev/libf/phylmd/fisrtilp.F	(revision 1091)
@@ -231,16 +231,16 @@
 C surface.
 C
-      DO i = 1, klon
+      IF(k.LE.klevm1) THEN         
+         DO i = 1, klon
 cIM
-       IF(k.LE.klevm1) THEN         
-        zmair=(paprs(i,k)-paprs(i,k+1))/RG
-        zcpair=RCPD*(1.0+RVTMP2*zq(i))
-        zcpeau=RCPD*RVTMP2
-        zt(i) = ( (t(i,k+1)+d_t(i,k+1))*zrfl(i)*dtime*zcpeau
-     $      + zmair*zcpair*zt(i) )
-     $      / (zmair*zcpair + zrfl(i)*dtime*zcpeau)
-CC        WRITE (6,*) 'cppluie ', zt(i)-(t(i,k+1)+d_t(i,k+1))
-       ENDIF
-      ENDDO
+            zmair=(paprs(i,k)-paprs(i,k+1))/RG
+            zcpair=RCPD*(1.0+RVTMP2*zq(i))
+            zcpeau=RCPD*RVTMP2
+            zt(i) = ( (t(i,k+1)+d_t(i,k+1))*zrfl(i)*dtime*zcpeau
+     $           + zmair*zcpair*zt(i) )
+     $           / (zmair*zcpair + zrfl(i)*dtime*zcpeau)
+C     C        WRITE (6,*) 'cppluie ', zt(i)-(t(i,k+1)+d_t(i,k+1))
+         ENDDO
+      ENDIF
 c
 c
@@ -372,20 +372,36 @@
         endif ! iflag_pdf
 
-         do i=1,klon
-            IF (rneb(i,k) .LE. 0.0) zqn(i) = 0.0
-            IF (rneb(i,k) .GE. 1.0) zqn(i) = zq(i)
-            rneb(i,k) = MAX(0.0,MIN(1.0,rneb(i,k)))
-c           zcond(i) = MAX(0.0,zqn(i)-zqs(i))*rneb(i,k)/(1.+zdqs(i))
-c  On ne divise pas par 1+zdqs pour forcer a avoir l'eau predite par
-c  la convection.
-c  ATTENTION !!! Il va falloir verifier tout ca.
-            zcond(i) = MAX(0.0,zqn(i)-zqs(i))*rneb(i,k)
-c           print*,'ZDQS ',zdqs(i)
-c--Olivier
-            rhcl(i,k)=(zqs(i)+zq(i)-zdelq)/2./zqs(i)
-            IF (rneb(i,k) .LE. 0.0) rhcl(i,k)=zq(i)/zqs(i)
-            IF (rneb(i,k) .GE. 1.0) rhcl(i,k)=1.0
-c--fin
-           ENDDO
+        DO i=1,klon
+           IF (rneb(i,k) .LE. 0.0) THEN
+              zqn(i) = 0.0
+              rneb(i,k) = 0.0
+              zcond(i) = 0.0
+              rhcl(i,k)=zq(i)/zqs(i)
+           ELSE IF (rneb(i,k) .GE. 1.0) THEN
+              zqn(i) = zq(i)
+              rneb(i,k) = 1.0                  
+              zcond(i) = MAX(0.0,zqn(i)-zqs(i))
+              rhcl(i,k)=1.0
+           ELSE
+              zcond(i) = MAX(0.0,zqn(i)-zqs(i))*rneb(i,k)
+              rhcl(i,k)=(zqs(i)+zq(i)-zdelq)/2./zqs(i)
+           ENDIF
+        ENDDO
+!         do i=1,klon
+!            IF (rneb(i,k) .LE. 0.0) zqn(i) = 0.0
+!            IF (rneb(i,k) .GE. 1.0) zqn(i) = zq(i)
+!            rneb(i,k) = MAX(0.0,MIN(1.0,rneb(i,k)))
+!c           zcond(i) = MAX(0.0,zqn(i)-zqs(i))*rneb(i,k)/(1.+zdqs(i))
+!c  On ne divise pas par 1+zdqs pour forcer a avoir l'eau predite par
+!c  la convection.
+!c  ATTENTION !!! Il va falloir verifier tout ca.
+!            zcond(i) = MAX(0.0,zqn(i)-zqs(i))*rneb(i,k)
+!c           print*,'ZDQS ',zdqs(i)
+!c--Olivier
+!            rhcl(i,k)=(zqs(i)+zq(i)-zdelq)/2./zqs(i)
+!            IF (rneb(i,k) .LE. 0.0) rhcl(i,k)=zq(i)/zqs(i)
+!            IF (rneb(i,k) .GE. 1.0) rhcl(i,k)=1.0
+!c--fin
+!           ENDDO
       ELSE
          DO i = 1, klon
