Index: LMDZ6/trunk/libf/dyn3d_common/infotrac.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 3869)
+++ LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 3870)
@@ -15,6 +15,9 @@
   INTEGER, SAVE :: nqperes
 
-! ThL: nb traceurs spécifiques à INCA
+! ThL: nb traceurs INCA
   INTEGER, SAVE :: nqINCA
+
+! ThL: nb traceurs CO2
+  INTEGER, SAVE :: nqCO2
 
 ! Name variables
@@ -45,5 +48,5 @@
   CHARACTER(len=4),SAVE :: type_trac
   CHARACTER(len=8),DIMENSION(:),ALLOCATABLE, SAVE :: solsym
-   
+
 ! CRisi: cas particulier des isotopes
   LOGICAL,SAVE :: ok_isotopes,ok_iso_verif,ok_isotrac,ok_init_iso
@@ -107,4 +110,8 @@
     INTEGER, ALLOCATABLE, DIMENSION(:) :: vadv_inca  ! index of vertical trasport schema
 
+    INTEGER, ALLOCATABLE, DIMENSION(:) :: conv_flg_inca
+    INTEGER, ALLOCATABLE, DIMENSION(:) :: pbl_flg_inca
+    CHARACTER(len=8), ALLOCATABLE, DIMENSION(:) :: solsym_inca
+
     CHARACTER(len=15), ALLOCATABLE, DIMENSION(:) :: tnom_0  ! tracer short name
     CHARACTER(len=15), ALLOCATABLE, DIMENSION(:) :: tnom_transp ! transporting fluid short name: CRisi
@@ -123,6 +130,4 @@
     character(len=*),parameter :: modname="infotrac_init"
 
-    INTEGER :: nqexcl ! ThL. Nb de traceurs dans traceur.def. Egal à nqtrue,
-                      ! sauf pour 'inca' = nqtrue-nbtr, et 'inco' = 4.
 !-----------------------------------------------------------------------
 ! Initialization :
@@ -199,4 +204,9 @@
 !-----------------------------------------------------------------------
     IF (type_trac == 'lmdz' .OR. type_trac == 'repr' .OR. type_trac == 'coag' .OR. type_trac == 'co2i') THEN
+       IF (type_trac=='co2i') THEN		! ModThL
+          nqCO2 = 1
+       ELSE
+          nqCO2 = 0
+       ENDIF
        OPEN(90,file='traceur.def',form='formatted',status='old', iostat=ierr)
        IF(ierr.EQ.0) THEN
@@ -213,5 +223,4 @@
           ENDIF
        ENDIF
-       nqexcl=nqtrue
 !jyg<
 !!       if ( planet_type=='earth') then
@@ -224,5 +233,10 @@
 !!       endif
 !>jyg
-    ELSE ! type_trac=inca (or inco ThL)
+    ELSE ! type_trac=inca or inco
+       IF (type_trac=='inco') THEN		! ModThL
+          nqCO2 = 1
+       ELSE
+          nqCO2 = 0
+       ENDIF
 !jyg<
        ! The traceur.def file is used to define the number "nqo" of water phases 
@@ -248,27 +262,16 @@
        ! nbtr has been read from INCA by init_const_lmdz() in gcm.F 
 #ifdef INCA
-       CALL Init_chem_inca_trac(nbtr) 
-#endif       
-       IF (type_trac=='inco') THEN          ! Add ThL
-          nqexcl = nqo+1                    ! Tracers excluding INCA's = water + CO2 in 'inco' case
-       ELSE
-          nqexcl = nqo                      ! Tracers excluding INCA's = water
-       ENDIF
-       nqtrue = nbtr + nqexcl               ! Total nb of tracers = INCA's + traceur.def
-       IF (type_trac=='inco') THEN          !
-          nqINCA = nbtr                     ! nbtr = other tracers than H2O = INCA's + CO2i
-          nbtr = nqINCA + 1                 !
-       ELSEIF (type_trac=='inca') THEN      !
-          nqINCA = nbtr                     !
-       ELSE                                 !
-          nqINCA = 0                        !
-       ENDIF                                !
+       CALL Init_chem_inca_trac(nqINCA)
+#else
+       nqINCA=0
+#endif
+       nbtr=nqINCA+nqCO2
+
        WRITE(lunout,*) trim(modname),': nqo = ',nqo
        WRITE(lunout,*) trim(modname),': nbtr = ',nbtr
-       WRITE(lunout,*) trim(modname),': nqexcl = ',nqexcl
        WRITE(lunout,*) trim(modname),': nqtrue = ',nqtrue
-       WRITE(lunout,*) trim(modname),': nqINCA = ',nqINCA
-       ALLOCATE(hadv_inca(nqINCA), vadv_inca(nqINCA)) ! ThL
-    ENDIF   ! type_trac
+       WRITE(lunout,*) trim(modname),': nqCO2 = ',nqCO2
+       ALLOCATE(hadv_inca(nqINCA), vadv_inca(nqINCA), conv_flg_inca(nqINCA), pbl_flg_inca(nqINCA), solsym_inca(nqINCA)) 	! Mod ThL
+    ENDIF   ! type_trac 'inca' ou 'inco'
 !>jyg
 
@@ -401,5 +404,4 @@
        WRITE(lunout,*) trim(modname),': Valeur de traceur.def :'
        WRITE(lunout,*) trim(modname),': nombre total de traceurs ',nqtrue
-       WRITE(lunout,*) trim(modname),': nombre de traceurs dans traceur.def ',nqexcl
        DO iq=1,nqtrue
           WRITE(lunout,*) hadv(iq),vadv(iq),tnom_0(iq),tnom_transp(iq)
@@ -477,5 +479,5 @@
 !!    ELSE  ! type_trac=inca : config_inca='aero' ou 'chem'
 !
-    IF (type_trac == 'inca') THEN   ! 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
@@ -541,96 +543,27 @@
             hadv_inca, &
             vadv_inca, &
-            conv_flg, &
-            pbl_flg,  &
-            solsym)
+            conv_flg_inca, &				! ModThL
+            pbl_flg_inca,  &				! ModThL
+            solsym_inca)				! ModThL
+       conv_flg(1+nqCO2:nbtr) = conv_flg_inca		! ModThL
+       pbl_flg(1+nqCO2:nbtr) = pbl_flg_inca		! ModThL
+       solsym(1+nqCO2:nbtr) = solsym_inca		! ModThL
+       IF (type_trac == 'inco') THEN		! ModThL
+          conv_flg(1:nqCO2) = 1			! ModThL
+          pbl_flg(1:nqCO2) = 1			! ModThL
+          solsym(1:nqCO2) = 'CO2'		! ModThL
+       ENDIF					! ModThL
+
 #endif
 
-
 !jyg<
-       DO iq = nqo+1, nqtrue
-          hadv(iq) = hadv_inca(iq-nqo) 
-          vadv(iq) = vadv_inca(iq-nqo) 
-          tnom_0(iq)=solsym(iq-nqo)
+       DO iq = nqo+nqCO2+1, nqtrue	! ModThL
+          hadv(iq) = hadv_inca(iq-nqo-nqCO2)		! ModThL 
+          vadv(iq) = vadv_inca(iq-nqo-nqCO2) 		! ModThL
+          tnom_0(iq)=solsym(iq-nqo-nqCO2)		! ModThL
           tnom_transp(iq) = 'air'
        END DO
 
-    END IF ! (type_trac == 'inca')
-
-    !< add ThL case 'inco'
-    IF (type_trac == 'inco') THEN
- ! 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,nqexcl
-             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:15)
-             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)),'>'
-          END DO !DO iq=1,nqexcl
-          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, &
-            pbl_flg,  &
-            solsym)
-#endif
-
-       DO iq = nqexcl+1, nqtrue
-          hadv(iq) = hadv_inca(iq-nqexcl)     ! mod. Thl : nqexcl was nqo (in order to shift)
-          vadv(iq) = vadv_inca(iq-nqexcl)     ! idem
-          tnom_0(iq)=solsym(iq-nqexcl)        ! idem
-          tnom_transp(iq) = 'air'
-       END DO
-
-    END IF ! (type_trac == 'inco')
-!> add ThL case 'inco'
+    END IF ! (type_trac == 'inca' or 'inco')
 
 !-----------------------------------------------------------------------
Index: LMDZ6/trunk/libf/dynphy_lonlat/phylmd/iniphysiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/dynphy_lonlat/phylmd/iniphysiq_mod.F90	(revision 3869)
+++ LMDZ6/trunk/libf/dynphy_lonlat/phylmd/iniphysiq_mod.F90	(revision 3870)
@@ -16,5 +16,5 @@
   USE mod_phys_lmdz_para, ONLY: klon_omp ! number of columns (on local omp grid)
   USE vertical_layers_mod, ONLY : init_vertical_layers
-  USE infotrac, ONLY: nqtot,nqo,nbtr,nqINCA,tname,ttext,type_trac,&
+  USE infotrac, ONLY: nqtot,nqo,nbtr,nqCO2,tname,ttext,type_trac,&
                       niadv,conv_flg,pbl_flg,solsym,&
                       nqfils,nqdesc,nqdesc_tot,iqfils,iqpere,&
@@ -146,5 +146,5 @@
 
   ! Initialize tracer names, numbers, etc. for physics
-  CALL init_infotrac_phy(nqtot,nqo,nbtr,nqINCA,tname,ttext,type_trac,&
+  CALL init_infotrac_phy(nqtot,nqo,nbtr,nqCO2,tname,ttext,type_trac,&
                          niadv,conv_flg,pbl_flg,solsym,&
                          nqfils,nqdesc,nqdesc_tot,iqfils,iqpere,&
Index: LMDZ6/trunk/libf/phylmd/infotrac_phy.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 3869)
+++ LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 3870)
@@ -21,7 +21,7 @@
 !$OMP THREADPRIVATE(nbtr)
 
-! ThL : number of tracers specific to INCA
-  INTEGER, SAVE :: nqINCA
-!$OMP THREADPRIVATE(nqINCA)
+! ThL : number of CO2 tracers			ModThL
+  INTEGER, SAVE :: nqCO2
+!$OMP THREADPRIVATE(nqCO2)
 
 #ifdef CPP_StratAer
@@ -37,8 +37,4 @@
   INTEGER, SAVE :: nqperes
 !$OMP THREADPRIVATE(nqperes)
-
-! ThL : nb de traceurs dans le traceur.def
-  INTEGER, SAVE :: nqexcl
-!$OMP THREADPRIVATE(nqexcl)
 
 ! Name variables
@@ -104,5 +100,5 @@
 CONTAINS
 
-  SUBROUTINE init_infotrac_phy(nqtot_,nqo_,nbtr_,nqINCA_,tname_,ttext_,type_trac_,&
+  SUBROUTINE init_infotrac_phy(nqtot_,nqo_,nbtr_,nqCO2_,tname_,ttext_,type_trac_,&
                                niadv_,conv_flg_,pbl_flg_,solsym_,&
                                nqfils_,nqdesc_,nqdesc_tot_,iqfils_,iqpere_,&
@@ -126,5 +122,5 @@
     INTEGER,INTENT(IN) :: nqo_
     INTEGER,INTENT(IN) :: nbtr_
-    INTEGER,INTENT(IN) :: nqINCA_
+    INTEGER,INTENT(IN) :: nqCO2_
 #ifdef CPP_StratAer
     INTEGER,INTENT(IN) :: nbtr_bin_
@@ -139,7 +135,7 @@
     CHARACTER(len=4),INTENT(IN) :: type_trac_
     INTEGER,INTENT(IN) :: niadv_ (nqtot_) ! equivalent dyn / physique
-    INTEGER,INTENT(IN) :: conv_flg_(nqINCA_)
-    INTEGER,INTENT(IN) :: pbl_flg_(nqINCA_)
-    CHARACTER(len=8),INTENT(IN) :: solsym_(nqINCA_)
+    INTEGER,INTENT(IN) :: conv_flg_(nbtr_)	! ModThL
+    INTEGER,INTENT(IN) :: pbl_flg_(nbtr_)	! ModThL
+    CHARACTER(len=8),INTENT(IN) :: solsym_(nbtr_)	! ModThL
     ! Isotopes:
     INTEGER,INTENT(IN) :: nqfils_(nqtot_)
@@ -172,5 +168,5 @@
     nqo=nqo_
     nbtr=nbtr_
-    nqINCA=nqINCA_
+    nqCO2=nqCO2_	! ModThL
 #ifdef CPP_StratAer
     nbtr_bin=nbtr_bin_
@@ -189,27 +185,12 @@
     niadv(:)=niadv_(:)
     ALLOCATE(conv_flg(nbtr))
-    IF (type_trac == 'inco') THEN
-      conv_flg(1)=1
-      conv_flg(2:nbtr)=conv_flg_(:)
-    ELSE
-      conv_flg(:)=conv_flg_(:)
-    ENDIF
+    conv_flg(:)=conv_flg_(:)
     ALLOCATE(pbl_flg(nbtr))
-    IF (type_trac == 'inco') THEN
-      pbl_flg(1)=1
-      pbl_flg(2:nbtr)=pbl_flg_(:)
-    ELSE
-      pbl_flg(:)=pbl_flg_(:)
-    ENDIF
+    pbl_flg(:)=pbl_flg_(:)
     ALLOCATE(solsym(nbtr))
-    IF (type_trac == 'inco') THEN
-      solsym(1)='CO2'
-      solsym(2:nbtr)=solsym_(:)
-    ELSE
-      solsym(:)=solsym_(:)
-    ENDIF
+    solsym(:)=solsym_(:)
      
     IF(prt_level.ge.1) THEN
-      write(lunout,*) TRIM(modname)//": nqtot,nqo,nbtr,nqINCA",nqtot,nqo,nbtr,nqINCA
+      write(lunout,*) TRIM(modname)//": nqtot,nqo,nbtr,nqCO2",nqtot,nqo,nbtr,nqCO2	! ModThL
     ENDIF
     
Index: LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 3869)
+++ LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 3870)
@@ -39,5 +39,5 @@
     USE ioipsl_getin_p_mod, ONLY : getin_p
     USE indice_sol_mod
-    USE infotrac_phy, ONLY: nqtot, nbtr, nqo, type_trac, nqINCA
+    USE infotrac_phy, ONLY: nqtot, nbtr, nqo, type_trac, nqCO2
     USE iophy
     USE limit_read_mod, ONLY : init_limit_read
@@ -1926,5 +1926,5 @@
        !c         ENDDO
        !
-       IF (type_trac == 'inca') THEN
+       IF (type_trac == 'inca' .OR. type_trac == 'inco') THEN			! ModThL
 #ifdef INCA
           CALL VTe(VTphysiq)
@@ -1943,5 +1943,5 @@
                klon, &
                nqtot, &
-               nqo, &
+               nqo+nqCO2, &	! ModThL
                pdtphys, &
                annee_ref, &
@@ -1968,51 +1968,4 @@
           cg_aero(:,:,:,:) = init_cginca
 !          
-
-
-          CALL VTe(VTinca)
-          CALL VTb(VTphysiq)
-#endif
-       ELSEIF (type_trac == 'inco') THEN
-#ifdef INCA
-          CALL VTe(VTphysiq)
-          CALL VTb(VTinca)
-          calday = REAL(days_elapsed) + jH_cur
-          WRITE(lunout,*) 'initial time chemini', days_elapsed, calday
-
-          CALL chemini(  &
-               rg, &
-               ra, &
-               cell_area, &
-               latitude_deg, &
-               longitude_deg, &
-               presnivs, &
-               calday, &
-               klon, &
-               nqtot, &
-               nqo+1, &   ! Note ThL: diff is here with case 'inca'
-               pdtphys, &
-               annee_ref, &
-               year_cur, &
-               day_ref,  &
-               day_ini, &
-               start_time, &
-               itau_phy, &
-               date0, &
-               io_lon, &
-               io_lat, &
-               chemistry_couple, &
-               init_source, &
-               init_tauinca, &
-               init_pizinca, &
-               init_cginca, &
-               init_ccminca)
-
-
-          ! initialisation des variables depuis le restart de inca
-          ccm(:,:,:) = init_ccminca
-          tau_aero(:,:,:,:) = init_tauinca
-          piz_aero(:,:,:,:) = init_pizinca
-          cg_aero(:,:,:,:) = init_cginca
-!
 
 
@@ -3785,5 +3738,5 @@
     ENDDO
 
-    IF (type_trac == 'inca') THEN
+    IF (type_trac == 'inca' .OR. type_trac == 'inco') THEN	! ModThL
 #ifdef INCA
        CALL VTe(VTphysiq)
@@ -3828,60 +3781,5 @@
             nbp_lon, &
             nbp_lat-1, &
-            tr_seri, &
-            ftsol, &
-            paprs, &
-            cdragh, &
-            cdragm, &
-            pctsrf, &
-            pdtphys, &
-            itap)
-
-       CALL VTe(VTinca)
-       CALL VTb(VTphysiq)
-#endif
-    ELSEIF (type_trac == 'inco') THEN
-#ifdef INCA
-       CALL VTe(VTphysiq)
-       CALL VTb(VTinca)
-       calday = REAL(days_elapsed + 1) + jH_cur
-
-       CALL chemtime(itap+itau_phy-1, date0, phys_tstep, itap)
-       CALL AEROSOL_METEO_CALC( &
-            calday,pdtphys,pplay,paprs,t,pmflxr,pmflxs, &
-            prfl,psfl,pctsrf,cell_area, &
-            latitude_deg,longitude_deg,u10m,v10m)
-
-       zxsnow_dummy(:) = 0.0
-
-       CALL chemhook_begin (calday, &
-            days_elapsed+1, &
-            jH_cur, &
-            pctsrf(1,1), &
-            latitude_deg, &
-            longitude_deg, &
-            cell_area, &
-            paprs, &
-            pplay, &
-            coefh(1:klon,1:klev,is_ave), &
-            pphi, &
-            t_seri, &
-            u, &
-            v, &
-            rot, &
-            wo(:, :, 1), &
-            q_seri, &
-            zxtsol, &
-            zt2m, &
-            zxsnow_dummy, &
-            solsw, &
-            albsol1, &
-            rain_fall, &
-            snow_fall, &
-            itop_con, &
-            ibas_con, &
-            cldfra, &
-            nbp_lon, &
-            nbp_lat-1, &
-            tr_seri(:,:,2:nbtr), &  ! Note ThL: diff is here with case 'inca'
+            tr_seri(:,:,1+nqCO2:nbtr), &		! ModThL
             ftsol, &
             paprs, &
@@ -5025,5 +4923,5 @@
     ENDDO
     !
-    IF (type_trac == 'inca') THEN
+    IF (type_trac == 'inca' .OR. type_trac == 'inco') THEN	! ModThL
 #ifdef INCA
        CALL VTe(VTphysiq)
@@ -5034,27 +4932,5 @@
             pplay, &
             t_seri, &
-            tr_seri, &
-            nbtr, &
-            paprs, &
-            q_seri, &
-            cell_area, &
-            pphi, &
-            pphis, &
-            zx_rh, &
-            aps, bps, ap, bp)
-
-       CALL VTe(VTinca)
-       CALL VTb(VTphysiq)
-#endif
-    ELSEIF (type_trac == 'inco') THEN
-#ifdef INCA
-       CALL VTe(VTphysiq)
-       CALL VTb(VTinca)
-
-       CALL chemhook_end ( &
-            phys_tstep, &
-            pplay, &
-            t_seri, &
-            tr_seri(:,:,2:nbtr), & ! Note ThL: diff is here with case 'inca'
+            tr_seri(:,:,1+nqCO2:nbtr), &	! ModThL
             nbtr, &
             paprs, &
Index: LMDZ6/trunk/libf/phylmd/phytrac_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phytrac_mod.F90	(revision 3869)
+++ LMDZ6/trunk/libf/phylmd/phytrac_mod.F90	(revision 3870)
@@ -56,5 +56,5 @@
   SUBROUTINE phytrac_init()
     USE dimphy
-    USE infotrac_phy, ONLY: nbtr, nqINCA, type_trac
+    USE infotrac_phy, ONLY: nbtr, nqCO2, type_trac
     USE tracco2i_mod, ONLY: tracco2i_init
     IMPLICIT NONE
@@ -124,5 +124,5 @@
     USE phys_cal_mod, only : hour
     USE dimphy
-    USE infotrac_phy, ONLY: nbtr, nqINCA, type_trac, conv_flg, solsym, pbl_flg
+    USE infotrac_phy, ONLY: nbtr, nqCO2, type_trac, conv_flg, solsym, pbl_flg
     USE mod_grid_phy_lmdz
     USE mod_phys_lmdz_para
@@ -508,9 +508,9 @@
           iflag_con_trac= 1
        CASE('inco')
-          source(:,1) = 0.                          ! from CO2i
-          source(:,2:nbtr)=init_source(:,:)         ! from INCA
-          aerosol(1) = .FALSE.                      ! from CO2i
-          CALL tracinca_init(aerosol(2:nbtr),lessivage)     ! from INCA
-          pbl_flg(1) = 1              ! From CO2i
+          source(:,1:nqCO2) = 0.                          ! from CO2i	ModThL
+          source(:,nqCO2+1:nbtr)=init_source(:,:)         ! from INCA	ModThL
+          aerosol(1:nqCO2) = .FALSE.                      ! from CO2i	ModThL
+          CALL tracinca_init(aerosol(nqCO2+1:nbtr),lessivage)     ! from INCA	ModThL
+          pbl_flg(1:nqCO2) = 1              ! From CO2i		ModThL
           iflag_the_trac= 1           ! From CO2i
           iflag_vdf_trac= 1           ! From CO2i
@@ -1108,5 +1108,5 @@
 
     !    -- CHIMIE INCA  config_inca = aero or chem --
-    IF (type_trac == 'inca') THEN
+    IF (type_trac == 'inca' .OR. type_trac == 'inco') THEN  ! ModThL
 
        CALL tracinca(&
@@ -1120,17 +1120,5 @@
             tau_aero, piz_aero, cg_aero,        ccm,       &
             rfname,                                        &
-            tr_seri,  source)
-    ELSEIF (type_trac == 'inco') THEN       ! Add ThL
-       CALL tracinca(&
-            nstep,    julien,   gmtime,         lafin,     &
-            pdtphys,  t_seri,   paprs,          pplay,     &
-            pmfu,     upwd,     ftsol,  pctsrf, pphis,     &
-            pphi,     albsol,   sh,    ch,     rh,        &
-            cldfra,   rneb,     diafra,         cldliq,    &
-            itop_con, ibas_con, pmflxr,         pmflxs,    &
-            prfl,     psfl,     aerosol_couple, flxmass_w, &
-            tau_aero, piz_aero, cg_aero,        ccm,       &
-            rfname,                                        &
-            tr_seri(:,:,2:nbtr),  source(:,2:nbtr))     ! Difference with case 'inca'  
+            tr_seri(:,:,1+nqCO2:nbtr),  source(:,1+nqCO2:nbtr))  ! ModThL  
     ENDIF
     !=============================================================
