Index: /LMDZ6/trunk/libf/phylmd/lmdz_wake.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/lmdz_wake.F90	(revision 4841)
+++ /LMDZ6/trunk/libf/phylmd/lmdz_wake.F90	(revision 4842)
@@ -319,5 +319,5 @@
   REAL, DIMENSION (klon)                                :: h_zzz
 
-!print*,'WAKE LJYFo'
+!print*,'WAKE LJYFz'
 
   ! -------------------------------------------------------------------------
@@ -2422,4 +2422,5 @@
 USE lmdz_wake_ini , ONLY : RG
 USE lmdz_wake_ini , ONLY : hwmin
+USE lmdz_wake_ini , ONLY : iflag_wk_new_ptop
 
 IMPLICIT NONE
@@ -2457,5 +2458,4 @@
 REAL                                              :: ddd!!
 
-LOGICAL :: new_ptop
 
 INTEGER, SAVE :: ipas=0
@@ -2471,7 +2471,4 @@
 !print*,'compte=',compte
 
-new_ptop=.false.
-
- 
     ! Determine Ptop from buoyancy integral
     ! ---------------------------------------
@@ -2589,5 +2586,5 @@
     ! nouveau calcul de hw et ptop
     ! -----------------------------------------------------------------------
-if (new_ptop) then
+if (iflag_wk_new_ptop>0) then
     
     epsil = 0.05                            ! 5 pour cent
@@ -2611,4 +2608,6 @@
              endif
              int_dth(i,k) = int_dth(i,k-1) + ddd
+          !ELSE
+          !   int_dth(i,k) = 0.
           END IF
        END DO
@@ -2621,4 +2620,6 @@
        IF (wk_adv(i)) THEN
         frac_int_dth(i)=(1.-epsil)*int_dth(i,k_ptop_provis(i))
+       !ELSE
+       ! frac_int_dth(i)=0.
        ENDIF
     ENDDO
@@ -2626,8 +2627,10 @@
        DO i =1, klon
 !         print*,ipas,'yyy ',k,int_dth(i,k),frac_int_dth(i)
-          IF (wk_adv(i) .AND. int_dth(i,k)>=frac_int_dth(i)) THEN
-            ktop1(i) = min(k, k_ptop_provis(i))
-            !print*,ipas,'yyy ktop1= ',ktop1
-          END if
+          IF (wk_adv(i)) THEN
+            IF (int_dth(i,k)>=frac_int_dth(i)) THEN
+              ktop1(i) = min(k, k_ptop_provis(i))
+              !print*,ipas,'yyy ktop1= ',ktop1
+            ENDIF
+          ENDIF
        END DO
     END DO
@@ -2679,4 +2682,13 @@
 
 endif
+
+if (iflag_wk_new_ptop==2) then
+   do i=1,klon
+      ptop(i)=ptop1(i)
+      ktop(i)=ktop1(i)
+      hw_(i)=h_zzz(i)
+   enddo
+endif
+
 
  kupper = 0
Index: /LMDZ6/trunk/libf/phylmd/lmdz_wake_ini.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/lmdz_wake_ini.F90	(revision 4841)
+++ /LMDZ6/trunk/libf/phylmd/lmdz_wake_ini.F90	(revision 4842)
@@ -48,4 +48,7 @@
   INTEGER, SAVE, PROTECTED                                    :: iflag_wk_profile
   !$OMP THREADPRIVATE(iflag_wk_profile)
+
+  INTEGER, SAVE, PROTECTED                                    :: iflag_wk_new_ptop
+  !$OMP THREADPRIVATE(iflag_wk_new_ptop)
 
   REAL, SAVE, PROTECTED                                       :: wdensinit ! Minimum wake density used to restart wakes from a wake-free state
@@ -212,4 +215,7 @@
   CALL getin_p('iflag_wk_profile',iflag_wk_profile) ! switch between wdens prescribed 
                                                     ! and wdens prognostic
+  iflag_wk_profile = 0
+  CALL getin_p('iflag_wk_new_ptop',iflag_wk_new_ptop)
+
   tau_cv = 4000.
   CALL getin_p('tau_cv', tau_cv)
