Index: /LMDZ6/trunk/libf/phylmd/alpale.h
===================================================================
--- /LMDZ6/trunk/libf/phylmd/alpale.h	(revision 4842)
+++ /LMDZ6/trunk/libf/phylmd/alpale.h	(revision 4843)
@@ -5,7 +5,7 @@
 
 ! dans alealp_th, thermcell_alp, physiq_mod, conf_phys
-      integer            :: iflag_trig_bl,iflag_clos_bl
+      integer            :: iflag_trig_bl,iflag_clos_bl,iflag_strig
       integer            :: tau_trig_shallow,tau_trig_deep
-      real               :: s_trig
+      real               :: s_trig, h_trig
 ! thermcell_alp et convection ...
       integer            :: iflag_coupl,iflag_clos,iflag_wake
@@ -13,6 +13,6 @@
       real               :: alp_bl_k
 
-      common/calpale1/iflag_trig_bl,iflag_clos_bl,tau_trig_shallow,tau_trig_deep
-      common/calpale2/s_trig,iflag_coupl,iflag_clos,iflag_wake,alp_bl_k
+      common/calpale1/iflag_trig_bl,iflag_clos_bl,tau_trig_shallow,tau_trig_deep,iflag_strig
+      common/calpale2/s_trig,iflag_coupl,iflag_clos,iflag_wake,alp_bl_k,h_trig
 
 !$OMP THREADPRIVATE(/calpale1/,/calpale2/)
Index: /LMDZ6/trunk/libf/phylmd/alpale_th.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/alpale_th.F90	(revision 4842)
+++ /LMDZ6/trunk/libf/phylmd/alpale_th.F90	(revision 4843)
@@ -3,5 +3,5 @@
 !
 SUBROUTINE alpale_th ( dtime, lmax_th, t_seri, cell_area,  &
-                       cin, s2, n2,  &
+                       cin, s2, n2, strig,  &
                        ale_bl_trig, ale_bl_stat, ale_bl,  &
                        alp_bl, alp_bl_stat, &
@@ -36,5 +36,5 @@
   REAL, DIMENSION(klon), INTENT(IN)                          :: ale_bl_stat
   REAL, DIMENSION(klon), INTENT(IN)                          :: cin
-  REAL, DIMENSION(klon), INTENT(IN)                          :: s2, n2
+  REAL, DIMENSION(klon), INTENT(IN)                          :: s2, n2, strig
                                                                 
   REAL, DIMENSION(klon), INTENT(INOUT)                       :: ale_bl_trig, ale_bl
@@ -161,5 +161,5 @@
                    if ( (ale_bl_stat(i) .gt. abs(cin(i))+1.e-10) )  then
                       proba_notrig(i)=proba_notrig(i)* &
-                         (1.-exp(-s_trig/s2(i)))**(n2(i)*dtime/tau_trig(i))
+                         (1.-exp(-strig(i)/s2(i)))**(n2(i)*dtime/tau_trig(i))
                       !        print *, 'proba_notrig(i) ',proba_notrig(i)
                       if (random_notrig(i) .ge. proba_notrig(i)) then 
@@ -168,5 +168,5 @@
                          ale_bl_trig(i)=0.
                       endif
-                      birth_rate(i) = n2(i)*exp(-s_trig/s2(i))/(tau_trig(i)*cell_area(i))
+                      birth_rate(i) = n2(i)*exp(-strig(i)/s2(i))/(tau_trig(i)*cell_area(i))
 !!!                      birth_rate(i) = max(birth_rate(i),1.e-18)
                    else
@@ -183,5 +183,5 @@
                    if ( (Ale_bl(i) .gt. abs(cin(i))+1.e-10) )  then
                       proba_notrig(i)=proba_notrig(i)* &
-                         (1.-exp(-s_trig/s2(i)))**(n2(i)*dtime/tau_trig(i))
+                         (1.-exp(-strig(i)/s2(i)))**(n2(i)*dtime/tau_trig(i))
                       !        print *, 'proba_notrig(i) ',proba_notrig(i)
                       if (random_notrig(i) .ge. proba_notrig(i)) then 
@@ -190,5 +190,5 @@
                          ale_bl_trig(i)=0.
                       endif
-                      birth_rate(i) = n2(i)*exp(-s_trig/s2(i))/(tau_trig(i)*cell_area(i))
+                      birth_rate(i) = n2(i)*exp(-strig(i)/s2(i))/(tau_trig(i)*cell_area(i))
 !!!                      birth_rate(i) = max(birth_rate(i),1.e-18)
                    else
@@ -283,5 +283,5 @@
         do i=1,klon
            if ( (ale_bl_ref(i) .gt. abs(cin(i))+1.e-10) )  then
-              birth_number = n2(i)*exp(-s_trig/s2(i))
+              birth_number = n2(i)*exp(-strig(i)/s2(i))
               birth_rate(i) = birth_number/(tau_trig(i)*cell_area(i))
 !!!              birth_rate(i) = max(birth_rate(i),1.e-18)
Index: /LMDZ6/trunk/libf/phylmd/calltherm.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/calltherm.F90	(revision 4842)
+++ /LMDZ6/trunk/libf/phylmd/calltherm.F90	(revision 4843)
@@ -12,5 +12,5 @@
      &      ,pbl_tke,pctsrf,omega,airephy &
      &      ,zlcl_th,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 &
-     &      ,n2,s2,ale_bl_stat &
+     &      ,n2,s2,strig,zcong,ale_bl_stat &
      &      ,therm_tke_max,env_tke_max &
      &      ,alp_bl_det,alp_bl_fluct_m,alp_bl_fluct_tke &
@@ -87,4 +87,5 @@
       real zthl(klon,klev)
       real wmax_sec(klon)
+      real zcong(klon)
       real zmax_sec(klon)
       real f_sec(klon)
@@ -116,5 +117,5 @@
       real zlcl_th(klon),fraca0(klon),w0(klon),w_conv(klon)
       real therm_tke_max0(klon),env_tke_max0(klon)
-      real n2(klon),s2(klon)
+      real n2(klon),s2(klon),strig(klon)
       real ale_bl_stat(klon)
       real therm_tke_max(klon,klev),env_tke_max(klon,klev)
@@ -302,5 +303,5 @@
      &      ,zmax0,f0,zw2,fraca,ztv,zpspsk &
      &      ,ztla,zthl,ztva &
-     &      ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax &
+     &      ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax,zcong &
 #ifdef ISO         
      &      ,xt_seri,d_xt_the &
@@ -314,7 +315,7 @@
      &        ,zw2,fraca &                                           ! in
      &        ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax &  ! in
-     &        ,ale,alp,lalim_conv,wght_th &                          ! out
+     &        ,zcong,ale,alp,lalim_conv,wght_th &                          ! out
      &        ,zlcl_th,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 &! out
-     &        ,n2,s2,ale_bl_stat &                                   ! out
+     &        ,n2,s2,strig,ale_bl_stat &                                   ! out
      &        ,therm_tke_max,env_tke_max &                           ! out
      &        ,alp_bl_det,alp_bl_fluct_m,alp_bl_fluct_tke &          ! out
Index: /LMDZ6/trunk/libf/phylmd/conf_phys_m.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/conf_phys_m.F90	(revision 4842)
+++ /LMDZ6/trunk/libf/phylmd/conf_phys_m.F90	(revision 4843)
@@ -144,7 +144,7 @@
     REAL,SAVE :: tau_thermals_omp,alp_bl_k_omp
     ! nrlmd le 10/04/2012
-    INTEGER,SAVE :: iflag_trig_bl_omp,iflag_clos_bl_omp
+    INTEGER,SAVE :: iflag_trig_bl_omp,iflag_clos_bl_omp,iflag_strig_omp
     INTEGER,SAVE :: tau_trig_shallow_omp,tau_trig_deep_omp
-    REAL,SAVE    :: s_trig_omp
+    REAL,SAVE    :: s_trig_omp,h_trig_omp
     ! fin nrlmd le 10/04/2012
     REAL :: alp_offset
@@ -1559,4 +1559,12 @@
     CALL getin('iflag_trig_bl',iflag_trig_bl_omp)
 
+    !Config Key  = iflag_strig
+    !Config Desc =  
+    !Config Def  = 0
+    !Config Help = 
+    !
+    iflag_strig_omp = 0
+    CALL getin('iflag_strig',iflag_strig_omp)
+
     !Config Key  = s_trig_bl
     !Config Desc =  
@@ -1566,4 +1574,12 @@
     s_trig_omp = 2e7
     CALL getin('s_trig',s_trig_omp)
+
+    !Config Key  = h_trig
+    !Config Desc =  
+    !Config Def  = 0
+    !Config Help = 
+    !
+    h_trig_omp = 6000.
+    CALL getin('h_trig',h_trig_omp)
 
     !Config Key  = tau_trig_shallow
@@ -2439,5 +2455,7 @@
     ! nrlmd le 10/04/2012
     iflag_trig_bl = iflag_trig_bl_omp
+    iflag_strig = iflag_strig_omp
     s_trig = s_trig_omp
+    h_trig = h_trig_omp
     tau_trig_shallow = tau_trig_shallow_omp
     tau_trig_deep = tau_trig_deep_omp
@@ -2835,5 +2853,7 @@
     ! nrlmd le 10/04/2012
     WRITE(lunout,*) ' iflag_trig_bl = ', iflag_trig_bl
+    WRITE(lunout,*) ' iflag_strig = ', iflag_strig
     WRITE(lunout,*) ' s_trig = ', s_trig
+    WRITE(lunout,*) ' h_trig = ', h_trig
     WRITE(lunout,*) ' tau_trig_shallow = ', tau_trig_shallow
     WRITE(lunout,*) ' tau_trig_deep = ', tau_trig_deep
Index: /LMDZ6/trunk/libf/phylmd/lmdz_thermcell_alp.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/lmdz_thermcell_alp.F90	(revision 4842)
+++ /LMDZ6/trunk/libf/phylmd/lmdz_thermcell_alp.F90	(revision 4843)
@@ -11,7 +11,7 @@
      &                  ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax &  ! in
 !
-     &                  ,ale_bl,alp_bl,lalim_conv,wght_th &                    ! out
+     &                  ,zcong,ale_bl,alp_bl,lalim_conv,wght_th &                    ! out
      &                  ,zlcl,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 &   ! out
-     &                  ,n2,s2,ale_bl_stat &                                   ! out
+     &                  ,n2,s2,strig,ale_bl_stat &                                   ! out
      &                  ,therm_tke_max,env_tke_max &                           ! out
      &                  ,alp_bl_det,alp_bl_fluct_m,alp_bl_fluct_tke &          ! out
@@ -50,5 +50,5 @@
       real, intent(in) :: pplay(ngrid,nlay),pplev(ngrid,nlay+1)
       integer, intent(in), dimension(ngrid) ::lmax,lalim
-      real, intent(in), dimension(ngrid) :: zmax
+      real, intent(in), dimension(ngrid) :: zmax, zcong
       real, intent(in), dimension(ngrid,nlay+1) :: zw2
       real, intent(in), dimension(ngrid,nlay+1) :: fraca
@@ -69,5 +69,5 @@
       integer, intent(out), dimension(ngrid) :: lalim_conv
       real, intent(out), dimension(ngrid) :: zlcl,fraca0,w0,w_conv
-      real, intent(out), dimension(ngrid) :: therm_tke_max0,env_tke_max0,n2,s2,ale_bl_stat
+      real, intent(out), dimension(ngrid) :: therm_tke_max0,env_tke_max0,n2,s2,ale_bl_stat,strig
       real, intent(out), dimension(ngrid,nlay) :: therm_tke_max,env_tke_max
       real, intent(out), dimension(ngrid) :: alp_bl_det,alp_bl_fluct_m,alp_bl_fluct_tke
@@ -94,4 +94,5 @@
       real, parameter :: zmax_moy_coef=0.33
       real, dimension(ngrid) :: depth        ! Epaisseur moyenne du cumulus
+      real, dimension(ngrid) :: zcong_moy 
       real, dimension(ngrid) ::  w_max                 ! Vitesse max statistique 
       real, dimension(ngrid) ::  s_max(ngrid)
@@ -119,4 +120,5 @@
      s2(ig) = 0.
      ale_bl_stat(ig) = 0.
+     strig(ig) = 0.
      alp_bl_det(ig) = 0.
      alp_bl_fluct_m(ig) = 0.
@@ -249,4 +251,6 @@
    s_max(:)=0.
 
+
+
 !-----Epaisseur du nuage (depth) et détermination de la queue du spectre de panaches (n2,s2) et du panache le plus gros (s_max)
    do ig=1,ngrid
@@ -270,4 +274,23 @@
 !   print *,'avant Calcul de Wmax '    !!jyg
 
+!CR: calcul de strig
+   if (iflag_strig.eq.0) then
+      strig(:)=s_trig
+   else if (iflag_strig.eq.1) then
+      do ig=1,ngrid
+!         zcong_moy(ig)=zlcl(ig)+zmax_moy_coef*(zcong(ig)-zlcl(ig))
+!         strig(ig)=(hcoef*(zcong_moy(ig)-zlcl(ig))+hmin(ig))**2  
+         strig(ig)=(zcong(ig)-zlcl(ig))**2  
+      enddo
+   else if (iflag_strig.eq.2) then
+      do ig=1,ngrid 
+         if (h_trig.gt.zlcl(ig)) then
+         strig(ig)=(h_trig-zlcl(ig))**2
+         else
+         strig(ig)=s_trig
+         endif
+      enddo   
+   endif
+
    susqr2pi=su_cst*sqrt(2.*Rpi)
    reuler=exp(1.)
Index: /LMDZ6/trunk/libf/phylmd/lmdz_thermcell_env.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/lmdz_thermcell_env.F90	(revision 4842)
+++ /LMDZ6/trunk/libf/phylmd/lmdz_thermcell_env.F90	(revision 4843)
@@ -3,5 +3,5 @@
 
    SUBROUTINE thermcell_env(ngrid,nlay,po,pt,pu,pv,pplay,  &
-     &           pplev,zo,zh,zl,ztv,zthl,zu,zv,zpspsk,pqsat,lev_out)
+     &           pplev,zo,zh,zl,ztv,zthl,zu,zv,zpspsk,pqsat,lcong,lintercong,lev_out)
 
 !--------------------------------------------------------------
@@ -22,5 +22,6 @@
    real,intent(out), dimension(ngrid,nlay) :: zo,zl,zh,ztv,zthl
    real,intent(out), dimension(ngrid,nlay) :: zpspsk,zu,zv,pqsat
-   
+   real, intent(out), dimension(ngrid) :: lintercong
+   integer, intent(out), dimension(ngrid) :: lcong   
 ! Local
 
@@ -78,4 +79,17 @@
       enddo
    enddo
+!CR: Calcul du niveau de congelation
+   do ig=1,ngrid
+      lcong(ig)=1
+   enddo
+   do ig=1,ngrid
+      do ll=1,nlay-1
+         if ((zh(ig,ll).gt.273.15).and.(zh(ig,ll+1).le.273.15)) then
+            lcong(ig)=ll+1
+            lintercong(ig)=(ll*(zh(ig,ll+1)-zh(ig,ll))  &
+     &               -zh(ig,ll)+273.15)/(zh(ig,ll+1)-zh(ig,ll))
+         endif
+      enddo
+   enddo 
  
  RETURN
Index: /LMDZ6/trunk/libf/phylmd/lmdz_thermcell_height.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/lmdz_thermcell_height.F90	(revision 4842)
+++ /LMDZ6/trunk/libf/phylmd/lmdz_thermcell_height.F90	(revision 4843)
@@ -2,6 +2,6 @@
 CONTAINS
 
-      SUBROUTINE thermcell_height(ngrid,nlay,lalim,lmin,linter,lmix,  &
-     &           zw2,zlev,lmax,zmax,zmax0,zmix,wmax)
+      SUBROUTINE thermcell_height(ngrid,nlay,lalim,lmin,linter,lcong,lintercong,lmix,  &
+     &           zw2,zlev,lmax,zmax,zmax0,zmix,wmax,zcong)
       IMPLICIT NONE
 
@@ -14,9 +14,9 @@
 ! Entree
       integer, intent(in) :: ngrid,nlay
-      real, intent(in), dimension(ngrid) :: linter
+      real, intent(in), dimension(ngrid) :: linter,lintercong
       real, intent(in), dimension(ngrid,nlay+1) :: zlev
 ! Sortie
-      real, intent(out), dimension(ngrid) :: wmax,zmax,zmax0,zmix
-      integer, intent(out), dimension(ngrid) :: lmax
+      real, intent(out), dimension(ngrid) :: wmax,zmax,zmax0,zmix,zcong
+      integer, intent(out), dimension(ngrid) :: lmax,lcong
 ! Les deux
      integer, intent(inout), dimension(ngrid) :: lmix,lalim,lmin
@@ -24,5 +24,5 @@
 
 ! local
-     real, dimension(ngrid) :: num,denom,zlevinter
+     real, dimension(ngrid) :: num,denom,zlevinter,zlevintercong
      integer ig,l
 
@@ -113,4 +113,13 @@
       enddo
 
+!CR:calcul du zcong
+      do  ig=1,ngrid
+! calcul de zlevintercong
+         zlevintercong(ig)=(zlev(ig,lcong(ig)+1)-zlev(ig,lcong(ig)))*  &
+     &    lintercong(ig)+zlev(ig,lcong(ig))-lcong(ig)*(zlev(ig,lcong(ig)+1)  &
+     &    -zlev(ig,lcong(ig)))
+         zcong(ig)=zlevintercong(ig)-zlev(ig,1)
+!         print*,"calcul zcong",lcong(ig),lintercong(ig),zlevintercong(ig),zcong(ig)
+      enddo
 
       endif
Index: /LMDZ6/trunk/libf/phylmd/lmdz_thermcell_main.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/lmdz_thermcell_main.F90	(revision 4842)
+++ /LMDZ6/trunk/libf/phylmd/lmdz_thermcell_main.F90	(revision 4843)
@@ -15,5 +15,5 @@
      &                  ,zmax0, f0,zw2,fraca,ztv &
      &                  ,zpspsk,ztla,zthl,ztva &
-     &                  ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax &
+     &                  ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax,zcong &
 #ifdef ISO         
      &      ,xtpo,xtpdoadj &
@@ -134,5 +134,5 @@
       real, intent(out), dimension(ngrid,nlay+1) :: fm
       real, intent(out), dimension(ngrid,nlay) :: alim_star
-      real, intent(out), dimension(ngrid) :: zmax
+      real, intent(out), dimension(ngrid) :: zmax,zcong
 
 !   local:
@@ -150,6 +150,6 @@
       integer ig,k,l,ierr,ll
       logical sorties
-      real, dimension(ngrid) :: linter,zmix, zmax_sec
-      integer,dimension(ngrid) :: lmin,lmix,lmix_bis,nivcon
+      real, dimension(ngrid) :: linter,zmix, zmax_sec,lintercong
+      integer,dimension(ngrid) :: lmin,lmix,lmix_bis,nivcon, lcong
       real, dimension(ngrid,nlay) :: ztva_est
       real, dimension(ngrid,nlay) :: deltaz,zlay,zdthladj,zu,zv,z_o,zl,zva,zua,z_oa
@@ -227,5 +227,5 @@
 
           CALL thermcell_env(ngrid,nlay,p_o,ptemp_env,puwind,pvwind,pplay,  &
-         &           pplev,z_o,ztemp_env,zl,ztv,zthl,zu,zv,zpspsk,zqsat,lev_out)
+         &           pplev,z_o,ztemp_env,zl,ztv,zthl,zu,zv,zpspsk,zqsat,lcong,lintercong,lev_out)
 
       else
@@ -456,6 +456,6 @@
 !-------------------------------------------------------------------------------
 !
-      CALL thermcell_height(ngrid,nlay,lalim,lmin,linter,lmix,zw2,  &
-     &           zlev,lmax,zmax,zmax0,zmix,wmax)
+      CALL thermcell_height(ngrid,nlay,lalim,lmin,linter,lcong,lintercong,lmix,zw2,  &
+     &           zlev,lmax,zmax,zmax0,zmix,wmax,zcong)
 ! Attention, w2 est transforme en sa racine carree dans cette routine
 ! Le probleme vient du fait que linter et lmix sont souvent egaux a 1.
@@ -729,8 +729,8 @@
         endif
       enddo
-      if (ierr==1) then
-           abort_message = 'thermcellV0_main: les thermiques vont trop haut '
-           CALL abort_physic (modname,abort_message,1)
-      endif
+!      if (ierr==1) then
+!           abort_message = 'thermcellV0_main: les thermiques vont trop haut '
+!           CALL abort_physic (modname,abort_message,1)
+!      endif
 
       if (prt_level.ge.1) print*,'14b OK convect8'
Index: /LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90	(revision 4842)
+++ /LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90	(revision 4843)
@@ -402,6 +402,6 @@
       REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: alp_bl_fluct_m,alp_bl_fluct_tke
 !$OMP THREADPRIVATE(alp_bl_fluct_m,alp_bl_fluct_tke)
-      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: alp_bl_stat, n2, s2
-!$OMP THREADPRIVATE(alp_bl_stat, n2, s2)
+      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: alp_bl_stat, n2, s2, strig, zcong, zlcl_th
+!$OMP THREADPRIVATE(alp_bl_stat, n2, s2, strig, zcong, zlcl_th)
       REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: proba_notrig, random_notrig
 !$OMP THREADPRIVATE(proba_notrig, random_notrig)
@@ -877,5 +877,5 @@
       ALLOCATE(alp_bl_fluct_m(klon), alp_bl_fluct_tke(klon))
       alp_bl_fluct_m(:)=0 ; alp_bl_fluct_tke(:)= 0.
-      ALLOCATE(alp_bl_stat(klon), n2(klon), s2(klon))
+      ALLOCATE(alp_bl_stat(klon), n2(klon), s2(klon), strig(klon), zcong(klon), zlcl_th(klon))
       alp_bl_stat(:)=0
       ALLOCATE(proba_notrig(klon), random_notrig(klon))
@@ -1205,5 +1205,5 @@
       DEALLOCATE(alp_bl_conv,alp_bl_det)
       DEALLOCATE(alp_bl_fluct_m,alp_bl_fluct_tke)
-      DEALLOCATE(alp_bl_stat, n2, s2)
+      DEALLOCATE(alp_bl_stat, n2, s2, strig, zcong, zlcl_th)
       DEALLOCATE(proba_notrig, random_notrig)
 !FC
Index: /LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 4842)
+++ /LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 4843)
@@ -936,5 +936,10 @@
   TYPE(ctrl_out), SAVE :: o_s2 = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
     's2', 'Surface moyenne des panaches de type 2', 'm2', (/ ('', i=1, 10) /))
-              
+  TYPE(ctrl_out), SAVE :: o_strig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
+    'strig', 'Surface moyenne pour atteindre niveau de congelation', 'm2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_zcong = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
+    'zcong', 'niveau de congelation', 'm', (/ ('', i=1, 10) /))  
+  TYPE(ctrl_out), SAVE :: o_zlcl_th = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
+    'zlcl_th', 'niveau de condensation', 'm', (/ ('', i=1, 10) /))                   
 !-------Déclenchement stochastique
   TYPE(ctrl_out), SAVE :: o_proba_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
Index: /LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 4842)
+++ /LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 4843)
@@ -98,5 +98,5 @@
          o_qtaa, o_Clwaa, &
          o_ftd, o_fqd, o_wdtrainA, o_wdtrainS, o_wdtrainM, &
-         o_n2, o_s2, o_proba_notrig, &
+         o_n2, o_s2, o_strig, o_zcong, o_zlcl_th, o_proba_notrig, &
          o_random_notrig, o_ale_bl_stat, &
          o_ale_bl_trig, o_alp_bl_det, &
@@ -335,5 +335,5 @@
          wake_h, &
          wake_omg, d_t_wake, d_q_wake, Vprecip, qtaa, Clw, &
-         wdtrainA, wdtrainS, wdtrainM, n2, s2, proba_notrig, &
+         wdtrainA, wdtrainS, wdtrainM, n2, s2, strig, zcong, zlcl_th, proba_notrig, &
          random_notrig, &
          qclr, qcld, qss, qvc, rnebclr, rnebss, gamma_ss, &
@@ -1548,4 +1548,7 @@
                CALL histwrite_phy(o_kh         ,kh         ) 
                CALL histwrite_phy(o_kh_x       ,kh_x       ) 
+          CALL histwrite_phy(o_strig, strig)
+          CALL histwrite_phy(o_zcong, zcong)
+          CALL histwrite_phy(o_zlcl_th, zlcl_th)
                CALL histwrite_phy(o_kh_w       ,kh_w       ) 
              ENDIF   ! (iflag_pbl_split>=1)
Index: /LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 4842)
+++ /LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 4843)
@@ -307,5 +307,5 @@
        alp_bl_conv,alp_bl_det,  &
        alp_bl_fluct_m,alp_bl_fluct_tke,  &
-       alp_bl_stat, n2, s2,  &
+       alp_bl_stat, n2, s2,  strig, zcong, zlcl_th, &
        proba_notrig, random_notrig,  &
 !!       cv_gen,  &  !moved to phys_state_var_mod
@@ -750,5 +750,5 @@
     !--------Stochastic Boundary Layer Triggering: ALE_BL--------
     !---Propri\'et\'es du thermiques au LCL 
-    real zlcl_th(klon)          ! Altitude du LCL calcul\'e
+!    real zlcl_th(klon)          ! Altitude du LCL calcul\'e
     ! continument (pcon dans
     ! thermcell_main.F90)
@@ -3725,5 +3725,5 @@
                ,pbl_tke_input,pctsrf,omega,cell_area &
                ,zlcl_th,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 &
-               ,n2,s2,ale_bl_stat &
+               ,n2,s2,strig,zcong,ale_bl_stat &
                ,therm_tke_max,env_tke_max &
                ,alp_bl_det,alp_bl_fluct_m,alp_bl_fluct_tke &
@@ -3769,5 +3769,5 @@
 !
           CALL alpale_th( phys_tstep, lmax_th, t_seri, cell_area,  &
-                          cin, s2, n2,  &
+                          cin, s2, n2, strig, &
                           ale_bl_trig, ale_bl_stat, ale_bl,  &
                           alp_bl, alp_bl_stat, &
