Index: /LMDZ5/trunk/libf/phylmd/albsno.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/albsno.F90	(revision 1893)
+++ /LMDZ5/trunk/libf/phylmd/albsno.F90	(revision 1894)
@@ -5,4 +5,6 @@
 
   IMPLICIT NONE
+
+  INCLUDE "clesphys.h"
 
 ! Input arguments
@@ -33,4 +35,9 @@
 !****************************************************************************************
 
+  if (albsno0>=0.) then
+     init(:)=albsno0
+     decay(:)=0.
+  endif
+
   veget = 0.
   veget(:,1) = 1.     ! desert partout
Index: /LMDZ5/trunk/libf/phylmd/clesphys.h
===================================================================
--- /LMDZ5/trunk/libf/phylmd/clesphys.h	(revision 1893)
+++ /LMDZ5/trunk/libf/phylmd/clesphys.h	(revision 1894)
@@ -41,5 +41,5 @@
        REAL fmagic, pmagic
 ! Hauteur (imposee) du contenu en eau du sol
-           REAL qsol0
+           REAL qsol0,albsno0,evap0
 ! Frottement au sol (Cdrag)
        Real f_cdrag_ter,f_cdrag_oce
@@ -101,5 +101,6 @@
      &     , freq_ISCCP, ecrit_ISCCP, freq_COSP, ip_ebil_phy            &
      &     , ok_lic_melt, cvl_corr, aer_type                            &
-     &     , qsol0, iflag_rrtm, ok_strato,ok_hines,ecrit_LES            &
+     &     , qsol0,albsno0,evap0                                        &
+     &     , iflag_rrtm, ok_strato,ok_hines,ecrit_LES                   &
      &     , co2_ppm0, iflag_ice_thermo
      
Index: /LMDZ5/trunk/libf/phylmd/conf_phys_m.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/conf_phys_m.F90	(revision 1893)
+++ /LMDZ5/trunk/libf/phylmd/conf_phys_m.F90	(revision 1894)
@@ -148,4 +148,6 @@
   REAL,SAVE :: inertie_sol_omp,inertie_sno_omp,inertie_ice_omp
   REAL,SAVE :: qsol0_omp
+  REAL,SAVE :: evap0_omp
+  REAL,SAVE :: albsno0_omp
   REAL      :: solarlong0
   REAL,SAVE :: solarlong0_omp
@@ -175,4 +177,5 @@
   INTEGER, SAVE :: nbapp_rad_omp, iflag_con_omp
   INTEGER, SAVE :: iflag_ener_conserv_omp
+  INTEGER, SAVE :: iflag_fisrtilp_qsat_omp
   LOGICAL,SAVE :: ok_strato_omp
   LOGICAL,SAVE :: ok_hines_omp
@@ -686,4 +689,13 @@
        CALL getin('iflag_ener_conserv',iflag_ener_conserv_omp)
 
+!Config  Key  = iflag_fisrtilp_qsat
+!Config  Desc = Flag de convection
+!Config  Def  = 1
+!Config  Help = Flag  pour la convection les options suivantes existent :
+!Config         -1 pour Kinetic energy correction
+!Config         1  conservation kinetic and enthalpy
+       iflag_fisrtilp_qsat_omp = 0
+       CALL getin('iflag_fisrtilp_qsat',iflag_fisrtilp_qsat_omp)
+
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -897,12 +909,13 @@
 !
 !-----------------------------------------------------------------------
-!  Valeur imposee de l'humidite du sol pour le modele bucket.
-!Config Key  = qsol0
-!Config Desc =  
-!Config Def  = -1.
-!Config Help = 
-!
+!  Valeur imposee pour configuration idealisees
+!Config Key  = qsol0 pour le bucket, evap0 pour aquaplanetes, albsno0
+! Default value -1 to activate the full computation
   qsol0_omp = -1.
   call getin('qsol0',qsol0_omp)
+  evap0_omp = -1.
+  call getin('evap0',evap0_omp)
+  albsno0_omp = -1.
+  call getin('albsno0',albsno0_omp)
 !
 !-----------------------------------------------------------------------
@@ -1680,4 +1693,5 @@
     iflag_con = iflag_con_omp
     iflag_ener_conserv = iflag_ener_conserv_omp
+    iflag_fisrtilp_qsat = iflag_fisrtilp_qsat_omp
 
     epmax = epmax_omp
@@ -1695,4 +1709,6 @@
     solarlong0 = solarlong0_omp
     qsol0 = qsol0_omp
+    evap0 = evap0_omp
+    albsno0 = albsno0_omp
     inertie_sol = inertie_sol_omp
     inertie_ice = inertie_ice_omp
@@ -1895,4 +1911,5 @@
   write(lunout,*)'iflag_con=',iflag_con
   write(lunout,*)'iflag_ener_conserv=',iflag_ener_conserv
+  write(lunout,*)'iflag_fisrtilp_qsat=',iflag_fisrtilp_qsat
   write(lunout,*)' epmax = ', epmax
   write(lunout,*)' ok_adj_ema = ', ok_adj_ema
@@ -1966,4 +1983,6 @@
   write(lunout,*)' solarlong0 = ', solarlong0
   write(lunout,*)' qsol0 = ', qsol0
+  write(lunout,*)' evap0 = ', evap0
+  write(lunout,*)' albsno0 = ', albsno0
   write(lunout,*)' inertie_sol = ', inertie_sol
   write(lunout,*)' inertie_ice = ', inertie_ice
Index: /LMDZ5/trunk/libf/phylmd/fisrtilp.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/fisrtilp.F90	(revision 1893)
+++ /LMDZ5/trunk/libf/phylmd/fisrtilp.F90	(revision 1894)
@@ -566,8 +566,8 @@
               zqn(i) = zq(i)
               rneb(i,k) = 1.0                  
-              zcond(i) = MAX(0.0,zqn(i)-zqs(i))/(1+zdqs(i))
+              zcond(i) = MAX(0.0,zqn(i)-zqs(i))/(1.+iflag_fisrtilp_qsat*zdqs(i))
               rhcl(i,k)=1.0
            ELSE
-              zcond(i) = MAX(0.0,zqn(i)-zqs(i))*rneb(i,k)/(1+zdqs(i))
+              zcond(i) = MAX(0.0,zqn(i)-zqs(i))*rneb(i,k)/(1.+iflag_fisrtilp_qsat*zdqs(i))
               rhcl(i,k)=(zqs(i)+zq(i)-zdelq)/2./zqs(i)
            ENDIF
Index: /LMDZ5/trunk/libf/phylmd/fisrtilp.h
===================================================================
--- /LMDZ5/trunk/libf/phylmd/fisrtilp.h	(revision 1893)
+++ /LMDZ5/trunk/libf/phylmd/fisrtilp.h	(revision 1894)
@@ -14,4 +14,5 @@
       LOGICAL reevap_ice
       INTEGER iflag_pdf
+      INTEGER iflag_fisrtilp_qsat
 
       common/comfisrtilp/                                               &
@@ -24,4 +25,5 @@
      &     ,coef_eva                                                    &
      &     ,reevap_ice                                                  &
+     &     ,iflag_fisrtilp_qsat                                         &
      &     ,iflag_pdf        
 
Index: /LMDZ5/trunk/libf/phylmd/pbl_surface_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/pbl_surface_mod.F90	(revision 1893)
+++ /LMDZ5/trunk/libf/phylmd/pbl_surface_mod.F90	(revision 1894)
@@ -269,8 +269,5 @@
     INCLUDE "YOETHF.h"
     INCLUDE "temps.h"
-!****************************************************************************************
-! Declarations specifiques pour le 1D. A reprendre 
     INCLUDE "flux_arp.h"
-! Input variables
 !****************************************************************************************
     REAL,                         INTENT(IN)        :: dtime   ! time interval (s)
@@ -512,4 +509,5 @@
 
 !****************************************************************************************
+
 ! End of declarations
 !****************************************************************************************
@@ -562,5 +560,5 @@
 ! Force soil water content to qsol0 if qsol0>0 and VEGET=F (use bucket
 ! instead of ORCHIDEE)
-    IF (qsol0>0.) THEN
+    IF (qsol0>=0.) THEN
       PRINT*,'WARNING : On impose qsol=',qsol0
       qsol(:)=qsol0
@@ -983,4 +981,11 @@
 !
 !****************************************************************************************
+
+       if (evap0>=0.) then
+          yevap(:)=evap0
+          yevap(:)=RLVTT*evap0
+       endif
+
+
        y_d_ts(1:knon)   = ytsurf_new(1:knon) - yts(1:knon)
  
