Index: LMDZ6/trunk/libf/dyn3d_common/infotrac.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 3942)
+++ LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 3945)
@@ -287,11 +287,4 @@
     
 !jyg<
-! Transfert number of tracers to Reprobus
-!!    IF (type_trac == 'repr') THEN
-!!#ifdef REPROBUS
-!!       CALL Init_chem_rep_trac(nbtr)
-!!#endif
-!!    ENDIF
-!>jyg
        
 !
@@ -300,10 +293,4 @@
     ALLOCATE(tnom_0(nqtrue), hadv(nqtrue), vadv(nqtrue),tnom_transp(nqtrue))
 
-!
-!jyg<
-!!    ALLOCATE(conv_flg(nbtr), pbl_flg(nbtr), solsym(nbtr))
-!!    conv_flg(:) = 1 ! convection activated for all tracers
-!!    pbl_flg(:)  = 1 ! boundary layer activated for all tracers
-!>jyg
 
 !-----------------------------------------------------------------------
@@ -334,5 +321,7 @@
 !---------------------------------------------------------------------
     IF (type_trac == 'lmdz' .OR. type_trac == 'repr' .OR. type_trac == 'coag' .OR. type_trac == 'co2i') THEN
+
        IF(ierr.EQ.0) THEN
+
           ! Continue to read tracer.def
           DO iq=1,nqtrue
@@ -378,7 +367,9 @@
 
           ENDDO!DO iq=1,nqtrue
+
           CLOSE(90)  
 
        ELSE ! Without tracer.def, set default values 
+
          if (planet_type=="earth") then
           ! for Earth, default is to have 4 tracers
@@ -405,4 +396,5 @@
           tnom_transp(1) = 'dummy'
          endif ! of if (planet_type=="earth")
+
        ENDIF
        
@@ -470,4 +462,114 @@
 !
 
+! Transfert number of tracers to Reprobus
+    IF (type_trac == 'repr') THEN
+#ifdef REPROBUS
+       CALL Init_chem_rep_trac(nbtr,nqo,tnom_0)
+#endif
+    ENDIF
+!
+! Allocate variables depending on nbtr
+!
+    ALLOCATE(conv_flg(nbtr), pbl_flg(nbtr), solsym(nbtr))
+    conv_flg(:) = 1 ! convection activated for all tracers
+    pbl_flg(:)  = 1 ! boundary layer activated for all tracers
+
+    IF (type_trac == 'inca' .OR. type_trac == 'inco') THEN   ! config_inca='aero' ou 'chem'
+!>jyg
+! le module de chimie fournit les noms des traceurs
+! et les schemas d'advection associes. excepte pour ceux lus 
+! dans traceur.def 
+       IF (ierr .eq. 0) then 
+
+          DO iq=1,nqo+nqCO2
+
+             write(*,*) 'infotrac 237: iq=',iq
+             ! CRisi: ajout du nom du fluide transporteur
+             ! mais rester retro compatible
+             READ(90,'(I2,X,I2,X,A)',IOSTAT=IOstatus) hadv(iq),vadv(iq),tchaine
+             write(lunout,*) 'iq,hadv(iq),vadv(iq)=',iq,hadv(iq),vadv(iq)
+             write(lunout,*) 'tchaine=',trim(tchaine)
+             write(*,*) 'infotrac 238: IOstatus=',IOstatus
+             if (IOstatus.ne.0) then
+                CALL abort_gcm('infotrac_init','Pb dans la lecture de traceur.def',1)
+             endif
+             ! Y-a-t-il 1 ou 2 noms de traceurs? -> On regarde s'il y a un
+             ! espace ou pas au milieu de la chaine.
+             continu=.true.
+             nouveau_traceurdef=.false.
+             iiq=1
+
+             do while (continu)
+                if (tchaine(iiq:iiq).eq.' ') then
+                  nouveau_traceurdef=.true.
+                  continu=.false.
+                else if (iiq.lt.LEN_TRIM(tchaine)) then
+                  iiq=iiq+1
+                else
+                  continu=.false.
+                endif
+             enddo
+
+             write(*,*) 'iiq,nouveau_traceurdef=',iiq,nouveau_traceurdef
+
+             if (nouveau_traceurdef) then
+                write(lunout,*) 'C''est la nouvelle version de traceur.def'
+                tnom_0(iq)=tchaine(1:iiq-1)
+                tnom_transp(iq)=tchaine(iiq+1:30)
+             else
+                write(lunout,*) 'C''est l''ancienne version de traceur.def'
+                write(lunout,*) 'On suppose que les traceurs sont tous d''air'
+                tnom_0(iq)=tchaine
+                tnom_transp(iq) = 'air'
+             endif
+
+             write(lunout,*) 'tnom_0(iq)=<',trim(tnom_0(iq)),'>'
+             write(lunout,*) 'tnom_transp(iq)=<',trim(tnom_transp(iq)),'>'
+
+          ENDDO  !DO iq=1,nqo
+          CLOSE(90)  
+
+       ELSE  !! if traceur.def doesn't exist 
+
+          tnom_0(1)='H2Ov'
+          tnom_transp(1) = 'air'
+          tnom_0(2)='H2Ol'
+          tnom_transp(2) = 'air'
+          hadv(1) = 10
+          hadv(2) = 10 
+          vadv(1) = 10 
+          vadv(2) = 10 
+
+       ENDIF
+ 
+#ifdef INCA
+       CALL init_transport( &
+            hadv_inca, &
+            vadv_inca, &
+            conv_flg_inca, &
+            pbl_flg_inca,  &
+            solsym_inca)
+
+       conv_flg(1+nqCO2:nbtr) = conv_flg_inca
+       pbl_flg(1+nqCO2:nbtr) = pbl_flg_inca
+       solsym(1+nqCO2:nbtr) = solsym_inca
+
+       IF (type_trac == 'inco') THEN
+          conv_flg(1:nqCO2) = 1
+          pbl_flg(1:nqCO2) = 1
+          solsym(1:nqCO2) = 'CO2'
+       ENDIF
+#endif
+
+!jyg<
+       DO iq = nqo+nqCO2+1, nqtrue
+          hadv(iq) = hadv_inca(iq-nqo-nqCO2)
+          vadv(iq) = vadv_inca(iq-nqo-nqCO2) 
+          tnom_0(iq)=solsym_inca(iq-nqo-nqCO2)
+          tnom_transp(iq) = 'air'
+       END DO
+
+    ENDIF ! (type_trac == 'inca' or 'inco')
+
 !-----------------------------------------------------------------------
 !
@@ -575,7 +677,7 @@
     WRITE(lunout,*) trim(modname),': Information stored in infotrac :'
     WRITE(lunout,*) trim(modname),': iadv  niadv tname  ttext :'
+
     DO iq=1,nqtot
-       WRITE(lunout,*) iadv(iq),niadv(iq),&
-       ' ',trim(tname(iq)),' ',trim(ttext(iq))
+       WRITE(lunout,*) iadv(iq),niadv(iq), ' ',trim(tname(iq)),' ',trim(ttext(iq))
     END DO
 
@@ -720,109 +822,4 @@
 !    endif !if (ntraciso.gt.0) then
 
-
-! Transfert number of tracers to Reprobus
-    IF (type_trac == 'repr') THEN
-#ifdef REPROBUS
-       CALL Init_chem_rep_trac(nbtr,nqo,tnom_0)
-#endif
-    ENDIF
-!
-! Allocate variables depending on nbtr
-!
-    ALLOCATE(conv_flg(nbtr), pbl_flg(nbtr), solsym(nbtr))
-    conv_flg(:) = 1 ! convection activated for all tracers
-    pbl_flg(:)  = 1 ! boundary layer activated for all tracers
-!
-!!    ELSE  ! type_trac=inca : config_inca='aero' ou 'chem'
-!
-    IF (type_trac == 'inca' .OR. type_trac == 'inco') THEN   ! config_inca='aero' ou 'chem'
-!>jyg
-! le module de chimie fournit les noms des traceurs
-! et les schemas d'advection associes. excepte pour ceux lus 
-! dans traceur.def 
-       IF (ierr .eq. 0) then 
-          DO iq=1,nqo+nqCO2
-
-             write(*,*) 'infotrac 237: iq=',iq
-             ! CRisi: ajout du nom du fluide transporteur
-             ! mais rester retro compatible
-             READ(90,'(I2,X,I2,X,A)',IOSTAT=IOstatus) hadv(iq),vadv(iq),tchaine
-             write(lunout,*) 'iq,hadv(iq),vadv(iq)=',iq,hadv(iq),vadv(iq)
-             write(lunout,*) 'tchaine=',trim(tchaine)
-             write(*,*) 'infotrac 238: IOstatus=',IOstatus
-             if (IOstatus.ne.0) then
-                CALL abort_gcm('infotrac_init','Pb dans la lecture de traceur.def',1)
-             endif
-             ! Y-a-t-il 1 ou 2 noms de traceurs? -> On regarde s'il y a un
-             ! espace ou pas au milieu de la chaine.
-             continu=.true.
-             nouveau_traceurdef=.false.
-             iiq=1
-             do while (continu)
-                if (tchaine(iiq:iiq).eq.' ') then
-                  nouveau_traceurdef=.true.
-                  continu=.false.
-                else if (iiq.lt.LEN_TRIM(tchaine)) then
-                  iiq=iiq+1
-                else
-                  continu=.false.
-                endif
-             enddo
-             write(*,*) 'iiq,nouveau_traceurdef=',iiq,nouveau_traceurdef
-             if (nouveau_traceurdef) then
-                write(lunout,*) 'C''est la nouvelle version de traceur.def'
-                tnom_0(iq)=tchaine(1:iiq-1)
-                tnom_transp(iq)=tchaine(iiq+1:30)
-             else
-                write(lunout,*) 'C''est l''ancienne version de traceur.def'
-                write(lunout,*) 'On suppose que les traceurs sont tous d''air'
-                tnom_0(iq)=tchaine
-                tnom_transp(iq) = 'air'
-             endif
-             write(lunout,*) 'tnom_0(iq)=<',trim(tnom_0(iq)),'>'
-             write(lunout,*) 'tnom_transp(iq)=<',trim(tnom_transp(iq)),'>'
-
-          ENDDO  !DO iq=1,nqo
-          CLOSE(90)  
-       ELSE  !! if traceur.def doesn't exist 
-          tnom_0(1)='H2Ov'
-          tnom_transp(1) = 'air'
-          tnom_0(2)='H2Ol'
-          tnom_transp(2) = 'air'
-          hadv(1) = 10
-          hadv(2) = 10 
-          vadv(1) = 10 
-          vadv(2) = 10 
-       ENDIF
- 
-#ifdef INCA
-       CALL init_transport( &
-            hadv_inca, &
-            vadv_inca, &
-            conv_flg_inca, &
-            pbl_flg_inca,  &
-            solsym_inca)
-
-       conv_flg(1+nqCO2:nbtr) = conv_flg_inca
-       pbl_flg(1+nqCO2:nbtr) = pbl_flg_inca
-       solsym(1+nqCO2:nbtr) = solsym_inca
-
-       IF (type_trac == 'inco') THEN
-          conv_flg(1:nqCO2) = 1
-          pbl_flg(1:nqCO2) = 1
-          solsym(1:nqCO2) = 'CO2'
-       ENDIF
-#endif
-
-!jyg<
-       DO iq = nqo+nqCO2+1, nqtrue
-          hadv(iq) = hadv_inca(iq-nqo-nqCO2)
-          vadv(iq) = vadv_inca(iq-nqo-nqCO2) 
-          tnom_0(iq)=solsym_inca(iq-nqo-nqCO2)
-          tnom_transp(iq) = 'air'
-       END DO
-
-    ENDIF ! (type_trac == 'inca' or 'inco')
-
 !-----------------------------------------------------------------------
 ! Finalize :
