Index: LMDZ6/trunk/libf/phylmd/lmdz_wake_dadv.f90
===================================================================
--- LMDZ6/trunk/libf/phylmd/lmdz_wake_dadv.f90	(revision 5804)
+++ LMDZ6/trunk/libf/phylmd/lmdz_wake_dadv.f90	(revision 5805)
@@ -68,11 +68,11 @@
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-print *,'ZZZwake_dadv_IN wk_adv(1) ', wk_adv(1)
-print *,'ZZZwake_dadv_IN kupper(1) ', kupper(1)
-print *,'ZZZwake_dadv_IN k, thw(1,k), thx(1,k) ', (k, thw(1,k), thx(1,k), k = 1,3)
-print *,'ZZZwake_dadv_IN k, deltomg(1,k) ', (k, deltomg(1,k), k = 1,3)
-print *,'ZZZwake_dadv_IN k, dp_deltomg(1,k) ', (k, dp_deltomg(1,k), k = 1,3)
-print *,'ZZZwake_dadv_IN sigmaw(1) ', sigmaw(1)
-print *,'ZZZwake_dadv_IN dsigspread(1) ', dsigspread(1)
+! print *,'ZZZwake_dadv_IN wk_adv(1) ', wk_adv(1)
+! print *,'ZZZwake_dadv_IN kupper(1) ', kupper(1)
+! print *,'ZZZwake_dadv_IN k, thw(1,k), thx(1,k) ', (k, thw(1,k), thx(1,k), k = 1,3)
+! print *,'ZZZwake_dadv_IN k, deltomg(1,k) ', (k, deltomg(1,k), k = 1,3)
+! print *,'ZZZwake_dadv_IN k, dp_deltomg(1,k) ', (k, dp_deltomg(1,k), k = 1,3)
+! print *,'ZZZwake_dadv_IN sigmaw(1) ', sigmaw(1)
+! print *,'ZZZwake_dadv_IN dsigspread(1) ', dsigspread(1)
 
     entr_s(:,:) = 0.
@@ -463,5 +463,5 @@
   ENDIF! (flag_dadv_implicit)
 
-print *,'ZZZwake_dadv k, d_deltat_dadv(1,k) ', (k, d_deltat_dadv(1,k), k = 1,3)
+!print *,'ZZZwake_dadv k, d_deltat_dadv(1,k) ', (k, d_deltat_dadv(1,k), k = 1,3)
 
     END SUBROUTINE wake_dadv
Index: LMDZ6/trunk/libf/phylmd/lmdz_wake_ini.f90
===================================================================
--- LMDZ6/trunk/libf/phylmd/lmdz_wake_ini.f90	(revision 5804)
+++ LMDZ6/trunk/libf/phylmd/lmdz_wake_ini.f90	(revision 5805)
@@ -94,5 +94,5 @@
 
   ! =========================================================================
-  SUBROUTINE wake_ini(rg_in,rd_in,rv_in,prt_lev)
+  SUBROUTINE wake_ini(iflag_wake,rg_in,rd_in,rv_in,prt_lev)
   ! =========================================================================
 
@@ -112,5 +112,5 @@
   USE ioipsl_getin_p_mod, ONLY : getin_p
   real eps
-  integer, intent(in) :: prt_lev
+  integer, intent(in) :: prt_lev,iflag_wake
   real, intent(in) :: rg_in,rd_in,rv_in
 
@@ -202,5 +202,11 @@
   stark=0.33
   CALL getin_p('stark',stark)
-  cstart = stark*sqrt(2.*wapecut)
+  if ( iflag_wake / 10 >= 3 ) then
+      ! Calcul effectif tenant compte dans l'idee d'une heterogeneite des poches
+      ! Pour eviter une singularité
+      cstart = stark*sqrt(2.*wapecut)/2.
+  else
+      cstart = stark*sqrt(2.*wapecut)
+  endif
 
   alpk=0.25
Index: LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 5804)
+++ LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 5805)
@@ -1856,5 +1856,5 @@
        
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-       CALL wake_ini(rg,rd,rv,prt_level)
+       CALL wake_ini(iflag_wake,rg,rd,rv,prt_level)
        CALL yamada_ini(klon,lunout,prt_level)
        viscom=1.46E-5
