Index: /LMDZ6/trunk/libf/dyn3d/check_isotopes.F90
===================================================================
--- /LMDZ6/trunk/libf/dyn3d/check_isotopes.F90	(revision 4983)
+++ /LMDZ6/trunk/libf/dyn3d/check_isotopes.F90	(revision 4984)
@@ -23,4 +23,5 @@
                              iso_O17, iso_HTO
    LOGICAL, SAVE :: first=.TRUE.
+   LOGICAL, PARAMETER :: tnat1=.TRUE.
 
    modname='check_isotopes'
@@ -34,5 +35,9 @@
       iso_O17 = strIdx(isoName,'H217O')
       iso_HTO = strIdx(isoName,'HTO')
-      IF(getKey('tnat', tnat)) CALL abort_gcm(modname, 'missing isotopic parameter', 1)
+      if (tnat1) then
+              tnat(:)=1.0
+      else
+         IF(getKey('tnat', tnat)) CALL abort_gcm(modname, 'missing isotopic parameter', 1)
+      endif
       first = .FALSE.
    END IF
Index: /LMDZ6/trunk/libf/dyn3d/dynetat0.F90
===================================================================
--- /LMDZ6/trunk/libf/dyn3d/dynetat0.F90	(revision 4983)
+++ /LMDZ6/trunk/libf/dyn3d/dynetat0.F90	(revision 4984)
@@ -43,4 +43,5 @@
   REAL    :: time, tnat, alpha_ideal, tab_cntrl(length)    !--- RUN PARAMS TABLE
   LOGICAL :: lSkip, ll
+  LOGICAL,PARAMETER :: tnat1=.TRUE.
 !-------------------------------------------------------------------------------
   modname="dynetat0"
@@ -155,6 +156,12 @@
       iqParent = tracers(iq)%iqParent
       IF(tracers(iq)%iso_iZone == 0) THEN
-         IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) &
+         if (tnat1) then
+                 tnat=1.0
+                 alpha_ideal=1.0
+                 write(*,*) 'attention dans dynetat0: les alpha_ideal sont a 1'
+         else
+          IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) &
             CALL abort_gcm(TRIM(modname), 'missing isotopic parameters', 1)
+         endif
          CALL msg('Tracer <'//TRIM(var)//'> is missing => initialized with a simplified Rayleigh distillation law.', modname)
          q(:,:,:,iq) = q(:,:,:,iqParent)*tnat*(q(:,:,:,iqParent)/30.e-3)**(alpha_ideal-1.)
Index: /LMDZ6/trunk/libf/dyn3d/iniacademic.F90
===================================================================
--- /LMDZ6/trunk/libf/dyn3d/iniacademic.F90	(revision 4983)
+++ /LMDZ6/trunk/libf/dyn3d/iniacademic.F90	(revision 4984)
@@ -80,4 +80,5 @@
 
   REAL zdtvr, tnat, alpha_ideal
+  LOGICAL,PARAMETER :: tnat1=.true.
   
   character(len=*),parameter :: modname="iniacademic"
@@ -321,10 +322,22 @@
               iqParent = tracers(iq)%iqParent
               IF(tracers(iq)%iso_iZone == 0) THEN
-                 IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) &
+                 if (tnat1) then
+                         tnat=1.0
+                         alpha_ideal=1.0
+                         write(*,*) 'Attention dans iniacademic: alpha_ideal=1'
+                 else
+                    IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) &
                     CALL abort_gcm(TRIM(modname), 'missing isotopic parameters', 1)
+                 endif
                  q(:,:,iq) = q(:,:,iqParent)*tnat*(q(:,:,iqParent)/30.e-3)**(alpha_ideal-1.)
-              ELSE
-                 q(:,:,iq) = q(:,:,iqIsoPha(iName,iPhase))
-              END IF
+              ELSE !IF(tracers(iq)%iso_iZone == 0) THEN
+                 IF(tracers(iq)%iso_iZone == 1) THEN
+                    ! correction le 14 mai 2024 pour que tous les traceurs soient de la couleur 1.
+                    ! Sinon, on va avoir des porblèmes de conservation de masse de traceurs.
+                    q(:,:,iq) = q(:,:,iqIsoPha(iName,iPhase))
+                 else !IF(tracers(iq)%iso_iZone == 1) THEN
+                    q(:,:,iq) = 0.
+                 endif !IF(tracers(iq)%iso_iZone == 1) THEN
+              END IF !IF(tracers(iq)%iso_iZone == 0) THEN
            enddo
         else
Index: /LMDZ6/trunk/libf/dyn3d_common/infotrac.F90
===================================================================
--- /LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 4983)
+++ /LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 4984)
@@ -36,5 +36,5 @@
 !  |--------------------+-----------------------+-----------------+---------------+----------------------------|
 !  | water in different |    water tagging      |  water isotopes | other tracers | additional tracers moments |
-!  | phases: H2O_[glsb] |      isotopes         |                 |               |  for higher order schemes  |
+!  | phases: H2O_[gls]  |      isotopes         |                 |               |  for higher order schemes  |
 !  |--------------------+-----------------------+-----------------+---------------+----------------------------|
 !  |                    |                       |                 |               |                            |
@@ -65,5 +65,5 @@
 !  | longName    | Long name (with adv. scheme suffix) for outputs      | ttext       |                        |
 !  | type        | Type (so far: tracer or tag)                         | /           | tracer,tag             |
-!  | phase       | Phases list ("g"as / "l"iquid / "s"olid / "b"lowing) | /           | [g][l][s][b]           |
+!  | phase       | Phases list ("g"as / "l"iquid / "s"olid)             | /           | [g][l][s]              |
 !  | component   | Name(s) of the merged/cumulated section(s)           | /           | coma-separated names   |
 !  | iGeneration | Generation (>=1)                                     | /           |                        |
@@ -91,5 +91,5 @@
 !  | trac   | ntiso  | Isotopes + tagging tracers list + number         | / | ntraciso       |                 |
 !  | zone   | nzone  | Geographic tagging zones   list + number         | / | ntraceurs_zone |                 |
-!  | phase  | nphas  | Phases                     list + number         |                    |[g][l][s][b],1:4 |
+!  | phase  | nphas  | Phases                     list + number         |                    | [g][l][s], 1:3  |
 !  | iqIsoPha        | Index in "qx"           = f(name(1:ntiso)),phas) | iqiso              | 1:nqtot         |
 !  | itZonIso        | Index in "trac(1:ntiso)"= f(zone, name(1:niso))  | index_trac         | 1:ntiso         |
@@ -236,5 +236,5 @@
       nbtr = nqINCA + nqCO2                                          !--- Number of tracers passed to phytrac
       nqtrue = nbtr + nqo                                            !--- Total number of "true" tracers
-      IF(ALL([2,3,4,5] /= nqo)) CALL abort_gcm(modname, 'Only 2, 3, 4 , 5 water phases allowed ; found nqo='//TRIM(int2str(nqo)), 1)
+      IF(ALL([2,3] /= nqo)) CALL abort_gcm(modname, 'Only 2 or 3 water phases allowed ; found nqo='//TRIM(int2str(nqo)), 1)
       ALLOCATE(hadv(nqtrue), hadv_inca(nqINCA), conv_flg_inca(nqINCA), solsym_inca(nqINCA))
       ALLOCATE(vadv(nqtrue), vadv_inca(nqINCA),  pbl_flg_inca(nqINCA))
Index: /LMDZ6/trunk/libf/dyn3dmem/check_isotopes_loc.F90
===================================================================
--- /LMDZ6/trunk/libf/dyn3dmem/check_isotopes_loc.F90	(revision 4983)
+++ /LMDZ6/trunk/libf/dyn3dmem/check_isotopes_loc.F90	(revision 4984)
@@ -24,4 +24,5 @@
                              iso_O17, iso_HTO
    LOGICAL, SAVE :: first=.TRUE.
+   LOGICAL, PARAMETER :: tnat1=.TRUE.
 !$OMP THREADPRIVATE(first)
 
@@ -37,5 +38,9 @@
       iso_O17 = strIdx(isoName,'H217O')
       iso_HTO = strIdx(isoName,'HTO')
-      IF(getKey('tnat', tnat)) CALL abort_gcm(modname, 'missing isotopic parameter', 1)
+      if (tnat1) then
+              tnat(:)=1.0
+      else
+         IF(getKey('tnat', tnat)) CALL abort_gcm(modname, 'missing isotopic parameter', 1)
+      endif
 !$OMP END MASTER
 !$OMP BARRIER
Index: /LMDZ6/trunk/libf/dyn3dmem/dynetat0_loc.F90
===================================================================
--- /LMDZ6/trunk/libf/dyn3dmem/dynetat0_loc.F90	(revision 4983)
+++ /LMDZ6/trunk/libf/dyn3dmem/dynetat0_loc.F90	(revision 4984)
@@ -42,9 +42,11 @@
   INTEGER, PARAMETER :: length=100
   INTEGER :: iq, fID, vID, idecal, ierr, iqParent, iName, iZone, iPhase, ix
-  REAL    :: time, tnat, alpha_ideal, tab_cntrl(length)    !--- RUN PARAMS TABLE
+  REAL    :: time,tab_cntrl(length)    !--- RUN PARAMS TABLE
+  REAL    :: tnat, alpha_ideal
   REAL,             ALLOCATABLE :: vcov_glo(:,:),masse_glo(:,:),   ps_glo(:)
   REAL,             ALLOCATABLE :: ucov_glo(:,:),    q_glo(:,:), phis_glo(:)
   REAL,             ALLOCATABLE :: teta_glo(:,:)
   LOGICAL :: lSkip, ll
+  LOGICAL,PARAMETER :: tnat1=.TRUE.
 !-------------------------------------------------------------------------------
   modname="dynetat0_loc"
@@ -179,6 +181,12 @@
       iqParent = tracers(iq)%iqParent
       IF(tracers(iq)%iso_iZone == 0) THEN
-         IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) &
+         if (tnat1) then
+                 tnat=1.0
+                 alpha_ideal=1.0
+                 write(*,*) 'attention dans dynetat0: les alpha_ideal sont a 1'
+         else
+          IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) &
             CALL abort_gcm(TRIM(modname), 'missing isotopic parameters', 1)
+         endif
          CALL msg('Tracer <'//TRIM(var)//'> is missing => initialized with a simplified Rayleigh distillation law.', modname)
          q(ijb_u:ije_u,:,iq) = q(ijb_u:ije_u,:,iqParent)*tnat*(q(ijb_u:ije_u,:,iqParent)/30.e-3)**(alpha_ideal-1.)
@@ -193,5 +201,5 @@
          ! remplacant 1 par izone_init dans la ligne qui suit.
          IF(tracers(iq)%iso_iZone == 1) THEN
-          q(ijb_u:ije_u,:,iq) = q(ijb_u:ije_u,:,iqIsoPha(iName,iPhase))
+           q(ijb_u:ije_u,:,iq) = q(ijb_u:ije_u,:,iqIsoPha(iName,iPhase))
          ELSE
            q(ijb_u:ije_u,:,iq) =  0.
Index: /LMDZ6/trunk/libf/dyn3dmem/iniacademic_loc.F90
===================================================================
--- /LMDZ6/trunk/libf/dyn3dmem/iniacademic_loc.F90	(revision 4983)
+++ /LMDZ6/trunk/libf/dyn3dmem/iniacademic_loc.F90	(revision 4984)
@@ -85,4 +85,5 @@
 
   REAL zdtvr, tnat, alpha_ideal
+  LOGICAL,PARAMETER :: tnat1=.true.
   
   character(len=*),parameter :: modname="iniacademic"
@@ -323,10 +324,22 @@
               iqParent = tracers(iq)%iqParent
               IF(tracers(iq)%iso_iZone == 0) THEN
-                 IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) &
+                 if (tnat1) then
+                         tnat=1.0
+                         alpha_ideal=1.0
+                         write(*,*) 'Attention dans iniacademic: alpha_ideal=1'
+                 else
+                    IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) &
                     CALL abort_gcm(TRIM(modname), 'missing isotopic parameters', 1)
+                 endif
                  q(ijb_u:ije_u,:,iq) = q(ijb_u:ije_u,:,iqParent)*tnat*(q(ijb_u:ije_u,:,iqParent)/30.e-3)**(alpha_ideal-1.)
-              ELSE
-                 q(ijb_u:ije_u,:,iq) = q(ijb_u:ije_u,:,iqIsoPha(iName,iPhase))
-              END IF
+              ELSE !IF(tracers(iq)%iso_iZone == 0) THEN
+                 IF(tracers(iq)%iso_iZone == 1) THEN ! a verifier.
+                    ! correction le 14 mai 2024 pour que tous les traceurs soient de la couleur 1.
+                    ! Sinon, on va avoir des porblèmes de conservation de masse de traceurs.
+                    q(ijb_u:ije_u,:,iq) = q(ijb_u:ije_u,:,iqIsoPha(iName,iPhase))
+                 else !IF(tracers(iq)%iso_iZone == 1) THEN
+                    q(ijb_u:ije_u,:,iq) = 0.0
+                 endif !IF(tracers(iq)%iso_iZone == 1) THEN
+              END IF !IF(tracers(iq)%iso_iZone == 0) THEN
            enddo
         else
Index: /LMDZ6/trunk/libf/misc/readTracFiles_mod.f90
===================================================================
--- /LMDZ6/trunk/libf/misc/readTracFiles_mod.f90	(revision 4983)
+++ /LMDZ6/trunk/libf/misc/readTracFiles_mod.f90	(revision 4984)
@@ -36,4 +36,5 @@
   PUBLIC :: itZonIso                                            !--- Idx IN isoName(1:niso) = f(tagging idx, isotope idx)
   PUBLIC :: iqIsoPha                                            !--- Idx IN qx(1:nqtot)     = f(isotope idx,   phase idx)
+  PUBLIC :: iqWIsoPha                                           !--- Idx IN qx(1:nqtot)     = f(isotope idx,   phase idx) but with normal water first
   PUBLIC :: isoCheck                                            !--- FLAG TO RUN ISOTOPES CHECKING ROUTINES
 
@@ -82,4 +83,6 @@
     INTEGER,               ALLOCATABLE :: iqIsoPha(:,:)    !--- Idx in "tracers(1:nqtot)" = f(name(1:ntiso)),phas)
                                                            !---        "iqIsoPha" former name: "iqiso"
+    INTEGER,               ALLOCATABLE :: iqWIsoPha(:,:)   !--- Idx in "tracers(1:nqtot)" = f(name(1:ntiso)),phas)
+                                                           !---        "iqIsoPha" former name: "iqiso"
     INTEGER,               ALLOCATABLE :: itZonIso(:,:)    !--- Idx in "trac(1:ntiso)" = f(zone, name(1:niso))
                                                            !---        "itZonIso" former name: "index_trac"
@@ -148,5 +151,6 @@
                                             nphas, ntiso        !--- NUMBER OF PHASES AND ISOTOPES + ISOTOPIC TAGGING TRACERS
   INTEGER,                 SAVE, POINTER ::itZonIso(:,:), &     !--- INDEX IN "isoTrac" AS f(tagging zone idx,  isotope idx)
-                                           iqIsoPha(:,:)        !--- INDEX IN "qx"      AS f(isotopic tracer idx, phase idx)
+                                           iqIsoPha(:,:), &        !--- INDEX IN "qx"      AS f(isotopic tracer idx, phase idx)
+                                           iqWIsoPha(:,:)       !--- INDEX IN "qx"      AS f(isotopic tracer idx, phase idx)
 
   INTEGER,    PARAMETER :: maxTableWidth = 192                  !--- Maximum width of a table displayed with "dispTable"
@@ -1205,4 +1209,8 @@
     i%iqIsoPha = RESHAPE( [( (strIdx(t%name,  addPhase(i%trac(it),i%phase(ip:ip))),       it=1, i%ntiso), ip=1, i%nphas)], &
                          [i%ntiso, i%nphas] )
+    !=== Table used to get iq (index in dyn array, size nqtot) from the water and isotope and phase indexes ; the full isotopes list
+    !    (including tagging tracers) is sorted this way:  iso1, iso2, ..., iso1_zone1, iso2_zone1, ..., iso1_zoneN, iso2_zoneN
+    i%iqWIsoPha = RESHAPE( [( [strIdx(t%name,   addPhase('H2O',i%phase(ip:ip))), i%iqIsoPha(:,ip)], ip=1,i%nphas)], &
+                         [1+i%ntiso, i%nphas] )
     !=== Table used to get ix (index in tagging tracers isotopes list, size ntiso) from the zone and isotope indexes
     i%itZonIso = RESHAPE( [( (strIdx(i%trac(:), TRIM(i%trac(it))//'_'//TRIM(i%zone(iz))), iz=1, i%nzone), it=1, i%niso )], &
@@ -1211,5 +1219,5 @@
 
   !=== READ PHYSICAL PARAMETERS FROM isoFile FILE
-  IF(test(readIsotopesFile_prv(isoFile, isotopes), lerr)) RETURN
+!  IF(test(readIsotopesFile_prv(isoFile, isotopes), lerr)) RETURN! on commente pour ne pas chercher isotopes_params.def
 
   !=== CHECK CONSISTENCY
@@ -1287,4 +1295,5 @@
    itZonIso => isotope%itZonIso; isoCheck = isotope%check
    iqIsoPha => isotope%iqIsoPha
+   iqWIsoPha => isotope%iqWIsoPha
 END FUNCTION isoSelectByIndex
 !==============================================================================================================================
Index: /LMDZ6/trunk/libf/phylmd/infotrac_phy.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 4983)
+++ /LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 4984)
@@ -5,6 +5,6 @@
    USE       strings_mod, ONLY: msg, fmsg, maxlen, cat, dispTable, int2str, bool2str, strStack, strParse, strIdx
    USE readTracFiles_mod, ONLY: trac_type, readTracersFiles, tracers, setGeneration, itZonIso, nzone, tran0, isoZone, &
-        delPhase, niso, getKey, isot_type, readIsotopesFile, isotope, maxTableWidth, iqIsoPha, nphas, ixIso, isoPhas, &
-        addPhase, iH2O, addKey, isoSelect, testTracersFiles, isoKeys, indexUpdate,   isoCheck, nbIso, ntiso, isoName
+        delPhase, niso, getKey, isot_type, readIsotopesFile, isotope, maxTableWidth, iqIsoPha, iqWIsoPha, nphas, ixIso, &
+        isoPhas, addPhase, iH2O, addKey, isoSelect, testTracersFiles, isoKeys, indexUpdate,   isoCheck, nbIso, ntiso, isoName
    IMPLICIT NONE
 
@@ -20,10 +20,7 @@
    PUBLIC :: id_OCS_strat, id_SO2_strat, id_H2SO4_strat, id_BIN01_strat, id_TEST_strat
 #endif
-#ifdef REPROBUS
-   PUBLIC :: nbtr_bin, nbtr_sulgas
-   PUBLIC :: id_OCS_strat, id_SO2_strat, id_H2SO4_strat, id_BIN01_strat, &
-             id_TEST_strat
-#endif
-
+
+   !=== FOR WATER
+   PUBLIC :: ivap, iliq, isol
    !=== FOR ISOTOPES: General
    PUBLIC :: isot_type, nbIso                              !--- Derived type, full isotopes families database + nb of families
@@ -37,4 +34,6 @@
    PUBLIC :: itZonIso                                      !--- idx "it" (in "isoName(1:niso)") = function(tagging idx, isotope idx)
    PUBLIC :: iqIsoPha                                      !--- idx "iq" (in "qx") = function(isotope idx, phase idx) + aliases
+   PUBLIC :: iqWIsoPha                                      !--- Same as iqIsoPha but with normal water phases
+
    PUBLIC :: isoCheck                                      !--- Run isotopes checking routines
    !=== FOR BOTH TRACERS AND ISOTOPES
@@ -73,5 +72,5 @@
 !  | longName    | Long name (with adv. scheme suffix) for outputs      | ttext       |                        |
 !  | type        | Type (so far: tracer or tag)                         | /           | tracer,tag             |
-!  | phase       | Phases list ("g"as / "l"iquid / "s"olid / "b"lowing) | /           | [g][l][s][b]           |
+!  | phase       | Phases list ("g"as / "l"iquid / "s"olid)             | /           | [g][l][s]              |
 !  | component   | Name(s) of the merged/cumulated section(s)           | /           | coma-separated names   |
 !  | iGeneration | Generation (>=1)                                     | /           |                        |
@@ -98,6 +97,7 @@
 !  | trac   | ntiso  | Isotopes + tagging tracers list + number         | / | ntraciso       |                 |
 !  | zone   | nzone  | Geographic tagging zones   list + number         | / | ntraceurs_zone |                 |
-!  | phase  | nphas  | Phases                     list + number         |                    |[g][l][s][b] 1:4 |
+!  | phase  | nphas  | Phases                     list + number         |                    | [g][l][s], 1:3  |
 !  | iqIsoPha        | Index in "qx"           = f(name(1:ntiso)),phas) | iqiso              | 1:nqtot         |
+!  | iqWIsoPha       | Index in "qx"           = f(name(1:ntiso)),phas) | iqiso              | 1:nqtot         |
 !  | itZonIso        | Index in "trac(1:ntiso)"= f(zone, name(1:niso))  | index_trac         | 1:ntiso         |
 !  +-----------------+--------------------------------------------------+--------------------+-----------------+
@@ -112,4 +112,8 @@
 !$OMP THREADPRIVATE(nqtot, nbtr, nqo, nqtottr, nqCO2, type_trac)
 
+   !=== INDICES OF WATER
+   INTEGER,               SAVE :: ivap,iliq,isol ! Indices for vap, liq and ice
+!$OMP THREADPRIVATE(ivap,iliq,isol)
+
    !=== VARIABLES FOR INCA
    INTEGER,               SAVE, ALLOCATABLE :: conv_flg(:), &   !--- Convection     activation ; needed for INCA        (nbtr)
@@ -123,12 +127,4 @@
   INTEGER, SAVE ::  id_OCS_strat, id_SO2_strat, id_H2SO4_strat, id_BIN01_strat, id_TEST_strat
 !$OMP THREADPRIVATE(id_OCS_strat, id_SO2_strat, id_H2SO4_strat, id_BIN01_strat, id_TEST_strat)
-#endif
-#ifdef REPROBUS
-  INTEGER, SAVE ::  nbtr_bin, nbtr_sulgas
-!$OMP THREADPRIVATE(nbtr_bin, nbtr_sulgas)
-  INTEGER, SAVE ::  id_OCS_strat, id_SO2_strat, id_H2SO4_strat, id_BIN01_strat,&
-                    id_TEST_strat
-!$OMP THREADPRIVATE(id_OCS_strat, id_SO2_strat, id_H2SO4_strat, id_BIN01_strat)
-!$OMP THREADPRIVATE(id_TEST_strat)
 #endif
 
Index: /LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 4983)
+++ /LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 4984)
@@ -1294,6 +1294,6 @@
 
        ENDDO
-       
-                
+
+
         IF (iflag_pbl > 1) THEN
           zx_tmp_fi3d=0.
@@ -2784,6 +2784,7 @@
 
 #ifdef ISO
+    !write(*,*) 'tmp phys_output_write: ntiso=',ntiso
     do ixt=1,ntiso
-!        write(*,*) 'ixt'
+        !write(*,*) 'ixt,o_xtovap(ixt)=',ixt,o_xtovap(ixt)
         IF (vars_defined) zx_tmp_fi2d(:) = xtrain_fall(ixt,:) + xtsnow_fall(ixt,:)
         CALL histwrite_phy(o_xtprecip(ixt), zx_tmp_fi2d)
Index: /LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 4983)
+++ /LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 4984)
@@ -87,6 +87,7 @@
 !$OMP THREADPRIVATE(prw_ancien, prlw_ancien, prsw_ancien, prbsw_ancien)
 #ifdef ISO
-      REAL, ALLOCATABLE, SAVE :: xt_ancien(:,:,:),xtl_ancien(:,:,:),xts_ancien(:,:,:)
-!$OMP THREADPRIVATE(xt_ancien,xtl_ancien,xts_ancien)
+      REAL, ALLOCATABLE, SAVE :: xt_ancien(:,:,:),xtl_ancien(:,:,:),xts_ancien(:,:,:), &
+              xtbs_ancien(:,:,:)
+!$OMP THREADPRIVATE(xt_ancien,xtl_ancien,xts_ancien,xtbs_ancien)
 #endif
       REAL, ALLOCATABLE, SAVE :: u_ancien(:,:), v_ancien(:,:)
@@ -760,4 +761,5 @@
       ALLOCATE(xtl_ancien(ntraciso,klon,klev))
       ALLOCATE(xts_ancien(ntraciso,klon,klev))
+      ALLOCATE(xtbs_ancien(ntraciso,klon,klev))
       ALLOCATE(xtrain_fall(ntraciso,klon))
       ALLOCATE(xtsnow_fall(ntraciso,klon))
@@ -949,5 +951,5 @@
 #ifdef ISO    
       DEALLOCATE(xtsol,fxtevap)  
-      DEALLOCATE(xt_ancien,xtl_ancien,xts_ancien, fxtd, wake_deltaxt)
+      DEALLOCATE(xt_ancien,xtl_ancien,xts_ancien,xtbs_ancien, fxtd, wake_deltaxt)
       DEALLOCATE(xtrain_fall, xtsnow_fall, xtrain_con, xtsnow_con)
 #ifdef ISOTRAC 
