Index: /LMDZ6/trunk/libf/dyn3d_common/infotrac.F90
===================================================================
--- /LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 4126)
+++ /LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 4127)
@@ -293,5 +293,5 @@
       ALLOCATE(hadv_inca(nqINCA), conv_flg_inca(nqINCA), solsym_inca(nqINCA))
       ALLOCATE(vadv_inca(nqINCA),  pbl_flg_inca(nqINCA))
-      CALL init_transport(hadv_inca, vadv_inca, conv_flg_inca, pbl_flg_inca, solsym_inca)
+      CALL init_transport(solsym_inca, conv_flg_inca, pbl_flg_inca, hadv_inca, vadv_inca)
 #endif
    ELSE
@@ -379,5 +379,5 @@
       ALLOCATE(hadv(nqtrue), conv_flg(nbtr), hadv_inca(nqINCA), conv_flg_inca(nqINCA), solsym_inca(nqINCA))
       ALLOCATE(vadv(nqtrue),  pbl_flg(nbtr), vadv_inca(nqINCA),  pbl_flg_inca(nqINCA))
-      CALL init_transport(hadv_inca, vadv_inca, conv_flg_inca, pbl_flg_inca, solsym_inca)
+      CALL init_transport(solsym_inca, conv_flg_inca, pbl_flg_inca, hadv_inca, vadv_inca)
       !--- Passive CO2 tracer is at position 1 because: H2O has been removed ; nqCO2/=0 in "inco" case only
       conv_flg(1:nbtr) = [(1,          k=1, nqCO2), conv_flg_inca]
Index: /LMDZ6/trunk/libf/dynphy_lonlat/phylmd/iniphysiq_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/dynphy_lonlat/phylmd/iniphysiq_mod.F90	(revision 4126)
+++ /LMDZ6/trunk/libf/dynphy_lonlat/phylmd/iniphysiq_mod.F90	(revision 4127)
@@ -150,15 +150,5 @@
 !$OMP END PARALLEL
 
-  IF (type_trac == 'inca' .OR. type_trac == 'inco') THEN
-#ifdef INCA
-     call init_const_lmdz( &
-          anneeref,dayref, iphysiq,day_step,nday,  &
-          nbsrf, is_oce,is_sic, is_ter,is_lic, calend, &
-          config_inca)
-     call init_inca_para( &
-          nbp_lon,nbp_lat,nbp_lev,klon_glo,mpi_size, &
-          distrib_phys,communicator)
-#endif
-  END IF
+
   IF (type_trac == 'repr') THEN
 #ifdef REPROBUS
@@ -178,8 +168,9 @@
   IF (type_trac == 'inca' .OR. type_trac == 'inco') THEN
 #ifdef INCA
-     CALL init_inca_dim(klon_omp,nbp_lev,nbp_lon,nbp_lat - 1, &
-          rlonudyn,rlatudyn,rlonvdyn,rlatvdyn)
+     CALL init_inca_dim_reg(nbp_lon, nbp_lat - 1, &
+          rlonudyn, rlatudyn, rlonvdyn, rlatvdyn)
 #endif
   END IF
+
   IF (type_trac == 'repr') THEN
 #ifdef REPROBUS
Index: /LMDZ6/trunk/libf/phy_common/mod_phys_lmdz_mpi_data.F90
===================================================================
--- /LMDZ6/trunk/libf/phy_common/mod_phys_lmdz_mpi_data.F90	(revision 4126)
+++ /LMDZ6/trunk/libf/phy_common/mod_phys_lmdz_mpi_data.F90	(revision 4127)
@@ -46,5 +46,6 @@
 CONTAINS
   
-  SUBROUTINE init_phys_lmdz_mpi_data(nbp, nbp_lon, nbp_lat, communicator)
+  SUBROUTINE init_phys_lmdz_mpi_data(nbp, nbp_lon, nbp_lat, nbp_lev, grid_type, nvertex, communicator)
+
   IMPLICIT NONE
 #ifdef CPP_MPI
@@ -54,5 +55,8 @@
     INTEGER,INTENT(IN) :: nbp_lon
     INTEGER,INTENT(IN) :: nbp_lat
+    INTEGER,INTENT(IN) :: nbp_lev
     INTEGER,INTENT(IN) :: communicator
+    INTEGER,INTENT(IN) :: grid_type 
+    INTEGER,INTENT(IN) :: nvertex 
     
     INTEGER,ALLOCATABLE :: distrib(:)
@@ -179,4 +183,10 @@
    
     CALL Print_module_data
+
+#ifdef INCA
+       CALL init_inca_para( &
+            nbp_lon,nbp_lat,nbp_lev,klon_glo,mpi_size, &
+            distrib,nvertex, grid_type,communicator)
+#endif
     
   END SUBROUTINE Init_phys_lmdz_mpi_data
Index: /LMDZ6/trunk/libf/phy_common/mod_phys_lmdz_para.F90
===================================================================
--- /LMDZ6/trunk/libf/phy_common/mod_phys_lmdz_para.F90	(revision 4126)
+++ /LMDZ6/trunk/libf/phy_common/mod_phys_lmdz_para.F90	(revision 4127)
@@ -17,12 +17,15 @@
 CONTAINS
 
-  SUBROUTINE Init_phys_lmdz_para(nbp,nbp_lon,nbp_lat,communicator)
+  SUBROUTINE Init_phys_lmdz_para(nbp,nbp_lon,nbp_lat,nbp_lev,grid_type, nvertex,communicator)
   IMPLICIT NONE
     INTEGER,INTENT(in) :: nbp
     INTEGER,INTENT(in) :: nbp_lon
     INTEGER,INTENT(in) :: nbp_lat
+    INTEGER,INTENT(in) :: nbp_lev
     INTEGER,INTENT(in) :: communicator
+    INTEGER,INTENT(IN) :: grid_type 
+    INTEGER,INTENT(IN) :: nvertex 
 
-    CALL Init_phys_lmdz_mpi_data(nbp,nbp_lon,nbp_lat,communicator)
+    CALL Init_phys_lmdz_mpi_data(nbp,nbp_lon,nbp_lat,nbp_lev, grid_type, nvertex,communicator)
 !$OMP PARALLEL
     CALL Init_phys_lmdz_omp_data(klon_mpi)
Index: /LMDZ6/trunk/libf/phy_common/physics_distribution_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phy_common/physics_distribution_mod.F90	(revision 4126)
+++ /LMDZ6/trunk/libf/phy_common/physics_distribution_mod.F90	(revision 4127)
@@ -29,7 +29,11 @@
 
     CALL init_grid_phy_lmdz(grid_type,nvertex, nbp_lon,nbp_lat,nbp_lev)
-    CALL init_phys_lmdz_para(nbp,nbp_lon, nbp_lat, communicator)
+    CALL init_phys_lmdz_para(nbp,nbp_lon, nbp_lat,nbp_lev, grid_type,nvertex, communicator)
 !$OMP PARALLEL
     CALL init_dimphy(klon_omp,nbp_lev)
+
+#ifdef INCA
+       CALL Init_inca_dim(klon_omp,nbp_lev)
+#endif
 
 ! Initialization of Reprobus
Index: /LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 4126)
+++ /LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 4127)
@@ -34,5 +34,6 @@
     USE FLOTT_GWD_rando_m, only: FLOTT_GWD_rando
     USE fonte_neige_mod, ONLY  : fonte_neige_get_vars
-    USE geometry_mod, ONLY: cell_area, latitude_deg, longitude_deg
+    USE geometry_mod, ONLY: cell_area, latitude_deg, longitude_deg, longitude,latitude, &
+         boundslon,boundslat, dx, dy, ind_cell_glo
     USE ioipsl, only: histbeg, histvert, histdef, histend, histsync, &
          histwrite, ju2ymds, ymds2ju, getin
@@ -55,5 +56,5 @@
     USE phystokenc_mod, ONLY: offline, phystokenc
     USE phys_cal_mod, only: year_len, mth_len, days_elapsed, jh_1jan, &
-         year_cur, mth_cur,jD_cur, jH_cur, jD_ref, day_cur, hour
+         year_cur, mth_cur,jD_cur, jH_cur, jD_ref, day_cur, hour, calend
 !!  USE phys_local_var_mod, ONLY : a long list of variables
 !!              ==> see below, after "CPP Keys" section
@@ -70,5 +71,5 @@
     USE surface_data,     ONLY : type_ocean, ok_veget, landice_opt
     USE time_phylmdz_mod, only: annee_ref, current_time, day_ini, day_ref, &
-          day_step_phy, itau_phy, pdtphys, raz_date, start_time, update_time
+          day_step_phy, itau_phy, pdtphys, raz_date, start_time, update_time, ndays
     USE tracinca_mod, ONLY: config_inca
     USE tropopause_m,     ONLY: dyn_tropopause
@@ -2028,8 +2029,16 @@
           WRITE(lunout,*) 'initial time chemini', days_elapsed, calday
 
-          CALL chemini(  &
-               rg, &
-               ra, &
-               cell_area, &
+          call init_const_lmdz( &
+          ndays, nbsrf, is_oce,is_sic, is_ter,is_lic, calend, &
+          config_inca)
+
+          CALL init_inca_geometry( & 
+               longitude, latitude, &
+               boundslon, boundslat, &
+               dx, dy, cell_area, ind_cell_glo) 
+
+
+          CALL chemini(  pplay, &
+               nbp_lon, nbp_lat, &
                latitude_deg, &
                longitude_deg, &
@@ -5083,5 +5092,5 @@
             pphis, &
             zx_rh, &
-            aps, bps, ap, bp)
+            aps, bps, ap, bp, lafin)
 
        CALL VTe(VTinca)
@@ -5345,4 +5354,13 @@
 #ifdef CPP_XIOS
        IF (is_omp_master) CALL xios_context_finalize
+
+#ifdef INCA
+       if (type_trac == 'inca' ) then 
+          IF (is_omp_master .and. grid_type==unstructured) THEN 
+             CALL finalize_inca
+          ENDIF
+       endif
+#endif
+
 #endif
        WRITE(lunout,*) ' physiq fin, nombre de steps ou cvpas = 1 : ', Ncvpaseq1
