Index: /LMDZ4/trunk/libf/dyn3d/etat0_netcdf.F
===================================================================
--- /LMDZ4/trunk/libf/dyn3d/etat0_netcdf.F	(revision 926)
+++ /LMDZ4/trunk/libf/dyn3d/etat0_netcdf.F	(revision 927)
@@ -120,4 +120,5 @@
 
       REAL, DIMENSION(klon,klev,nbsrf) :: pbl_tke ! turb kinetic energy
+      REAL, DIMENSION(klon) :: zmax0, f0 
       REAL :: dummy(klon, nbsrf)
       !
@@ -687,4 +688,6 @@
       ocean = "slab"
       pbl_tke(:,:,:) = 1.e-8 
+      zmax0(:) = 40.
+      f0(:) = 1.e-5
 
       call fonte_neige_init(run_off_lic_0)
@@ -698,5 +701,6 @@
      $    radsol, 
      $    zmea, zstd, zsig, zgam, zthe, zpic, zval, rugsrel, 
-     $    t_ancien, q_ancien, rnebcon, ratqs, clwcon, pbl_tke )
+     $    t_ancien, q_ancien, rnebcon, ratqs, clwcon, pbl_tke,
+     $    zmax0, f0 )
 
 
Index: /LMDZ4/trunk/libf/phylmd/calltherm.F90
===================================================================
--- /LMDZ4/trunk/libf/phylmd/calltherm.F90	(revision 926)
+++ /LMDZ4/trunk/libf/phylmd/calltherm.F90	(revision 927)
@@ -7,5 +7,6 @@
      &      ,d_u_ajs,d_v_ajs,d_t_ajs,d_q_ajs  &
      &      ,fm_therm,entr_therm,zqasc,clwcon0,lmax,ratqscth,  &
-     &       ratqsdiff,zqsatth,Ale_bl,Alp_bl,lalim_conv,wght_th)
+     &       ratqsdiff,zqsatth,Ale_bl,Alp_bl,lalim_conv,wght_th, &
+     &       zmax0,f0)
 
       implicit none
@@ -59,4 +60,6 @@
       real Alp(klon)
 !RC
+      !on garde le zmax du pas de temps precedent
+      real zmax0(klon), f0(klon)
 !********************************************************
 
@@ -171,5 +174,6 @@
      &      ,ratqscth,ratqsdiff,zqsatth  &
      &      ,r_aspect_thermals,l_mix_thermals,w2di_thermals  &
-     &      ,tho_thermals,Ale,Alp,lalim_conv,wght_th)
+     &      ,tho_thermals,Ale,Alp,lalim_conv,wght_th &
+     &      ,zmax0,f0)
          endif
 
Index: /LMDZ4/trunk/libf/phylmd/phyetat0.F
===================================================================
--- /LMDZ4/trunk/libf/phylmd/phyetat0.F	(revision 926)
+++ /LMDZ4/trunk/libf/phylmd/phyetat0.F	(revision 927)
@@ -13,5 +13,5 @@
      .           rugsrel_p,tabcntr0,
      .           t_ancien_p,q_ancien_p,ancien_ok_p, rnebcon_p, ratqs_p,
-     .           clwcon_p,pbl_tke_p)
+     .           clwcon_p,pbl_tke_p, zmax0_p, f0_p)
 
       USE dimphy
@@ -48,4 +48,5 @@
       REAL tsol_p(klon,nbsrf)
       REAL pbl_tke_p(klon,klev,nbsrf)
+      REAL zmax0_p(klon), f0_p(klon)
       REAL tsoil_p(klon,nsoilmx,nbsrf)
       REAL tslab_p(klon), seaice_p(klon)
@@ -85,4 +86,5 @@
       REAL tsol(klon_glo,nbsrf)
       REAL pbl_tke(klon_glo,klev,nbsrf)
+      REAL zmax0(klon), f0(klon)
       REAL tsoil(klon_glo,nsoilmx,nbsrf)
 cIM "slab" ocean
@@ -1538,5 +1540,51 @@
          ENDDO
       ENDIF
-
+c
+c zmax0
+      ierr = NF_INQ_VARID (nid, "ZMAX0", nvarid)
+      IF (ierr.NE.NF_NOERR) THEN
+         PRINT*, "phyetat0: Le champ <ZMAX0> est absent"
+         PRINT*, "Depart legerement fausse. Mais je continue"
+         zmax0=40.
+      ELSE
+#ifdef NC_DOUBLE
+         ierr = NF_GET_VAR_DOUBLE(nid, nvarid, zmax0)
+#else
+         ierr = NF_GET_VAR_REAL(nid, nvarid, zmax0)
+#endif
+         IF (ierr.NE.NF_NOERR) THEN
+            PRINT*, "phyetat0: Lecture echouee pour <ZMAX0>"
+            CALL abort
+         ENDIF
+      ENDIF
+      xmin = 1.0E+20
+      xmax = -1.0E+20
+      xmin = MINval(zmax0)
+      xmax = MAXval(zmax0)
+      PRINT*,'(ecart-type) zmax0:', xmin, xmax
+c
+c           f0(ig)=1.e-5
+c f0
+      ierr = NF_INQ_VARID (nid, "f0", nvarid)
+      IF (ierr.NE.NF_NOERR) THEN
+         PRINT*, "phyetat0: Le champ <f0> est absent"
+         PRINT*, "Depart legerement fausse. Mais je continue"
+         f0=1.e-5
+      ELSE
+#ifdef NC_DOUBLE
+         ierr = NF_GET_VAR_DOUBLE(nid, nvarid, f0)
+#else
+         ierr = NF_GET_VAR_REAL(nid, nvarid, f0)
+#endif
+         IF (ierr.NE.NF_NOERR) THEN
+            PRINT*, "phyetat0: Lecture echouee pour <f0>"
+            CALL abort
+         ENDIF
+      ENDIF
+      xmin = 1.0E+20
+      xmax = -1.0E+20
+      xmin = MINval(f0)
+      xmax = MAXval(f0)
+      PRINT*,'(ecart-type) f0:', xmin, xmax
 c
 c Fermer le fichier:
@@ -1575,4 +1623,6 @@
          call Scatter( pbl_tke,pbl_tke_p)
       endif
+      call Scatter( zmax0,zmax0_p)
+      call Scatter( f0,f0_p)
       call Scatter( tsoil,tsoil_p)
       call Scatter( tslab,tslab_p)
Index: /LMDZ4/trunk/libf/phylmd/phyredem.F
===================================================================
--- /LMDZ4/trunk/libf/phylmd/phyredem.F	(revision 926)
+++ /LMDZ4/trunk/libf/phylmd/phyredem.F	(revision 927)
@@ -10,5 +10,5 @@
      .           zgam_p,zthe_p,zpic_p,zval_p,rugsrel_p,
      .           t_ancien_p, q_ancien_p, rnebcon_p, ratqs_p, clwcon_p,
-     .           pbl_tke_p)
+     .           pbl_tke_p, zmax0_p, f0_p)
 
       USE dimphy
@@ -39,4 +39,5 @@
       REAL tsol_p(klon,nbsrf)
       REAL pbl_tke_p(klon,klev,nbsrf)
+      REAL zmax0_p(klon), f0_p(klon)
       REAL tsoil_p(klon,nsoilmx,nbsrf)
       CHARACTER*6 ocean
@@ -73,4 +74,5 @@
       REAL tsol(klon_glo,nbsrf)
       REAL pbl_tke(klon_glo,klev,nbsrf)
+      REAL zmax0(klon_glo), f0(klon)
       REAL tsoil(klon_glo,nsoilmx,nbsrf)
       REAL tslab(klon_glo), seaice(klon_glo)
@@ -139,4 +141,6 @@
       call Gather( tsol_p,tsol)
       call Gather( pbl_tke_p,pbl_tke)
+      call Gather( zmax0_p,zmax0)
+      call Gather( f0_p,f0)
       call Gather( tsoil_p,tsoil)
       call Gather( tslab_p,tslab)
Index: /LMDZ4/trunk/libf/phylmd/phys_state_var_mod.F90
===================================================================
--- /LMDZ4/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 926)
+++ /LMDZ4/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 927)
@@ -29,4 +29,5 @@
       REAL, ALLOCATABLE, SAVE :: ratqs(:,:)
       REAL, ALLOCATABLE, SAVE :: pbl_tke(:,:,:) ! turb kinetic energy
+      REAL, ALLOCATABLE, SAVE :: zmax0(:), f0(:) ! 
 
 CONTAINS
@@ -56,4 +57,5 @@
       ALLOCATE( ratqs(klon,klev))
       ALLOCATE(pbl_tke(klon,klev+1,nbsrf))
+      ALLOCATE(zmax0(klon), f0(klon))
 
 END SUBROUTINE phys_state_var_init
@@ -72,4 +74,5 @@
       deallocate( rugoro, t_ancien, q_ancien, clwcon, rnebcon )
       deallocate( ratqs, pbl_tke )
+      deallocate( zmax0, f0 )
 
 END SUBROUTINE phys_state_var_end
Index: /LMDZ4/trunk/libf/phylmd/physiq.F
===================================================================
--- /LMDZ4/trunk/libf/phylmd/physiq.F	(revision 926)
+++ /LMDZ4/trunk/libf/phylmd/physiq.F	(revision 927)
@@ -1640,5 +1640,5 @@
      .       zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro,tabcntr0,
      .       t_ancien, q_ancien, ancien_ok, rnebcon, ratqs,clwcon,
-     .       pbl_tke)
+     .       pbl_tke, zmax0, f0)
 
 
@@ -2645,5 +2645,5 @@
      s      ,ratqsdiff,zqsatth
 con rajoute ale et alp, et les caracteristiques de la couche alim
-     s      ,Ale_bl,Alp_bl,lalim_conv,wght_th)
+     s      ,Ale_bl,Alp_bl,lalim_conv,wght_th, zmax0, f0)
          endif
 
@@ -3757,5 +3757,5 @@
      .      zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro,
      .      t_ancien, q_ancien, rnebcon, ratqs, clwcon,
-     .      pbl_tke)
+     .      pbl_tke, zmax0, f0)
          open(97,form="unformatted",file="finbin")
          write(97) u_seri,v_seri,t_seri,q_seri
Index: /LMDZ4/trunk/libf/phylmd/thermcell_main.F90
===================================================================
--- /LMDZ4/trunk/libf/phylmd/thermcell_main.F90	(revision 926)
+++ /LMDZ4/trunk/libf/phylmd/thermcell_main.F90	(revision 927)
@@ -9,5 +9,6 @@
      &                  ,ratqscth,ratqsdiff,zqsatth  &
      &                  ,r_aspect,l_mix,w2di,tho &
-     &                  ,Ale_bl,Alp_bl,lalim_conv,wght_th)
+     &                  ,Ale_bl,Alp_bl,lalim_conv,wght_th &
+     &                  ,zmax0, f0)
 
       IMPLICIT NONE
@@ -74,5 +75,5 @@
 !on garde le zmax du pas de temps precedent
       real zmax0(klon)
-      save zmax0
+!FH/IM     save zmax0
 
       real zlev(klon,klev+1),zlay(klon,klev)
@@ -130,5 +131,5 @@
       real alim_star(klon,klev)
       real f(klon), f0(klon)
-      save f0
+!FH/IM     save f0
       real zlevinter(klon)
       logical debut
@@ -174,5 +175,6 @@
 !
       do ig=1,klon      
-      if ((debut).or.((.not.debut).and.(f0(ig).lt.1.e-10))) then
+!FH/IM 130308     if ((debut).or.((.not.debut).and.(f0(ig).lt.1.e-10))) then
+      if ((.not.debut).and.(f0(ig).lt.1.e-10)) then
             f0(ig)=1.e-5
             zmax0(ig)=40.
@@ -180,5 +182,4 @@
       endif
       enddo 
-
 
 
