Index: LMDZ6/trunk/libf/phylmd/infotrac_phy.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 5473)
+++ LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 5474)
@@ -27,5 +27,5 @@
    !=== FOR ISOTOPES: Specific to water
    PUBLIC :: iH2O                                          !--- Value of "ixIso" for "H2O" isotopes class
-   PUBLIC :: ivap, iliq, isol
+   PUBLIC :: ivap, iliq, isol, ibs, icf, irvc
    !=== FOR ISOTOPES: Depending on the selected isotopes family
    PUBLIC :: isotope                                       !--- Selected isotopes database (argument of getKey)
@@ -104,6 +104,6 @@
 
    !=== INDICES FOR WATER
-   INTEGER, SAVE :: ivap, iliq, isol
-!$OMP THREADPRIVATE(ivap, iliq, isol)
+   INTEGER, SAVE :: ivap, iliq, isol, ibs, icf, irvc
+!$OMP THREADPRIVATE(ivap, iliq, isol, ibs, icf, irvc)
 
    !=== DIMENSIONS OF THE TRACERS TABLES AND OTHER SCALAR VARIABLES
@@ -214,15 +214,9 @@
    SELECT CASE(type_trac)
       CASE('inca', 'inco')
-IF (.NOT. CPPKEY_INCA) THEN
-         CALL abort_physic(modname, 'You must add cpp key INCA and compile with INCA code', 1)
-END IF
+         IF(.NOT.CPPKEY_INCA)     CALL abort_physic(modname, 'You must add cpp key INCA and compile with INCA code', 1)
       CASE('repr')
-IF (.NOT. CPPKEY_REPROBUS) THEN
-         CALL abort_physic(modname, 'You must add cpp key REPROBUS and compile with REPROBUS code', 1)
-END IF
+         IF(.NOT.CPPKEY_REPROBUS) CALL abort_physic(modname, 'You must add cpp key REPROBUS and compile with REPROBUS code', 1)
       CASE('coag')
-IF (.NOT. CPPKEY_STRATAER) THEN
-         CALL abort_physic(modname, 'You must add cpp key StratAer and compile with StratAer code', 1)
-END IF
+         IF(.NOT.CPPKEY_STRATAER) CALL abort_physic(modname, 'You must add cpp key StratAer and compile with StratAer code', 1)
    END SELECT
 !##############################################################################################################################
@@ -401,4 +395,23 @@
       CALL abort_physic(modname, 'problem with the computation of nqtottr', 1)
 
+   !--- Compute indices for water
+   ivap = strIdx(tracers(:)%name, addPhase('H2O', 'g'))
+   iliq = strIdx(tracers(:)%name, addPhase('H2O', 'l'))
+   isol = strIdx(tracers(:)%name, addPhase('H2O', 's'))
+   ibs  = strIdx(tracers(:)%name, addPhase('H2O', 'b'))
+   icf  = strIdx(tracers(:)%name, addPhase('H2O', 'f'))
+   irvc = strIdx(tracers(:)%name, addPhase('H2O', 'c'))
+
+   IF(CPPKEY_STRATAER .AND. type_trac == 'coag') THEN
+      nbtr_bin    = COUNT([(tracers(iq)%name(1:3)=='BIN', iq=1, nqtot)])
+      nbtr_sulgas = COUNT([(tracers(iq)%name(1:3)=='GAS', iq=1, nqtot)])
+      tnames = PACK(tracers(:)%name, MASK=tracers(:)%isInPhysics)
+      id_BIN01_strat = strIdx(tnames, 'BIN01'   )
+      id_OCS_strat   = strIdx(tnames, 'GASOCS'  )
+      id_SO2_strat   = strIdx(tnames, 'GASSO2'  )
+      id_H2SO4_strat = strIdx(tnames, 'GASH2SO4')
+      id_TEST_strat  = strIdx(tnames, 'GASTEST' )
+   END IF
+
    !=== DISPLAY THE RESULTS
    CALL msg('nqo    = '//TRIM(int2str(nqo)),    modname)
@@ -434,14 +447,5 @@
    CALL msg('iso_iName = '//strStack(int2str(PACK(tracers(:)%iso_iName, MASK=tracers(:)%iso_iGroup==iH2O))), modname)
 #endif
-IF (CPPKEY_STRATAER) THEN
-   IF (type_trac == 'coag') THEN
-      nbtr_bin    = COUNT([(tracers(iq)%name(1:3)=='BIN', iq=1, nqtot)])
-      nbtr_sulgas = COUNT([(tracers(iq)%name(1:3)=='GAS', iq=1, nqtot)])
-      tnames = PACK(tracers(:)%name, MASK=tracers(:)%isInPhysics)
-      id_BIN01_strat = strIdx(tnames, 'BIN01'   )
-      id_OCS_strat   = strIdx(tnames, 'GASOCS'  )
-      id_SO2_strat   = strIdx(tnames, 'GASSO2'  )
-      id_H2SO4_strat = strIdx(tnames, 'GASH2SO4')
-      id_TEST_strat  = strIdx(tnames, 'GASTEST' )
+   IF(CPPKEY_STRATAER .AND. type_trac == 'coag') THEN
       CALL msg('nbtr_bin       ='//TRIM(int2str(nbtr_bin      )), modname)
       CALL msg('nbtr_sulgas    ='//TRIM(int2str(nbtr_sulgas   )), modname)
@@ -452,6 +456,4 @@
       CALL msg('id_TEST_strat  ='//TRIM(int2str(id_TEST_strat )), modname)
    END IF
-END IF
-   CALL msg('end', modname)
 
 END SUBROUTINE init_infotrac_phy
Index: LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 5473)
+++ LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 5474)
@@ -39,5 +39,5 @@
     USE ioipsl_getin_p_mod, ONLY : getin_p
     USE indice_sol_mod
-    USE infotrac_phy, ONLY: nqtot, nbtr, nqo, tracers, type_trac, addPhase
+    USE infotrac_phy, ONLY: nqtot, nbtr, nqo, tracers, type_trac, addPhase, ivap, iliq, isol, ibs, icf, irvc
     USE strings_mod,  ONLY: strIdx
     USE iophy
@@ -510,8 +510,4 @@
     !======================================================================
     !
-    ! indices de traceurs eau vapeur, liquide, glace, fraction nuageuse LS (optional), blowing snow (optional)
-    INTEGER,SAVE :: ivap, iliq, isol, ibs, icf, irvc
-!$OMP THREADPRIVATE(ivap, iliq, isol, ibs, icf, irvc)
-    !
     !
     ! Variables argument:
@@ -1350,10 +1346,4 @@
 
     IF (first) THEN
-       ivap = strIdx(tracers(:)%name, addPhase('H2O', 'g'))
-       iliq = strIdx(tracers(:)%name, addPhase('H2O', 'l'))
-       isol = strIdx(tracers(:)%name, addPhase('H2O', 's'))
-       ibs  = strIdx(tracers(:)%name, addPhase('H2O', 'b'))
-       icf  = strIdx(tracers(:)%name, addPhase('H2O', 'f'))
-       irvc = strIdx(tracers(:)%name, addPhase('H2O', 'c'))
 !       CALL init_etat0_limit_unstruct
 !       IF (.NOT. create_etat0_limit) CALL init_limit_read(days_elapsed)
Index: LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90	(revision 5473)
+++ LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90	(revision 5474)
@@ -39,5 +39,5 @@
     USE ioipsl_getin_p_mod, ONLY : getin_p
     USE indice_sol_mod
-    USE infotrac_phy, ONLY: nqtot, nbtr, nqo, tracers, type_trac,addPhase, ivap, iliq, isol
+    USE infotrac_phy, ONLY: nqtot, nbtr, nqo, tracers, type_trac,addPhase, ivap, iliq, isol, ibs, icf, irvc
     USE strings_mod,  ONLY: strIdx
     USE iophy
@@ -579,14 +579,4 @@
     !======================================================================
     !
-    ! indices de traceurs eau vapeur, liquide, glace, fraction nuageuse LS (optional), blowing snow (optional)
-!    INTEGER,SAVE :: ivap, iliq, isol, irneb, ibs
-!!$OMP THREADPRIVATE(ivap, iliq, isol, irneb, ibs)
-! Camille Risi 25 juillet 2023: ivap,iliq,isol deja definis dans infotrac_phy. 
-! Et ils sont utiles ailleurs que dans physiq_mod (ex:
-! reevap -> je commente les 2 lignes au dessus et je laisse la definition
-! plutot dans infotrac_phy
-    INTEGER,SAVE :: irneb, ibs, icf,irvc
-!$OMP THREADPRIVATE(irneb, ibs, icf,irvc)
-!
     !
     ! Variables argument:
@@ -1459,10 +1449,4 @@
 
     IF (first) THEN 
-       ivap = strIdx(tracers(:)%name, addPhase('H2O', 'g'))
-       iliq = strIdx(tracers(:)%name, addPhase('H2O', 'l'))
-       isol = strIdx(tracers(:)%name, addPhase('H2O', 's'))
-       ibs  = strIdx(tracers(:)%name, addPhase('H2O', 'b'))
-       icf  = strIdx(tracers(:)%name, addPhase('H2O', 'f'))
-       irvc = strIdx(tracers(:)%name, addPhase('H2O', 'c'))
 !       CALL init_etat0_limit_unstruct
        IF (.NOT. create_etat0_limit) CALL init_limit_read(days_elapsed)
