Index: LMDZ6/branches/Ocean_skin/libf/phylmd/phys_state_var_mod.F90
===================================================================
--- LMDZ6/branches/Ocean_skin/libf/phylmd/phys_state_var_mod.F90	(revision 4020)
+++ LMDZ6/branches/Ocean_skin/libf/phylmd/phys_state_var_mod.F90	(revision 4368)
@@ -62,4 +62,10 @@
       REAL, ALLOCATABLE, SAVE :: swradcorr(:)
 !$OMP THREADPRIVATE(swradcorr)
+#ifdef ISO
+      REAL,ALLOCATABLE,SAVE :: xtsol(:,:),fxtevap(:,:,:)
+!$OMP THREADPRIVATE(xtsol,fxtevap)
+      REAL, ALLOCATABLE, SAVE :: xtrain_fall(:,:), xtsnow_fall(:,:)
+!$OMP THREADPRIVATE(xtrain_fall,xtsnow_fall)
+#endif
 
 !clesphy0 param physiq
@@ -80,4 +86,8 @@
       REAL, ALLOCATABLE, SAVE :: prw_ancien(:), prlw_ancien(:), prsw_ancien(:)
 !$OMP THREADPRIVATE(prw_ancien, prlw_ancien, prsw_ancien)
+#ifdef ISO
+      REAL, ALLOCATABLE, SAVE :: xt_ancien(:,:,:),xtl_ancien(:,:,:),xts_ancien(:,:,:)
+!$OMP THREADPRIVATE(xt_ancien,xtl_ancien,xts_ancien)
+#endif
       REAL, ALLOCATABLE, SAVE :: u_ancien(:,:), v_ancien(:,:)
 !$OMP THREADPRIVATE(u_ancien, v_ancien)
@@ -90,4 +100,6 @@
       REAL, ALLOCATABLE, SAVE :: clwcon(:,:),rnebcon(:,:)
 !$OMP THREADPRIVATE(clwcon,rnebcon)
+      REAL, ALLOCATABLE, SAVE :: rneb_ancien(:,:)
+!$OMP THREADPRIVATE(rneb_ancien)
       REAL, ALLOCATABLE, SAVE :: qtc_cv(:,:),sigt_cv(:,:)
 !$OMP THREADPRIVATE(qtc_cv,sigt_cv)
@@ -219,4 +231,8 @@
       REAL,ALLOCATABLE,SAVE :: fqd(:,:)     
 !$OMP THREADPRIVATE(fqd)
+#ifdef ISO
+      REAL, ALLOCATABLE, SAVE :: fxtd(:,:,:)
+!$OMP THREADPRIVATE(fxtd)
+#endif
 !34EK
 ! -- Variables de controle de ALE et ALP
@@ -258,4 +274,8 @@
       REAL,ALLOCATABLE,SAVE :: wake_deltaq(:,:)
 !$OMP THREADPRIVATE(wake_deltaq)
+#ifdef ISO
+      REAL, ALLOCATABLE, SAVE :: wake_deltaxt(:,:,:)
+!$OMP THREADPRIVATE(wake_deltaxt)
+#endif
       REAL,ALLOCATABLE,SAVE :: wake_s(:)
 !$OMP THREADPRIVATE(wake_s)
@@ -395,4 +415,10 @@
 !$OMP THREADPRIVATE(snow_con)
 !
+#ifdef ISO
+      REAL,SAVE,ALLOCATABLE :: xtrain_con(:,:)
+!$OMP THREADPRIVATE(xtrain_con)
+      REAL,SAVE,ALLOCATABLE :: xtsnow_con(:,:)
+!$OMP THREADPRIVATE(xtsnow_con)
+#endif
       REAL,SAVE,ALLOCATABLE :: rlonPOS(:)
 !$OMP THREADPRIVATE(rlonPOS)
@@ -429,4 +455,12 @@
 !$OMP THREADPRIVATE(ratqs_inter)
 
+#ifdef ISO
+#ifdef ISOTRAC
+      INTEGER,SAVE,ALLOCATABLE :: bassin_map(:)
+!$OMP THREADPRIVATE(bassin_map)
+      INTEGER,SAVE,ALLOCATABLE :: boite_map(:,:)
+!$OMP THREADPRIVATE(boite_map)
+#endif   
+#endif
       REAL, ALLOCATABLE, SAVE:: du_gwd_rando(:, :), du_gwd_front(:, :)
       !$OMP THREADPRIVATE(du_gwd_rando, du_gwd_front)
@@ -475,4 +509,7 @@
 USE aero_mod
 USE infotrac_phy, ONLY : nbtr
+#ifdef ISO
+USE infotrac_phy, ONLY : ntraciso=>ntiso,niso
+#endif
 USE indice_sol_mod
 use config_ocean_skin_m, only: activate_ocean_skin
@@ -526,4 +563,5 @@
 !!! Rom P <<<
       ALLOCATE(clwcon(klon,klev),rnebcon(klon,klev))
+      ALLOCATE(rneb_ancien(klon,klev))
       ALLOCATE(qtc_cv(klon,klev),sigt_cv(klon,klev))
       ALLOCATE(ratqs(klon,klev))
@@ -534,4 +572,8 @@
       ALLOCATE(coefh(klon,klev+1,nbsrf+1))
       ALLOCATE(coefm(klon,klev+1,nbsrf+1))
+      ! initialize cleanly coefh,coefm
+      ! (most of the time in the code these are assumed to be on klev levels)
+      coefh(:,:,:)=0
+      coefm(:,:,:)=0
       ALLOCATE(zmax0(klon), f0(klon))
       ALLOCATE(sig1(klon,klev), w01(klon,klev))
@@ -668,4 +710,22 @@
       ALLOCATE(cg_aero_lw_rrtm(klon,klev,2,nbands_lw_rrtm))
       ALLOCATE(ccm(klon,klev,nbands))
+
+#ifdef ISO
+      ALLOCATE(xtsol(niso,klon),fxtevap(ntraciso,klon,nbsrf))
+      ALLOCATE(fxtd(ntraciso,klon,klev))
+      ALLOCATE(wake_deltaxt(ntraciso,klon,klev))
+      ALLOCATE(xt_ancien(ntraciso,klon,klev))
+      ALLOCATE(xtl_ancien(ntraciso,klon,klev))
+      ALLOCATE(xts_ancien(ntraciso,klon,klev))
+      ALLOCATE(xtrain_fall(ntraciso,klon))
+      ALLOCATE(xtsnow_fall(ntraciso,klon))
+      ALLOCATE(xtrain_con(ntraciso,klon))
+      ALLOCATE(xtsnow_con(ntraciso,klon))
+#ifdef ISOTRAC
+      ALLOCATE(bassin_map(klon))
+      ALLOCATE(boite_map(klon,klev))  
+#endif      
+#endif
+
       ALLOCATE(ale_bl_trig(klon))
       ALLOCATE(ratqs_inter(klon,klev))
@@ -707,5 +767,5 @@
       DEALLOCATE(zthe, zpic, zval)
       DEALLOCATE(rugoro, t_ancien, q_ancien, clwcon, rnebcon)
-      DEALLOCATE(qs_ancien, ql_ancien)
+      DEALLOCATE(qs_ancien, ql_ancien, rneb_ancien)
       DEALLOCATE(prw_ancien, prlw_ancien, prsw_ancien)
       DEALLOCATE(qtc_cv,sigt_cv)
@@ -829,4 +889,12 @@
       end if
 
+#ifdef ISO    
+      DEALLOCATE(xtsol,fxtevap)  
+      DEALLOCATE(xt_ancien,xtl_ancien,xts_ancien, fxtd, wake_deltaxt)
+      DEALLOCATE(xtrain_fall, xtsnow_fall, xtrain_con, xtsnow_con)
+#ifdef ISOTRAC 
+      DEALLOCATE(bassin_map,boite_map) 
+#endif        
+#endif
       is_initialized=.FALSE.
       
