Index: trunk/WRFV3/lmdz/cv3_routines.F90
===================================================================
--- trunk/WRFV3/lmdz/cv3_routines.F90	(revision 258)
+++ trunk/WRFV3/lmdz/cv3_routines.F90	(revision 265)
@@ -1601,4 +1601,12 @@
       logical lwork(nloc)
 
+! L. Fita, LMD. February 2015. 
+      INTEGER                                            :: kl,kl2
+      CHARACTER(LEN=50)                                  :: errmsg, fname
+
+      errmsg = 'ERROR -- error -- ERROR -- error'
+      fname = 'cv3_mixing'
+
+
 !c=====================================================================
 !c --- INITIALIZE VARIOUS ARRAYS USED IN THE COMPUTATIONS
@@ -1694,4 +1702,14 @@
          sij(il,i,j)=amin1(1.0,sij(il,i,j))
          endif ! new
+! L. Fita, LMD. Feburary 2015, Checkings...
+          IF (ment(il,i,j) > 10.) THEN
+            PRINT *,TRIM(errmsg)
+            PRINT *,'  ' // TRIM(fname) // ' ** after first computation '
+            PRINT *,'   ' // TRIM(fname) // ': wrong ment= ', ment(il,i,j),          &
+              ' value at ',il,', ',i,', ',j,' ! (< 10.) !!'
+            PRINT *,'   m(i) sij(i,j) anum denom h(j) hp(i) t(j) rti rr(j) __________'
+            PRINT *,m(il,i),sij(il,i,j),anum,denom,h(il,j),hp(il,i),t(il,j),rti,     &
+              rr(il,j)
+          END IF
  700   continue
  710  continue
@@ -1726,4 +1744,13 @@
 !cMAF      sij(il,i,i)=1.0
       sij(il,i,i)=0.0
+! L. Fita, LMD. Feburary 2015, Checkings...
+      IF (ment(il,i,i) > 10.) THEN
+        PRINT *,TRIM(errmsg)
+        PRINT *,'  ' // TRIM(fname) // ' ** after detrained flux '
+        PRINT *,'   ' // TRIM(fname) // ': wrong ment= ', ment(il,i,i), ' value at ',&
+          il,', ',i,', ',i,' ! (< 10.) !!'
+        PRINT *,'   m(i) _________________'
+        PRINT *,m(il,i)
+      END IF
       end if
  740  continue
@@ -1829,4 +1856,15 @@
         asij(il)=asij(il)+wgh*(delp+delm)
         ment(il,i,j)=ment(il,i,j)*(delp+delm)*wgh
+! L. Fita, LMD. Feburary 2015, Checkings...
+        IF (ment(il,i,j) > 10.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** after first normalized '
+          PRINT *,'   ' // TRIM(fname) // ': wrong ment= ', ment(il,i,j),            &
+            ' value at ',il,', ',i,', ',j,' ! (< 10.) !!'
+          PRINT *,'   delp delm wgh sjmin sjmax smid sij(i,j-1) sij(i,j) ' //        &
+            'sij(i,j+1) smax scrit _________________'
+          PRINT *,delp,delm,wgh,sjmin,sjmax,smid,sij(il,i,j-1),sij(il,i,j),          &
+            sij(il,i,j+1),smax(il),scrit(il)
+        END IF
        endif
       endif
@@ -1834,4 +1872,20 @@
 
 175   continue
+
+
+      DO il=1,ncum
+! L. Fita, LMD. February 2015. Plotting vertical profile on asij(il) == 1.0e-16
+        IF (asij(il) < 1.0e-16) THEN
+           PRINT *,TRIM(errmsg)
+           PRINT *,'  ' // TRIM(fname) // ' ** asij= ',asij(il),' at il: ',il,       &
+             ' too small!!'
+           PRINT *,'    vertical profile i sig ph t rr rs u v _______'
+           DO kl=1,nl
+             PRINT *,i, sig(il,kl), ph(il,kl), t(il,kl), rr(il,kl), rs(il,kl),       &
+               u(il,kl), v(il,kl)
+           END DO
+           STOP
+        END IF
+      END DO
 
       do il=1,ncum
@@ -1845,4 +1899,5 @@
       enddo
 
+
       do 180 j=minorig,nl
        do il=1,ncum
@@ -1850,4 +1905,13 @@
        &   .and. j.ge.(icb(il)-1) .and. j.le.inb(il) ) then
          ment(il,i,j)=ment(il,i,j)*asij(il)
+! L. Fita, LMD. Feburary 2015, Checkings...
+         IF (ment(il,i,j) > 10.) THEN
+           PRINT *,TRIM(errmsg)
+           PRINT *,'  ' // TRIM(fname) // ' ** after 2nd normalized '
+           PRINT *,'   ' // TRIM(fname) // ': wrong ment= ', ment(il,i,j),           &
+             ' value at ',il,', ',i,', ',j,' ! (< 10.) !!'
+           PRINT *,'   asij(il) _________________'
+           PRINT *,asij(il)
+         END IF
         endif
        enddo
@@ -1861,4 +1925,13 @@
          ment(il,i,j)=ment(il,i,j)*sig(il,j)
          bsum(il,i)=bsum(il,i)+ment(il,i,j)
+! L. Fita, LMD. Feburary 2015, Checkings...
+         IF (ment(il,i,j) > 10.) THEN
+           PRINT *,TRIM(errmsg)
+           PRINT *,'  ' // TRIM(fname) // ' ** after 3rd normalized '
+           PRINT *,'   ' // TRIM(fname) // ': wrong ment= ', ment(il,i,j),           &
+             ' value at ',il,', ',i,', ',j,' ! (< 10.) !!'
+           PRINT *,'   sig(j) _________________'
+           PRINT *,sig(il,j)
+         END IF
         endif
        enddo
@@ -1877,4 +1950,13 @@
        &   .and. j.ge.(icb(il)-1) .and. j.le.inb(il) ) then
          ment(il,i,j)=ment(il,i,j)*asum(il,i)*bsum(il,i)
+! L. Fita, LMD. Feburary 2015, Checkings...
+         IF (ment(il,i,j) > 10.) THEN
+           PRINT *,TRIM(errmsg)
+           PRINT *,'  ' // TRIM(fname) // ' ** after 4th normalized '
+           PRINT *,'   ' // TRIM(fname) // ': wrong ment= ', ment(il,i,j),           &
+             ' value at ',il,', ',i,', ',j,' ! (< 10.) !!'
+           PRINT *,'   asum(i) bsum(i) _________________'
+           PRINT *,asum(il,i),bsum(il,i)
+         END IF
         endif
        enddo
@@ -1901,4 +1983,13 @@
 !cMAF        sij(il,i,i)=1.0
         sij(il,i,i)=0.0
+! L. Fita, LMD. Feburary 2015, Checkings...
+        IF (ment(il,i,i) > 10.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** after 5th normalized '
+          PRINT *,'   ' // TRIM(fname) // ': wrong ment= ', ment(il,i,i),            &
+            ' value at ',il,', ',i,', ',i,' ! (< 10.) !!'
+          PRINT *,'   m(i) _________________'
+          PRINT *,m(il,i)
+        END IF
        endif
       enddo ! il
@@ -1929,4 +2020,13 @@
           if(zm(il,im).ne.0.) then
           ment(il,im,jm)=ment(il,im,jm)*m(il,im)/zm(il,im)
+! L. Fita, LMD. Feburary 2015, Checkings...
+          IF (ment(il,im,jm) > 10.) THEN
+            PRINT *,TRIM(errmsg)
+            PRINT *,'  ' // TRIM(fname) // ' ** after 6th normalized '
+            PRINT *,'   ' // TRIM(fname) // ': wrong ment= ', ment(il,im,jm),        &
+              ' value at ',il,', ',im,', ',jm,' ! (< 10.) !!'
+            PRINT *,'   m(im) zm(im) _________________'
+            PRINT *,m(il,im), zm(il,im)
+          END IF
           endif
          end do
@@ -2168,5 +2268,5 @@
 !cc---end jyg---
 !c
-!c--------retour à la formulation originale d'Emanuel.
+!c--------retour \E0 la formulation originale d'Emanuel.
       b6=bfac*50.*sigd(il)*(ph(il,i)-ph(il,i+1))*sigt*afac
       c6=water(il,i+1)+bfac*wdtrain(il)                                              &
@@ -2176,5 +2276,5 @@
 !cjyg    Dans sa formulation originale, Emanuel calcule l'evaporation par:
 !cc             evap(il,i)=sigt*afac*revap
-!c     ce qui n'est pas correct. Dans cv_routines, la formulation a été modifiee.
+!c     ce qui n'est pas correct. Dans cv_routines, la formulation a \E9t\E9 modifiee.
 !c     Ici,l'evaporation evap est simplement calculee par l'equation de
 !c     conservation.
@@ -2466,4 +2566,10 @@
       real siga(nloc,nd), sax(nloc,nd), mac(nloc,nd)      ! cld
 
+! L. Fita, LMD. February 2015. 
+      CHARACTER(LEN=50)                                  :: errmsg, fname
+
+      errmsg = 'ERROR -- error -- ERROR -- error'
+      fname = 'cv3_yield'
+
 !c      print*,'cv3_yield declarations 3'
 !c-------------------------------------------------------------
@@ -2610,6 +2716,18 @@
       endif
       endif  ! iflag
-      enddo
-
+
+! L. Fita, LMD. Feburary 2015, Checkings...
+        IF (ft(il,1) > 100.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** after Correction pour conserver l eau '
+          PRINT *,'   ' // TRIM(fname) // ': wrong ft= ', ft(il,1),' value at ',il,  &
+            ' 1! (< 100.) !!'
+          PRINT *,'   sigd mp(2) t_wake(1) t_wake(2) b(1) work  water(2) wt(1) ' //  &
+            'cpn(1) am(il) t(1) t(2) gz(1) gz(2) _________________'
+          PRINT *,sigd(il), mp(il,2), t_wake(il,1), t_wake(il,2), b(il,1),           &
+            work(il),  water(il,2), wt(il,1), cpn(il,1), am(il), t(il,1), t(il,2),   &
+            gz(il,1), gz(il,2)
+        END IF
+      enddo
 
        do j=2,nl
@@ -2632,4 +2750,17 @@
        enddo
        ENDIF
+
+! L. Fita, LMD. Feburary 2015, Checkings...
+        IF (ft(il,1) > 100.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** after sature '
+          PRINT *,'   ' // TRIM(fname) // ': wrong ft= ', ft(il,1),' value at ',il,  &
+            ' 1! (< 100.) !!'
+          PRINT *,'    work ment(',j,',1) hent(',j,',1) h(1) t(1) rr(1) Qent(',j,    &
+            ',1)_________________'
+          PRINT *,work(il), ment(il,j,1), hent(il,j,1), h(il,1), t(il,1), rr(il,1),  &
+            Qent(il,j,1)
+        END IF
+
         enddo
          ! fin sature
@@ -2754,4 +2885,13 @@
           endif
         endif
+! L. Fita, LMD. Feburary 2015, Checkings...
+        IF (amp1(il) > 10.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** amp1 1 '
+          PRINT *,'   ' // TRIM(fname) // ': wrong amp1= ', amp1(il),' value at ',il,&
+            '! (< 10.) !!'
+          PRINT *,'   k m(k) cbmf wghti(k) _________________'
+          PRINT *,k,m(il,k),cbmf(il),wghti(il,k)
+        END IF
  441   continue
  440  continue
@@ -2763,4 +2903,13 @@
           amp1(il)=amp1(il)+ment(il,k,j)
          endif
+! L. Fita, LMD. Feburary 2015, Checkings...
+        IF (amp1(il) > 10.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** amp1 2 '
+          PRINT *,'   ' // TRIM(fname) // ': wrong amp1= ', amp1(il),' value at ',il,&
+            '! (< 10.) !!'
+          PRINT *,'   k j ment(k,j) _________________'
+          PRINT *,k,j,ment(il,k,j)
+        END IF
 452     continue
 451    continue
@@ -2802,4 +2951,18 @@
        ftd(il,i)=ft(il,i)
         ! fin precip
+
+! L. Fita, LMD. Feburary 2015, Checkings...
+        IF (ft(il,i) > 100.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** after precip 1 '
+          PRINT *,'   ' // TRIM(fname) // ': wrong ft= ', ft(il,i),' value at ',il,i,&
+            '! (< 100.) !!'
+          PRINT *,'  sigd lvcp(i) evap(i) evap(i+1) mp(i) mp(i+1) t_wake(i-1) ' //   &
+            't_wake(i) t_wake(i+1) b(i-1) b(i) dpinv water(i+1)  _________________'
+          PRINT *,sigd(il),lvcp(il,i),evap(il,i),evap(il,i+1),mp(il,i),mp(il,i+1),   &
+            t_wake(il,i-1),t_wake(il,i),t_wake(il,i+1),b(il,i-1),b(il,i),            &
+            dpinv, water(il,i+1)
+        END IF
+
 !c
            ! sature
@@ -2835,4 +2998,17 @@
       endif ! cvflag_grav
 
+        IF (ft(il,i) > 100.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** after precip 2 sature '
+          PRINT *,'   ' // TRIM(fname) // ': wrong ft= ', ft(il,i),' value at ',il,i,&
+            '! (< 100.) !!'
+          PRINT *,'   amp1 t(i) t(i+1) gz(i) gz(i+1) ad t(i-1) t(i) gz(i-1) gz(i) '//&
+            'ment(i,i) hp(i) h(i) rr(i) qent(i,i) mp(i) mp(i+1) t_wake(i-1) ' //     &
+            't_wake(i) b(i-1) b(i) _________________'
+          PRINT *,amp1(il),t(il,i),t(il,i+1),gz(il,i),gz(il,i+1),ad(il),t(il,i-1),   &
+            t(il,i),gz(il,i-1),gz(il,i),ment(il,i,i),hp(il,i),h(il,i),rr(il,i),      &
+            qent(il,i,i),mp(il,i),mp(il,i+1),t_wake(il,i-1),t_wake(il,i),b(il,i-1),  &
+            b(il,i)
+        END IF
 
         if (cvflag_grav) then
@@ -2926,4 +3102,16 @@
        endif  !cvflag_grav
        endif  ! i
+
+        IF (ft(il,i) > 100.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** after precip 3 '
+          PRINT *,'   ' // TRIM(fname) // ': wrong ft= ', ft(il,i),' value at ',il,i,&
+            '! (< 100.) !!'
+          PRINT *,'    k dpinv ment(k,i) hent(k,i) h(i) t(i) rr(i) awat Qent(k,i)    &
+            cpinv_________________'
+          PRINT *,k,dpinv,ment(il,k,i),hent(il,k,i),h(il,i),t(il,i),rr(il,i),        &
+            awat(il),Qent(il,k,i),cpinv
+        END IF
+
        enddo
       ENDIF
@@ -2994,4 +3182,16 @@
        endif  !cvflag_grav
        endif  ! i
+
+        IF (ft(il,i) > 100.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** after precip 3 '
+          PRINT *,'   ' // TRIM(fname) // ': wrong ft= ', ft(il,i),' value at ',il,i,&
+            '! (< 100.) !!'
+          PRINT *,'    k dpinv ment(k,i) hent(k,i) h(i) t(i) rr(i) awat Qent(k,i)    &
+            cpinv_________________'
+          PRINT *,k,dpinv,ment(il,k,i),hent(il,k,i),h(il,i),t(il,i),rr(il,i),        &
+            awat(il),Qent(il,k,i),cpinv
+        END IF
+
        enddo
       ENDIF
@@ -3161,5 +3361,17 @@
        &       /(ph(il,inb(il)-1)-ph(il,inb(il)))
        endif
+
+        IF (ft(il,inb(il)) > 100.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** after Correction bug le 18-03-09 '
+          PRINT *,'   ' // TRIM(fname) // ': wrong ft= ', ft(il,inb(il)),' value at '&
+            ,il,inb(il),'! (< 100.) !!'
+          PRINT *,'   inb ft(inb(il)-1) ax cpn(inb) ph(inb) ph(inb+1) cpn(inb-1) ' //&
+            'ph(inb(il)-1)  ph(inb(il)) _________________'
+          PRINT *,il,inb(il),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))
+        END IF
       ENDIF    !iflag
+
 503   continue
 
@@ -3242,4 +3454,14 @@
          fr(il,i)=fqd(il,i)+bsum(il)/csum(il)
         endif
+
+        IF (ft(il,i) > 100.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** after homogenize tendencies below cloud base'
+          PRINT *,'   ' // TRIM(fname) // ': wrong ft= ', ft(il,i),' value at '      &
+            ,il,i,'! (< 100.) !!'
+          PRINT *,'  ftd(i) asum t(i) th(i) dsum _________________'
+          PRINT *,ftd(il,i),asum(il),t(il,i),th(il,i),dsum(il)
+        END IF
+
        enddo
       enddo
@@ -3280,4 +3502,15 @@
         precip(il) = precip(il)/alpha_qpos(il)
        ENDIF
+! L. Fita, LMD. Feburary 2015, Checkings...
+       DO i=1, nl
+        IF (ft(il,i) > 100.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** after computing alpha_qpos'
+          PRINT *,'   ' // TRIM(fname) // ': wrong ft= ', ft(il,i),' value at '      &
+            ,il,i,'! (< 100.) !!'
+          PRINT *,'  i ft(i) alpha_qpos ft(i)/aplha_qpos _________________'
+          PRINT *,i,ft(il,i),alpha_qpos(il),ft(il,i)/alpha_qpos(il)
+        END IF
+       END DO
       ENDDO
       DO i = 1,nl
@@ -3294,4 +3527,14 @@
          Vprecip(il,i) = Vprecip(il,i)/alpha_qpos(il)
         ENDIF
+        IF (ft(il,i) > 100.) THEN
+          PRINT *,TRIM(errmsg)
+          PRINT *,'  ' // TRIM(fname) // ' ** after ensure moisture positivity'
+          PRINT *,'   ' // TRIM(fname) // ': wrong ft= ', ft(il,i),' value at '      &
+            ,il,i,'! (< 100.) !!'
+          PRINT *,'   ft(i) alpha_qpos fr(i) s_wake rr_wake(i) s_wake rr(i) _________________'
+          PRINT *,ft(il,i),alpha_qpos(il),fr(il,i),s_wake(il),rr_wake(il,i),         &
+            s_wake(il),rr(il,i)
+        END IF
+
        ENDDO
       ENDDO
@@ -3603,5 +3846,5 @@
 !c
 !  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
+! et eau condens\E9e pr\E9cipit\E9e dans masse d'air satur\E9 : l_m*dM_m/dzdz.dzdz
         do j=1,na
          do k=1,na
Index: trunk/WRFV3/lmdz/cv3p_mixing.F90
===================================================================
--- trunk/WRFV3/lmdz/cv3p_mixing.F90	(revision 258)
+++ trunk/WRFV3/lmdz/cv3p_mixing.F90	(revision 265)
@@ -63,4 +63,5 @@
       REAL amxupcrit, df, ff
       INTEGER nstep
+
 !C
 !c --   Mixing probability distribution functions
@@ -86,4 +87,12 @@
 !C
 
+! L. Fita, LMD. February 2015. 
+      INTEGER                                            :: kl,kl2
+      INTEGER, DIMENSION(nloc)                           :: Nnodetr 
+      CHARACTER(LEN=50)                                  :: errmsg, fname
+
+      errmsg = 'ERROR -- error -- ERROR -- error'
+      fname = 'cv3p_mixing'
+
 !c=====================================================================
 !c --- INITIALIZE VARIOUS ARRAYS USED IN THE COMPUTATIONS
@@ -144,4 +153,7 @@
 !c --- FRACTION (sij)
 !c=====================================================================
+! J.Y. Granpeix et L. Fita, LMD Feburary 2015. Counting the number of points without
+!    detrainment 
+      Nnodetr = 0
 
       do 750 i=minorig+1, nl
@@ -553,5 +565,20 @@
         if ( i.ge.icb(il) .and. i.le.inb(il) .and. lwork(il)                         &
        &   .and. j.ge.(icb(il)-1) .and. j.le.inb(il) ) then
-         ment(il,i,j)=ment(il,i,j)*asij(il)
+! J.Y. Grandpeix, Janury 2015 LMD. No level of detrainment found. No mixing!
+         IF (asij(il) < 100.) THEN
+           ment(il,i,j)=ment(il,i,j)*asij(il)
+         ELSE
+           ment(il,i,j)=0.
+           Nnodetr(il) = Nnodetr(il) + 1
+         ENDIF
+! L. Fita, LMD. Feburary 2015, Checkings...
+          IF (ment(il,i,j) > 10.) THEN
+            PRINT *,TRIM(errmsg)
+            PRINT *,'  ' // TRIM(fname) // ' ** after asij '
+            PRINT *,'   ' // TRIM(fname) // ': wrong ment= ', ment(il,i,j),          &
+              ' value at ', il,', ',i,', ',j, '! (< 10.) !!'
+            PRINT *,'   ment(i,j) asij _________________'
+            PRINT *,ment(il,i,j),asij(il)
+          END IF
         endif
        enddo
@@ -594,4 +621,15 @@
 789   continue
 !c
+
+! J.Y. Granpeix et L. Fita, LMD Feburary 2015. Counting the number of points without
+!    detrainment 
+      DO il=1,ncum
+        IF (Nnodetr(il) > 0) THEN
+             PRINT *,'  '//TRIM(fname)// ': No level of detrainment found. No mixing!'
+             PRINT *,'    at point: ',il,' no detrainment found at ',Nnodetr(il),    &
+               ' levels!'
+        END IF
+      END DO
+
       return
       end
Index: trunk/WRFV3/lmdz/cva_driver.F90
===================================================================
--- trunk/WRFV3/lmdz/cva_driver.F90	(revision 258)
+++ trunk/WRFV3/lmdz/cva_driver.F90	(revision 265)
@@ -485,4 +485,12 @@
       CHARACTER (LEN=80) :: abort_message
 
+! L. Fita, LMD. February 2015. 
+      INTEGER                                            :: kl,kl2
+      CHARACTER(LEN=50)                                  :: errmsg, fname
+
+      errmsg = 'ERROR -- error -- ERROR -- error'
+      fname = 'cva_driver'
+
+
 !c
 !      print *, 't1, t1_wake ',(k,t1(1,k),t1_wake(1,k),k=1,klev)
@@ -867,4 +875,18 @@
        &                ,iflag,cbmf)
       endif
+
+      DO il=1,ncum
+        DO kl=1,klev
+! L. Fita, LMD. Feburary 2015, Checkings...
+          IF (m(il,kl) > 10.) THEN
+            PRINT *,TRIM(errmsg)
+            PRINT *,'  ' // TRIM(fname) // ' ** after closure '
+            PRINT *,'   ' // TRIM(fname) // ': wrong m= ', m(il,kl),' value at ',il, &
+              kl, '! (< 10.) !!'
+            PRINT *,'   kl m(kl) _________________'
+            PRINT *,kl,m(il,kl)
+          END IF
+        END DO
+       END DO
 !c
 !      print *,'cv_closure-> cape ',cape(1)
@@ -899,4 +921,25 @@
        print *,' cv_mixing ->'
       endif !(debut) THEN 
+      DO il=1,ncum
+        DO kl=1,inb(il)
+          DO kl2=1,inb(il)
+! L. Fita, LMD. Feburary 2015, Checkings...
+            IF (kl2 > klev) THEN
+              PRINT *,TRIM(errmsg)
+              PRINT *,'  ' // TRIM(fname) // ' ** after mixing: wrong kl2= ', kl2,   &
+                ' (< klev) ',klev
+            END IF
+            IF (ment(il,kl,kl2) > 10.) THEN
+              PRINT *,TRIM(errmsg)
+              PRINT *,'  ' // TRIM(fname) // ' ** after mixing '
+              PRINT *,'   ' // TRIM(fname) // ': wrong ment= ', ment(il,kl,kl2),     &
+                ' value at ',il, kl, kl2, '! (< 10.) !!'
+              PRINT *,'   kl ment(kl,kl2) _________________'
+              PRINT *,kl,kl2,ment(il,kl,kl2)
+            END IF
+          END DO
+        END DO
+       END DO
+
 !c      do i = 1,klev
 !c        print*,'cv_mixing-> i,ment ',i,(ment(1,i,j),j=1,klev)
@@ -929,4 +972,35 @@
        print *,'cv_unsat-> '
       endif !(debut) THEN
+      DO il=1,ncum
+        DO kl=1,klev
+! L. Fita, LMD. Feburary 2015, Checkings...
+          IF (m(il,kl) > 10.) THEN
+            PRINT *,TRIM(errmsg)
+            PRINT *,'  ' // TRIM(fname) // ' ** after unsat '
+            PRINT *,'   ' // TRIM(fname) // ': wrong m= ', m(il,kl), ' value at ',   &
+              il, kl, '! (< 10.) !!'
+            PRINT *,'   kl m(kl) _________________'
+            PRINT *,kl,m(il,kl)
+          END IF
+        END DO
+        DO kl=1,inb(il)
+          DO kl2=1,inb(il)
+            IF (kl2 > klev) THEN
+              PRINT *,TRIM(errmsg)
+              PRINT *,'  ' // TRIM(fname) // ' ** after unsat: wrong kl2= ', kl2,   &
+                ' (< klev) ',klev
+            END IF
+! L. Fita, LMD. Feburary 2015, Checkings...
+            IF (ment(il,kl,kl2) > 10.) THEN
+              PRINT *,TRIM(errmsg)
+              PRINT *,'  ' // TRIM(fname) // ' ** after unsat '
+              PRINT *,'   ' // TRIM(fname) // ': wrong ment= ', ment(il,kl,kl2),    &
+                ' value at ',il, kl, kl2, '! (< 10.) !!'
+              PRINT *,'   kl kl2 ment(kl,kl2) _________________'
+              PRINT *,kl,kl2,ment(il,kl,kl2)
+            END IF
+          END DO
+        END DO
+       END DO
 !
 !c      print *,'cv_unsat-> mp ',mp
