Index: LMDZ6/branches/Optimisation_LMDZ/libf/phylmd/cv3_routines.F90
===================================================================
--- LMDZ6/branches/Optimisation_LMDZ/libf/phylmd/cv3_routines.F90	(revision 3707)
+++ LMDZ6/branches/Optimisation_LMDZ/libf/phylmd/cv3_routines.F90	(revision 3708)
@@ -4956,5 +4956,5 @@
 !local variables:
   INTEGER i, j, k
-  REAL epm(nloc, na, na)
+  REAL :: epm, eplaMm_tmp
 
 ! variables d'Emanuel : du second indice au troisieme
@@ -4970,5 +4970,4 @@
   d1a(:, :) = 0.
   dam(:, :) = 0.
-  epm(:, :, :) = 0.
   eplaMm(:, :) = 0.
   epmlmMm(:, :, :) = 0.
@@ -4976,44 +4975,5 @@
   phi2(:, :, :) = 0.
 
-! fraction deau condensee dans les melanges convertie en precip : epm
-! et eau condensée précipitée dans masse d'air saturé : l_m*dM_m/dzdz.dzdz
-  DO j = 1, nl
-    DO k = 1, nl
-      DO i = 1, ncum
-        IF (k>=icb(i) .AND. k<=inb(i) .AND. & 
-!!jyg              j.ge.k.and.j.le.inb(i)) then
-!!jyg             epm(i,j,k)=1.-(1.-ep(i,j))*clw(i,j)/elij(i,k,j)
-            j>k .AND. j<=inb(i)) THEN
-          epm(i, j, k) = 1. - (1.-ep(i,j))*clw(i, j)/max(elij(i,k,j), 1.E-16)
-!!
-          epm(i, j, k) = max(epm(i,j,k), 0.0)
-        END IF
-      END DO
-    END DO
-  END DO
-
-
-  DO j = 1, nl
-    DO k = 1, nl
-      DO i = 1, ncum
-        IF (k>=icb(i) .AND. k<=inb(i)) THEN
-          eplaMm(i, j) = eplamm(i, j) + &
-                         ep(i, j)*clw(i, j)*ment(i, j, k)*(1.-sigij(i,j,k))
-        END IF
-      END DO
-    END DO
-  END DO
-
-  DO j = 1, nl
-    DO k = 1, j - 1
-      DO i = 1, ncum
-        IF (k>=icb(i) .AND. k<=inb(i) .AND. j<=inb(i)) THEN
-          epmlmMm(i, j, k) = epm(i, j, k)*elij(i, k, j)*ment(i, k, j)
-        END IF
-      END DO
-    END DO
-  END DO
-
-! matrices pour calculer la tendance des concentrations dans cvltr.F90
+
   DO j = 1, nl
     DO k = 1, nl
@@ -5022,13 +4982,27 @@
         phi(i, j, k) = sigij(i, k, j)*ment(i, k, j)
         d1a(i, j) = d1a(i, j) + ment(i, k, j)*ep(i, k)*(1.-sigij(i,k,j))
-        IF (k<=j) THEN
-          dam(i, j) = dam(i, j) + ment(i, k, j)*epm(i, k, j)*(1.-ep(i,k))*(1.-sigij(i,k,j))
-          phi2(i, j, k) = phi(i, j, k)*epm(i, j, k)
-        END IF
       END DO
     END DO
   END DO
-
-  RETURN
+  DO j = 1, nl    
+    DO i = 1, ncum
+      eplaMm_tmp = 0
+      DO k = icb(i), inb(i)
+        eplaMm_tmp = eplaMm_tmp + ment(i, j, k)*(1.-sigij(i,j,k))
+      END DO
+      eplaMm(i, j) = eplamm(i, j) + ep(i, j)*clw(i, j)*eplaMm_tmp
+    END DO
+  END DO     
+  DO i = 1, ncum
+    DO j = 1, inb(i)
+      DO k = icb(i), min(j-1,inb(i))
+        epm = 1. - (1.-ep(i,j))*clw(i, j)/max(elij(i,k,j), 1.E-16)
+        epm = max(epm, 0.0)
+        phi2(i, j, k) = phi(i, j, k)*epm
+        epmlmMm(i, j, k) = epm*elij(i, k, j)*ment(i, k, j)
+      END DO
+    END DO
+  END DO
+
 END SUBROUTINE cv3_tracer
 !AC! et !RomP <<<
