Index: /LMDZ6/trunk/libf/phylmd/chemistry_cycle_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/chemistry_cycle_mod.F90	(revision 4640)
+++ /LMDZ6/trunk/libf/phylmd/chemistry_cycle_mod.F90	(revision 4640)
@@ -0,0 +1,22 @@
+MODULE chemistry_cycle_mod
+
+!=======================================================================
+!   Authors: Anne Cozic and Thibaut Lurton
+!
+!  Purpose and description:
+!  -----------------------
+! Control module for the chemistry  tracers :
+!   - Definition of fluxes to be exchanged with Pisces and Inca 
+!
+!=======================================================================
+
+
+  IMPLICIT NONE
+
+! Variables read from parmeter file physiq.def
+  LOGICAL, SAVE, PUBLIC :: dms_cycle_cpl       ! Coupling of CO2 fluxes between LMDZ/ORCHIDEE and LMDZ/OCEAN(PISCES) 
+!$OMP THREADPRIVATE(dms_cycle_cpl)   
+
+
+  
+END MODULE chemistry_cycle_mod
Index: /LMDZ6/trunk/libf/phylmd/conf_phys_m.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/conf_phys_m.F90	(revision 4639)
+++ /LMDZ6/trunk/libf/phylmd/conf_phys_m.F90	(revision 4640)
@@ -29,8 +29,10 @@
     USE carbon_cycle_mod,  ONLY: read_fco2_ocean_cor,var_fco2_ocean_cor
     USE carbon_cycle_mod,  ONLY: read_fco2_land_cor,var_fco2_land_cor
+    USE chemistry_cycle_mod, ONLY: dms_cycle_cpl
     USE mod_grid_phy_lmdz, ONLY: klon_glo
     USE print_control_mod, ONLY: lunout
     use config_ocean_skin_m, only: config_ocean_skin
     USE phys_state_var_mod, ONLY: phys_tstep
+    USE infotrac_phy, ONLY: type_trac
 
     INCLUDE "conema3.h"
@@ -233,4 +235,5 @@
     LOGICAL, SAVE :: carbon_cycle_cpl_omp
     LOGICAL, SAVE :: carbon_cycle_rad_omp
+    LOGICAL, SAVE :: dms_cycle_cpl_omp
     INTEGER, SAVE :: level_coupling_esm_omp
     LOGICAL, SAVE :: read_fco2_ocean_cor_omp
@@ -2240,4 +2243,14 @@
     CALL getin('level_coupling_esm',level_coupling_esm_omp)
 
+
+    dms_cycle_cpl_omp=.FALSE.
+    CALL getin('dms_cycle_cpl',dms_cycle_cpl_omp)
+    !
+    !Config Key  = dms_cycle_cpl
+    !Config Desc = receive dms from pisces via oasis
+    !Config Def  = .FALSE.
+    !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry 
+
+    
     !$OMP END MASTER
     !$OMP BARRIER
@@ -2514,4 +2527,5 @@
     read_fco2_land_cor = read_fco2_land_cor_omp
     var_fco2_land_cor = var_fco2_land_cor_omp
+    dms_cycle_cpl = dms_cycle_cpl_omp
 
     ! Test of coherence between type_ocean and version_ocean
@@ -2633,4 +2647,10 @@
     ENDIF
 
+
+    ! Test on chemistry cycle 
+    IF ((type_trac .ne. "inca" .AND. type_trac .ne. "inco") .AND. dms_cycle_cpl ) THEN 
+       CALL abort_physic('conf_phys', 'dms_cycle_cpl has to be TRUE only with INCA coupling model',1)
+    ENDIF
+    
     ! ORCHIDEE must be activated for ifl_pbltree=1
     IF (.NOT. ok_veget .AND. ifl_pbltree==1) THEN
@@ -2844,4 +2864,5 @@
     WRITE(lunout,*) ' read_fco2_land_cor = ', read_fco2_land_cor
     WRITE(lunout,*) ' var_fco2_land_cor = ', var_fco2_land_cor
+    WRITE(lunout,*) ' dms_cycle_cpl = ', dms_cycle_cpl
     WRITE(lunout,*) ' iflag_tsurf_inlandsis = ', iflag_tsurf_inlandsis
     WRITE(lunout,*) ' iflag_temp_inlandsis = ', iflag_temp_inlandsis
Index: /LMDZ6/trunk/libf/phylmd/cpl_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/cpl_mod.F90	(revision 4639)
+++ /LMDZ6/trunk/libf/phylmd/cpl_mod.F90	(revision 4640)
@@ -377,5 +377,5 @@
             0,zjulian,dtime,nhoridcs,nidcs) 
 ! no vertical axis
-       DO jf=1,maxrecv
+       DO jf=1,maxrecv_phys
          IF (inforecv(i)%action) THEN
              CALL histdef(nidcs,inforecv(i)%name ,inforecv(i)%name , &
@@ -433,5 +433,5 @@
     CHARACTER(len = 80)                     :: abort_message
     REAL, DIMENSION(klon)                   :: read_sic1D
-    REAL, DIMENSION(nbp_lon,jj_nb,maxrecv)      :: tab_read_flds
+    REAL, DIMENSION(nbp_lon,jj_nb,maxrecv_phys)      :: tab_read_flds
     REAL, DIMENSION(klon,nbsrf)             :: pctsrf_old
     REAL, DIMENSION(klon_mpi)               :: rlon_mpi, rlat_mpi
@@ -462,5 +462,5 @@
           ndexcs(:) = 0
           itau_w = itau_phy + itime + start_time * day_step_phy
-          DO i = 1, maxrecv
+          DO i = 1, maxrecv_phys
             IF (inforecv(i)%action) THEN
                 CALL histwrite(nidcs,inforecv(i)%name,itau_w,tab_read_flds(:,:,i),nbp_lon*(nbp_lat),ndexcs)
Index: /LMDZ6/trunk/libf/phylmd/oasis.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/oasis.F90	(revision 4639)
+++ /LMDZ6/trunk/libf/phylmd/oasis.F90	(revision 4640)
@@ -24,7 +24,4 @@
   USE mod_prism_get_proto
   USE mod_prism_put_proto
-#endif
-#ifdef CPP_CPLOCNINCA
-  USE incaoasis, ONLY : inforcv
 #endif
 #endif
@@ -77,14 +74,13 @@
   INTEGER, PARAMETER :: idr_curenz = 7
   INTEGER, PARAMETER :: idr_oceco2 = 8
-
+  ! bulk salinity of the surface layer of the ocean, in ppt
   INTEGER, PARAMETER :: idr_sss = 9
-  ! bulk salinity of the surface layer of the ocean, in ppt
-
-  INTEGER, PARAMETER :: maxrecv    = 9  ! Maximum number of fields to receive
-  
-#ifdef CPP_CPLOCNINCA
-  INTEGER, PARAMETER :: idr_ocedms = 1
-  INTEGER, PARAMETER :: maxrcv = 1
-#endif
+  INTEGER, PARAMETER :: idr_ocedms = 10
+
+  INTEGER, PARAMETER :: maxrecv      = 10     ! Maximum number of fields to receive
+  INTEGER, PARAMETER :: maxrecv_phys = 9      ! Maximum number of fields to receive in physiq (without fields received in INCA model )
+                                              ! will be changed in next version - INCA fields will be received in LMDZ (like for ORCHIDEE fields)
+                                              ! and then send by routine in INCA model 
+  
 
   TYPE, PUBLIC ::   FLD_CPL            ! Type for coupling field information
@@ -118,4 +114,5 @@
     USE carbon_cycle_mod, ONLY : carbon_cycle_cpl
     USE wxios, ONLY : wxios_context_init 
+    USE chemistry_cycle_mod, ONLY : dms_cycle_cpl
     USE lmdz_xios  
     USE print_control_mod, ONLY: lunout
@@ -265,7 +262,8 @@
        inforecv(idr_oceco2)%action = .TRUE. ; inforecv(idr_oceco2)%name = 'SICO2FLX'
    ENDIF
-#ifdef CPP_CPLOCNINCA
-       inforcv(idr_ocedms)%action = .TRUE. ; inforcv(idr_ocedms)%name = 'SIDMSFLX'
-#endif
+   IF (dms_cycle_cpl) THEN 
+      inforecv(idr_ocedms)%action = .TRUE. ; inforecv(idr_ocedms)%name = 'SIDMSFLX'
+   ENDIF
+ 
 
 !************************************************************************************
@@ -353,19 +351,9 @@
     END DO
 
-! Now, if also coupling CPL with INCA, initialize here fields to be exchanged.
-#ifdef CPP_CPLOCNINCA
-    DO jf=1,maxrcv 
-       IF (inforcv(jf)%action) THEN
-          CALL prism_def_var_proto(inforcv(jf)%nid, inforcv(jf)%name, il_part_id, &
-               il_var_nodims, PRISM_In, il_var_actual_shape, il_var_type, &
-               ierror)
-          IF (ierror .NE. PRISM_Ok) THEN
-             WRITE(lunout,*) 'inicma : Problem with prism_def_var_proto for field : ',&
-                  inforcv(jf)%name
-             abort_message=' Problem in call to prism_def_var_proto for fields to receive'
-             CALL abort_physic(modname,abort_message,1)
-          ENDIF
-       ENDIF
-    END DO
+
+#ifdef INCA
+    IF (dms_cycle_cpl) THEN
+       CALL init_inca_oasis(inforecv(idr_ocedms))
+    ENDIF
 #endif
  
@@ -424,5 +412,5 @@
 ! Output arguments
 !************************************************************************************
-    REAL, DIMENSION(nbp_lon, jj_nb,maxrecv), INTENT(OUT) :: tab_get
+    REAL, DIMENSION(nbp_lon, jj_nb,maxrecv_phys), INTENT(OUT) :: tab_get
 
 ! Local variables
@@ -446,5 +434,5 @@
     ENDIF
     
-    DO i = 1, maxrecv
+    DO i = 1, maxrecv_phys
       IF (inforecv(i)%action .AND. inforecv(i)%nid .NE. -1) THEN
           field(:) = -99999.
