Index: /LMDZ5/trunk/libf/dyn3d/gcm.F90
===================================================================
--- /LMDZ5/trunk/libf/dyn3d/gcm.F90	(revision 2371)
+++ /LMDZ5/trunk/libf/dyn3d/gcm.F90	(revision 2372)
@@ -24,9 +24,4 @@
   USE mod_const_mpi, ONLY: COMM_LMDZ
 
-#ifdef INCA
-  ! Only INCA needs these informations (from the Earth's physics)
-  USE indice_sol_mod
-  USE mod_phys_lmdz_para, ONLY : klon_mpi_para_nb
-#endif
 
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -86,8 +81,4 @@
   include "iniprint.h"
   include "tracstoke.h"
-#ifdef INCA
-  ! Only INCA needs these informations (from the Earth's physics)
-  !include "indicesol.h"
-#endif
 
   REAL zdtvr
@@ -209,12 +200,4 @@
 #endif
   !-----------------------------------------------------------------------
-
-  IF (type_trac == 'inca') THEN
-#ifdef INCA
-     call init_const_lmdz(nbtr,anneeref,dayref,iphysiq,day_step,nday,  &
-          nbsrf, is_oce,is_sic,is_ter,is_lic)
-     call init_inca_para(iim,jjm+1,klon,1,klon_mpi_para_nb,0)
-#endif
-  END IF
   !
   !
@@ -260,11 +243,4 @@
 
   endif ! of if (read_start)
-
-  IF (type_trac == 'inca') THEN
-#ifdef INCA
-     call init_inca_dim(klon,llm,iim,jjm, &
-          rlonu,rlatu,rlonv,rlatv)
-#endif
-  END IF
 
 
Index: /LMDZ5/trunk/libf/dyn3d_common/infotrac.F90
===================================================================
--- /LMDZ5/trunk/libf/dyn3d_common/infotrac.F90	(revision 2371)
+++ /LMDZ5/trunk/libf/dyn3d_common/infotrac.F90	(revision 2372)
@@ -201,6 +201,8 @@
        END IF
        ! nbtr has been read from INCA by init_const_lmdz() in gcm.F 
+#ifdef INCA
+       CALL Init_chem_inca_trac(nbtr) 
+#endif       
        nqtrue=nbtr+nqo
-!!       nqtrue=nbtr+2
     END IF   ! type_trac
 !>jyg
@@ -678,12 +680,12 @@
 
     do iq=nqo+1,nqtot
-       write(lunout,*) 'infotrac 569: iq,tnom_0(iq)=',iq,tnom_0(iq)
+!       write(lunout,*) 'infotrac 569: iq,tnom_0(iq)=',iq,tnom_0(iq)
        do phase=1,nqo    
         do ixt= 1,niso_possibles   
          tnom_trac=trim(tnom_0(phase))//'_'
          tnom_trac=trim(tnom_trac)//trim(tnom_iso(ixt))
-         write(*,*) 'phase,ixt,tnom_trac=',phase,ixt,tnom_trac      
+!         write(*,*) 'phase,ixt,tnom_trac=',phase,ixt,tnom_trac      
          IF (tnom_0(iq) == tnom_trac) then
-          write(lunout,*) 'Ce traceur est un isotope'
+!          write(lunout,*) 'Ce traceur est un isotope'
           nb_iso(ixt,phase)=nb_iso(ixt,phase)+1   
           nb_isoind(phase)=nb_isoind(phase)+1   
@@ -692,12 +694,12 @@
           indnum_fn_num(ixt)=iso_indnum(iq)
           phase_num(iq)=phase
-          write(lunout,*) 'iso_num(iq)=',iso_num(iq)
-          write(lunout,*) 'iso_indnum(iq)=',iso_indnum(iq)
-          write(lunout,*) 'indnum_fn_num(ixt)=',indnum_fn_num(ixt)
-          write(lunout,*) 'phase_num(iq)=',phase_num(iq)
+!          write(lunout,*) 'iso_num(iq)=',iso_num(iq)
+!          write(lunout,*) 'iso_indnum(iq)=',iso_indnum(iq)
+!          write(lunout,*) 'indnum_fn_num(ixt)=',indnum_fn_num(ixt)
+!          write(lunout,*) 'phase_num(iq)=',phase_num(iq)
           goto 20
          else if (iqpere(iq).gt.0) then          
           if (tnom_0(iqpere(iq)) == tnom_trac) then
-           write(lunout,*) 'Ce traceur est le fils d''un isotope'
+!           write(lunout,*) 'Ce traceur est le fils d''un isotope'
            ! c'est un traceur d'isotope
            nb_traciso(ixt,phase)=nb_traciso(ixt,phase)+1
@@ -706,7 +708,7 @@
            zone_num(iq)=nb_traciso(ixt,phase)
            phase_num(iq)=phase
-           write(lunout,*) 'iso_num(iq)=',iso_num(iq)
-           write(lunout,*) 'phase_num(iq)=',phase_num(iq)
-           write(lunout,*) 'zone_num(iq)=',zone_num(iq)
+!           write(lunout,*) 'iso_num(iq)=',iso_num(iq)
+!           write(lunout,*) 'phase_num(iq)=',phase_num(iq)
+!           write(lunout,*) 'zone_num(iq)=',zone_num(iq)
            goto 20
           endif !if (tnom_0(iqpere(iq)) == trim(tnom_0(phase))//trim(tnom_iso(ixt))) then
@@ -717,9 +719,9 @@
       enddo !do iq=1,nqtot
 
-      write(lunout,*) 'iso_num=',iso_num
-      write(lunout,*) 'iso_indnum=',iso_indnum
-      write(lunout,*) 'zone_num=',zone_num  
-      write(lunout,*) 'phase_num=',phase_num
-      write(lunout,*) 'indnum_fn_num=',indnum_fn_num
+!      write(lunout,*) 'iso_num=',iso_num
+!      write(lunout,*) 'iso_indnum=',iso_indnum
+!      write(lunout,*) 'zone_num=',zone_num  
+!      write(lunout,*) 'phase_num=',phase_num
+!      write(lunout,*) 'indnum_fn_num=',indnum_fn_num
 
       do ixt= 1,niso_possibles  
@@ -730,5 +732,5 @@
           do phase=2,nqo
             if (nb_iso(ixt,phase).ne.nb_iso(ixt,1)) then
-              write(lunout,*) 'ixt,phase,nb_iso=',ixt,phase,nb_iso(ixt,phase)
+!              write(lunout,*) 'ixt,phase,nb_iso=',ixt,phase,nb_iso(ixt,phase)
               CALL abort_gcm('infotrac_init','Phases must have same number of isotopes',1)
             endif
@@ -769,6 +771,6 @@
     ! dimensions isotopique:
     ntraciso=niso*(ntraceurs_zone+1)
-    WRITE(lunout,*) 'niso=',niso
-    WRITE(lunout,*) 'ntraceurs_zone,ntraciso=',ntraceurs_zone,ntraciso    
+!    WRITE(lunout,*) 'niso=',niso
+!    WRITE(lunout,*) 'ntraceurs_zone,ntraciso=',ntraceurs_zone,ntraciso    
  
     ! flags isotopiques:
@@ -778,5 +780,5 @@
         ok_isotopes=.false.
     endif 
-    WRITE(lunout,*) 'ok_isotopes=',ok_isotopes
+!    WRITE(lunout,*) 'ok_isotopes=',ok_isotopes
  
     if (ok_isotopes) then
@@ -788,6 +790,6 @@
         alpha_ideal=(/1.0,1.01,1.006,1.003,1.0/)
     endif !if (ok_isotopes) then  
-    WRITE(lunout,*) 'ok_iso_verif=',ok_iso_verif
-    WRITE(lunout,*) 'ok_init_iso=',ok_init_iso
+!    WRITE(lunout,*) 'ok_iso_verif=',ok_iso_verif
+!    WRITE(lunout,*) 'ok_init_iso=',ok_init_iso
 
     if (ntraceurs_zone.gt.0) then
@@ -796,5 +798,5 @@
         ok_isotrac=.false.
     endif   
-    WRITE(lunout,*) 'ok_isotrac=',ok_isotrac
+!    WRITE(lunout,*) 'ok_isotrac=',ok_isotrac
 
     ! remplissage du tableau iqiso(ntraciso,phase)
@@ -807,5 +809,5 @@
         endif
     enddo
-    WRITE(lunout,*) 'iqiso=',iqiso
+!    WRITE(lunout,*) 'iqiso=',iqiso
 
     ! replissage du tableau index_trac(ntraceurs_zone,niso)
@@ -820,5 +822,5 @@
         index_trac(:,:)=0.0
     endif !if (ok_isotrac) then
-    write(lunout,*) 'index_trac=',index_trac    
+!    write(lunout,*) 'index_trac=',index_trac    
 
 ! Finalize :
Index: /LMDZ5/trunk/libf/dyn3dmem/gcm.F90
===================================================================
--- /LMDZ5/trunk/libf/dyn3dmem/gcm.F90	(revision 2371)
+++ /LMDZ5/trunk/libf/dyn3dmem/gcm.F90	(revision 2372)
@@ -17,11 +17,4 @@
   USE filtreg_mod
   USE control_mod
-
-#ifdef INCA
-  ! Only INCA needs these informations (from the Earth's physics)
-  USE indice_sol_mod
-  USE mod_phys_lmdz_omp_data, ONLY: klon_omp 
-  USE mod_grid_phy_lmdz, ONLY : klon_glo
-#endif
 
 #ifdef CPP_PHYS
@@ -74,8 +67,4 @@
   include "tracstoke.h"
 
-#ifdef INCA
-  ! Only INCA needs these informations (from the Earth's physics)
-  !include "indicesol.h"
-#endif
 
   REAL zdtvr
@@ -198,17 +187,4 @@
 #endif
 
-  IF (type_trac == 'inca') THEN
-#ifdef INCA
-     call init_const_lmdz( &
-          nbtr,anneeref,dayref, &
-          iphysiq,day_step,nday,  &
-          nbsrf, is_oce,is_sic, &
-          is_ter,is_lic, calend)
-
-     call init_inca_para( &
-          iim,jjm+1,llm,klon_glo,mpi_size, &
-          distrib_phys,COMM_LMDZ)
-#endif
-  END IF
 
   !-----------------------------------------------------------------------
@@ -408,16 +384,4 @@
 
   !-----------------------------------------------------------------------
-  !   Initialisation des dimensions d'INCA :
-  !   --------------------------------------
-  IF (type_trac == 'inca') THEN
-     !$OMP PARALLEL
-#ifdef INCA
-     CALL init_inca_dim(klon_omp,llm,iim,jjm, &
-          rlonu,rlatu,rlonv,rlatv)
-#endif
-     !$OMP END PARALLEL
-  END IF
-
-  !-----------------------------------------------------------------------
   !   Initialisation des I/O :
   !   ------------------------
Index: /LMDZ5/trunk/libf/dynlonlat_phylonlat/phylmd/iniphysiq_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/dynlonlat_phylonlat/phylmd/iniphysiq_mod.F90	(revision 2371)
+++ /LMDZ5/trunk/libf/dynlonlat_phylonlat/phylmd/iniphysiq_mod.F90	(revision 2372)
@@ -13,5 +13,6 @@
   USE dimphy, ONLY: init_dimphy
   USE mod_grid_phy_lmdz, ONLY: klon_glo,  & ! number of atmospheric columns (on full grid)
-                               regular_lonlat  ! regular longitude-latitude grid type
+                               regular_lonlat, &  ! regular longitude-latitude grid type
+                               nbp_lon, nbp_lat, nbp_lev
   USE mod_phys_lmdz_para, ONLY: klon_omp, & ! number of columns (on local omp grid)
                                 klon_omp_begin, & ! start index of local omp subgrid
@@ -32,5 +33,5 @@
   USE CHEM_REP, ONLY : Init_chem_rep_phys
 #endif
-  USE control_mod, ONLY: dayref,anneeref,day_step,nday,offline
+  USE control_mod, ONLY: dayref,anneeref,day_step,nday,offline, iphysiq
   USE inifis_mod, ONLY: inifis
   USE time_phylmdz_mod, ONLY: init_time
@@ -44,4 +45,11 @@
                                  south_west, south_east
   USE mod_interface_dyn_phys, ONLY :  init_interface_dyn_phys
+#ifdef INCA
+  USE indice_sol_mod, ONLY: nbsrf, is_oce, is_sic, is_ter, is_lic
+  USE parallel_lmdz, ONLY : mpi_size
+  USE mod_const_mpi, ONLY : COMM_LMDZ
+  USE bands, ONLY : distrib_phys
+  USE mod_phys_lmdz_omp_data, ONLY: klon_omp 
+#endif
   IMPLICIT NONE
 
@@ -282,4 +290,19 @@
 #endif
   ENDIF
+!$OMP END PARALLEL
+
+  IF (type_trac == 'inca') THEN
+#ifdef INCA
+     call init_const_lmdz( &
+          anneeref,dayref, &
+          iphysiq,day_step,nday,  &
+          nbsrf, is_oce,is_sic, &
+          is_ter,is_lic, calend)
+     call init_inca_para( &
+          nbp_lon,nbp_lat,nbp_lev,klon_glo,mpi_size, &
+          distrib_phys,COMM_LMDZ)
+#endif
+  END IF
+!$OMP PARALLEL DEFAULT(SHARED) COPYIN(/temps/)
 
   ! Additional initializations for aquaplanets 
@@ -287,4 +310,12 @@
     CALL iniaqua(klon_omp,iflag_phys)
   END IF
+
+  IF (type_trac == 'inca') THEN
+#ifdef INCA
+     CALL init_inca_dim(klon_omp,nbp_lev,nbp_lon,nbp_lat - 1, &
+          rlonu,rlatu,rlonv,rlatv)
+#endif
+  END IF
+
 !$OMP END PARALLEL
 
Index: /LMDZ5/trunk/libf/phylmd/physiq.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/physiq.F90	(revision 2371)
+++ /LMDZ5/trunk/libf/phylmd/physiq.F90	(revision 2372)
@@ -1060,4 +1060,8 @@
         piz_aero(:,:,:,:) = 0.
         cg_aero(:,:,:,:) = 0.
+
+        config_inca='none' ! default
+        CALL getin_p('config_inca',config_inca)
+
      END IF
 
Index: /LMDZ5/trunk/libf/phylmd/tracinca_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/tracinca_mod.F90	(revision 2371)
+++ /LMDZ5/trunk/libf/phylmd/tracinca_mod.F90	(revision 2372)
@@ -30,7 +30,4 @@
     aerosol(:) = .FALSE.
 
-    config_inca='none' ! default
-    CALL getin_p('config_inca',config_inca)
-        
   END SUBROUTINE tracinca_init
 
