Index: LMDZ6/trunk/libf/phylmdiso/add_phys_tend_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/add_phys_tend_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/add_phys_tend_mod.F90	(revision 4143)
@@ -39,5 +39,5 @@
   USE mod_grid_phy_lmdz, ONLY: nbp_lev
 #ifdef ISO
-  USE infotrac_phy, ONLY: ntraciso
+  USE infotrac_phy, ONLY: ntraciso=>ntiso
   USE isotopes_mod, ONLY: iso_eau
 #endif
@@ -154,5 +154,5 @@
 
 #ifdef ISO
-    USE infotrac_phy, ONLY: ntraciso  
+    USE infotrac_phy, ONLY: ntraciso=>ntiso
 #ifdef ISOVERIF
     USE isotopes_mod, ONLY: iso_eau
Index: LMDZ6/trunk/libf/phylmdiso/add_wake_tend.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/add_wake_tend.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/add_wake_tend.F90	(revision 4143)
@@ -18,5 +18,5 @@
 USE print_control_mod, ONLY: prt_level
 #ifdef ISO
-    USE infotrac_phy, ONLY: ntraciso    
+    USE infotrac_phy, ONLY: ntiso    
     USE phys_state_var_mod, ONLY:  wake_deltaxt   
 #endif
@@ -31,5 +31,5 @@
   INTEGER,                       INTENT (IN)         :: abortphy
 #ifdef ISO
-  REAL, DIMENSION(ntraciso,klon, klev),   INTENT (IN)         :: zddeltaxt
+  REAL, DIMENSION(ntiso, klon, klev), INTENT (IN)    :: zddeltaxt
 #endif
 
@@ -61,5 +61,5 @@
                wake_deltaq(i, l) = wake_deltaq(i, l) + zddeltaq(i,l)
 #ifdef ISO
-               do ixt=1,ntraciso
+               do ixt=1,ntiso
                  wake_deltaxt(ixt,i, l) = wake_deltaxt(ixt,i, l) + zddeltaxt(ixt,i,l)
                enddo
@@ -69,5 +69,5 @@
                wake_deltaq(i, l) = 0.
 #ifdef ISO
-               do ixt=1,ntraciso
+               do ixt=1,ntiso
                  wake_deltaxt(ixt,i, l) = 0.0
                enddo
Index: LMDZ6/trunk/libf/phylmdiso/ajsec.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/ajsec.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/ajsec.F90	(revision 4143)
@@ -9,5 +9,5 @@
   USE dimphy
 #ifdef ISO
-    USE infotrac_phy, ONLY: ntraciso    
+    USE infotrac_phy, ONLY: ntraciso =>ntiso   
 #ifdef ISOVERIF
   USE isotopes_mod, ONLY : iso_eau,iso_HDO
@@ -303,5 +303,5 @@
   USE dimphy
 #ifdef ISO
-    USE infotrac_phy, ONLY: ntraciso       
+    USE infotrac_phy, ONLY: ntraciso=>ntiso    
 #ifdef ISOVERIF
   USE isotopes_mod, ONLY : iso_eau,iso_HDO
Index: LMDZ6/trunk/libf/phylmdiso/calwake.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/calwake.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/calwake.F90	(revision 4143)
@@ -35,5 +35,5 @@
   USE print_control_mod, ONLY: mydebug=>debug , lunout, prt_level
 #ifdef ISO
-  USE infotrac_phy, ONLY : ntraciso
+  USE infotrac_phy, ONLY : ntraciso=>ntiso
 #ifdef ISOVERIF
   USE isotopes_mod, ONLY: iso_eau
Index: LMDZ6/trunk/libf/phylmdiso/change_srf_frac_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/change_srf_frac_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/change_srf_frac_mod.F90	(revision 4143)
@@ -39,5 +39,5 @@
     USE print_control_mod, ONLY: lunout
 #ifdef ISO
-  USE infotrac_phy, ONLY: ntraciso    
+  USE infotrac_phy, ONLY: ntiso    
 #endif
     
@@ -66,5 +66,5 @@
 !albedo SB <<<
 #ifdef ISO
-    REAL, DIMENSION(ntraciso,klon,nbsrf), INTENT(INOUT)        :: xtevap
+    REAL, DIMENSION(ntiso,klon,nbsrf), INTENT(INOUT)        :: xtevap
 #endif
 
Index: LMDZ6/trunk/libf/phylmdiso/climb_hq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/climb_hq_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/climb_hq_mod.F90	(revision 4143)
@@ -6,5 +6,5 @@
   USE dimphy
 #ifdef ISO
-  USE infotrac_phy, ONLY: ntraciso ! ajout C Risi pour isos      
+  USE infotrac_phy, ONLY: ntraciso=>ntiso ! ajout C Risi pour isos      
 #endif
 
@@ -59,5 +59,4 @@
             )
 #ifdef ISOVERIF
-!USE infotrac_phy, ONLY: use_iso
 USE isotopes_mod, ONLY: iso_eau,iso_HDO
 !USE isotopes_verif_mod, ONLY: errmax, errmaxrel
Index: LMDZ6/trunk/libf/phylmdiso/concvl.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/concvl.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/concvl.F90	(revision 4143)
@@ -44,5 +44,5 @@
   USE infotrac_phy, ONLY: nbtr
 #ifdef ISO
-  USE infotrac_phy, ONLY: ntraciso
+  USE infotrac_phy, ONLY: ntraciso=>ntiso
   USE isotopes_mod, ONLY: iso_eau, bidouille_anti_divergence, ridicule, &
         iso_eau,iso_HDO
Index: LMDZ6/trunk/libf/phylmdiso/cv30_routines.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/cv30_routines.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/cv30_routines.F90	(revision 4143)
@@ -165,5 +165,5 @@
     )
 #ifdef ISO
-    USE infotrac_phy, ONLY: ntraciso    
+    USE infotrac_phy, ONLY: ntraciso=>ntiso
 #endif
   IMPLICIT NONE
@@ -370,5 +370,5 @@
 
 #ifdef ISO
-USE infotrac_phy, ONLY: ntraciso
+USE infotrac_phy, ONLY: ntraciso=>ntiso
 USE isotopes_mod, ONLY: pxtmelt,pxtice,pxtmin,pxtmax,cond_temp_env, &
         iso_eau,iso_HDO, ridicule
@@ -947,5 +947,5 @@
   USE print_control_mod, ONLY: lunout
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso
+    use infotrac_phy, ONLY: ntraciso=>ntiso
     use isotopes_mod, ONLY: essai_convergence, iso_eau,iso_HDO
 #ifdef ISOVERIF
@@ -1133,5 +1133,5 @@
     ! epmax_cape: ajout arguments
 #ifdef ISO
-use infotrac_phy, ONLY: ntraciso
+use infotrac_phy, ONLY: ntraciso=>ntiso
 USE isotopes_mod, ONLY: pxtmelt,pxtice,pxtmin,pxtmax,cond_temp_env, iso_eau,iso_HDO
 USE isotopes_routines_mod, ONLY: condiso_liq_ice_vectall
@@ -1828,5 +1828,5 @@
 
 #ifdef ISO
-use infotrac_phy, ONLY: ntraciso,niso,index_trac
+use infotrac_phy, ONLY: ntraciso=>ntiso,niso,itZonIso
 USE isotopes_mod, ONLY: pxtmelt,pxtice,pxtmin,pxtmax, iso_eau,iso_HDO, &
         ridicule
@@ -2616,5 +2616,5 @@
         call iso_verif_traceur(xtclw(1,il,im), &
      &          'condiso_liq_ice_vectiso_trac 358')
-        if (iso_verif_positif_nostop(xtclw(index_trac( &
+        if (iso_verif_positif_nostop(xtclw(itZonIso( &
      &           izone_cond,iso_eau),i,k)-xtclw(iso_eau,i,k) &
      &           ,'cv30_routines 909').eq.1) then
@@ -2624,5 +2624,5 @@
      &             niso,ntraciso,index_zone,izone_cond       
                stop
-         endif !if (iso_verif_positif_nostop(xtclw(index_trac(
+         endif !if (iso_verif_positif_nostop(xtclw(itZonIso(
 #endif             
          enddo !do il = 1, ncum   
@@ -2647,5 +2647,5 @@
      &          )
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso
+    use infotrac_phy, ONLY: ntraciso=>ntiso
     use isotopes_mod, ONLY: essai_convergence, iso_eau,iso_HDO,ridicule
     use isotopes_routines_mod, ONLY: appel_stewart_vectall
@@ -2659,5 +2659,5 @@
 #ifdef ISOTRAC
     use isotrac_mod, only: option_cond,izone_cond
-    use infotrac_phy, ONLY: index_trac
+    use infotrac_phy, ONLY: itZonIso
 #ifdef ISOVERIF
     use isotopes_verif_mod, ONLY: iso_verif_traceur_justmass, &
@@ -2938,5 +2938,5 @@
            ! on verifie que tout le detrainement est tagge condensat
            if (iso_verif_positif_nostop( &
-     &          xtwdtrain(index_trac(izone_cond,iso_eau),il) &
+     &          xtwdtrain(itZonIso(izone_cond,iso_eau),il) &
      &          -xtwdtrain(iso_eau,il), &
      &          'cv30_routines 2795').eq.1) then
@@ -3200,5 +3200,5 @@
 !        if (option_tmin.ge.1) then
 !           call iso_verif_positif(xtwater(
-!     :           index_trac(izone_cond,iso_eau),il,i+1)
+!     :           itZonIso(izone_cond,iso_eau),il,i+1)
 !     :           -xtwater(iso_eau,il,i+1),
 !     :          'cv30_routines 3083')
@@ -3259,5 +3259,5 @@
 !        if (option_tmin.ge.1) then
 !         call iso_verif_positif(xtwater(
-!     :           index_trac(izone_cond,iso_eau),il,i)
+!     :           itZonIso(izone_cond,iso_eau),il,i)
 !     :           -xtwater(iso_eau,il,i),
 !     :          'cv30_routines 3143')
@@ -3369,6 +3369,5 @@
      &                    )
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso,niso, &
-&       ntraceurs_zone,index_trac
+    use infotrac_phy, ONLY: ntraciso=>ntiso, niso, nzone, itZonIso
     use isotopes_mod, ONLY: essai_convergence,ridicule,iso_eau,iso_HDO,iso_O18
 #ifdef ISOVERIF
@@ -5003,5 +5002,5 @@
           do iiso = 1, niso
              
-             ixt_ddft=index_trac(izone_ddft,iiso)  
+             ixt_ddft=itZonIso(izone_ddft,iiso)  
              if (mp(il,i).gt.mp(il,i+1)) then
                 fxtYe(iiso)=0.01*grav*dpinv*mp(il,i) &
@@ -5016,5 +5015,5 @@
      &              -mp(il,i)*(xtp(iiso,il,i)-xt(iiso,il,i-1))) 
         
-             ixt_poubelle=index_trac(izone_poubelle,iiso)
+             ixt_poubelle=itZonIso(izone_poubelle,iiso)
              fxt(ixt_ddft,il,i)=fxt(ixt_ddft,il,i)+fxtYe(iiso)
              fxt(ixt_poubelle,il,i)=fxt(ixt_poubelle,il,i) &
@@ -5033,10 +5032,10 @@
      &              -mp(il,i)*(xtp(iiso,il,i)-xt(iiso,il,i-1)))
 
-                ixt_ddft=index_trac(izone_ddft,iiso) 
+                ixt_ddft=itZonIso(izone_ddft,iiso) 
                 fxtYe(iiso)=0.01*grav*dpinv*mp(il,i) &
      &           *(xt(ixt_ddft,il,i-1)-xt(ixt_ddft,il,i))
                 fxt(ixt_ddft,il,i)=fxt(ixt_ddft,il,i)+fxtYe(iiso)  
 
-               ixt_revap=index_trac(izone_revap,iiso)  
+               ixt_revap=itZonIso(izone_revap,iiso)  
                fxt_revap(iiso)=0.01*grav*dpinv*(mp(il,i+1)* &
      &                  (xtp(ixt_revap,il,i+1)-xt(ixt_revap,il,i)) &
@@ -5049,12 +5048,12 @@
      &                   -xt(ixt_ddft,il,i)-xt(ixt_revap,il,i)
                 if (Xe(iiso).gt.ridicule) then
-                  do izone=1,ntraceurs_zone
+                  do izone=1,nzone
                    if ((izone.ne.izone_revap).and. &
      &                   (izone.ne.izone_ddft)) then
-                    ixt=index_trac(izone,iiso) 
+                    ixt=itZonIso(izone,iiso) 
                     fxt(ixt,il,i)=fxt(ixt,il,i) &
      &                   +xt(ixt,il,i)/Xe(iiso)*fxtXe(iiso)
                    endif !if ((izone.ne.izone_revap).and.
-                  enddo !do izone=1,ntraceurs_zone   
+                  enddo !do izone=1,nzone   
 #ifdef ISOVERIF
 !                write(*,*) 'iiso=',iiso
@@ -5078,8 +5077,8 @@
                 endif
 #endif                   
-                do izone=1,ntraceurs_zone
+                do izone=1,nzone
                    if ((izone.ne.izone_revap).and. &
      &                   (izone.ne.izone_ddft)) then                    
-                    ixt=index_trac(izone,iiso) 
+                    ixt=itZonIso(izone,iiso) 
                     if (izone.eq.izone_poubelle) then
                       fxt(ixt,il,i)=fxt(ixt,il,i)+fxtXe(iiso)
@@ -5088,5 +5087,5 @@
                     endif !if (izone.eq.izone_poubelle) then
                    endif !if ((izone.ne.izone_revap).and.
-                enddo !do izone=1,ntraceurs_zone
+                enddo !do izone=1,nzone
 #ifdef ISOVERIF
                   call iso_verif_traceur_justmass(fxt(1,il,i), &
@@ -5237,6 +5236,6 @@
         enddo !do ixt = 1+niso,ntraciso
 !        write(*,*) 'tmp cv3_yield 4165: i,il=',i,il
-!        ixt_poubelle=index_trac(izone_poubelle,iso_eau)
-!        ixt_ddft=index_trac(izone_ddft,iso_eau)
+!        ixt_poubelle=itZonIso(izone_poubelle,iso_eau)
+!        ixt_ddft=itZonIso(izone_ddft,iso_eau)
 !        write(*,*) 'delt*fxt(ixt_poubelle,il,i)=',
 !     :           delt*fxt(ixt_poubelle,il,i)
@@ -5244,6 +5243,6 @@
 !        write(*,*) 'xt(iso_eau,il,i)=',xt(iso_eau,il,i)
           do iiso = 1, niso
-             ixt_poubelle=index_trac(izone_poubelle,iiso)
-             ixt_ddft=index_trac(izone_ddft,iiso)  
+             ixt_poubelle=itZonIso(izone_poubelle,iiso)
+             ixt_ddft=itZonIso(izone_ddft,iiso)  
              if (mp(il,i).gt.mp(il,i+1)) then
                 fxtYe(iiso)=0.01*grav*dpinv*mp(il,i) &
@@ -6111,5 +6110,5 @@
 
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso
+    use infotrac_phy, ONLY: ntraciso=>ntiso
 #ifdef ISOVERIF
     use isotopes_verif_mod, ONLY: Tmin_verif,iso_verif_aberrant, &
Index: LMDZ6/trunk/libf/phylmdiso/cv3_enthalpmix.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/cv3_enthalpmix.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/cv3_enthalpmix.F90	(revision 4143)
@@ -7,5 +7,5 @@
                        )
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso
+    use infotrac_phy, ONLY: ntiso
 #endif
   ! **************************************************************
@@ -43,5 +43,5 @@
   REAL, DIMENSION (len,nd+1), INTENT (IN)   :: ph
 #ifdef ISO
-  REAL, DIMENSION (ntraciso,len,nd), INTENT (IN)     :: xt
+  REAL, DIMENSION (ntiso,len,nd), INTENT (IN)     :: xt
 #endif
 !input/output:
@@ -54,5 +54,5 @@
   REAL, DIMENSION (len,nd), INTENT (OUT)    :: wi
 #ifdef ISO
-  REAL, DIMENSION (ntraciso,len), INTENT (OUT)     :: xtmix
+  REAL, DIMENSION (ntiso,len), INTENT (OUT)     :: xtmix
 #endif
 !internal variables :
@@ -153,5 +153,5 @@
         vmix(i) = vmix(i) + v(i, j)*wi(i, j)
 #ifdef ISO
-        do ixt=1,ntraciso
+        do ixt=1,ntiso
           xtmix(ixt,i) = xtmix(ixt,i) +  xt(ixt,i, j)*wi(i, j)
         enddo
Index: LMDZ6/trunk/libf/phylmdiso/cv3_estatmix.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/cv3_estatmix.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/cv3_estatmix.F90	(revision 4143)
@@ -7,5 +7,5 @@
                        )
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso
+    use infotrac_phy, ONLY: ntiso
 #endif
   ! **************************************************************
@@ -46,5 +46,5 @@
   REAL, DIMENSION (len,nd+1), INTENT (IN)   :: ph
 #ifdef ISO
-  REAL, DIMENSION (ntraciso,len,nd), INTENT (IN)     :: xt
+  REAL, DIMENSION (ntiso,len,nd), INTENT (IN)     :: xt
 #endif
 !input/output:
@@ -57,5 +57,5 @@
   REAL, DIMENSION (len,nd), INTENT (OUT)    :: wi
 #ifdef ISO
-  REAL, DIMENSION (ntraciso,len), INTENT (OUT)     :: xtmix
+  REAL, DIMENSION (ntiso,len), INTENT (OUT)     :: xtmix
 #endif
 !internal variables :
@@ -153,5 +153,5 @@
         vmix(i) = vmix(i) +  v(i, j)*wi(i, j)
 #ifdef ISO
-        do ixt=1,ntraciso
+        do ixt=1,ntiso
           xtmix(ixt,i) = xtmix(ixt,i) +  xt(ixt,i, j)*wi(i, j)
         enddo
Index: LMDZ6/trunk/libf/phylmdiso/cv3_routines.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/cv3_routines.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/cv3_routines.F90	(revision 4143)
@@ -314,5 +314,5 @@
      &   )
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso
+    use infotrac_phy, ONLY: ntraciso=>ntiso
 #ifdef ISOVERIF
     use isotopes_verif_mod, ONLY: iso_verif_positif,iso_verif_noNaN,iso_verif_egalite
@@ -685,5 +685,5 @@
      &                   )
 #ifdef ISO
-USE infotrac_phy, ONLY: ntraciso
+USE infotrac_phy, ONLY: ntraciso=>ntiso
 USE isotopes_mod, ONLY: pxtmelt,pxtice,pxtmin,pxtmax,cond_temp_env, &
         iso_eau,iso_HDO,ridicule
@@ -1274,5 +1274,5 @@
   USE print_control_mod, ONLY: lunout
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso
+    use infotrac_phy, ONLY: ntraciso=>ntiso
     use isotopes_mod, ONLY: essai_convergence, iso_eau,iso_HDO
 #ifdef ISOVERIF
@@ -1474,5 +1474,5 @@
   USE print_control_mod, ONLY: prt_level
 #ifdef ISO
-use infotrac_phy, ONLY: ntraciso
+use infotrac_phy, ONLY: ntraciso=>ntiso
 USE isotopes_mod, ONLY: pxtmelt,pxtice,pxtmin,pxtmax,cond_temp_env, &
         iso_eau,iso_HDO
@@ -2777,5 +2777,5 @@
 
 #ifdef ISO
-use infotrac_phy, ONLY: ntraciso,niso,index_trac
+use infotrac_phy, ONLY: ntraciso=>ntiso,niso,itZonIso
 USE isotopes_mod, ONLY: pxtmelt,pxtice,pxtmin,pxtmax, iso_eau,iso_HDO, &
         ridicule
@@ -3580,5 +3580,5 @@
         call iso_verif_traceur(xtclw(1,il,im), &
      &          'condiso_liq_ice_vectiso_trac 358')
-        if (iso_verif_positif_nostop(xtclw(index_trac( &
+        if (iso_verif_positif_nostop(xtclw(itZonIso( &
      &           izone_cond,iso_eau),i,k)-xtclw(iso_eau,i,k) &
      &           ,'cv3_routines 909').eq.1) then
@@ -3588,5 +3588,5 @@
      &             niso,ntraciso,index_zone,izone_cond      
                stop
-         endif !if (iso_verif_positif_nostop(xtclw(index_trac(
+         endif !if (iso_verif_positif_nostop(xtclw(itZonIso(
 #endif             
          enddo !do il = 1, ncum   
@@ -3615,5 +3615,5 @@
   USE print_control_mod, ONLY: prt_level, lunout
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso
+    use infotrac_phy, ONLY: ntraciso=>ntiso
     use isotopes_mod, ONLY: essai_convergence, iso_eau,iso_HDO, &
         ridicule
@@ -3628,5 +3628,5 @@
 #ifdef ISOTRAC
     use isotrac_mod, only: option_cond,izone_cond
-    use infotrac_phy, ONLY: index_trac
+    use infotrac_phy, ONLY: itZonIso
 #ifdef ISOVERIF
     use isotopes_verif_mod, ONLY: iso_verif_traceur_justmass, &
@@ -3993,5 +3993,5 @@
           ! on verifie que tout le detrainement est tagge condensat
           if (iso_verif_positif_nostop( &
-     &          xtwdtrain(index_trac(izone_cond,iso_eau),il) &
+     &          xtwdtrain(itZonIso(izone_cond,iso_eau),il) &
      &          -xtwdtrain(iso_eau,il), &
      &          'cv3_routines 2795').eq.1) then
@@ -4535,5 +4535,5 @@
 !        if (option_tmin.ge.1) then
 !           call iso_verif_positif(xtwater(
-!     :           index_trac(izone_cond,iso_eau),il,i+1)
+!     :           itZonIso(izone_cond,iso_eau),il,i+1)
 !     :           -xtwater(iso_eau,il,i+1),
 !     :          'cv3_routines 3083')
@@ -4602,5 +4602,5 @@
 !        if (option_tmin.ge.1) then
 !         call iso_verif_positif(xtwater(
-!     :           index_trac(izone_cond,iso_eau),il,i)
+!     :           itZonIso(izone_cond,iso_eau),il,i)
 !     :           -xtwater(iso_eau,il,i),
 !     :          'cv3_routines 3143')
@@ -4741,6 +4741,5 @@
 
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso,niso, &
-&       ntraceurs_zone,index_trac
+    use infotrac_phy, ONLY: ntraciso=>ntiso, niso, nzone, itZonIso
     use isotopes_mod, ONLY: essai_convergence,ridicule,iso_eau,iso_HDO,iso_O18
 #ifdef ISOVERIF
@@ -5889,5 +5888,5 @@
           do iiso = 1, niso
              
-             ixt_ddft=index_trac(izone_ddft,iiso)  
+             ixt_ddft=itZonIso(izone_ddft,iiso)  
              if (mp(il,i).gt.mp(il,i+1)) then
                 fxtYe(iiso)=0.01*grav*dpinv*mp(il,i) &
@@ -5902,5 +5901,5 @@
      &              -mp(il,i)*(xtp(iiso,il,i)-xt(iiso,il,i-1))) 
         
-             ixt_poubelle=index_trac(izone_poubelle,iiso)
+             ixt_poubelle=itZonIso(izone_poubelle,iiso)
              fxt(ixt_ddft,il,i)=fxt(ixt_ddft,il,i)+fxtYe(iiso)
              fxt(ixt_poubelle,il,i)=fxt(ixt_poubelle,il,i) &
@@ -5919,10 +5918,10 @@
      &              -mp(il,i)*(xtp(iiso,il,i)-xt(iiso,il,i-1)))
 
-                ixt_ddft=index_trac(izone_ddft,iiso) 
+                ixt_ddft=itZonIso(izone_ddft,iiso) 
                 fxtYe(iiso)=0.01*grav*dpinv*mp(il,i) &
      &           *(xt(ixt_ddft,il,i-1)-xt(ixt_ddft,il,i))
                 fxt(ixt_ddft,il,i)=fxt(ixt_ddft,il,i)+fxtYe(iiso)  
 
-               ixt_revap=index_trac(izone_revap,iiso)  
+               ixt_revap=itZonIso(izone_revap,iiso)  
                fxt_revap(iiso)=0.01*grav*dpinv*(mp(il,i+1)* &
      &                  (xtp(ixt_revap,il,i+1)-xt(ixt_revap,il,i)) &
@@ -5935,12 +5934,12 @@
      &                   -xt(ixt_ddft,il,i)-xt(ixt_revap,il,i)
                 if (Xe(iiso).gt.ridicule) then
-                  do izone=1,ntraceurs_zone
+                  do izone=1,nzone
                    if ((izone.ne.izone_revap).and. &
      &                   (izone.ne.izone_ddft)) then
-                    ixt=index_trac(izone,iiso) 
+                    ixt=itZonIso(izone,iiso) 
                     fxt(ixt,il,i)=fxt(ixt,il,i) &
      &                   +xt(ixt,il,i)/Xe(iiso)*fxtXe(iiso)
                    endif !if ((izone.ne.izone_revap).and.
-                  enddo !do izone=1,ntraceurs_zone   
+                  enddo !do izone=1,nzone   
 #ifdef ISOVERIF
 !                write(*,*) 'iiso=',iiso
@@ -5964,8 +5963,8 @@
                 endif
 #endif                   
-                do izone=1,ntraceurs_zone
+                do izone=1,nzone
                    if ((izone.ne.izone_revap).and. &
      &                   (izone.ne.izone_ddft)) then                    
-                    ixt=index_trac(izone,iiso) 
+                    ixt=itZonIso(izone,iiso) 
                     if (izone.eq.izone_poubelle) then
                       fxt(ixt,il,i)=fxt(ixt,il,i)+fxtXe(iiso)
@@ -5974,5 +5973,5 @@
                     endif !if (izone.eq.izone_poubelle) then
                    endif !if ((izone.ne.izone_revap).and.
-                enddo !do izone=1,ntraceurs_zone
+                enddo !do izone=1,nzone
 #ifdef ISOVERIF
                   call iso_verif_traceur_justmass(fxt(1,il,i), &
@@ -7459,5 +7458,5 @@
      &     )    
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso
+    use infotrac_phy, ONLY: ntraciso=>ntiso
 #ifdef ISOVERIF
     use isotopes_verif_mod, ONLY: Tmin_verif,iso_verif_aberrant, &
Index: LMDZ6/trunk/libf/phylmdiso/cv3a_compress.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/cv3a_compress.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/cv3a_compress.F90	(revision 4143)
@@ -34,5 +34,5 @@
   ! **************************************************************
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso
+    use infotrac_phy, ONLY: ntraciso=>ntiso
     use isotopes_mod, ONLY: essai_convergence, iso_eau,iso_HDO
 #ifdef ISOVERIF
Index: LMDZ6/trunk/libf/phylmdiso/cv3a_uncompress.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/cv3a_uncompress.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/cv3a_uncompress.F90	(revision 4143)
@@ -54,5 +54,5 @@
 
 #ifdef ISO
-  USE infotrac_phy, ONLY : ntraciso
+  USE infotrac_phy, ONLY : ntraciso=>ntiso
 #endif
   IMPLICIT NONE
Index: LMDZ6/trunk/libf/phylmdiso/cv3p_mixing.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/cv3p_mixing.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/cv3p_mixing.F90	(revision 4143)
@@ -21,5 +21,5 @@
   USE add_phys_tend_mod, ONLY: fl_cor_ebil
 #ifdef ISO
-  USE infotrac_phy, ONLY: ntraciso
+  USE infotrac_phy, ONLY: ntraciso=>ntiso
   USE isotopes_mod, ONLY: pxtmelt,pxtice
   USE isotopes_routines_mod, ONLY: condiso_liq_ice_vectall
@@ -1301,5 +1301,5 @@
             call iso_verif_egalite_choix(xtent(iso_eau,il,im,jm), &
               qent(il,im,jm),'cv3p_mixing 2112',errmax,errmaxrel)
-          endif !if (use_iso_eau) then
+          endif !if (iso_eau>0) then
 #ifdef ISOTRAC
         call iso_verif_traceur_justmass(xtelij(1,il,im,jm), &   
@@ -1353,5 +1353,5 @@
 !        call iso_verif_traceur(xtclw(1,il,im), &
 !               'cv3p_mixing 358')
-!        if (iso_verif_positif_nostop(xtclw(index_trac( &
+!        if (iso_verif_positif_nostop(xtclw(itZonIso( &
 !                izone_cond,iso_eau),i,k)-xtclw(iso_eau,i,k) &
 !                ,'cv3p_mixing 909').eq.1) then
@@ -1361,5 +1361,5 @@
 !                  niso,ntraciso,index_zone,izone_cond      
 !               stop
-!         endif !if (iso_verif_positif_nostop(xtclw(index_trac(
+!         endif !if (iso_verif_positif_nostop(xtclw(itZonIso(
 !#endif             
 !         enddo !do il = 1, ncum   
Index: LMDZ6/trunk/libf/phylmdiso/cv_driver.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/cv_driver.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/cv_driver.F90	(revision 4143)
@@ -25,5 +25,5 @@
   USE dimphy
 #ifdef ISO
-  USE infotrac_phy, ONLY: ntraciso,niso,index_trac,ntraceurs_zone
+  USE infotrac_phy, ONLY: ntraciso=>ntiso,niso,itZonIso,nzone
   USE isotopes_mod, ONLY: iso_eau,iso_HDO,ridicule,bidouille_anti_divergence
 #ifdef ISOVERIF
@@ -511,5 +511,5 @@
     CALL cv_param(nd)
 #ifdef ISO
-       write(*,*) 'cv_driver 454: isos pas prévus ici'
+       write(*,*) 'cv_driver 454: isos pas prevus ici'
        stop
 #endif
@@ -687,5 +687,5 @@
 !c--debug
 #ifdef ISOVERIF
-       write(*,*) 'cv_driver 621: après cv3_undilute1'
+       write(*,*) 'cv_driver 621: apres cv3_undilute1'
        do k = 1, klev
         do i = 1, klon
@@ -752,5 +752,4 @@
         !write(*,*) 'xt1(iso_eau,1,1),q1(1,1)=',xt1(iso_eau,1,1),q1(1,1)
         !write(*,*) 'xt1(iso_eau,14,1),q1(14,1)=',xt1(iso_eau,14,1),q1(14,1) 
-        !write(*,*) 'iso_eau,use_iso=',iso_eau,use_iso
        do k = 1, klev
         do i = 1, nloc
@@ -783,5 +782,5 @@
 #ifdef ISO
 #ifdef ISOVERIF
-       write(*,*) 'cv_driver 720: après cv3_compress'           
+       write(*,*) 'cv_driver 720: apres cv3_compress'           
        do k = 1, klev
         do i = 1, ncum
@@ -883,5 +882,5 @@
                 ,cape,ep,hp,icb,inb,clw,nk,t,h,lv &
                 ,epmax_diag)
-        ! on Ã©crase ep et recalcule hp
+        ! on écrase ep et recalcule hp
     END IF
 
@@ -910,5 +909,5 @@
 #ifdef ISO
 #ifdef ISOVERIF
-       write(*,*) 'cv_driver 837: après cv3_mixing'
+       write(*,*) 'cv_driver 837: apres cv3_mixing'
        do k = 1, klev
        do j = 1, klev
@@ -925,6 +924,6 @@
            call iso_verif_traceur_justmass(xtelij(1,i,j,k), &
      &           'cv_driver 847')
-           ! on ne vérfier pas le deltaD ici car peut dépasser le seuil
-           ! raisonable pour températures très froides.
+           ! on ne verifie pas le deltaD ici car peut depasser le seuil
+           ! raisonable pour temperatures tres froides.
 #endif               
         enddo
@@ -940,5 +939,5 @@
            call iso_verif_traceur(xt(1,i,k),'cv_driver 856')
            if (option_tmin.eq.1) then
-             if (iso_verif_positif_nostop(xtclw(index_trac( &
+             if (iso_verif_positif_nostop(xtclw(itZonIso( &
      &           izone_cond,iso_eau),i,k)-xtclw(iso_eau,i,k) &
      &           ,'cv_driver 909').eq.1) then
@@ -946,5 +945,5 @@
                write(*,*) 'xtclw=',xtclw(:,i,k)
                stop
-             endif !if (iso_verif_positif_nostop(xtclw(index_trac(
+             endif !if (iso_verif_positif_nostop(xtclw(itZonIso(
            endif !if ((option_traceurs.eq.17).or.
 #endif  
@@ -1000,5 +999,5 @@
        write(*,*) 'klev=',klev
 #ifdef ISOVERIF
-       write(*,*) 'cv_driver 930: après cv3_unsat'
+       write(*,*) 'cv_driver 930: apres cv3_unsat'
        do k = 1, klev
         do i = 1, ncum
@@ -1048,6 +1047,6 @@
             do i = 1, ncum
                do iiso=1,niso
-                  ixt_ddft=index_trac(izone_ddft,iiso)
-                  ixt_poubelle=index_trac(izone_poubelle,iiso)
+                  ixt_ddft=itZonIso(izone_ddft,iiso)
+                  ixt_poubelle=itZonIso(izone_poubelle,iiso)
                   xtp(ixt_ddft,i,k)=xtp(ixt_ddft,i,k) &
      &                    +xtp(ixt_poubelle,i,k)
@@ -1063,20 +1062,20 @@
           do k = 1, klev
             do i = 1, ncum
-               do izone=1,ntraceurs_zone
+               do izone=1,nzone
                  if (izone.eq.izone_ddft) then
                    do iiso=1,niso
-                     ixt_ddft=index_trac(izone,iiso)
-                     ixt_revap=index_trac(izone_revap,iiso)
+                     ixt_ddft=itZonIso(izone,iiso)
+                     ixt_revap=itZonIso(izone_revap,iiso)
                      xtp(ixt_ddft,i,k)=xtp(iiso,i,k)-xtp(ixt_revap,i,k)
                    enddo !do iiso=1,niso
                  elseif (izone.eq.izone_ddft) then
-                    ! rien à faire
+                    ! rien a faire
                  else !if (izone.eq.izone_ddft) then
                    do iiso=1,niso
-                     ixt=index_trac(izone,iiso)
+                     ixt=itZonIso(izone,iiso)
                      xtp(ixt,i,k)=0.0
                    enddo !do iiso=1,niso
                  endif !if (izone.eq.izone_ddft) then
-               enddo !do izone=1,ntraceurs_zone
+               enddo !do izone=1,nzone
 #ifdef ISOVERIF
                call iso_verif_traceur(xtp(1,i,k),'cv_driver 1059')
@@ -1247,6 +1246,6 @@
 ! si icvflag_Tpa=0, alors la fraction de glace dans l'ascendance adiabatique est
   ! fonction de la temperature de l'environnement et la temperature de l'ascendance est 
-  ! calculee en deux itérations, une en supposant qu'il n'y a pas de glace et l'autre 
-  ! en ajoutant la glace (ancien schéma d'Arnaud Jam).
+  ! calculee en deux iterations, une en supposant qu'il n'y a pas de glace et l'autre 
+  ! en ajoutant la glace (ancien schema d'Arnaud Jam).
 ! si icvflag_Tpa=1, alors la fraction de glace dans l'ascendance adiabatique est
   ! fonction de la temperature de l'environnement et la temperature de l'ascendance est 
Index: LMDZ6/trunk/libf/phylmdiso/cva_driver.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/cva_driver.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/cva_driver.F90	(revision 4143)
@@ -54,5 +54,5 @@
   USE add_phys_tend_mod, ONLY: fl_cor_ebil
 #ifdef ISO
-  USE infotrac_phy, ONLY: ntraciso,niso,niso,index_trac,ntraceurs_zone
+  USE infotrac_phy, ONLY: ntraciso=>ntiso,niso,niso,itZonIso,nzone
   USE isotopes_mod, ONLY: iso_eau,iso_HDO,iso_O18,ridicule,bidouille_anti_divergence
 #ifdef ISOVERIF
@@ -1388,5 +1388,5 @@
            call iso_verif_traceur(xt(1,i,k),'cva_driver 856')
            if (option_tmin.eq.1) then
-             if (iso_verif_positif_nostop(xtclw(index_trac( &
+             if (iso_verif_positif_nostop(xtclw(itZonIso( &
      &           izone_cond,iso_eau),i,k)-xtclw(iso_eau,i,k) &
      &           ,'cva_driver 909').eq.1) then
@@ -1394,5 +1394,5 @@
                write(*,*) 'xtclw=',xtclw(:,i,k)
                stop
-             endif !if (iso_verif_positif_nostop(xtclw(index_trac(
+             endif !if (iso_verif_positif_nostop(xtclw(itZonIso(
            endif !if ((option_traceurs.eq.17).or.
 #endif  
@@ -1509,6 +1509,6 @@
             do i = 1, ncum
                do iiso=1,niso
-                  ixt_ddft=index_trac(izone_ddft,iiso)
-                  ixt_poubelle=index_trac(izone_poubelle,iiso)
+                  ixt_ddft=itZonIso(izone_ddft,iiso)
+                  ixt_poubelle=itZonIso(izone_poubelle,iiso)
                   xtp(ixt_ddft,i,k)=xtp(ixt_ddft,i,k) &
      &                    +xtp(ixt_poubelle,i,k)
@@ -1524,9 +1524,9 @@
           do k=1,nd
             do i = 1, ncum
-               do izone=1,ntraceurs_zone
+               do izone=1,nzone
                  if (izone.eq.izone_ddft) then
                    do iiso=1,niso
-                     ixt_ddft=index_trac(izone,iiso)
-                     ixt_revap=index_trac(izone_revap,iiso)
+                     ixt_ddft=itZonIso(izone,iiso)
+                     ixt_revap=itZonIso(izone_revap,iiso)
                      xtp(ixt_ddft,i,k)=xtp(iiso,i,k)-xtp(ixt_revap,i,k)
                    enddo !do iiso=1,niso
@@ -1535,9 +1535,9 @@
                  else !if (izone.eq.izone_ddft) then
                    do iiso=1,niso
-                     ixt=index_trac(izone,iiso)
+                     ixt=itZonIso(izone,iiso)
                      xtp(ixt,i,k)=0.0
                    enddo !do iiso=1,niso
                  endif !if (izone.eq.izone_ddft) then
-               enddo !do izone=1,ntraceurs_zone
+               enddo !do izone=1,nzone
 #ifdef ISOVERIF
                call iso_verif_traceur(xtp(1,i,k),'cva_driver 1059')
Index: LMDZ6/trunk/libf/phylmdiso/fisrtilp.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/fisrtilp.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/fisrtilp.F90	(revision 4143)
@@ -27,5 +27,5 @@
   USE add_phys_tend_mod, only : fl_cor_ebil 
 #ifdef ISO
-  USE infotrac_phy, ONLY: ntraciso,niso,index_trac,ntraceurs_zone
+  USE infotrac_phy, ONLY: ntraciso=>ntiso,niso,itZonIso
   USE isotopes_mod
 !, ONLY: essai_convergence,bidouille_anti_divergence, &
@@ -1510,5 +1510,5 @@
                    zxtn(iso_eau,i)=zqn(i)
 #ifdef ISOTRAC
-                   zxtn(index_trac(izone_poubelle,iso_eau),i)=zqn(i)  
+                   zxtn(itZonIso(izone_poubelle,iso_eau),i)=zqn(i)  
                    if (option_tmin.eq.1) then                   
                      zxtcs(iso_eau,i)=zqcs(i)
@@ -1848,6 +1848,6 @@
            ! part le tag résuel et le condensat
            if (iso_verif_positif_choix_nostop( &
-     &           zxt_ancien(index_trac(izone,iso_eau),i) &
-     &          -zxt(index_trac(izone,iso_eau),i),1e-8,'ilp 1270') &
+     &           zxt_ancien(itZonIso(izone,iso_eau),i) &
+     &          -zxt(itZonIso(izone,iso_eau),i),1e-8,'ilp 1270') &
      &          .eq.1) then
             write(*,*) 'i,izone,rneb=',i,izone,rneb(i,k)
Index: LMDZ6/trunk/libf/phylmdiso/fonte_neige_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/fonte_neige_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/fonte_neige_mod.F90	(revision 4143)
@@ -629,5 +629,5 @@
         ! de dépendance circulaire.
 
-    USE infotrac_phy, ONLY: ntraciso,niso
+    USE infotrac_phy, ONLY: ntiso,niso
     USE isotopes_mod, ONLY: iso_eau    
   USE indice_sol_mod    
@@ -639,5 +639,5 @@
          ! inputs
         integer klon,knon
-        real xtprecip_snow(ntraciso,klon),xtprecip_rain(ntraciso,klon)
+        real xtprecip_snow(ntiso,klon),xtprecip_rain(ntiso,klon)
     INTEGER, INTENT(IN)                  :: nisurf
     INTEGER, DIMENSION(klon), INTENT(IN) :: knindex
Index: LMDZ6/trunk/libf/phylmdiso/isotopes_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/isotopes_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/isotopes_mod.F90	(revision 4143)
@@ -3,686 +3,505 @@
 
 MODULE isotopes_mod
-USE infotrac_phy, ONLY: ntraciso,niso,indnum_fn_num,use_iso, &
-&       niso_possibles
-IMPLICIT NONE
-SAVE
-
-! contient toutes les variables isotopiques et leur initialisation
-! les routines specifiquement isotopiques sont dans
-! isotopes_routines_mod pour éviter dépendance circulaire avec
-! isotopes_verif_mod.
-
-
-! indices des isotopes
-integer, save :: iso_eau,iso_HDO,iso_O18,iso_O17,iso_HTO ! indices de 1 à niso: les isos n'existant pas sont mis à 0
-!$OMP THREADPRIVATE(iso_eau,iso_HDO,iso_O18,iso_O17,iso_HTO)
-
-integer :: iso_eau_possible,iso_HDO_possible,iso_O18_possible,iso_O17_possible,iso_HTO_possible ! indices de 1 à niso_possibles: ils correspondent aux tableaux définis dans infotrac:
-! tnom_iso=(/'eau','HDO','O18','O17','HTO'/)
-! ce sont ces indices qui doivent être utilisés avec use_iso, puisque use_iso est défini comme DIMENSION(niso_possibles)
-parameter (iso_eau_possible=1)
-parameter (iso_HDO_possible=2)
-parameter (iso_O18_possible=3)
-parameter (iso_O17_possible=4)
-parameter (iso_HTO_possible=5)
-
-integer, save :: ntracisoOR
+   USE strings_mod, ONLY: msg, real2str, int2str, bool2str, maxlen, strIdx, strStack
+   IMPLICIT NONE
+   INTERFACE get_in; MODULE PROCEDURE getinp_s, getinp_i, getinp_r, getinp_l;  END INTERFACE get_in
+   SAVE
+
+  !--- Contains all isotopic variables + their initialization
+  !--- Isotopes-specific routines are in isotopes_routines_mod to avoid circular dependencies with isotopes_verif_mod.
+
+   !--- Isotopes indices (in [1,niso] ; non-existing => 0 index)
+   INTEGER, SAVE :: iso_eau, iso_HDO, iso_O18, iso_O17, iso_HTO
+!$OMP THREADPRIVATE(iso_eau, iso_HDO, iso_O18, iso_O17, iso_HTO)
+
+   INTEGER, SAVE :: ntracisoOR
 !$OMP THREADPRIVATE(ntracisoOR)
 
-! variables indépendantes des isotopes
-
-real, save :: pxtmelt,pxtice,pxtmin,pxtmax
-!$OMP THREADPRIVATE(pxtmelt,pxtice,pxtmin,pxtmax)
-real, save ::  tdifexp, tv0cin, thumxt1
+   !--- Variables not depending on isotopes
+   REAL,    SAVE :: pxtmelt, pxtice, pxtmin, pxtmax
+!$OMP THREADPRIVATE(pxtmelt, pxtice, pxtmin, pxtmax)
+   REAL,    SAVE :: tdifexp, tv0cin, thumxt1
 !$OMP THREADPRIVATE(tdifexp, tv0cin, thumxt1)
-integer, save ::  ntot 
+   INTEGER, SAVE :: ntot 
 !$OMP THREADPRIVATE(ntot)
-real, save ::  h_land_ice
+   REAL,    SAVE :: h_land_ice
 !$OMP THREADPRIVATE(h_land_ice)
-real, save ::  P_veg
+   REAL,    SAVE :: P_veg
 !$OMP THREADPRIVATE(P_veg)
-real, save ::  musi,lambda_sursat
-!$OMP THREADPRIVATE(lambda_sursat)
-real, save ::  Kd
+   REAL,    SAVE :: musi, lambda_sursat
+!$OMP THREADPRIVATE(musi, lambda_sursat)
+   REAL,    SAVE :: Kd
 !$OMP THREADPRIVATE(Kd)
-real, save ::  rh_cste_surf_cond,T_cste_surf_cond
-!$OMP THREADPRIVATE(rh_cste_surf_cond,T_cste_surf_cond)
-
-logical, save ::   bidouille_anti_divergence
-                ! si true, rappel régulier de xteau vers q, pour éviter dérives lentes
+   REAL,    SAVE :: rh_cste_surf_cond, T_cste_surf_cond
+!$OMP THREADPRIVATE(rh_cste_surf_cond, T_cste_surf_cond)
+   LOGICAL, SAVE :: bidouille_anti_divergence    ! T: regularly, xteau <- q to avoid slow drifts
 !$OMP THREADPRIVATE(bidouille_anti_divergence)
-logical, save ::   essai_convergence 
-                ! si false, on fait rigoureusement comme dans LMDZ sans isotopes, 
-                ! meme si c'est génant pour les isotopes
+   LOGICAL, SAVE :: essai_convergence            ! F: as in LMDZ without isotopes (bad for isotopes)
 !$OMP THREADPRIVATE(essai_convergence)
-integer, save ::   initialisation_iso
-                ! 0: dans fichier
-                ! 1: R=0
-                ! 2: R selon distill rayleigh
-                ! 3: R=Rsmow
+   INTEGER, SAVE :: initialisation_iso           ! 0: file ; 1: R=0 ; 2: R=distill. Rayleigh ; 3: R=Rsmow
 !$OMP THREADPRIVATE(initialisation_iso)
-integer, save ::  modif_SST ! 0 par defaut, 1 si on veut modifier la sst
-                ! 2 et 3: profils de SST
+   INTEGER, SAVE :: modif_SST                    ! 0: default ; 1: modified SST ; 2, 3: SST profiles
 !$OMP THREADPRIVATE(modif_SST)
-real, save ::  deltaTtest ! modif de la SST, uniforme.
+   REAL,    SAVE :: deltaTtest                   ! Uniform modification of the SST
 !$OMP THREADPRIVATE(deltaTtest)
-integer, save ::  modif_sic ! on met des trous dans glace de mer
+   INTEGER, SAVE :: modif_sic                    ! Holes in the Sea Ice
 !$OMP THREADPRIVATE(modif_sic)
-real, save ::  deltasic ! fraction de trous minimale
+   REAL,    SAVE :: deltasic                     ! Minimal holes fraction
 !$OMP THREADPRIVATE(deltasic)
-real, save ::  deltaTtestpoles
+   REAL,    SAVE :: deltaTtestpoles
 !$OMP THREADPRIVATE(deltaTtestpoles)
-real, save ::  sstlatcrit
-!$OMP THREADPRIVATE(sstlatcrit)
-real, save ::  dsstlatcrit
-!$OMP THREADPRIVATE(dsstlatcrit)
-real, save ::  deltaO18_oce
+   REAL,    SAVE :: sstlatcrit, dsstlatcrit
+!$OMP THREADPRIVATE(sstlatcrit, dsstlatcrit)
+   REAL,    SAVE :: deltaO18_oce
 !$OMP THREADPRIVATE(deltaO18_oce)
-integer, save ::  albedo_prescrit ! 0 par defaut
-                        ! 1 si on veut garder albedo constant
+   INTEGER, SAVE :: albedo_prescrit              ! 0: default ; 1: constant albedo
 !$OMP THREADPRIVATE(albedo_prescrit)
-real, save ::  lon_min_albedo,lon_max_albedo
-!$OMP THREADPRIVATE(lon_min_albedo,lon_max_albedo)
-real, save :: lat_min_albedo,lat_max_albedo
-!$OMP THREADPRIVATE(lat_min_albedo,lat_max_albedo)
-real, save ::  deltaP_BL,tdifexp_sol
+   REAL,    SAVE :: lon_min_albedo, lon_max_albedo, lat_min_albedo, lat_max_albedo
+!$OMP THREADPRIVATE(lon_min_albedo, lon_max_albedo, lat_min_albedo, lat_max_albedo)
+   REAL,    SAVE :: deltaP_BL,tdifexp_sol
 !$OMP THREADPRIVATE(deltaP_BL,tdifexp_sol)
-integer, save ::  ruissellement_pluie,alphak_stewart
-!$OMP THREADPRIVATE(ruissellement_pluie,alphak_stewart)
-integer, save ::  calendrier_guide
+   INTEGER, SAVE :: ruissellement_pluie, alphak_stewart
+!$OMP THREADPRIVATE(ruissellement_pluie, alphak_stewart)
+   INTEGER, SAVE :: calendrier_guide
 !$OMP THREADPRIVATE(calendrier_guide)
-integer, save ::  cste_surf_cond
+   INTEGER, SAVE :: cste_surf_cond
 !$OMP THREADPRIVATE(cste_surf_cond)
-real, save ::  mixlen
+   REAL,    SAVE :: mixlen
 !$OMP THREADPRIVATE(mixlen)
-integer, save ::  evap_cont_cste
+   INTEGER, SAVE :: evap_cont_cste
 !$OMP THREADPRIVATE(evap_cont_cste)
-real, save ::  deltaO18_evap_cont,d_evap_cont
-!$OMP THREADPRIVATE(deltaO18_evap_cont,d_evap_cont)
-integer, save ::  nudge_qsol,region_nudge_qsol
-!$OMP THREADPRIVATE(nudge_qsol,region_nudge_qsol)
-integer, save :: nlevmaxO17
+   REAL,    SAVE :: deltaO18_evap_cont, d_evap_cont
+!$OMP THREADPRIVATE(deltaO18_evap_cont, d_evap_cont)
+   INTEGER, SAVE :: nudge_qsol, region_nudge_qsol
+!$OMP THREADPRIVATE(nudge_qsol, region_nudge_qsol)
+   INTEGER, SAVE :: nlevmaxO17
 !$OMP THREADPRIVATE(nlevmaxO17)
-integer, save ::  no_pce
-!	real, save :: slope_limiterxy,slope_limiterz
+   INTEGER, SAVE :: no_pce
 !$OMP THREADPRIVATE(no_pce)
-real, save ::  A_satlim
+   REAL,    SAVE :: A_satlim
 !$OMP THREADPRIVATE(A_satlim)
-integer, save ::  ok_restrict_A_satlim,modif_ratqs
-!$OMP THREADPRIVATE(ok_restrict_A_satlim,modif_ratqs)
-real, save ::  Pcrit_ratqs,ratqsbasnew
-!$OMP THREADPRIVATE(Pcrit_ratqs,ratqsbasnew)
-real, save ::  fac_modif_evaoce
+   INTEGER, SAVE :: ok_restrict_A_satlim, modif_ratqs
+!$OMP THREADPRIVATE(ok_restrict_A_satlim, modif_ratqs)
+   REAL,    SAVE :: Pcrit_ratqs, ratqsbasnew
+!$OMP THREADPRIVATE(Pcrit_ratqs, ratqsbasnew)
+   REAL,    SAVE :: fac_modif_evaoce
 !$OMP THREADPRIVATE(fac_modif_evaoce)
-integer, save ::  ok_bidouille_wake
+   INTEGER, SAVE :: ok_bidouille_wake
 !$OMP THREADPRIVATE(ok_bidouille_wake)
-logical ::  cond_temp_env
+   LOGICAL, SAVE :: cond_temp_env
 !$OMP THREADPRIVATE(cond_temp_env)
 
-
-! variables tableaux fn de niso
-real, ALLOCATABLE, DIMENSION(:), save :: tnat, toce, tcorr
-!$OMP THREADPRIVATE(tnat, toce, tcorr)
-real, ALLOCATABLE, DIMENSION(:), save :: tdifrel
-!$OMP THREADPRIVATE(tdifrel)
-real, ALLOCATABLE, DIMENSION(:), save :: talph1, talph2, talph3
-!$OMP THREADPRIVATE(talph1, talph2, talph3)
-real, ALLOCATABLE, DIMENSION(:), save :: talps1, talps2
-!$OMP THREADPRIVATE(talps1, talps2)
-real, ALLOCATABLE, DIMENSION(:), save :: tkcin0, tkcin1, tkcin2
+   !--- Vectors of length "niso"
+   REAL, ALLOCATABLE, DIMENSION(:), SAVE :: &
+                    tnat, toce, tcorr, tdifrel
+!$OMP THREADPRIVATE(tnat, toce, tcorr, tdifrel)
+   REAL, ALLOCATABLE, DIMENSION(:), SAVE :: &
+                    talph1, talph2, talph3, talps1, talps2
+!$OMP THREADPRIVATE(talph1, talph2, talph3, talps1, talps2)
+   REAL, ALLOCATABLE, DIMENSION(:), SAVE :: &
+                    tkcin0, tkcin1, tkcin2
 !$OMP THREADPRIVATE(tkcin0, tkcin1, tkcin2)
-real, ALLOCATABLE, DIMENSION(:), save :: alpha_liq_sol
-!$OMP THREADPRIVATE(alpha_liq_sol)
-real, ALLOCATABLE, DIMENSION(:), save :: Rdefault, Rmethox
-!$OMP THREADPRIVATE(Rdefault, Rmethox)
+   REAL, ALLOCATABLE, DIMENSION(:), SAVE :: &
+                    alpha_liq_sol, Rdefault, Rmethox
+!$OMP THREADPRIVATE(alpha_liq_sol, Rdefault, Rmethox)
 character*3, ALLOCATABLE, DIMENSION(:), save :: striso
 !$OMP THREADPRIVATE(striso)
-real, save :: fac_coeff_eq17_liq, fac_coeff_eq17_ice
+   REAL, SAVE ::    fac_coeff_eq17_liq, fac_coeff_eq17_ice
 !$OMP THREADPRIVATE(fac_coeff_eq17_liq, fac_coeff_eq17_ice)
 
-      real ridicule ! valeur maximale pour qu'une variable de type
-                    ! rapoport de mélange puisse être considérée comme négligeable. Si
-                    ! négligeable, alors on ne verifie pas si sa compo iso esta bérrante.
-      parameter (ridicule=1e-12)      
-!      parameter (ridicule=1)
-!
-      real ridicule_rain ! valeur limite de ridicule pour les flux de pluies (rain, zrfl...)
-      parameter (ridicule_rain=1e-8) ! en kg/s <-> 1e-3mm/day
-
-      real ridicule_evap ! valeur limite de ridicule pour les evap
-      parameter (ridicule_evap=ridicule_rain*1e-2) ! en kg/s <-> 1e-3mm/day
-
-      real ridicule_qsol ! valeur limite de ridicule pour les qsol
-      parameter (ridicule_qsol=ridicule_rain) ! en kg <-> 1e-8kg
-
-      real ridicule_snow ! valeur limite de ridicule pour les snow
-      parameter (ridicule_snow=ridicule_qsol) ! en kg/s <-> 1e-8kg
-      
-        real expb_max
-        parameter (expb_max=30.0)
-
-        ! spécifique au tritium:
-        
-
-logical, save :: ok_prod_nucl_tritium ! si oui, production de tritium par essais nucleaires
+   !--- Negligible lower thresholds: no need to check for absurd values under these lower limits
+   REAL, PARAMETER :: &
+      ridicule      = 1e-12,              & ! For mixing ratios
+      ridicule_rain = 1e-8,               & ! For rain fluxes (rain, zrfl...) in kg/s <-> 1e-3 mm/day
+      ridicule_evap = ridicule_rain*1e-2, & ! For evaporations                in kg/s <-> 1e-3 mm/day
+      ridicule_qsol = ridicule_rain,      & ! For qsol                        in kg <-> 1e-8 kg
+      ridicule_snow = ridicule_qsol         ! For snow                        in kg <-> 1e-8 kg
+   REAL, PARAMETER :: expb_max = 30.0
+!$OMP THREADPRIVATE(ridicule, ridicule_rain, ridicule_evap, ridicule_qsol, ridicule_snow, expb_max)
+
+   !--- Specific to HTO:
+   LOGICAL, SAVE :: ok_prod_nucl_tritium    !--- TRUE => HTO production by nuclear tests
 !$OMP THREADPRIVATE(ok_prod_nucl_tritium)
-        integer nessai
-        parameter (nessai=486)
-        integer, save :: day_nucl(nessai)
-!$OMP THREADPRIVATE(day_nucl)
-        integer, save :: month_nucl(nessai)
-!$OMP THREADPRIVATE(month_nucl)
-        integer, save :: year_nucl(nessai)
-!$OMP THREADPRIVATE(year_nucl)
-        real, save :: lat_nucl(nessai)
-!$OMP THREADPRIVATE(lat_nucl)
-        real, save :: lon_nucl(nessai)
-!$OMP THREADPRIVATE(lon_nucl)
-        real, save :: zmin_nucl(nessai)
-!$OMP THREADPRIVATE(zmin_nucl)
-        real, save :: zmax_nucl(nessai)
-!$OMP THREADPRIVATE(zmax_nucl)
-        real, save :: HTO_nucl(nessai)
-!$OMP THREADPRIVATE(HTO_nucl)
-
+   INTEGER, PARAMETER :: nessai = 486
+   INTEGER, DIMENSION(nessai), SAVE :: &
+                    day_nucl, month_nucl, year_nucl
+!$OMP THREADPRIVATE(day_nucl, month_nucl, year_nucl)
+   REAL,    DIMENSION(nessai), SAVE :: &
+                    lat_nucl, lon_nucl, zmin_nucl, zmax_nucl, HTO_nucl
+!$OMP THREADPRIVATE(lat_nucl, lon_nucl, zmin_nucl, zmax_nucl, HTO_nucl)
+ 
  
 CONTAINS
 
-  SUBROUTINE iso_init()
-      use ioipsl_getin_p_mod, ONLY : getin_p
-      implicit none
-
-! -- local variables:
-
-      integer ixt
-      ! référence O18
-      real fac_enrichoce18
-      real alpha_liq_sol_O18, &
-     &     talph1_O18,talph2_O18,talph3_O18, &
-     &     talps1_O18,talps2_O18, &
-     &     tkcin0_O18,tkcin1_O18,tkcin2_O18, &
-     &     tdifrel_O18  
+SUBROUTINE iso_init()
+   USE ioipsl_getin_p_mod, ONLY: getin_p
+   USE infotrac_phy,       ONLY: ntiso, niso, isoName
+   IMPLICIT NONE
+
+   !=== Local variables:
+   INTEGER :: ixt
+
+   !--- H2[18]O reference
+   REAL :: fac_enrichoce18, alpha_liq_sol_O18, &
+           talph1_O18, talph2_O18, talph3_O18, talps1_O18, talps2_O18, &
+           tkcin0_O18, tkcin1_O18, tkcin2_O18, tdifrel_O18  
+
+   !--- For H2[17]O
+   REAL    :: fac_kcin, pente_MWL
+   INTEGER :: ierr
       
-      ! cas de l'O17
-      real fac_kcin
-      real pente_MWL
-      integer ierr
-      
-      logical ok_nocinsat, ok_nocinsfc !sensi test
-      parameter (ok_nocinsfc=.FALSE.)  ! if T: no kinetic effect in sfc evap
-      parameter (ok_nocinsat=.FALSE.)  ! if T: no sursaturation effect for ice
-      logical Rdefault_smow
-      parameter (Rdefault_smow=.FALSE.) ! si T: Rdefault=smow; si F: nul
-      ! pour le tritium
-      integer iessai
-
-    write(*,*) 'iso_init 219: entree'
-
-! allocations mémoire
-allocate (tnat(niso))
-allocate (toce(niso))
-allocate (tcorr(niso))
-allocate (tdifrel(niso))
-allocate (talph1(niso))
-allocate (talph2(niso))
-allocate (talph3(niso))
-allocate (talps1(niso))
-allocate (talps2(niso))
-allocate (tkcin0(niso))
-allocate (tkcin1(niso))
-allocate (tkcin2(niso))
-allocate (alpha_liq_sol(niso))
-allocate (Rdefault(niso))
-allocate (Rmethox(niso))
-allocate (striso(niso))
-
-
-!--------------------------------------------------------------
-! General:
-!--------------------------------------------------------------
-
-! -- verif du nombre d'isotopes:
-      write(*,*) 'iso_init 64: niso=',niso
-
-! init de ntracisoOR: on écrasera en cas de nzone>0 si complications avec
-! ORCHIDEE
-      ntracisoOR=ntraciso  
-              
-! -- Type of water isotopes:
-
-        iso_eau=indnum_fn_num(1)
-        iso_HDO=indnum_fn_num(2)
-        iso_O18=indnum_fn_num(3)
-        iso_O17=indnum_fn_num(4)
-        iso_HTO=indnum_fn_num(5)
-        write(*,*) 'iso_init 59: iso_eau=',iso_eau
-        write(*,*) 'iso_HDO=',iso_HDO
-        write(*,*) 'iso_O18=',iso_O18
-        write(*,*) 'iso_O17=',iso_O17
-        write(*,*) 'iso_HTO=',iso_HTO
-        write(*,*) 'iso_init 251: use_iso=',use_iso
-
-      ! initialisation
-        lambda_sursat=0.004
-        thumxt1=0.75*1.2
-        ntot=20
-        h_land_ice=20. ! à comparer aux 3000mm de snow_max
-        P_veg=1.0
-        bidouille_anti_divergence=.false.
-        essai_convergence=.false.
-        initialisation_iso=0
-        modif_sst=0
-        modif_sic=0
-        deltaTtest=0.0
-        deltasic=0.1
-        deltaTtestpoles=0.0
-        sstlatcrit=30.0
-        deltaO18_oce=0.0
-        albedo_prescrit=0
-        lon_min_albedo=-200
-        lon_max_albedo=200
-        lat_min_albedo=-100
-        lat_max_albedo=100
-        deltaP_BL=10.0
-        ruissellement_pluie=0
-        alphak_stewart=1
-        tdifexp_sol=0.67
-        calendrier_guide=0
-        cste_surf_cond=0
-mixlen=35.0        
-evap_cont_cste=0.0
-deltaO18_evap_cont=0.0
-d_evap_cont=0.0
-nudge_qsol=0
-region_nudge_qsol=1
-nlevmaxO17=50
-no_pce=0
-A_satlim=1.0
-ok_restrict_A_satlim=0
-!        slope_limiterxy=2.0
-!        slope_limiterz=2.0
-modif_ratqs=0
-Pcrit_ratqs=500.0
-ratqsbasnew=0.05
-
-fac_modif_evaoce=1.0
-ok_bidouille_wake=0
-cond_temp_env=.false.
-! si oui, la temperature de cond est celle de l'environnement,
-! pour eviter bugs quand temperature dans ascendances convs est
-! mal calculee
-ok_prod_nucl_tritium=.false.
-
-! lecture des paramètres isotopiques:
-! pour que ça marche en openMP, il faut utiliser getin_p. Car le getin ne peut
-! être appelé que par un thread à la fois, et ça pose tout un tas de problème,
-! d'où tout un tas de magouilles comme dans conf_phys_m. A terme, tout le monde
-! lira par getin_p.
-call getin_p('lambda',lambda_sursat)
-call getin_p('thumxt1',thumxt1)
-call getin_p('ntot',ntot)
-call getin_p('h_land_ice',h_land_ice)
-call getin_p('P_veg',P_veg)
-call getin_p('bidouille_anti_divergence',bidouille_anti_divergence)
-call getin_p('essai_convergence',essai_convergence)
-call getin_p('initialisation_iso',initialisation_iso)
-!if (nzone>0) then      
-!if (initialisation_iso.eq.0) then
-!  call getin_p('initialisation_isotrac',initialisation_isotrac)
-!endif !if (initialisation_iso.eq.0) then
-!endif !if (nzone>0)
-call getin_p('modif_sst',modif_sst)
-if (modif_sst.ge.1) then
-call getin_p('deltaTtest',deltaTtest)
-if (modif_sst.ge.2) then
-  call getin_p('deltaTtestpoles',deltaTtestpoles)
-  call getin_p('sstlatcrit',sstlatcrit)
+   !--- Sensitivity tests
+   LOGICAL, PARAMETER ::   ok_nocinsfc = .FALSE. ! if T: no kinetic effect in sfc evap
+   LOGICAL, PARAMETER ::   ok_nocinsat = .FALSE. ! if T: no sursaturation effect for ice
+   LOGICAL, PARAMETER :: Rdefault_smow = .FALSE. ! if T: Rdefault=smow; if F: nul
+
+   !--- For [3]H
+   INTEGER :: iessai
+
+   CHARACTER(LEN=maxlen) :: modname, sxt
+
+   modname = 'iso_init'
+   CALL msg('219: entree', modname)
+
+   !--- Memory allocations
+   ALLOCATE(talph1(niso), tkcin0(niso),  talps1(niso),  tnat(niso))
+   ALLOCATE(talph2(niso), tkcin1(niso),  talps2(niso),  toce(niso))
+   ALLOCATE(talph3(niso), tkcin2(niso), tdifrel(niso), tcorr(niso))
+   ALLOCATE(alpha_liq_sol(niso),   Rdefault(niso),   Rmethox(niso))
+   ALLOCATE(striso(niso))
+
+
+   !--------------------------------------------------------------
+   ! General:
+   !--------------------------------------------------------------
+
+   !--- Check number of isotopes
+   CALL msg('64: niso = '//TRIM(int2str(niso)), modname)
+
+   !--- Init de ntracisoOR: on ecrasera en cas de traceurs de tagging isotopiques
+   !                     (nzone>0) si complications avec ORCHIDEE
+   ntracisoOR = ntiso  
+
+   !--- Type of water isotopes:
+   iso_eau = strIdx(isoName, 'H2[16]O'); CALL msg('59: iso_eau='//int2str(iso_eau), modname)
+   iso_O17 = strIdx(isoName, 'H2[17]O'); CALL msg('iso_HDO='//int2str(iso_HDO), modname)
+   iso_O18 = strIdx(isoName, 'H2[18]O'); CALL msg('iso_O18='//int2str(iso_O18), modname)
+   iso_HDO = strIdx(isoName, 'H[2]HO');  CALL msg('iso_O17='//int2str(iso_O17), modname)
+   iso_HTO = strIdx(isoName, 'H[3]HO');  CALL msg('iso_HTO='//int2str(iso_HTO), modname)
+
+   ! initialisation
+   ! lecture des parametres isotopiques:
+   ! pour que ca marche en openMP, il faut utiliser getin_p. Car le getin ne peut
+   ! etre appele que par un thread a la fois, et ca pose tout un tas de problemes,
+   ! d'ou tout un tas de magouilles comme dans conf_phys_m. A terme, tout le monde
+   ! lira par getin_p.
+   CALL get_in('lambda',     lambda_sursat, 0.004)
+   CALL get_in('thumxt1',    thumxt1,       0.75*1.2)
+   CALL get_in('ntot',       ntot,          20,  .FALSE.)
+   CALL get_in('h_land_ice', h_land_ice,    20., .FALSE.)
+   CALL get_in('P_veg',      P_veg,         1.0, .FALSE.)
+   CALL get_in('bidouille_anti_divergence', bidouille_anti_divergence, .FALSE.)
+   CALL get_in('essai_convergence',         essai_convergence,         .FALSE.)
+   CALL get_in('initialisation_iso',        initialisation_iso,        0)
+
+!  IF(nzone>0 .AND. initialisation_iso==0) &
+!      CALL get_in('initialisation_isotrac',initialisation_isotrac)
+   CALL get_in('modif_sst',      modif_sst,         0)
+   CALL get_in('deltaTtest',     deltaTtest,      0.0)     !--- For modif_sst>=1
+   CALL get_in('deltaTtestpoles',deltaTtestpoles, 0.0)     !--- For modif_sst>=2
+   CALL get_in( 'sstlatcrit',    sstlatcrit,     30.0)     !--- For modif_sst>=3
+   CALL get_in('dsstlatcrit',   dsstlatcrit,      0.0)     !--- For modif_sst>=3
 #ifdef ISOVERIF
-      !call iso_verif_positif(sstlatcrit,'iso_init 107')
-      if (sstlatcrit.lt.0.0) then
-        write(*,*) 'iso_init 270: sstlatcrit=',sstlatcrit
-        stop
-      endif
+   CALL msg('iso_init 270:  sstlatcrit='//real2str( sstlatcrit), modname, sstlatcrit < 0.0) !--- For modif_sst>=2
+   CALL msg('iso_init 279: dsstlatcrit='//real2str(dsstlatcrit), modname, sstlatcrit < 0.0) !--- For modif_sst>=3
+   IF(modif_sst >= 2 .AND. sstlatcrit < 0.0) STOP
 #endif              
-  if (modif_sst.ge.3) then  
-      call getin_p('dsstlatcrit',dsstlatcrit)
+
+   CALL get_in('modif_sic', modif_sic,  0)
+   IF(modif_sic >= 1) &
+   CALL get_in('deltasic',  deltasic, 0.1)
+
+   CALL get_in('albedo_prescrit', albedo_prescrit, 0)
+   IF(albedo_prescrit == 1) THEN
+      CALL get_in('lon_min_albedo', lon_min_albedo, -200.)
+      CALL get_in('lon_max_albedo', lon_max_albedo,  200.)
+      CALL get_in('lat_min_albedo', lat_min_albedo, -100.)
+      CALL get_in('lat_max_albedo', lat_max_albedo,  100.)
+   END IF
+   CALL get_in('deltaO18_oce',        deltaO18_oce,   0.0)
+
+   CALL get_in('deltaP_BL',           deltaP_BL,     10.0)
+   CALL get_in('ruissellement_pluie', ruissellement_pluie, 0)
+   CALL get_in('alphak_stewart',      alphak_stewart,      1)
+   CALL get_in('tdifexp_sol',         tdifexp_sol,      0.67)
+   CALL get_in('calendrier_guide',    calendrier_guide,    0)
+   CALL get_in('cste_surf_cond',      cste_surf_cond,      0)
+   CALL get_in('mixlen',              mixlen,           35.0)
+   CALL get_in('evap_cont_cste',      evap_cont_cste,      0)
+   CALL get_in('deltaO18_evap_cont',  deltaO18_evap_cont,0.0)
+   CALL get_in('d_evap_cont',         d_evap_cont,       0.0)
+   CALL get_in('nudge_qsol',          nudge_qsol,          0)
+   CALL get_in('region_nudge_qsol',   region_nudge_qsol,   1)
+   nlevmaxO17 = 50
+   CALL msg('nlevmaxO17='//TRIM(int2str(nlevmaxO17)))
+   CALL get_in('no_pce',   no_pce,     0)
+   CALL get_in('A_satlim', A_satlim, 1.0)
+   CALL get_in('ok_restrict_A_satlim', ok_restrict_A_satlim, 0)
 #ifdef ISOVERIF
-      !call iso_verif_positif(dsstlatcrit,'iso_init 110')
-      if (sstlatcrit.lt.0.0) then
-        write(*,*) 'iso_init 279: dsstlatcrit=',dsstlatcrit
-        stop
-      endif
-#endif              
-  endif !if (modif_sst.ge.3) then
-endif !if (modif_sst.ge.2) then
-endif !  if (modif_sst.ge.1) then   
-call getin_p('modif_sic',modif_sic)
-if (modif_sic.ge.1) then
-call getin_p('deltasic',deltasic)
-endif !if (modif_sic.ge.1) then
-
-call getin_p('albedo_prescrit',albedo_prescrit)
-call getin_p('lon_min_albedo',lon_min_albedo)
-call getin_p('lon_max_albedo',lon_max_albedo)
-call getin_p('lat_min_albedo',lat_min_albedo)
-call getin_p('lat_max_albedo',lat_max_albedo)
-call getin_p('deltaO18_oce',deltaO18_oce)
-call getin_p('deltaP_BL',deltaP_BL)
-call getin_p('ruissellement_pluie',ruissellement_pluie)
-call getin_p('alphak_stewart',alphak_stewart)
-call getin_p('tdifexp_sol',tdifexp_sol)
-call getin_p('calendrier_guide',calendrier_guide)
-call getin_p('cste_surf_cond',cste_surf_cond)
-call getin_p('mixlen',mixlen)
-call getin_p('evap_cont_cste',evap_cont_cste)
-call getin_p('deltaO18_evap_cont',deltaO18_evap_cont)
-call getin_p('d_evap_cont',d_evap_cont)  
-call getin_p('nudge_qsol',nudge_qsol)
-call getin_p('region_nudge_qsol',region_nudge_qsol)
-call getin_p('no_pce',no_pce)
-call getin_p('A_satlim',A_satlim)
-call getin_p('ok_restrict_A_satlim',ok_restrict_A_satlim)
-#ifdef ISOVERIF      
-!call iso_verif_positif(1.0-A_satlim,'iso_init 158')
-      if (A_satlim.gt.1.0) then
-        write(*,*) 'iso_init 315: A_satlim=',A_satlim
-        stop
-      endif
-#endif          
-!      call getin_p('slope_limiterxy',slope_limiterxy) 
-!      call getin_p('slope_limiterz',slope_limiterz) 
-call getin_p('modif_ratqs',modif_ratqs)
-call getin_p('Pcrit_ratqs',Pcrit_ratqs)
-call getin_p('ratqsbasnew',ratqsbasnew)
-call getin_p('fac_modif_evaoce',fac_modif_evaoce)
-call getin_p('ok_bidouille_wake',ok_bidouille_wake)
-call getin_p('cond_temp_env',cond_temp_env)
-if (use_iso(iso_HTO_possible)) then
-  ok_prod_nucl_tritium=.true.
-  call getin_p('ok_prod_nucl_tritium',ok_prod_nucl_tritium)
-endif
-
-write(*,*) 'lambda,thumxt1=',lambda_sursat,thumxt1
-write(*,*) 'bidouille_anti_divergence=',bidouille_anti_divergence
-write(*,*) 'essai_convergence=',essai_convergence
-write(*,*) 'initialisation_iso=',initialisation_iso
-write(*,*) 'modif_sst=',modif_sst
-if (modif_sst.ge.1) then
-write(*,*) 'deltaTtest=',deltaTtest
-if (modif_sst.ge.2) then  
-write(*,*) 'deltaTtestpoles,sstlatcrit=', &
-&           deltaTtestpoles,sstlatcrit
-if (modif_sst.ge.3) then   
- write(*,*) 'dsstlatcrit=',dsstlatcrit
-endif !if (modif_sst.ge.3) then
-endif !if (modif_sst.ge.2) then
-endif !if (modif_sst.ge.1) then
-write(*,*) 'modif_sic=',modif_sic
-if (modif_sic.ge.1) then  
-write(*,*) 'deltasic=',deltasic
-endif !if (modif_sic.ge.1) then
-write(*,*) 'deltaO18_oce=',deltaO18_oce
-write(*,*) 'albedo_prescrit=',albedo_prescrit
-if (albedo_prescrit.eq.1) then
- write(*,*) 'lon_min_albedo,lon_max_albedo=', &
-&           lon_min_albedo,lon_max_albedo
- write(*,*) 'lat_min_albedo,lat_max_albedo=', &
-&           lat_min_albedo,lat_max_albedo
-endif !if (albedo_prescrit.eq.1) then
-write(*,*) 'deltaP_BL,ruissellement_pluie,alphak_stewart=', &
-&       deltaP_BL,ruissellement_pluie,alphak_stewart
-write(*,*) 'cste_surf_cond=',cste_surf_cond
-write(*,*) 'mixlen=',mixlen
-write(*,*) 'tdifexp_sol=',tdifexp_sol
-write(*,*) 'calendrier_guide=',calendrier_guide
-write(*,*) 'evap_cont_cste=',evap_cont_cste
-write(*,*) 'deltaO18_evap_cont,d_evap_cont=', &
-&           deltaO18_evap_cont,d_evap_cont
-write(*,*) 'nudge_qsol,region_nudge_qsol=', &
-&  nudge_qsol,region_nudge_qsol  
-write(*,*) 'nlevmaxO17=',nlevmaxO17
-write(*,*) 'no_pce=',no_pce
-write(*,*) 'A_satlim=',A_satlim
-write(*,*) 'ok_restrict_A_satlim=',ok_restrict_A_satlim
-!      write(*,*) 'slope_limiterxy=',slope_limiterxy
-!      write(*,*) 'slope_limiterz=',slope_limiterz
-write(*,*) 'modif_ratqs=',modif_ratqs
-write(*,*) 'Pcrit_ratqs=',Pcrit_ratqs
-write(*,*) 'ratqsbasnew=',ratqsbasnew
-write(*,*) 'fac_modif_evaoce=',fac_modif_evaoce
-write(*,*) 'ok_bidouille_wake=',ok_bidouille_wake
-write(*,*) 'cond_temp_env=',cond_temp_env
-write(*,*) 'ok_prod_nucl_tritium=',ok_prod_nucl_tritium
-          
-
-!--------------------------------------------------------------
-! Parameters that do not depend on the nature of water isotopes:
-!--------------------------------------------------------------
-
-! -- temperature at which ice condensate starts to form (valeur ECHAM?):
-pxtmelt=273.15
-!      pxtmelt=273.15-10.0 ! test PHASE
-
-! -- temperature at which all condensate is ice:
-pxtice=273.15-10.0
-!      pxtice=273.15-30.0 ! test PHASE
-
-! -- minimum temperature to calculate fractionation coeff
-pxtmin=273.15-120.0 ! On ne calcule qu'au dessus de -120°C
-pxtmax=273.15+60.0 ! On ne calcule qu'au dessus de +60°C
-! remarque: les coeffs ont été mesurés seulement jusq'à -40!
-
-! -- a constant for alpha_eff for equilibrium below cloud base:
-tdifexp=0.58
-tv0cin=7.0
-
-! facteurs lambda et mu dans Si=musi-lambda*T
-musi=1.0
-if (ok_nocinsat) then
-lambda_sursat = 0.0 ! no sursaturation effect
-endif            
-
-
-! diffusion dans le sol
-Kd=2.5e-9 ! m2/s   
-
-! cas où cste_surf_cond: on met rhs ou/et Ts cste pour voir
-rh_cste_surf_cond=0.6
-T_cste_surf_cond=288.0
-
-!--------------------------------------------------------------
-! Parameters that depend on the nature of water isotopes:
-!--------------------------------------------------------------
-! ** constantes locales
-fac_enrichoce18=0.0005
-! on a alors tcor018=1+fac_enrichoce18
-! tcorD=1+fac_enrichoce18*8
-! tcorO17=1+fac_enrichoce18*0.528
-alpha_liq_sol_O18=1.00291 ! valeur de Lehmann & Siegenthaler, 1991, 
-  ! Journal of Glaciology, vol 37, p 23
-talph1_O18=1137.
-talph2_O18=-0.4156
-talph3_O18=-2.0667E-3
-talps1_O18=11.839
-talps2_O18=-0.028244
-tkcin0_O18 = 0.006
-tkcin1_O18 = 0.000285
-tkcin2_O18 = 0.00082
-tdifrel_O18= 1./0.9723
-
-! rapport des ln(alphaeq) entre O18 et O17
-fac_coeff_eq17_liq=0.529 ! donné par Amaelle
-!      fac_coeff_eq17_ice=0.528 ! slope MWL 
-fac_coeff_eq17_ice=0.529
-
-
-write(*,*) 'iso_O18,iso_HDO,iso_eau=',iso_O18,iso_HDO,iso_eau
-do 999 ixt = 1, niso
-write(*,*) 'iso_init 80: ixt=',ixt
-
-
-! -- kinetic factor for surface evaporation:
-! (cf: kcin = tkcin0                  if |V|<tv0cin
-!      kcin = tkcin1*|Vsurf| + tkcin2 if |V|>tv0cin )
-! (Rq: formula discontinuous for |V|=tv0cin... )        
-
-! -- main:
-if (ixt.eq.iso_HTO) then ! Tritium
-  tkcin0(ixt) = 0.01056
-  tkcin1(ixt) = 0.0005016
-  tkcin2(ixt) = 0.0014432
-  tnat(ixt)=0.
-  !toce(ixt)=2.2222E-8 ! corrigé par Alex Cauquoin
-  !toce(ixt)=1.0E-18 ! rapport 3H/1H ocean
-  toce(ixt)=4.0E-19 ! rapport T/H = 0.2 TU Dreisigacker and Roether 1978
-  tcorr(ixt)=1.
-  tdifrel(ixt)=1./0.968
-  talph1(ixt)=46480.
-  talph2(ixt)=-103.87
-  talph3(ixt)=0.
-  talps1(ixt)=46480.
-  talps2(ixt)=-103.87
-  alpha_liq_sol(ixt)=1. 
-  Rdefault(ixt)=0.0
-  Rmethox(ixt)=0.0
-  striso(ixt)='HTO'
-endif     
-if (ixt.eq.iso_O17) then ! Deuterium
-  pente_MWL=0.528
-!          tdifrel(ixt)=1./0.985452 ! donné par Amaelle 
-  tdifrel(ixt)=1./0.98555 ! valeur utilisée en 1D et dans modèle de LdG
-!          fac_kcin=0.5145 ! donné par Amaelle
-  fac_kcin= (tdifrel(ixt)-1.0)/(tdifrel_O18-1.0)
-  tkcin0(ixt) = tkcin0_O18*fac_kcin
-  tkcin1(ixt) = tkcin1_O18*fac_kcin
-  tkcin2(ixt) = tkcin2_O18*fac_kcin
-  tnat(ixt)=0.004/100. ! O17 représente 0.004% de l'oxygène
-  toce(ixt)=tnat(ixt)*(1.0+deltaO18_oce/1000.0)**pente_MWL
-  tcorr(ixt)=1.0+fac_enrichoce18*pente_MWL ! donné par Amaelle            
-  talph1(ixt)=talph1_O18
-  talph2(ixt)=talph2_O18
-  talph3(ixt)=talph3_O18
-  talps1(ixt)=talps1_O18
-  talps2(ixt)=talps2_O18     
-  alpha_liq_sol(ixt)=(alpha_liq_sol_O18)**fac_coeff_eq17_liq 
-  if (Rdefault_smow) then    
-        Rdefault(ixt)=tnat(ixt)*(-3.15/1000.0+1.0)
-  else
-        Rdefault(ixt)=0.0
-  endif
-  Rmethox(ixt)=(230./1000.+1.)*tnat(ixt) !Zahn et al 2006
-  striso(ixt)='O17'
-endif
-
-if (ixt.eq.iso_O18) then ! Oxygene18
-  tkcin0(ixt) = tkcin0_O18
-  tkcin1(ixt) = tkcin1_O18
-  tkcin2(ixt) = tkcin2_O18
-  tnat(ixt)=2005.2E-6
-  toce(ixt)=tnat(ixt)*(1.0+deltaO18_oce/1000.0)
-  tcorr(ixt)=1.0+fac_enrichoce18
-  tdifrel(ixt)=tdifrel_O18
-  talph1(ixt)=talph1_O18
-  talph2(ixt)=talph2_O18
-  talph3(ixt)=talph3_O18
-  talps1(ixt)=talps1_O18
-  talps2(ixt)=talps2_O18
-  alpha_liq_sol(ixt)=alpha_liq_sol_O18   
-  if (Rdefault_smow) then    
-        Rdefault(ixt)=tnat(ixt)*(-6.0/1000.0+1.0)
-  else
-        Rdefault(ixt)=0.0
-  endif
-  Rmethox(ixt)=(130./1000.+1.)*tnat(ixt) !Zahn et al 2006   
-!       write(*,*) 'iso_init 163: ZXalpha_liq_sol=',ZXalpha_liq_sol
-  striso(ixt)='O18'
-  write(*,*) 'isotopes_mod 519: ixt,striso(ixt)=',ixt,striso(ixt)
-endif
-
-if (ixt.eq.iso_HDO) then ! Deuterium
-  pente_MWL=8.0
-!          fac_kcin=0.88
-  tdifrel(ixt)=1./0.9755
-  fac_kcin= (tdifrel(ixt)-1)/(tdifrel_O18-1)
-  tkcin0(ixt) = tkcin0_O18*fac_kcin
-  tkcin1(ixt) = tkcin1_O18*fac_kcin
-  tkcin2(ixt) = tkcin2_O18*fac_kcin
-  tnat(ixt)=155.76E-6
-  toce(ixt)=tnat(ixt)*(1.0+pente_MWL*deltaO18_oce/1000.0)
-  tcorr(ixt)=1.0+fac_enrichoce18*pente_MWL          
-  talph1(ixt)=24844.
-  talph2(ixt)=-76.248
-  talph3(ixt)=52.612E-3
-  talps1(ixt)=16288.
-  talps2(ixt)=-0.0934
-  !ZXalpha_liq_sol=1.0192 ! Weston, Ralph, 1955
-  alpha_liq_sol(ixt)=1.0212 
-  ! valeur de Lehmann & Siegenthaler, 1991, Journal of
-  ! Glaciology, vol 37, p 23
-  if (Rdefault_smow) then    
-    Rdefault(ixt)=tnat(ixt)*((-6.0*pente_MWL+10.0)/1000.0+1.0)
-  else
-    Rdefault(ixt)=0.0
-  endif
-  Rmethox(ixt)=tnat(ixt)*(-25.0/1000.+1.) ! Zahn et al 2006
-  striso(ixt)='HDO'
-  write(*,*) 'isotopes_mod 548: ixt,striso(ixt)=',ixt,striso(ixt)
-endif
-
-!       write(*,*) 'iso_init 163: ZXalpha_liq_sol=',ZXalpha_liq_sol
-if (ixt.eq.iso_eau) then ! Oxygene16
-  tkcin0(ixt) = 0.0
-  tkcin1(ixt) = 0.0
-  tkcin2(ixt) = 0.0
-  tnat(ixt)=1.
-  toce(ixt)=tnat(ixt)
-  tcorr(ixt)=1.0
-  tdifrel(ixt)=1.
-  talph1(ixt)=0.
-  talph2(ixt)=0.
-  talph3(ixt)=0.
-  talps1(ixt)=0.
-  talph3(ixt)=0.
-  alpha_liq_sol(ixt)=1.
-  if (Rdefault_smow) then
-        Rdefault(ixt)=tnat(ixt)*1.0
-  else
-        Rdefault(ixt)=1.0
-  endif
-  Rmethox(ixt)=1.0
-  striso(ixt)='eau'
-endif
-
-999   continue
-
-! test de sensibilité: 
-if (ok_nocinsfc) then ! no kinetic effect in sfc evaporation
- do ixt=1,niso
-  tkcin0(ixt) = 0.0 
-  tkcin1(ixt) = 0.0 
-  tkcin2(ixt) = 0.0
- enddo 
-endif
-
-! nom des isotopes
-
-! verif
-write(*,*) 'iso_init 285: verif initialisation:'
-
-do ixt=1,niso
-  write(*,*) '* striso(',ixt,')=<'//striso(ixt)//'>'
-  write(*,*) 'tnat(',ixt,')=',tnat(ixt)
-!          write(*,*) 'alpha_liq_sol(',ixt,')=',alpha_liq_sol(ixt)
-!          write(*,*) 'tkcin0(',ixt,')=',tkcin0(ixt)
-!          write(*,*) 'tdifrel(',ixt,')=',tdifrel(ixt)
-enddo
-write(*,*) 'iso_init 69: lambda=',lambda_sursat
-write(*,*) 'iso_init 69: thumxt1=',thumxt1
-write(*,*) 'iso_init 69: h_land_ice=',h_land_ice
-write(*,*) 'iso_init 69: P_veg=',P_veg   
-
-    return
+   CALL msg(' 315: A_satlim='//real2str(A_satlim), modname, A_satlim > 1.0)
+   IF(A_satlim > 1.0) STOP
+#endif
+!  CALL get_in('slope_limiterxy',   slope_limiterxy,  2.0) 
+!  CALL get_in('slope_limiterz',    slope_limiterz,   2.0) 
+   CALL get_in('modif_ratqs',       modif_ratqs,        0)
+   CALL get_in('Pcrit_ratqs',       Pcrit_ratqs,    500.0)
+   CALL get_in('ratqsbasnew',       ratqsbasnew,     0.05)
+   CALL get_in('fac_modif_evaoce',  fac_modif_evaoce, 1.0)
+   CALL get_in('ok_bidouille_wake', ok_bidouille_wake,  0)
+   ! si oui, la temperature de cond est celle de l'environnement, pour eviter
+   ! bugs quand temperature dans ascendances convs est mal calculee
+   CALL get_in('cond_temp_env',        cond_temp_env,        .FALSE.)
+   IF(ANY(isoName == 'H[3]HO')) &
+   CALL get_in('ok_prod_nucl_tritium', ok_prod_nucl_tritium, .FALSE., .FALSE.)
+
+   !--------------------------------------------------------------
+   ! Parameters that do not depend on the nature of water isotopes:
+   !--------------------------------------------------------------
+   ! -- temperature at which ice condensate starts to form (valeur ECHAM?):
+   pxtmelt = 273.15
+
+   ! -- temperature at which all condensate is ice:
+   pxtice  = 273.15-10.0
+
+   !- -- test PHASE
+!   pxtmelt = 273.15 - 10.0
+!   pxtice  = 273.15 - 30.0
+
+   ! -- minimum temperature to calculate fractionation coeff
+   pxtmin = 273.15 - 120.0   ! On ne calcule qu'au dessus de -120°C
+   pxtmax = 273.15 +  60.0   ! On ne calcule qu'au dessus de +60°C
+   !    Remarque: les coeffs ont ete mesures seulement jusq'à -40!
+
+   ! -- a constant for alpha_eff for equilibrium below cloud base:
+   tdifexp = 0.58
+   tv0cin  = 7.0
+
+   ! facteurs lambda et mu dans Si=musi-lambda*T
+   musi=1.0
+   if (ok_nocinsat) lambda_sursat = 0.0          ! no sursaturation effect
+
+   ! diffusion dans le sol
+   Kd=2.5e-9 ! m2/s   
+
+   ! cas où cste_surf_cond: on met rhs ou/et Ts cste pour voir
+   rh_cste_surf_cond = 0.6
+    T_cste_surf_cond = 288.0
+   
+   !--------------------------------------------------------------
+   ! Parameters that depend on the nature of water isotopes:
+   !--------------------------------------------------------------
+   ! Local constants
+   fac_enrichoce18 = 0.0005            ! Then: tcorO18 = 1 + fac_enrichoce18
+                                       !       tcorD   = 1 + fac_enrichoce18*8
+                                       !       tcorO17 = 1 + fac_enrichoce18*0.528
+   alpha_liq_sol_O18 = 1.00291         ! From Lehmann & Siegenthaler, 1991, 
+                                       ! Journal of Glaciology, vol 37, p 23
+   talph1_O18 = 1137.  ; talph2_O18 = -0.4156   ; talph3_O18 = -2.0667E-3
+   talps1_O18 = 11.839 ; talps2_O18 = -0.028244 
+   tkcin0_O18 = 0.006  ; tkcin1_O18 =  0.000285 ; tkcin2_O18 =  0.00082
+   tdifrel_O18 = 1./0.9723
+
+   ! ln(alphaeq) ratio between O18 and O17
+   fac_coeff_eq17_liq = 0.529          ! From Amaelle
+  !fac_coeff_eq17_ice = 0.528          ! slope MWL 
+   fac_coeff_eq17_ice = 0.529
+
+   CALL msg('iso_O18, iso_HDO, iso_eau = '//TRIM(strStack(int2str([iso_O18, iso_HDO, iso_eau]))), modname)
+
+   !--- Kinetic factor for surface evaporation:
+   ! (cf: kcin = tkcin0                  if |V|<tv0cin
+   !      kcin = tkcin1*|Vsurf| + tkcin2 if |V|>tv0cin )
+   ! (Rq: formula discontinuous for |V|=tv0cin... )        
+
+   DO ixt = 1, niso
+      sxt=int2str(ixt)
+      WRITE(*,*) 'iso_init 80: ixt=',ixt
+
+      Rdefault(ixt) = 0.0
+      IF(ixt == iso_HTO) THEN          !=== H[3]HO
+         tdifrel(ixt) = 1./0.968
+         tkcin0(ixt) = 0.01056
+         tkcin1(ixt) = 0.0005016
+         tkcin2(ixt) = 0.0014432
+         tnat  (ixt) = 0.
+         toce  (ixt) = 4.0E-19         ! Ratio T/H = 0.2 TU, Dreisigacker and Roether 1978
+        !toce  (ixt) = 2.2222E-8       ! Corrected by Alex Cauquoin
+        !toce  (ixt) = 1.0E-18         ! Ratio 3H/1H ocean
+         tcorr (ixt) = 1.
+         talph1(ixt) = 46480. ; talph2(ixt) = -103.87 ; talph3(ixt) = 0.
+         talps1(ixt) = 46480. ; talps2(ixt) = -103.87
+         alpha_liq_sol(ixt) = 1.
+         Rmethox(ixt) = 0.0
+         striso (ixt) = 'HTO'
+      ELSE IF(ixt == iso_O17) THEN     !=== H2[17]O
+         tdifrel(ixt)=1./0.98555       ! Used in 1D and in LdG's model
+        !tdifrel(ixt)=1./0.985452      ! From Amaelle 
+        !fac_kcin=0.5145               ! From Amaelle
+         fac_kcin= (tdifrel(ixt)-1.0)/(tdifrel_O18-1.0)
+         tkcin0(ixt) = tkcin0_O18*fac_kcin
+         tkcin1(ixt) = tkcin1_O18*fac_kcin
+         tkcin2(ixt) = tkcin2_O18*fac_kcin
+         tnat  (ixt) = 0.004/100.      ! O17 = 0.004% of oxygen
+         pente_MWL=0.528
+         toce  (ixt) = tnat(ixt)*(1.0+deltaO18_oce/1000.0)**pente_MWL
+         tcorr (ixt) = 1.0+fac_enrichoce18*pente_MWL  ! From Amaelle            
+         talph1(ixt) = talph1_O18 ; talph2(ixt) = talph2_O18 ; talph3(ixt) = talph3_O18
+         talps1(ixt) = talps1_O18 ; talps2(ixt) = talps2_O18     
+         alpha_liq_sol(ixt) = (alpha_liq_sol_O18)**fac_coeff_eq17_liq 
+         IF(Rdefault_smow) Rdefault(ixt) = tnat(ixt)*(-3.15/1000.0+1.0)
+         Rmethox(ixt) = (230./1000.+1.)*tnat(ixt)     ! Zahn et al 2006
+         striso (ixt) = 'O17'
+      ELSE IF(ixt == iso_O18) THEN     !=== H2[18]O
+         tdifrel(ixt) = tdifrel_O18
+         tkcin0(ixt) = tkcin0_O18
+         tkcin1(ixt) = tkcin1_O18
+         tkcin2(ixt) = tkcin2_O18
+         tnat  (ixt) = 2005.2E-6
+         toce  (ixt) = tnat(ixt)*(1.0+deltaO18_oce/1000.0)
+         tcorr (ixt) = 1.0+fac_enrichoce18
+         talph1(ixt) = talph1_O18 ; talph2(ixt) = talph2_O18 ; talph3(ixt) = talph3_O18
+         talps1(ixt) = talps1_O18 ; talps2(ixt) = talps2_O18
+         alpha_liq_sol(ixt) = alpha_liq_sol_O18   
+         IF(Rdefault_smow) Rdefault(ixt) = tnat(ixt)*(-6.0/1000.0+1.0)
+         Rmethox(ixt) = (130./1000.+1.)*tnat(ixt) ! Zahn et al 2006   
+         striso (ixt) = 'O18'
+         CALL msg('519: ixt, striso(ixt) = '//TRIM(sxt)//', '//TRIM(striso(ixt)), modname)
+      ELSE IF(ixt == iso_HDO) THEN     !=== H[2]HO
+         tdifrel(ixt) = 1./0.9755
+        !fac_kcin=0.88
+         fac_kcin= (tdifrel(ixt)-1.0)/(tdifrel_O18-1.0)
+         tkcin0(ixt) = tkcin0_O18*fac_kcin
+         tkcin1(ixt) = tkcin1_O18*fac_kcin
+         tkcin2(ixt) = tkcin2_O18*fac_kcin
+         tnat  (ixt) = 155.76E-6
+         pente_MWL = 8.0
+         toce  (ixt) = tnat(ixt)*(1.0+pente_MWL*deltaO18_oce/1000.0)
+         tcorr (ixt) = 1.0+fac_enrichoce18*pente_MWL          
+         talph1(ixt) = 24844. ; talph2(ixt) = -76.248 ; talph3(ixt) = 52.612E-3
+         talps1(ixt) = 16288. ; talps2(ixt) = -0.0934
+        !alpha_liq_sol(ixt)=1.0192 ZX  ! From Weston, Ralph, 1955
+         alpha_liq_sol(ixt)=1.0212     ! From Lehmann & Siegenthaler, 1991, 
+                                       ! Journal of Glaciology, vol 37, p 23
+         IF(Rdefault_smow) Rdefault(ixt) = tnat(ixt)*((-6.0*pente_MWL+10.0)/1000.0+1.0)
+         Rmethox(ixt) = tnat(ixt)*(-25.0/1000.+1.) ! Zahn et al 2006
+         striso (ixt) = 'HDO'
+         CALL msg('548: ixt,striso(ixt) = '//TRIM(sxt)//', '//striso(ixt), modname)
+      ELSE IF(ixt  == iso_eau) THEN    !=== H2O[16]
+         tkcin0(ixt) = 0.0
+         tkcin1(ixt) = 0.0
+         tkcin2(ixt) = 0.0
+         tnat  (ixt) = 1.
+         toce  (ixt)=tnat(ixt)
+         tcorr (ixt) = 1.0
+         tdifrel(ixt) = 1.
+         talph1(ixt) = 0. ; talph2(ixt) = 0. ; talph3(ixt) = 0.
+         talps1(ixt) = 0. ; talph3(ixt) = 0.
+         alpha_liq_sol(ixt)=1.
+         IF(Rdefault_smow) Rdefault(ixt) = tnat(ixt)*1.0
+         Rmethox(ixt) = 1.0
+         striso(ixt) = 'eau'
+      END IF
+   END DO
+
+   !--- Sensitivity test: no kinetic effect in sfc evaporation
+   IF(ok_nocinsfc) THEN
+      tkcin0(1:niso) = 0.0
+      tkcin1(1:niso) = 0.0
+      tkcin2(1:niso) = 0.0
+   END IF
+
+   CALL msg('285: verif initialisation:', modname)
+   DO ixt=1,niso
+      CALL msg(' * striso('//TRIM(sxt)//') = <'//TRIM(striso(ixt))//'>',   modname)
+      CALL msg(  '   tnat('//TRIM(sxt)//') = '//TRIM(real2str(tnat(ixt))), modname)
+!     CALL msg('   alpha_liq_sol('//TRIM(sxt)//') = '//TRIM(real2str(alpha_liq_sol(ixt))), modname)
+!     CALL msg(       '   tkcin0('//TRIM(sxt)//') = '//TRIM(real2str(tkcin0(ixt))),        modname)
+!     CALL msg(      '   tdifrel('//TRIM(sxt)//') = '//TRIM(real2str(tdifrel(ixt))),       modname)
+   END DO
+   CALL msg('69:     lambda = '//TRIM(real2str(lambda_sursat)), modname)
+   CALL msg('69:    thumxt1 = '//TRIM(real2str(thumxt1)),       modname)
+   CALL msg('69: h_land_ice = '//TRIM(real2str(h_land_ice)),    modname)
+   CALL msg('69:      P_veg = '//TRIM(real2str(P_veg)),         modname)
+
 END SUBROUTINE iso_init
 
+
+SUBROUTINE getinp_s(nam, val, def, lDisp)
+   USE ioipsl_getincom, ONLY: getin
+   USE mod_phys_lmdz_mpi_data, ONLY :  is_mpi_root
+   USE mod_phys_lmdz_omp_data, ONLY :  is_omp_root
+   USE mod_phys_lmdz_transfert_para, ONLY : bcast
+   CHARACTER(LEN=*),  INTENT(IN)    :: nam
+   CHARACTER(LEN=*),  INTENT(INOUT) :: val
+   CHARACTER(LEN=*),  INTENT(IN)    :: def
+   LOGICAL, OPTIONAL, INTENT(IN)    :: lDisp
+   LOGICAL :: lD
+!$OMP BARRIER
+   IF(.NOT.(is_mpi_root.AND.is_omp_root)) RETURN
+   val=def; CALL getin(nam,val); CALL bcast(val)
+   lD=.TRUE.; IF(PRESENT(lDisp)) lD=lDisp
+   IF(lD) CALL msg(TRIM(nam)//' = '//TRIM(val))
+END SUBROUTINE getinp_s
+
+SUBROUTINE getinp_i(nam, val, def, lDisp)
+   USE ioipsl_getincom, ONLY: getin
+   USE mod_phys_lmdz_mpi_data, ONLY :  is_mpi_root
+   USE mod_phys_lmdz_omp_data, ONLY :  is_omp_root
+   USE mod_phys_lmdz_transfert_para, ONLY : bcast
+   CHARACTER(LEN=*),  INTENT(IN)    :: nam
+   INTEGER,           INTENT(INOUT) :: val
+   INTEGER,           INTENT(IN)    :: def
+   LOGICAL, OPTIONAL, INTENT(IN)    :: lDisp
+   LOGICAL :: lD
+!$OMP BARRIER
+   IF(.NOT.(is_mpi_root.AND.is_omp_root)) RETURN
+   val=def; CALL getin(nam,val); CALL bcast(val)
+   lD=.TRUE.; IF(PRESENT(lDisp)) lD=lDisp
+   IF(lD) CALL msg(TRIM(nam)//' = '//TRIM(int2str(val)))
+END SUBROUTINE getinp_i
+
+SUBROUTINE getinp_r(nam, val, def, lDisp)
+   USE ioipsl_getincom, ONLY: getin
+   USE mod_phys_lmdz_mpi_data, ONLY :  is_mpi_root
+   USE mod_phys_lmdz_omp_data, ONLY :  is_omp_root
+   USE mod_phys_lmdz_transfert_para, ONLY : bcast
+   CHARACTER(LEN=*),  INTENT(IN)    :: nam
+   REAL,              INTENT(INOUT) :: val
+   REAL,              INTENT(IN)    :: def
+   LOGICAL, OPTIONAL, INTENT(IN)    :: lDisp
+   LOGICAL :: lD
+!$OMP BARRIER
+   IF(.NOT.(is_mpi_root.AND.is_omp_root)) RETURN
+   val=def; CALL getin(nam,val); CALL bcast(val)
+   lD=.TRUE.; IF(PRESENT(lDisp)) lD=lDisp
+   IF(lD) CALL msg(TRIM(nam)//' = '//TRIM(real2str(val)))
+END SUBROUTINE getinp_r
+
+SUBROUTINE getinp_l(nam, val, def, lDisp)
+   USE ioipsl_getincom, ONLY: getin
+   USE mod_phys_lmdz_mpi_data, ONLY :  is_mpi_root
+   USE mod_phys_lmdz_omp_data, ONLY :  is_omp_root
+   USE mod_phys_lmdz_transfert_para, ONLY : bcast
+   CHARACTER(LEN=*),  INTENT(IN)    :: nam
+   LOGICAL,           INTENT(INOUT) :: val
+   LOGICAL,           INTENT(IN)    :: def
+   LOGICAL, OPTIONAL, INTENT(IN)    :: lDisp
+   LOGICAL :: lD
+!$OMP BARRIER
+   IF(.NOT.(is_mpi_root.AND.is_omp_root)) RETURN
+   val=def; CALL getin(nam,val); CALL bcast(val)
+   lD=.TRUE.; IF(PRESENT(lDisp)) lD=lDisp
+   IF(lD) CALL msg(TRIM(nam)//' = '//TRIM(bool2str(val)))
+END SUBROUTINE getinp_l
 
 END MODULE isotopes_mod
Index: LMDZ6/trunk/libf/phylmdiso/isotopes_routines_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/isotopes_routines_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/isotopes_routines_mod.F90	(revision 4143)
@@ -3,4 +3,5 @@
 
 MODULE isotopes_routines_mod
+  USE infotrac_phy, ONLY: niso, ntraciso=>ntiso, index_trac=>itZonIso, ntraceurs_zone=>nzone
 IMPLICIT NONE
 
@@ -13,6 +14,4 @@
 &            zqs,zq_ancien,zqev_diag,zq)
 
-USE infotrac_phy, ONLY: ntraciso,niso, &
-        ntraceurs_zone,index_trac
 USE isotopes_mod, ONLY: ridicule, ridicule_rain, thumxt1, no_pce,  &
 &       bidouille_anti_divergence, &
@@ -846,5 +845,4 @@
 &    L, xtnu,Pveg)
 
-USE infotrac_phy, ONLY: niso
 USE isotopes_mod, ONLY: ridicule_qsol, ridicule, &
 &       ridicule_evap,P_veg,iso_HDO,iso_eau,iso_O17,iso_O18
@@ -1301,5 +1299,4 @@
 
 subroutine calcul_kcin(Vsurf,KCIN)
-USE infotrac_phy, ONLY: niso 
 USE isotopes_mod, ONLY: tv0cin,tkcin0,tkcin1,tkcin2
 implicit none
@@ -1328,5 +1325,4 @@
 
      subroutine fractcalk(kt, ptin, pxtfra, pfraice)
-!USE infotrac_phy, ONLY: use_iso
 USE isotopes_mod, ONLY: talph1,talph2,talph3,pxtmin,iso_O17, &
 &       fac_coeff_eq17_liq, pxtmelt, &
@@ -1457,5 +1453,4 @@
       subroutine fractcalk_liq(kt, ptin, pxtfra)
 
-!      USE infotrac_phy, ONLY: use_iso
       USE isotopes_mod, ONLY: pxtmin,talph1,talph2,talph3, &
 &       fac_coeff_eq17_liq, pxtice, &
@@ -1522,5 +1517,4 @@
       subroutine fractcalk_glace(kt, ptin, pfraice)
 
-!      use infotrac_phy, ONLY: use_iso
       use isotopes_mod, ONLY: talps1,talps2, iso_O17,fac_coeff_eq17_ice, &
         & pxtmelt,musi, lambda_sursat, tdifrel, &
@@ -1631,5 +1625,4 @@
       subroutine fractcalk_vectall(ptin, pxtfra, pfraice,n)
 
-        USE infotrac_phy, ONLY: niso
         USE isotopes_mod, ONLY: talph1,talph2,talph3,tdifrel,pxtmin, &
 &      iso_O17, iso_HTO, iso_eau, iso_O18, iso_HDO, musi, lambda_sursat, &
@@ -1803,5 +1796,4 @@
       subroutine fractcalk_vectall_liq(ptin, pxtfra, n)
 
-      USE infotrac_phy, ONLY: niso
       USE isotopes_mod, ONLY: pxtmin,talph1,talph2,talph3, &
 &       iso_eau,iso_HDO, iso_O18, iso_O17,iso_HTO,fac_coeff_eq17_liq, &
@@ -1882,5 +1874,4 @@
       subroutine fractcalk_vectall_ice(ptin, pfraice,n)
 
-      use infotrac_phy, ONLY: niso
       use isotopes_mod, ONLY: talps1,talps2, fac_coeff_eq17_ice, &
         & pxtmelt,musi, lambda_sursat, tdifrel, &
@@ -2023,5 +2014,4 @@
 &            i,Rsol,klon)
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO,ridicule, &
 &        ridicule_qsol,iso_O17,iso_O18
@@ -2233,5 +2223,4 @@
 &          i,xtevap,klon)  
 
-  USE infotrac_phy, ONLY: ntraciso,niso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO,ridicule,ridicule_rain, &
         iso_O18,iso_O17
@@ -2444,5 +2433,4 @@
 &   )
 
-  USE infotrac_phy, ONLY: ntraciso,niso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO,expb_max,tdifrel,tdifexp, &
 &       ridicule,thumxt1,ridicule_rain,bidouille_anti_divergence, &
@@ -4500,5 +4488,4 @@
 &           Tevap) 
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO,bidouille_anti_divergence, &
 &       ridicule,ridicule_rain
@@ -4658,5 +4645,4 @@
 &           ,fac_ftmr)
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO,bidouille_anti_divergence, &
 &       Rdefault,ridicule,ridicule_rain
@@ -4904,5 +4890,4 @@
      &           Pqiinf_cas,Pqiinf)
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO
 
@@ -5066,5 +5051,4 @@
      &           xtnew_cas,xtnew,Pxtiinf_cas,Pxtiinf)
 
-  USE infotrac_phy, ONLY: niso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO
 #ifdef ISOVERIF
@@ -5111,5 +5095,4 @@
      &           ncum)
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO
 
@@ -5176,5 +5159,4 @@
      &    nloc,ncum,nd,i)
 
-  USE infotrac_phy, ONLY: niso, ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO
 
@@ -5252,5 +5234,4 @@
      &    nloc,ncum,nd,i)
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO
 
@@ -5326,5 +5307,4 @@
      &    nloc,ncum,nd,i)
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO
 
@@ -5396,5 +5376,4 @@
      &    nloc,ncum,nd,i)
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO,ridicule
 
@@ -5566,5 +5545,4 @@
      &    nloc,ncum,nd,i,frac_sublim)
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO,ridicule
 
@@ -5703,5 +5681,4 @@
      &       zxtrfln_cas,zxt_cas,zxtrfl,zxtrfln,zxt,klon)
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO
 
@@ -5739,5 +5716,4 @@
      &       delP,paprs,k,klon,klev)
 
-  USE infotrac_phy, ONLY: niso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO
          implicit none
@@ -5777,5 +5753,4 @@
      &       delP,paprs,k,klon,klev)
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO
          implicit none
@@ -5828,5 +5803,4 @@
      &       delP,paprs,k,klon,klev,frac_sublim)
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO
 #ifdef ISOVERIF
@@ -5905,5 +5879,4 @@
      &          qp0,A,m0,beta,gama,g0)  
 
-  USE infotrac_phy, ONLY: niso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO,ntot
 #ifdef ISOVERIF
@@ -6100,6 +6073,4 @@
  
 
-  USE infotrac_phy, ONLY: ntraciso,niso,ntraceurs_zone, &
-&       index_trac
   USE isotopes_mod, ONLY: iso_eau, iso_HDO,thumxt1, &
 &       bidouille_anti_divergence,ridicule
@@ -7680,5 +7651,4 @@
      &          )    
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO, Rdefault, ridicule
 #ifdef ISOVERIF
@@ -8048,5 +8018,4 @@
      &  ) 
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO, Rdefault,ridicule
 #ifdef ISOVERIF
@@ -8253,5 +8222,4 @@
      &          ) 
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO, Rdefault,ridicule
 #ifdef ISOVERIF
@@ -8390,5 +8358,4 @@
      &          ,xtp_cas,xtwater_cas,xtevap_cas) 
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO,no_pce, Rdefault,ridicule       
 #ifdef ISOVERIF
@@ -8927,5 +8894,4 @@
      &          ,xtp_cas,xtwater_cas,xtevap_cas) 
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO, Rdefault, ridicule
 #ifdef ISOVERIF
@@ -9317,6 +9283,4 @@
  
 
-  USE infotrac_phy, ONLY: niso,ntraciso, &
-&       ntraceurs_zone,index_trac
   USE isotopes_mod, ONLY: iso_eau, iso_HDO,bidouille_anti_divergence, &
 &       thumxt1, ridicule
@@ -11022,5 +10986,4 @@
      &          ) 
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO,Rdefault,ridicule
 #ifdef ISOVERIF
@@ -11172,5 +11135,4 @@
      &          ,xtp_cas,xtwater_cas,xtevap_cas) 
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO,Rdefault,no_pce,ridicule
 #ifdef ISOVERIF
@@ -11770,5 +11732,4 @@
      &          ,xtp_cas,xtwater_cas,xtevap_cas) 
 
-  USE infotrac_phy, ONLY: niso,ntraciso
   USE isotopes_mod, ONLY: iso_eau, iso_HDO, Rdefault, ridicule
 #ifdef ISOVERIF
@@ -12198,5 +12159,4 @@
      &          tcond,zfice,zxtice,zxtliq)
 
-    USE infotrac_phy, ONLY: ntraciso,niso
     USE isotopes_mod, ONLY: iso_eau,iso_HDO,essai_convergence, &
 &       bidouille_anti_divergence,ridicule
@@ -12432,5 +12392,4 @@
      &          tcond,zfice,zxtice,zxtliq,n)
 
-    USE infotrac_phy, ONLY: ntraciso,niso
     USE isotopes_mod, ONLY: iso_eau,iso_HDO,iso_O18,bidouille_anti_divergence, &
 &       ridicule
@@ -12890,5 +12849,4 @@
      &          tcond,zfice,zxtice,zxtliq)
 
-    USE infotrac_phy, ONLY: ntraciso
     USE isotopes_mod, ONLY: iso_eau,iso_HDO,bidouille_anti_divergence, &
 &       ridicule,iso_O18
@@ -13088,5 +13046,4 @@
      &           xt1lay,q1lay,tsurf,t_coup,nisurf,Rland_ice)
 
-    USE infotrac_phy, ONLY: ntraciso,niso
     USE isotopes_mod, ONLY: Rdefault,iso_eau,iso_HDO, &
 &       bidouille_anti_divergence, ridicule,ridicule_snow, &
@@ -13658,5 +13615,4 @@
      &   )
 
-    USE infotrac_phy, ONLY: ntraciso,niso
     USE isotopes_mod, ONLY: iso_eau,iso_HDO,cste_surf_cond, &
 &       rh_cste_surf_cond,Rdefault,T_cste_surf_cond,iso_O17,iso_O18, &
@@ -13982,5 +13938,4 @@
      &   )
 
-    USE infotrac_phy, ONLY: ntraciso,niso
     USE isotopes_mod, ONLY: tcorr, toce, alpha_liq_sol,ridicule_evap, &
         iso_eau,iso_HDO
@@ -14238,5 +14193,4 @@
      &   )
 
-    USE infotrac_phy, ONLY: ntraciso,niso
     USE isotopes_mod, ONLY: h_land_ice, ridicule,ridicule_snow,ridicule_evap, &
         iso_eau,iso_HDO,iso_O18
@@ -14573,5 +14527,4 @@
      &   )
 
-USE infotrac_phy, ONLY: niso,ntraciso
 USE isotopes_mod, ONLY: tdifrel,tdifexp_sol, iso_eau, iso_HDO, &
 &       bidouille_anti_divergence,ruissellement_pluie, Rdefault,Kd, &
@@ -16001,5 +15954,4 @@
       !USE write_field_phy
       USE indice_sol_mod, only: nbsrf  
-  USE infotrac_phy, ONLY: ntraciso,niso
   USE isotopes_mod, ONLY: initialisation_iso, iso_eau,iso_HDO, &
         ridicule_qsol,tnat, P_veg,iso_O18,ridicule, ridicule_snow,iso_O17, &
@@ -16187,5 +16139,4 @@
       !USE write_field_phy
       USE indice_sol_mod, only: nbsrf
-  USE infotrac_phy, ONLY: ntraciso,niso
   USE isotopes_mod, ONLY: tnat,iso_HDO,iso_O18,iso_HTO, iso_eau,toce, &
 &       Rdefault,iso_O17,ridicule,ridicule_qsol
@@ -16574,5 +16525,4 @@
       !USE write_field_phy
       USE indice_sol_mod, only: nbsrf  
-  USE infotrac_phy, ONLY: ntraciso,niso
   USE isotopes_mod, ONLY: striso,iso_HDO,iso_eau
 #ifdef ISOVERIF
@@ -16849,5 +16799,4 @@
      &           d_xt_decroiss, &
      &           xt_seri)
-        USE infotrac_phy, only: ntraciso
         USE isotopes_mod, only: iso_HTO,ok_prod_nucl_tritium
         USE dimphy, only: klon,klev
@@ -18371,5 +18320,4 @@
 !     &                         prod_nucl_HTO)
 
-        USE infotrac_phy, only: ntraciso
         use isotopes_mod, only: nessai, lat_nucl, lon_nucl, &
 &               zmin_nucl, zmax_nucl, HTO_nucl
@@ -18593,5 +18541,4 @@
      &                                paprs, &
      &                                prod_nucl)
-        USE infotrac_phy, only: ntraciso
         USE isotopes_mod, ONLY: iso_HTO
         use geometry_mod, only: cell_area
@@ -18739,5 +18686,4 @@
      &           tcond,zfice,zxtice,zxtliq)
 
-    USE infotrac_phy, ONLY: ntraciso,niso,index_trac,ntraceurs_zone
     USE isotopes_mod, ONLY: iso_eau,iso_HDO,essai_convergence, &
 &       bidouille_anti_divergence,ridicule
@@ -18869,5 +18815,4 @@
      &           tcond,zfice,zxtice,zxtliq,n)
 
-    USE infotrac_phy, ONLY: ntraciso,niso,index_trac,ntraceurs_zone
     USE isotopes_mod, ONLY: iso_eau,iso_HDO,iso_O18,bidouille_anti_divergence, &
 &       ridicule
Index: LMDZ6/trunk/libf/phylmdiso/isotopes_verif_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/isotopes_verif_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/isotopes_verif_mod.F90	(revision 4143)
@@ -5,7 +5,8 @@
 MODULE isotopes_verif_mod
 !use isotopes_mod, ONLY: 
-!#ifdef ISOTRAC
-!use isotrac_mod, ONLY: 
-!#endif
+#ifdef ISOTRAC
+   USE isotrac_mod, ONLY: nzone
+#endif
+USE infotrac_phy, ONLY: ntraciso=>ntiso, niso, itZonIso
 implicit none
 save
@@ -93,5 +94,4 @@
         SUBROUTINE iso_verif_init()
         use ioipsl_getin_p_mod, ONLY : getin_p
-        !USE infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: iso_O17, iso_O18, iso_HDO
         implicit none
@@ -196,5 +196,4 @@
 
         subroutine iso_verif_aberrant(R,err_msg)
-        !USE infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: ridicule, iso_HDO
         implicit none
@@ -227,5 +226,4 @@
 
         subroutine iso_verif_aberrant_encadre(R,err_msg)
-        !use infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: ridicule, iso_HDO
         implicit none
@@ -263,5 +261,4 @@
 
         subroutine iso_verif_aberrant_choix(xt,q,qmin,deltaDmax,err_msg)
-        !use infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: iso_HDO
         implicit none
@@ -298,5 +295,4 @@
 
         function iso_verif_aberrant_nostop(R,err_msg)
-        !use infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: ridicule,iso_HDO
         implicit none
@@ -330,5 +326,4 @@
 
         function iso_verif_aberrant_enc_nostop(R,err_msg)
-        !use infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: ridicule,iso_HDO
         implicit none
@@ -366,5 +361,4 @@
      &            qmin,deltaDmax,err_msg)
 
-        !use infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: iso_HDO
         implicit none
@@ -428,5 +422,4 @@
         function iso_verif_aberrant_enc_choix_nostop(xt,q,   &
      &            qmin,deltaDmax,err_msg)
-        !use infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: iso_HDO
         implicit none
@@ -1065,5 +1058,4 @@
         ! **********
         function deltaD(R)
-        !use infotrac_phy, ONLY: use_iso
         USE isotopes_mod, ONLY: tnat,iso_HDO
         implicit none
@@ -1082,5 +1074,4 @@
         ! **********
         function deltaO(R)
-        !use infotrac_phy, ONLY: use_iso
         USE isotopes_mod, ONLY: tnat,iso_O18
         implicit none
@@ -1098,5 +1089,4 @@
         ! **********
         function dexcess(RD,RO)
-        !use infotrac_phy, ONLY: use_iso
         USE isotopes_mod, ONLY: tnat,iso_O18,iso_HDO
         implicit none
@@ -1138,5 +1128,4 @@
          ! **********
         function o17excess(R17,R18)
-        !use infotrac_phy, ONLY: use_iso
         USE isotopes_mod, ONLY: tnat,iso_O18,iso_O17
         implicit none
@@ -1160,5 +1149,4 @@
      &           xt,q,err_msg,ni,n,m)
         
-        !use infotrac_phy, ONLY: use_iso
         USE isotopes_mod, ONLY: iso_eau
           implicit none
@@ -1212,5 +1200,4 @@
      &           xt,q,err_msg,ni,n)
 
-        !use infotrac_phy, ONLY: use_iso
         USE isotopes_mod, ONLY: iso_eau
         implicit none
@@ -1296,5 +1283,4 @@
         subroutine iso_verif_aberrant_vect2D( &
      &           xt,q,err_msg,ni,n,m)
-        !use infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: ridicule,tnat,iso_HDO
           implicit none
@@ -1345,5 +1331,4 @@
      &           xt,q,err_msg,ni,n,m)
 
-        !use infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: ridicule,tnat,iso_HDO
           implicit none
@@ -1399,5 +1384,4 @@
      &           xt,q,err_msg,ni,n,m)
 
-        !use infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: ridicule,tnat,iso_HDO
           implicit none
@@ -1450,5 +1434,4 @@
      &           xt,q,err_msg,ni,n,m,deltaDmax)
 
-        !use infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: ridicule,tnat,iso_HDO
           implicit none
@@ -1501,5 +1484,4 @@
      &           xt,q,err_msg,ni,n,m)
 
-        !use infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: ridicule,tnat,iso_HDO,iso_O18
           implicit none
@@ -1766,5 +1748,4 @@
      &           xt,q,err_msg,ni,n,m,ib,ie)
 
-        !use infotrac_phy, ONLY: use_iso
         use isotopes_mod, ONLY: ridicule,tnat,iso_HDO
           implicit none
@@ -1817,5 +1798,4 @@
      &           xt,q,err_msg,ni,n,m,ib,ie)
         
-        !use infotrac_phy, ONLY: use_iso
         USE isotopes_mod, ONLY: iso_eau
           implicit none
@@ -1863,5 +1843,4 @@
       function iso_verif_traceur_choix_nostop(x,err_msg, &
      &       errmax,errmaxrel,ridicule_trac,deltalimtrac)
-        USE infotrac_phy, ONLY: ntraciso
         use isotopes_mod, ONLY: iso_HDO
         implicit none
@@ -1915,5 +1894,4 @@
         function iso_verif_tracnps_choix_nostop(x,err_msg, &
      &       errmax,errmaxrel,ridicule_trac,deltalimtrac)
-        USE infotrac_phy, ONLY: ntraciso
         USE isotopes_mod, ONLY: iso_HDO
         implicit none
@@ -1961,5 +1939,4 @@
 
         function iso_verif_tracpos_choix_nostop(x,err_msg,seuil)
-        use infotrac_phy, ONLY: ntraciso,niso
         use isotrac_mod, only: index_iso,strtrac,index_zone
         use isotopes_mod, only: striso
@@ -1994,5 +1971,4 @@
 
         function iso_verif_traceur_noNaN_nostop(x,err_msg)
-        use infotrac_phy, ONLY: ntraciso,niso
         use isotrac_mod, only: index_iso
         use isotopes_mod, only: striso
@@ -2029,7 +2005,5 @@
      &           errmaxin,errmaxrelin)
 
-        use infotrac_phy, ONLY: index_trac,ntraciso,niso
         use isotopes_mod, ONLY: ridicule,striso
-        use isotrac_mod, only: ntraceurs_zone
         ! on vérifie juste bilan de masse
         implicit none
@@ -2053,8 +2027,8 @@
 
           xtractot=0.0
-          do izone=1,ntraceurs_zone  
-            ixt=index_trac(izone,iiso) 
+          do izone=1,nzone  
+            ixt=itZonIso(izone,iiso) 
             xtractot=xtractot+x(ixt)
-          enddo !do izone=1,ntraceurs_zone
+          enddo
 
           if (iso_verif_egalite_choix_nostop(xtractot,x(iiso), &
@@ -2082,7 +2056,6 @@
      &           ridicule_trac,deltalimtrac)
 
-        use infotrac_phy, ONLY: index_trac,ntraciso
         USE isotopes_mod, ONLY: iso_eau, iso_HDO
-        use isotrac_mod, only: strtrac,ntraceurs_zone
+        use isotrac_mod, only: strtrac
         ! on vérifie juste deltaD
         implicit none
@@ -2103,7 +2076,7 @@
 
         if ((iso_eau.gt.0).and.(iso_HDO.gt.0)) then
-        do izone=1,ntraceurs_zone
-             ieau=index_trac(izone,iso_eau)
-             ixt=index_trac(izone,iso_HDO)
+        do izone=1,nzone
+             ieau=itZonIso(izone,iso_eau)
+             ixt=itZonIso(izone,iso_HDO)
 
              if (iso_verif_aberrant_choix_nostop(x(ixt),x(ieau), &
@@ -2118,5 +2091,5 @@
 !     :           //strtrac(izone))
 !             endif
-        enddo !do izone=1,ntraceurs_zone
+        enddo !do izone=1,nzone
        endif ! if ((iso_eau.gt.0).and.(iso_HDO.gt.0)) then
 
@@ -2124,5 +2097,4 @@
 
 INTEGER FUNCTION iso_verif_tag17_q_deltaD_chns(x,err_msg) RESULT(res)
-  USE infotrac_phy, ONLY: index_trac, ntraciso
   USE isotopes_mod, ONLY: iso_HDO, iso_eau, ridicule
   USE isotrac_mod,  ONLY: nzone_temp, option_traceurs
@@ -2135,6 +2107,6 @@
   !--- Check whether * deltaD(highest tagging layer) < 200 permil
   !                  * q <
-  ieau=index_trac(nzone_temp,iso_eau)
-  ixt=index_trac(nzone_temp,iso_HDO)
+  ieau=itZonIso(nzone_temp,iso_eau)
+  ixt=itZonIso(nzone_temp,iso_HDO)
   IF(x(ieau)>ridicule) THEN
     IF(iso_verif_positif_nostop(-200.0-deltaD(x(ixt)/x(ieau)), err_msg//': deltaDt05 trop fort')==1) THEN
@@ -2147,5 +2119,5 @@
   !--- Check whether q is small ; then, qt01 < 10%
   IF(x(iso_eau)<2.0e-3) THEN
-    ieau1= index_trac(1,iso_eau)
+    ieau1= itZonIso(1,iso_eau)
     IF(iso_verif_positif_nostop(0.1-(x(ieau1)/x(iso_eau)),err_msg//': qt01 trop abondant')==1) THEN
       res=1; write(*,*) 'x=',x
@@ -2156,5 +2128,4 @@
 SUBROUTINE iso_verif_trac17_q_deltaD(x,err_msg)
   USE isotrac_mod,  ONLY: nzone_temp, option_traceurs
-  USE infotrac_phy, ONLY: ntraciso
   IMPLICIT NONE
   REAL,             INTENT(IN) :: x(ntraciso)
@@ -2167,5 +2138,4 @@
 
       subroutine iso_verif_traceur(x,err_msg)
-        USE infotrac_phy, ONLY: ntraciso
         use isotrac_mod, only: ridicule_trac
         implicit none
@@ -2195,5 +2165,4 @@
       subroutine iso_verif_traceur_retourne3D(x,n1,n2,n3, &
      &           i1,i2,i3,err_msg)
-        USE infotrac_phy, ONLY: ntraciso
         use isotrac_mod, only: ridicule_trac
 
@@ -2228,5 +2197,4 @@
         subroutine iso_verif_traceur_retourne4D(x,n1,n2,n3,n4, &
      &           i1,i2,i3,i4,err_msg)
-        USE infotrac_phy, ONLY: ntraciso
         use isotrac_mod, only: ridicule_trac
 
@@ -2262,5 +2230,4 @@
       subroutine iso_verif_traceur_retourne2D(x,n1,n2, &
      &           i1,i2,err_msg)
-        USE infotrac_phy, ONLY: ntraciso
         use isotrac_mod, only: ridicule_trac
         implicit none
@@ -2293,5 +2260,4 @@
 
         subroutine iso_verif_traceur_vect(x,n,m,err_msg)
-        USE infotrac_phy, ONLY: ntraciso
         USE isotopes_mod, ONLY: iso_HDO
         implicit none
@@ -2329,5 +2295,4 @@
 
         subroutine iso_verif_tracnps_vect(x,n,m,err_msg)
-        USE infotrac_phy, ONLY: ntraciso
         USE isotopes_mod, ONLY: iso_HDO
         implicit none
@@ -2363,5 +2328,4 @@
 
         subroutine iso_verif_traceur_noNaN_vect(x,n,m,err_msg)
-        USE infotrac_phy, ONLY: ntraciso,niso
         implicit none
        
@@ -2407,7 +2371,5 @@
         subroutine iso_verif_trac_masse_vect(x,n,m,err_msg, &
      &            errmax,errmaxrel)
-        USE infotrac_phy, ONLY: index_trac,ntraciso,niso
         use isotopes_mod, only: striso
-        use isotrac_mod, only: ntraceurs_zone
         implicit none
        
@@ -2430,8 +2392,8 @@
           xtractot(i,j)=0.0
           xiiso(i,j)=x(iiso,i,j)
-          do izone=1,ntraceurs_zone  
-            ixt=index_trac(izone,iiso) 
+          do izone=1,nzone
+            ixt=itZonIso(izone,iiso) 
             xtractot(i,j)=xtractot(i,j)+x(ixt,i,j)            
-          enddo !do izone=1,ntraceurs_zone
+          enddo !do izone=1,nzone
          enddo !do i=1,n
         enddo !do j=1,m
@@ -2447,7 +2409,6 @@
 
         subroutine iso_verif_tracdd_vect(x,n,m,err_msg) 
-        use infotrac_phy, only: index_trac,ntraciso,niso
         use isotopes_mod, only: iso_HDO,iso_eau
-        use isotrac_mod, only: strtrac,ntraceurs_zone
+        use isotrac_mod, only: strtrac
         implicit none
        
@@ -2464,8 +2425,8 @@
 
        if (iso_HDO.gt.0) then
-        do izone=1,ntraceurs_zone
-          ieau=index_trac(izone,iso_eau)
+        do izone=1,nzone
+          ieau=itZonIso(izone,iso_eau)
           do iiso=1,niso
-           ixt=index_trac(izone,iiso)
+           ixt=itZonIso(izone,iiso)
            do j=1,m
             do i=1,n
@@ -2484,5 +2445,5 @@
      &           xiiso,xeau,err_msg//strtrac(izone),niso,n,m, &
      &           deltalimtrac)
-         enddo !do izone=1,ntraceurs_zone
+         enddo !do izone=1,nzone
         endif !if (iso_HDO.gt.0) then
 
@@ -2490,5 +2451,4 @@
 
         subroutine iso_verif_tracpos_vect(x,n,m,err_msg,seuil) 
-        USE infotrac_phy, ONLY: ntraciso,niso
         implicit none
 
@@ -2532,5 +2492,4 @@
 
         subroutine iso_verif_tracnps(x,err_msg)
-        USE infotrac_phy, ONLY: ntraciso
         use isotrac_mod, only: ridicule_trac
 
@@ -2559,5 +2518,4 @@
 
         subroutine iso_verif_tracpos_choix(x,err_msg,seuil)
-        USE infotrac_phy, ONLY: ntraciso
         implicit none
         ! vérifier des choses sur les traceurs
@@ -2585,5 +2543,4 @@
         subroutine iso_verif_traceur_choix(x,err_msg, &
      &       errmax,errmaxrel,ridicule_trac_loc,deltalimtrac)
-        USE infotrac_phy, ONLY: ntraciso
         implicit none
         ! vérifier des choses sur les traceurs
@@ -2608,5 +2565,4 @@
 
         function iso_verif_traceur_nostop(x,err_msg)
-        USE infotrac_phy, ONLY: ntraciso
         use isotrac_mod, only: ridicule_trac
         !use isotopes_verif, only: errmax,errmaxrel,deltalimtrac
@@ -2637,5 +2593,4 @@
 
       subroutine iso_verif_traceur_justmass(x,err_msg)
-        USE infotrac_phy, ONLY: ntraciso
         implicit none
         ! on vérifie que noNaN et masse
@@ -2666,5 +2621,4 @@
 
         function iso_verif_traceur_jm_nostop(x,err_msg)
-        USE infotrac_phy, ONLY: ntraciso
         implicit none
         ! on vérifie que noNaN et masse
@@ -2699,5 +2653,4 @@
 
         subroutine iso_verif_tag17_q_deltaD_vect(x,n,m,err_msg)
-        USE infotrac_phy, ONLY: index_trac,ntraciso
         USE isotopes_mod, ONLY: tnat,iso_eau, ridicule,iso_HDO
         use isotrac_mod, only: option_traceurs,nzone_temp
@@ -2719,7 +2672,7 @@
         ! verifier que deltaD du tag de la couche la plus haute <
         ! 200 permil, et vérifier que son q est inférieur à 
-        ieau=index_trac(nzone_temp,iso_eau)
-        ixt=index_trac(nzone_temp,iso_HDO)
-        ieau1=index_trac(1,iso_eau)
+        ieau=itZonIso(nzone_temp,iso_eau)
+        ixt=itZonIso(nzone_temp,iso_HDO)
+        ieau1=itZonIso(1,iso_eau)
         do i=1,n
          do k=1,m
@@ -2759,5 +2712,4 @@
 
         subroutine iso_verif_tag17_q_deltaD_vect_ret3D(x,n,m,nq,err_msg)
-        USE infotrac_phy, ONLY: index_trac,ntraciso
         USE isotopes_mod, ONLY: tnat,iso_eau,iso_HDO,ridicule
         use isotrac_mod, only: option_traceurs,nzone_temp
@@ -2779,7 +2731,7 @@
         ! verifier que deltaD du tag de la couche la plus haute <
         ! 200 permil, et vérifier que son q est inférieur à 
-        ieau=index_trac(nzone_temp,iso_eau)
-        ixt=index_trac(nzone_temp,iso_HDO)
-        ieau1=index_trac(1,iso_eau)
+        ieau=itZonIso(nzone_temp,iso_eau)
+        ixt=itZonIso(nzone_temp,iso_HDO)
+        ieau1=itZonIso(1,iso_eau)
         do iq=1,nq
         do i=1,n
Index: LMDZ6/trunk/libf/phylmdiso/isotrac_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/isotrac_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/isotrac_mod.F90	(revision 4143)
@@ -4,5 +4,5 @@
 
 MODULE isotrac_mod
-use infotrac_phy, ONLY: niso,ntraciso,ntraceurs_zone
+use infotrac_phy, ONLY: niso,ntiso,ntraceurs_zone=>nzone
 use isotopes_mod, only: ridicule
 
@@ -120,13 +120,10 @@
         ! ces variables sont initialisées dans traceurs_init
         
-!integer ntraciso
-!parameter (ntraciso=(ntraceurs_zone+1)*niso) 
-!integer ntracisoOR ! défini dans traceurs_init
 integer, ALLOCATABLE, DIMENSION(:), save :: index_iso
 !$OMP THREADPRIVATE(index_iso)
 integer, ALLOCATABLE, DIMENSION(:), save ::  index_zone
 !$OMP THREADPRIVATE(index_zone)
-integer, ALLOCATABLE, DIMENSION(:,:), save ::  index_trac_loc ! il y a déjà un index_trac dans infotrac: vérifier que c'est le même
-!$OMP THREADPRIVATE(index_trac_loc)
+integer, ALLOCATABLE, DIMENSION(:,:), save ::  itZonIso_loc ! il y a déjà un itZonIso dans infotrac: vérifier que c'est le même
+!$OMP THREADPRIVATE(itZonIso_loc)
 character*3, ALLOCATABLE, DIMENSION(:), save :: strtrac
 !$OMP THREADPRIVATE(strtrac)
@@ -211,7 +208,6 @@
 
       use IOIPSL ! getin
-      USE infotrac_phy, ONLY: ntraciso,niso,ntraceurs_zone,index_trac
-      USE isotopes_mod, ONLY: iso_eau,ntracisoOR,initialisation_iso, &
-&               iso_eau_possible
+      USE infotrac_phy, ONLY: itZonIso
+      USE isotopes_mod, ONLY: iso_eau,ntracisoOR,initialisation_iso
       USE dimphy, only: klon,klev
 
@@ -244,7 +240,7 @@
 
         ! allouer
-        allocate (index_iso(ntraciso))
-        allocate (index_zone(ntraciso))
-        allocate (index_trac_loc(ntraceurs_zone,niso))
+        allocate (index_iso(ntiso))
+        allocate (index_zone(ntiso))
+        allocate (itZonIso_loc(ntraceurs_zone,niso))
         allocate (strtrac(ntraceurs_zone))
         allocate (bassin_map(klon))
@@ -779,5 +775,5 @@
 
           ! dans ce cas particulier, il y a des traceurs dans ORCHIDEE
-          ntracisoOR=ntraciso
+          ntracisoOR=ntiso
 
         else if ((option_traceurs.eq.17).or. &
@@ -990,6 +986,6 @@
             index_zone(itrac)=izone
             index_iso(itrac)=ixt
-            index_trac_loc(izone,ixt)=itrac
-            if (index_trac(izone,ixt).ne.index_trac_loc(izone,ixt)) then
+            itZonIso_loc(izone,ixt)=itrac
+            if (itZonIso(izone,ixt).ne.itZonIso_loc(izone,ixt)) then
                 write(*,*) 'isotrac 989: izone,ixt,itrac=',izone,ixt,itrac
                 CALL abort_physic ('isotrac','isotrac 989',1)
@@ -998,7 +994,7 @@
         enddo
 #ifdef ISOVERIF
-!        call iso_verif_egalite(float(itrac),float(ntraciso), &
+!        call iso_verif_egalite(float(itrac),float(ntiso), &
 !     &           'traceurs_init 50')
-        if (itrac.ne.ntraciso) then
+        if (itrac.ne.ntiso) then
           write(*,*) 'traceurs_init 50'
           stop
@@ -1006,7 +1002,7 @@
      
         write(*,*) 'traceurs_init 65: bilan de l''init:'
-        write(*,*) 'index_zone=',index_zone(1:ntraciso)
-        write(*,*) 'index_iso=',index_iso(1:ntraciso)
-        write(*,*) 'index_trac=',index_trac(1:ntraceurs_zone,1:niso)
+        write(*,*) 'index_zone=',index_zone(1:ntiso)
+        write(*,*) 'index_iso=',index_iso(1:ntiso)
+        write(*,*) 'itZonIso=',itZonIso(1:ntraceurs_zone,1:niso)
         do izone=1,ntraceurs_zone
           write(*,*) 'strtrac(',izone,')=',strtrac(izone)
Index: LMDZ6/trunk/libf/phylmdiso/isotrac_routines_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/isotrac_routines_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/isotrac_routines_mod.F90	(revision 4143)
@@ -8,4 +8,5 @@
 ! isotopes_verif a besoin de isotopes et isotrac
 ! isotrac n'a besoin que de isotopes
+    USE infotrac_phy, ONLY: ntraciso=>ntiso, niso, index_trac=>itZonIso, ntraceurs_zone=>nzone
 IMPLICIT NONE
 
@@ -17,5 +18,4 @@
      &           ncum,izone)
 
-    USE infotrac_phy, ONLY: ntraciso,niso,index_trac
     USE isotopes_mod, ONLY: ridicule,iso_eau
 
@@ -63,5 +63,4 @@
      &          xtp_avantevap_cas,liq,hdiag)
 
-    USE infotrac_phy, ONLY: ntraciso,niso,index_trac
     USE isotopes_mod, ONLY: ridicule,iso_eau,iso_HDO,ridicule_evap
     USE isotrac_mod, only: option_revap,evap_franche,izone_revap, &
@@ -231,5 +230,4 @@
      &    nloc,ncum,nd,i,izone)
 
-    USE infotrac_phy, ONLY: ntraciso,niso,index_trac
     USE isotopes_mod, ONLY: iso_eau
 #ifdef ISOVERIF        
@@ -320,5 +318,4 @@
      &    nloc,ncum,nd,i,izone)
 
-    USE infotrac_phy, ONLY: ntraciso,niso,index_trac
     USE isotopes_mod, ONLY: iso_eau
 #ifdef ISOVERIF
@@ -408,5 +405,4 @@
      &    nloc,ncum,nd,i,izone)
 
-    USE infotrac_phy, ONLY: ntraciso,niso,index_trac
     USE isotopes_mod, ONLY: ridicule,iso_eau
 #ifdef ISOVERIF
@@ -476,5 +472,4 @@
      &    nloc,ncum,nd,izone)
 
-    USE infotrac_phy, ONLY: ntraciso,niso,index_trac
     USE isotopes_mod, ONLY: ridicule,iso_eau
 #ifdef ISOVERIF
@@ -643,5 +638,4 @@
      &    nloc,ncum,nd,i,frac_sublim,izone)
 
-    USE infotrac_phy, ONLY: ntraciso,niso,index_trac
     USE isotopes_mod, ONLY: ridicule,iso_eau
 #ifdef ISOVERIF
@@ -802,5 +796,4 @@
      &       xtrevap_tag,liq,hdiag)
 
-    USE infotrac_phy, ONLY: ntraciso,niso,index_trac
     USE isotopes_mod, ONLY: ridicule,iso_eau
     USE isotrac_mod, only: option_revap,evap_franche
@@ -899,5 +892,4 @@
      &       klon,izone,ptrac)
 
-    USE infotrac_phy, ONLY: ntraciso,niso,index_trac
     USE isotopes_mod, ONLY: ridicule,iso_eau
 #ifdef ISOVERIF
@@ -986,5 +978,4 @@
      &       klon,izone)
 
-    USE infotrac_phy, ONLY: ntraciso,niso,index_trac
     USE isotopes_mod, ONLY: ridicule,iso_eau
 #ifdef ISOVERIF
@@ -1052,6 +1043,4 @@
      &    klon,izone,zxt,xtrevap_tag)
 
-USE infotrac_phy, ONLY: ntraciso,niso, &
-        ntraceurs_zone,index_trac
 #ifdef ISOVERIF
 USE isotopes_verif_mod
@@ -1342,5 +1331,5 @@
 
       subroutine find_bassin(lat,lon,bassin)
-      use isotrac_mod, only: izone_poubelle,ntraceurs_zone,option_traceurs, &
+      use isotrac_mod, only: izone_poubelle,ntraceurs_zone=>ntiso,option_traceurs, &
 &        bassin_map
 #ifdef ISOVERIF
@@ -1517,6 +1506,4 @@
         subroutine isotrac_recolorise_tmin(xt,t)
         USE dimphy, only: klon, klev
-        USE infotrac_phy, ONLY: ntraciso,niso, &
-        ntraceurs_zone,index_trac
         USE isotrac_mod, only: zone_temp,nzone_temp
 #ifdef ISOVERIF
@@ -1603,6 +1590,4 @@
         subroutine isotrac_recolorise_tmin_sfrev(xt,t)
         USE dimphy, only: klon,klev
-        USE infotrac_phy, ONLY: ntraciso,niso, &
-        ntraceurs_zone,index_trac
         USE isotrac_mod, only: nzone_temp,zone_temp
 #ifdef ISOVERIF
@@ -1661,6 +1646,4 @@
         subroutine isotrac_recolorise_saturation(xt,rh,lat,pres)
         USE dimphy, only: klon,klev
-        USE infotrac_phy, ONLY: ntraciso,niso, &
-        ntraceurs_zone,index_trac
 #ifdef ISOVERIF
         USE isotopes_verif_mod
@@ -1727,6 +1710,4 @@
         subroutine isotrac_recolorise_boite(xt,boite_map)
         USE dimphy, only: klon,klev
-        USE infotrac_phy, ONLY: ntraciso,niso, &
-        ntraceurs_zone,index_trac
 #ifdef ISOVERIF
         USE isotopes_verif_mod
@@ -1781,6 +1762,4 @@
         subroutine isotrac_recolorise_extra(xt,rlat)
         USE dimphy, only: klon,klev
-        USE infotrac_phy, ONLY: ntraciso,niso, &
-        ntraceurs_zone,index_trac
         usE isotrac_mod, only: lim_tag20,izone_trop,izone_extra
 #ifdef ISOVERIF
@@ -1830,6 +1809,4 @@
         subroutine isotrac_recolorise_conv(xt,rlat,presnivs,rain_con)
         USE dimphy, only: klon,klev
-        USE infotrac_phy, ONLY: ntraciso,niso, &
-        ntraceurs_zone,index_trac
         use isotrac_mod, only: lim_precip_tag22, &
 &       izone_conv_BT,izone_conv_UT
@@ -1902,6 +1879,4 @@
         subroutine boite_AMMA_init(lat,lon,presnivs,boite_map)
         USE dimphy, only: klon,klev
-        USE infotrac_phy, ONLY: ntraciso,niso, &
-        ntraceurs_zone,index_trac
 #ifdef ISOVERIF
         USE isotopes_verif_mod
@@ -1957,6 +1932,4 @@
         subroutine boite_UT_extra_init(lat,lon,presnivs,boite_map)
         USE dimphy, only: klon,klev
-        USE infotrac_phy, ONLY: ntraciso,niso, &
-        ntraceurs_zone,index_trac
         use isotrac_mod, only: izone_extra,izone_trop
 #ifdef ISOVERIF
@@ -2095,6 +2068,4 @@
      &           seuil_in)
         USE dimphy, only: klon,klev
-        USE infotrac_phy, ONLY: ntraciso,niso, &
-        ntraceurs_zone,index_trac
         USE isotopes_mod, only: bidouille_anti_divergence,iso_eau
         use isotrac_mod, only: option_seuil_tag_tmin,izone_cond, &
@@ -2304,6 +2275,4 @@
         subroutine bassin_map_init_opt20(lat,bassin_map)
         USE dimphy, only: klon
-        USE infotrac_phy, ONLY: ntraciso,niso, &
-        ntraceurs_zone,index_trac
         use isotrac_mod, only: izone_cont,izone_trop,lim_tag20
 #ifdef ISOVERIF
@@ -2334,5 +2303,4 @@
         USE geometry_mod, ONLY : latitude_deg
         USE dimphy, only: klon,klev
-        use infotrac_phy, only: ntraciso
         use isotrac_mod, only: option_traceurs,boite_map
         implicit none
@@ -2365,6 +2333,5 @@
         subroutine iso_verif_traceur_jbid_vect(x,n,m)
         USE isotopes_mod, ONLY: bidouille_anti_divergence,iso_eau,ridicule
-        USE infotrac_phy, ONLY: index_trac,niso,ntraciso
-        use isotrac_mod, only: ntraceurs_zone
+        use isotrac_mod, only: ntraceurs_zone=>nzone
         implicit none
         
@@ -2430,5 +2397,4 @@
         subroutine iso_verif_traceur_jbidouille(x)
         USE isotopes_mod, ONLY: bidouille_anti_divergence,iso_eau,ridicule
-        USE infotrac_phy, ONLY: index_trac,niso,ntraciso,ntraceurs_zone
         implicit none
         
@@ -2470,5 +2436,4 @@
         subroutine iso_verif_traceur_jbid_pos(x)
         USE isotopes_mod, ONLY: bidouille_anti_divergence,iso_eau,ridicule
-        USE infotrac_phy, ONLY: index_trac,niso,ntraciso,ntraceurs_zone
 !#ifdef ISOVERIF
 !        use isotopes_verif_mod, only: iso_verif_traceur_pbidouille
@@ -2544,5 +2509,4 @@
         subroutine iso_verif_traceur_jbid_pos_vect(n,m,x)
         USE isotopes_mod, ONLY: bidouille_anti_divergence,iso_eau,ridicule
-        USE infotrac_phy, ONLY: index_trac,niso,ntraciso,ntraceurs_zone
 #ifdef ISOVERIF
         USE isotopes_verif_mod
@@ -2625,5 +2589,4 @@
         subroutine iso_verif_traceur_jbid_pos2(x,q)
         USE isotopes_mod, ONLY: bidouille_anti_divergence,iso_eau,ridicule
-        USE infotrac_phy, ONLY: index_trac,niso,ntraciso,ntraceurs_zone
 #ifdef ISOVERIF
         use isotopes_verif_mod
@@ -2696,5 +2659,4 @@
         subroutine iso_verif_traceur_jbid_vect1D(x,n)
         USE isotopes_mod, ONLY: bidouille_anti_divergence,iso_eau,ridicule
-        USE infotrac_phy, ONLY: index_trac,niso,ntraciso,ntraceurs_zone
         implicit none
         
@@ -2739,5 +2701,4 @@
 
         subroutine iso_verif_traceur_pbidouille(x,err_msg)
-        USE infotrac_phy, ONLY: ntraciso
         use isotopes_verif_mod
         implicit none
@@ -2765,5 +2726,4 @@
 
         function iso_verif_traceur_pbid_ns(x,err_msg)
-        USE infotrac_phy, ONLY: ntraciso
         use isotopes_mod, ONLY: iso_HDO,bidouille_anti_divergence
         use isotrac_mod, only: ridicule_trac
@@ -2828,5 +2788,4 @@
 
         subroutine iso_verif_traceur_pbid_vect(x,n,m,err_msg)
-        USE infotrac_phy, ONLY: ntraciso
         use isotopes_mod, ONLY: iso_HDO,bidouille_anti_divergence
         use isotopes_verif_mod
Index: LMDZ6/trunk/libf/phylmdiso/limit_read_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/limit_read_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/limit_read_mod.F90	(revision 4143)
@@ -281,5 +281,4 @@
     USE indice_sol_mod
 #ifdef ISO
-    !USE infotrac_phy, ONLY: use_iso
     USE isotopes_mod, ONLY : iso_HTO,ok_prod_nucl_tritium
 #ifdef ISOVERIF
Index: LMDZ6/trunk/libf/phylmdiso/ocean_forced_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/ocean_forced_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/ocean_forced_mod.F90	(revision 4143)
@@ -42,5 +42,5 @@
     use config_ocean_skin_m, only: activate_ocean_skin
 #ifdef ISO
-  USE infotrac_phy, ONLY: ntraciso,niso
+  USE infotrac_phy, ONLY: ntiso,niso
     USE isotopes_routines_mod, ONLY: calcul_iso_surf_oce_vectall, &
 &       calcul_iso_surf_sic_vectall    
@@ -73,6 +73,6 @@
 
 #ifdef ISO
-    REAL, DIMENSION(ntraciso,klon), INTENT(IN)    :: xtprecip_rain, xtprecip_snow
-    REAL, DIMENSION(ntraciso,klon), INTENT(IN)    :: xtspechum
+    REAL, DIMENSION(ntiso,klon), INTENT(IN)  :: xtprecip_rain, xtprecip_snow
+    REAL, DIMENSION(ntiso,klon), INTENT(IN)  :: xtspechum
     real, dimension(klon), intent(IN) :: rlat
 #endif
@@ -98,5 +98,5 @@
 
 #ifdef ISO     
-    REAL, DIMENSION(ntraciso,klon), INTENT(OUT)    :: xtevap ! isotopes in evaporation flux
+    REAL, DIMENSION(ntiso,klon), INTENT(OUT) :: xtevap ! isotopes in evaporation flux
     REAL, DIMENSION(klon), INTENT(out)    :: h1 ! just a diagnostic, not useful for the simulation
 #endif
@@ -271,5 +271,5 @@
     USE phys_output_var_mod, ONLY : sens_prec_liq_o, sens_prec_sol_o, lat_prec_liq_o, lat_prec_sol_o
 #ifdef ISO
-  USE infotrac_phy, ONLY: niso,ntraciso
+  USE infotrac_phy, ONLY: niso, ntiso
     USE isotopes_routines_mod, ONLY: calcul_iso_surf_oce_vectall, &
 &       calcul_iso_surf_sic_vectall 
@@ -303,8 +303,8 @@
     real, intent(in):: rhoa(:) ! (knon) density of moist air  (kg / m3)
 #ifdef ISO
-    REAL, DIMENSION(ntraciso,klon), INTENT(IN)    :: xtprecip_rain, xtprecip_snow
-    REAL, DIMENSION(ntraciso,klon), INTENT(IN)    :: xtspechum
-    REAL, DIMENSION(niso,klon), INTENT(IN)    :: Roce 
-    REAL, DIMENSION(niso,klon), INTENT(IN)        :: Rland_ice
+    REAL, DIMENSION(ntiso,klon), INTENT(IN)    :: xtprecip_rain, xtprecip_snow
+    REAL, DIMENSION(ntiso,klon), INTENT(IN)    :: xtspechum
+    REAL, DIMENSION(niso,klon),  INTENT(IN)    :: Roce 
+    REAL, DIMENSION(niso,klon),  INTENT(IN)    :: Rland_ice
 #endif
 
@@ -330,5 +330,5 @@
     REAL, DIMENSION(klon), INTENT(OUT)            :: dflux_s, dflux_l      
 #ifdef ISO     
-    REAL, DIMENSION(ntraciso,klon), INTENT(OUT)    :: xtevap
+    REAL, DIMENSION(ntiso,klon), INTENT(OUT)    :: xtevap
 #endif      
 
Index: LMDZ6/trunk/libf/phylmdiso/pbl_surface_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/pbl_surface_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/pbl_surface_mod.F90	(revision 4143)
@@ -31,4 +31,7 @@
                                   wx_pbl_check, wx_pbl_dts_check, wx_evappot
   use config_ocean_skin_m, only: activate_ocean_skin
+#ifdef ISO
+  USE infotrac_phy, ONLY: niso,ntraciso=>ntiso    
+#endif
 
   IMPLICIT NONE
@@ -193,5 +196,4 @@
     USE indice_sol_mod
     USE print_control_mod, ONLY: lunout
-  USE infotrac_phy, ONLY: niso,ntraciso ! ajout C Risi pour isos  
 #ifdef ISOVERIF
     USE isotopes_mod, ONLY: iso_eau,ridicule
@@ -395,5 +397,4 @@
     USE print_control_mod,  ONLY : prt_level,lunout
 #ifdef ISO
-  USE infotrac_phy, ONLY: ntraciso,niso ! ajout C Risi pour isos    
   USE isotopes_mod, ONLY: Rdefault,iso_eau
 #ifdef ISOVERIF
@@ -4051,5 +4052,4 @@
     USE indice_sol_mod
 #ifdef ISO
-  USE infotrac_phy, ONLY: ntraciso,niso ! ajout C Risi pour isos  
 #ifdef ISOVERIF
     USE isotopes_mod, ONLY: iso_eau,ridicule
@@ -4130,7 +4130,4 @@
     use phys_state_var_mod, only: delta_sal, ds_ns, dt_ns, delta_sst
     use config_ocean_skin_m, only: activate_ocean_skin
-#ifdef ISO
-  USE infotrac_phy, ONLY: ntraciso    
-#endif
 
 
Index: LMDZ6/trunk/libf/phylmdiso/phyredem.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/phyredem.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/phyredem.F90	(revision 4143)
@@ -39,5 +39,5 @@
   USE iostart, ONLY: open_restartphy, close_restartphy, enddef_restartphy, put_field, put_var
   USE traclmdz_mod, ONLY : traclmdz_to_restart
-  USE infotrac_phy, ONLY: type_trac, nqtot, tracers, nbtr, niso, ntraciso
+  USE infotrac_phy, ONLY: type_trac, nqtot, tracers, nbtr, niso
 #ifdef ISO
 #ifdef ISOVERIF
@@ -485,5 +485,5 @@
         xtrain_fall,xtsnow_fall, ql_ancien,xtl_ancien,qs_ancien,xts_ancien, &
         xtsol,fxtevap
-      USE infotrac_phy,ONLY: niso, ntraciso
+      USE infotrac_phy,ONLY: niso, ntiso
       !USE control_mod
       USE indice_sol_mod, ONLY: nbsrf
@@ -509,5 +509,5 @@
       !REAL xtsol(niso,klon)
       REAL xtsnow(niso,klon,nbsrf) 
-      !REAL xtevap(ntraciso,klon,nbsrf)     
+      !REAL xtevap(ntiso,klon,nbsrf)     
       REAL xtrun_off_lic_0(niso,klon)
       REAL Rland_ice(niso,klon)
@@ -566,5 +566,5 @@
 #endif
 
-   do ixt=1,ntraciso
+   do ixt=1,ntiso
 
      if (ixt.le.niso) then
@@ -576,5 +576,5 @@
         outiso=striso(iiso)//strtrac(izone)
 #else
-        write(*,*) 'phyredem 546: ixt,ntraciso=', ixt,ntraciso
+        write(*,*) 'phyredem 546: ixt,ntiso=', ixt,ntiso
         stop
 #endif
Index: LMDZ6/trunk/libf/phylmdiso/phys_local_var_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/phys_local_var_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/phys_local_var_mod.F90	(revision 4143)
@@ -726,5 +726,5 @@
 USE infotrac_phy, ONLY : nbtr
 #ifdef ISO
-USE infotrac_phy, ONLY : ntraciso,niso
+USE infotrac_phy, ONLY : ntraciso=>ntiso,niso
 #endif
 USE aero_mod
Index: LMDZ6/trunk/libf/phylmdiso/phys_output_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/phys_output_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/phys_output_mod.F90	(revision 4143)
@@ -35,5 +35,5 @@
     USE iophy 
     USE dimphy
-    USE infotrac_phy, ONLY: nqtot, tracers, type_trac, niso, ntraciso
+    USE infotrac_phy, ONLY: nqtot, tracers, type_trac, niso, ntraciso=>ntiso
     USE strings_mod,  ONLY: maxlen
     USE ioipsl
Index: LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90	(revision 4143)
@@ -39,6 +39,5 @@
     USE ioipsl_getin_p_mod, ONLY : getin_p
     USE indice_sol_mod
-    USE infotrac, ONLY: iso_num, iso_indnum
-    USE infotrac_phy, ONLY: nqtot, nbtr, nqo, tracers, type_trac, nqCO2, indnum_fn_num
+    USE infotrac_phy, ONLY: nqtot, nbtr, nqo, tracers, type_trac, nqCO2
     USE readTracFiles_mod, ONLY: addPhase
     USE strings_mod,  ONLY: strIdx, strStack, int2str
@@ -126,5 +125,5 @@
 
 #ifdef ISO
-    USE infotrac_phy, ONLY: iqiso,niso, ntraciso, nzone
+    USE infotrac_phy, ONLY: iqIsoPha,niso, ntraciso=>ntiso, nzone
     USE isotopes_mod, ONLY: iso_eau,iso_HDO,iso_O18,iso_O17,iso_HTO, &
         & bidouille_anti_divergence,ok_bidouille_wake, &
@@ -509,13 +508,7 @@
     !======================================================================
     !
-    INTEGER ivap          ! indice de traceurs pour vapeur d'eau
-    PARAMETER (ivap=1)
-    INTEGER iliq          ! indice de traceurs pour eau liquide
-    PARAMETER (iliq=2)
-    !CR: on ajoute la phase glace
-    INTEGER isol          ! indice de traceurs pour eau glace
-    PARAMETER (isol=3)
-    INTEGER irneb         ! indice de traceurs pour fraction nuageuse LS (optional)
-    PARAMETER (irneb=4)   
+    ! indices de traceurs eau vapeur, liquide, glace, fraction nuageuse LS (optional)
+    INTEGER,SAVE :: ivap, iliq, isol, irneb
+!$OMP THREADPRIVATE(ivap, iliq, isol, irneb)
     !
     !
@@ -1354,4 +1347,8 @@
 
     IF (first) THEN 
+       ivap = strIdx(tracers(:)%name, addPhase('H2O', 'g'))
+       iliq = strIdx(tracers(:)%name, addPhase('H2O', 'l'))
+       isol = strIdx(tracers(:)%name, addPhase('H2O', 's'))
+       irneb= strIdx(tracers(:)%name, addPhase('H2O', 'r'))
        CALL init_etat0_limit_unstruct
        IF (.NOT. create_etat0_limit) CALL init_limit_read(days_elapsed)
@@ -2412,19 +2409,19 @@
     do ixt=1,ntraciso
 #ifdef ISOVERIF
-      write(*,*) 'physiq tmp 1762a: ixt,iqiso_vap=',ixt,iqiso(ixt,ivap)
-      write(*,*) 'physiq tmp 1762b: ixt,iqiso_liq=',ixt,iqiso(ixt,iliq)
+      write(*,*) 'physiq tmp 1762a: ixt,iqiso_vap=',ixt,iqIsoPha(ixt,ivap)
+      write(*,*) 'physiq tmp 1762b: ixt,iqiso_liq=',ixt,iqIsoPha(ixt,iliq)
       if (nqo.eq.3) then  
-        write(*,*) 'physiq tmp 1762c: ixt,iqiso_liq=',ixt,iqiso(ixt,iliq)
+        write(*,*) 'physiq tmp 1762c: ixt,iqiso_liq=',ixt,iqIsoPha(ixt,iliq)
       endif !if (nqo.eq.3) then
 #endif
-      if (ixt.gt.niso) write(*,*) 'izone=',tracers(iqiso(ixt,ivap))%iso_iZone 
+      if (ixt.gt.niso) write(*,*) 'izone=',tracers(iqIsoPha(ixt,ivap))%iso_iZone 
       DO k = 1, klev
        DO i = 1, klon
-          xt_seri(ixt,i,k)  = qx(i,k,iqiso(ixt,ivap))
-          xtl_seri(ixt,i,k) = qx(i,k,iqiso(ixt,iliq))
+          xt_seri(ixt,i,k)  = qx(i,k,iqIsoPha(ixt,ivap))
+          xtl_seri(ixt,i,k) = qx(i,k,iqIsoPha(ixt,iliq))
           if (nqo.eq.2) then
              xts_seri(ixt,i,k) = 0.
           else if (nqo.eq.3) then
-             xts_seri(ixt,i,k) = qx(i,k,iqiso(ixt,isol))
+             xts_seri(ixt,i,k) = qx(i,k,iqIsoPha(ixt,isol))
           endif
        enddo !DO i = 1, klon
@@ -3032,5 +3029,4 @@
       ! verif iso_eau
       !write(*,*) 'physiq tmp 2748: iso_eau=',iso_eau
-      !write(*,*) 'use_iso=',use_iso
       !write(*,*) 'iso_eau.gt.0=',iso_eau.gt.0
       !write(*,*) 'd_xt_vdf(iso_eau,1,1),d_q_vdf(1,1)=',d_xt_vdf(iso_eau,1,1),d_q_vdf(1,1)
@@ -6496,10 +6492,10 @@
       DO k = 1, klev
        DO i = 1, klon
-          iq=iqiso(ixt,ivap)
+          iq=iqIsoPha(ixt,ivap)
           d_qx(i,k,iq) = ( xt_seri(ixt,i,k) - qx(i,k,iq) ) / phys_tstep
-          iq=iqiso(ixt,iliq)
+          iq=iqIsoPha(ixt,iliq)
           d_qx(i,k,iq) = ( xtl_seri(ixt,i,k) - qx(i,k,iq) ) / phys_tstep
           if (nqo.eq.3) then
-             iq=iqiso(ixt,isol)
+             iq=iqIsoPha(ixt,isol)
              d_qx(i,k,iq) = ( xts_seri(ixt,i,k) - qx(i,k,iq) ) / phys_tstep
           endif
Index: LMDZ6/trunk/libf/phylmdiso/reevap.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/reevap.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/reevap.F90	(revision 4143)
@@ -9,5 +9,5 @@
     USE add_phys_tend_mod, only : fl_cor_ebil 
 #ifdef ISO
-    USE infotrac_phy, ONLY: ntraciso   
+    USE infotrac_phy, ONLY: ntiso   
 #ifdef ISOVERIF
     USE isotopes_verif_mod
@@ -30,6 +30,6 @@
 
 #ifdef ISO
-    REAL, DIMENSION(ntraciso,klon,klev), INTENT(in) :: xt_seri,xtl_seri,xts_seri
-    REAL, DIMENSION(ntraciso,klon,klev), INTENT(out) :: d_xt_eva,d_xtl_eva,d_xts_eva
+    REAL, DIMENSION(ntiso,klon,klev), INTENT(in) :: xt_seri,xtl_seri,xts_seri
+    REAL, DIMENSION(ntiso,klon,klev), INTENT(out) :: d_xt_eva,d_xtl_eva,d_xts_eva
     integer ixt
 #endif
@@ -76,12 +76,12 @@
 
 #ifdef ISO
-         do ixt=1,ntraciso
+         do ixt=1,ntiso
             zb = MAX(0.0,xtl_seri(ixt,i,k))
             d_xt_eva(ixt,i,k) = zb
             d_xtl_eva(ixt,i,k) = -xtl_seri(ixt,i,k)
             d_xts_eva(ixt,i,k) = 0.
-         enddo ! do ixt=1,ntraciso
+         enddo
 #ifdef ISOVERIF
-      do ixt=1,ntraciso
+      do ixt=1,ntiso
         call iso_verif_noNaN(xt_seri(ixt,i,k), &
      &     'physiq 2417: apres evap tot')
@@ -136,13 +136,13 @@
 
 #ifdef ISO
-         do ixt=1,ntraciso
+         do ixt=1,ntiso
             zb = MAX(0.0,xtl_seri(ixt,i,k)+xts_seri(ixt,i,k))
             d_xt_eva(ixt,i,k) = zb
             d_xtl_eva(ixt,i,k) = -xtl_seri(ixt,i,k)
             d_xts_eva(ixt,i,k) = -xts_seri(ixt,i,k)
-         enddo ! do ixt=1,ntraciso
+         enddo
 
 #ifdef ISOVERIF
-      do ixt=1,ntraciso
+      do ixt=1,ntiso
       call iso_verif_noNaN(xt_seri(ixt,i,k), &
      &     'physiq 2417: apres evap tot')
Index: LMDZ6/trunk/libf/phylmdiso/surf_land_bucket_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/surf_land_bucket_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/surf_land_bucket_mod.F90	(revision 4143)
@@ -35,5 +35,5 @@
     USE indice_sol_mod
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso,niso
+    use infotrac_phy, ONLY: ntiso,niso
     USE isotopes_mod, ONLY: iso_eau, iso_HDO, iso_O18, iso_O17, &
         ridicule_qsol
@@ -69,6 +69,6 @@
     REAL, DIMENSION(klon), INTENT(IN)       :: swnet, lwnet
 #ifdef ISO
-    REAL, DIMENSION(ntraciso,klon), INTENT(IN)       :: xtprecip_rain, xtprecip_snow
-    REAL, DIMENSION(ntraciso,klon), INTENT(IN)       :: xtspechum    
+    REAL, DIMENSION(ntiso,klon), INTENT(IN) :: xtprecip_rain, xtprecip_snow
+    REAL, DIMENSION(ntiso,klon), INTENT(IN) :: xtspechum    
 #endif
 
@@ -91,9 +91,9 @@
     REAL, DIMENSION(klon), INTENT(OUT)       :: dflux_s, dflux_l         
 #ifdef ISO
-    REAL, DIMENSION(ntraciso,klon), INTENT(OUT)       :: xtevap
-    REAL, DIMENSION(klon), INTENT(OUT)       :: h1
-    REAL, DIMENSION(niso,klon), INTENT(OUT)       :: xtrunoff_diag
-    REAL, DIMENSION(klon), INTENT(OUT)       :: runoff_diag
-    REAL, DIMENSION(niso,klon), INTENT(IN)        :: Rland_ice
+    REAL, DIMENSION(ntiso,klon), INTENT(OUT) :: xtevap
+    REAL, DIMENSION(klon),       INTENT(OUT) :: h1
+    REAL, DIMENSION(niso,klon),  INTENT(OUT) :: xtrunoff_diag
+    REAL, DIMENSION(klon),       INTENT(OUT) :: runoff_diag
+    REAL, DIMENSION(niso,klon),  INTENT(IN)  :: Rland_ice
 #endif
 
Index: LMDZ6/trunk/libf/phylmdiso/surf_land_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/surf_land_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/surf_land_mod.F90	(revision 4143)
@@ -61,5 +61,5 @@
     USE indice_sol_mod
 #ifdef ISO
-    use infotrac_phy, ONLY: ntraciso,niso
+    use infotrac_phy, ONLY: ntiso,niso
     use isotopes_mod, ONLY: nudge_qsol, iso_eau
 #ifdef ISOVERIF
@@ -104,6 +104,6 @@
     REAL, DIMENSION(klon), INTENT(IN)       :: q2m, t2m
 #ifdef ISO
-    REAL, DIMENSION(ntraciso,klon), INTENT(IN)       :: xtprecip_rain, xtprecip_snow
-    REAL, DIMENSION(ntraciso,klon), INTENT(IN)       :: xtspechum
+    REAL, DIMENSION(ntiso,klon), INTENT(IN)       :: xtprecip_rain, xtprecip_snow
+    REAL, DIMENSION(ntiso,klon), INTENT(IN)       :: xtspechum
 #endif 
 
@@ -135,5 +135,5 @@
     REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: height
 #ifdef ISO
-    REAL, DIMENSION(ntraciso,klon), INTENT(OUT)      :: xtevap
+    REAL, DIMENSION(ntiso,klon), INTENT(OUT)      :: xtevap
     REAL, DIMENSION(klon), INTENT(OUT)      :: h1
     REAL, DIMENSION(niso,klon), INTENT(OUT)      :: xtrunoff_diag
@@ -181,5 +181,5 @@
 !       write(*,*) 'surf_land 169: ok_veget=',ok_veget
         do i=1,knon
-         do ixt=1,ntraciso
+         do ixt=1,ntiso
            call iso_verif_noNaN(xtprecip_snow(ixt,i),'surf_land 146')
          enddo
Index: LMDZ6/trunk/libf/phylmdiso/surf_landice_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/surf_landice_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/surf_landice_mod.F90	(revision 4143)
@@ -37,5 +37,5 @@
 #ifdef ISO   
     USE fonte_neige_mod,  ONLY : xtrun_off_lic
-    USE infotrac_phy, ONLY : ntraciso,niso
+    USE infotrac_phy, ONLY : ntiso,niso
     USE isotopes_routines_mod, ONLY: calcul_iso_surf_lic_vectall
 #ifdef ISOVERIF
@@ -82,6 +82,6 @@
     REAL, DIMENSION(klon,nbsrf), INTENT(IN)       :: pctsrf
 #ifdef ISO
-    REAL, DIMENSION(ntraciso,klon), INTENT(IN)        :: xtprecip_rain, xtprecip_snow 
-    REAL, DIMENSION(ntraciso,klon), INTENT(IN)        :: xtspechum 
+    REAL, DIMENSION(ntiso,klon), INTENT(IN)       :: xtprecip_rain, xtprecip_snow 
+    REAL, DIMENSION(ntiso,klon), INTENT(IN)       :: xtspechum 
 #endif
 
@@ -129,5 +129,5 @@
     REAL, DIMENSION(klon), INTENT(OUT)           :: runoff  !Land ice runoff
 #ifdef ISO
-    REAL, DIMENSION(ntraciso,klon), INTENT(OUT)        :: xtevap     
+    REAL, DIMENSION(ntiso,klon), INTENT(OUT)     :: xtevap     
 !    real, DIMENSION(niso,klon) :: xtrun_off_lic_0_diag ! est une variable globale de
 !    fonte_neige
Index: LMDZ6/trunk/libf/phylmdiso/surf_ocean_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/surf_ocean_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/surf_ocean_mod.F90	(revision 4143)
@@ -37,5 +37,5 @@
     USE indice_sol_mod, ONLY : nbsrf, is_oce
 #ifdef ISO
-  USE infotrac_phy, ONLY : ntraciso,niso
+  USE infotrac_phy, ONLY : ntraciso=>ntiso,niso
 #ifdef ISOVERIF
     USE isotopes_mod, ONLY: iso_eau,ridicule
Index: LMDZ6/trunk/libf/phylmdiso/surf_seaice_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/surf_seaice_mod.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/surf_seaice_mod.F90	(revision 4143)
@@ -35,5 +35,5 @@
   USE indice_sol_mod
 #ifdef ISO
-  USE infotrac_phy, ONLY : ntraciso,niso
+  USE infotrac_phy, ONLY : ntiso,niso
 #endif
 
@@ -71,5 +71,5 @@
     REAL, DIMENSION(klon,nbsrf), INTENT(IN)  :: pctsrf
 #ifdef ISO
-    REAL, DIMENSION(ntraciso,klon), INTENT(IN)        :: xtprecip_rain, xtprecip_snow 
+    REAL, DIMENSION(ntiso,klon), INTENT(IN)        :: xtprecip_rain, xtprecip_snow 
     REAL, DIMENSION(klon), INTENT(IN)        :: xtspechum
     REAL, DIMENSION(niso,klon), INTENT(IN)        :: Roce
@@ -101,5 +101,5 @@
     REAL, DIMENSION(klon), INTENT(OUT)       :: flux_u1, flux_v1
 #ifdef ISO
-    REAL, DIMENSION(ntraciso,klon), INTENT(OUT)        :: xtevap  
+    REAL, DIMENSION(ntiso,klon), INTENT(OUT)        :: xtevap  
 #endif
 
Index: LMDZ6/trunk/libf/phylmdiso/wake.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/wake.F90	(revision 4124)
+++ LMDZ6/trunk/libf/phylmdiso/wake.F90	(revision 4143)
@@ -34,5 +34,5 @@
   USE print_control_mod, ONLY: prt_level
 #ifdef ISO
-  USE infotrac_phy, ONLY : ntraciso
+  USE infotrac_phy, ONLY : ntraciso=>ntiso
 #ifdef ISOVERIF
   USE isotopes_verif_mod
