Index: LMDZ4/trunk/libf/phylmd/ini_histrac.h
===================================================================
--- LMDZ4/trunk/libf/phylmd/ini_histrac.h	(revision 958)
+++ LMDZ4/trunk/libf/phylmd/ini_histrac.h	(revision 959)
@@ -2,5 +2,5 @@
 ! $Header$
 !
-#ifndef INCA
+      IF (config_inca == 'none') THEN
 c$OMP MASTER 
          CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian)
@@ -127,3 +127,3 @@
          ndex = 0
 c$OMP END MASTER
-#endif
+      END IF
Index: LMDZ4/trunk/libf/phylmd/phys_state_var_mod.F90
===================================================================
--- LMDZ4/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 958)
+++ LMDZ4/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 959)
@@ -170,10 +170,13 @@
 !topswai, solswai : Aerosol indirect effect
       REAL,SAVE,ALLOCATABLE :: topswai(:), solswai(:)
-#ifdef INCA
+      REAL,SAVE,ALLOCATABLE :: tau_ae(:,:,:), piz_ae(:,:,:)
+      REAL,SAVE,ALLOCATABLE :: cg_ae(:,:,:)
+
+! Les variables suivants uniquement pour un configuration avec INCA
 ! topswad_inca, solswad_inca : Aerosol direct effect
       REAL,SAVE,ALLOCATABLE :: topswad_inca(:), solswad_inca(:)
 ! topswad0_inca, solswad0_inca : Aerosol direct effect
       REAL,SAVE,ALLOCATABLE :: topswad0_inca(:), solswad0_inca(:)
-!topswai_inca, solswai_inca : Aerosol indirect effect
+! topswai_inca, solswai_inca : Aerosol indirect effect
       REAL,SAVE,ALLOCATABLE :: topswai_inca(:), solswai_inca(:)
       REAL,SAVE,ALLOCATABLE :: topsw_inca(:,:), solsw_inca(:,:)
@@ -183,7 +186,4 @@
       REAL,SAVE,ALLOCATABLE :: cg_inca(:,:,:,:)
       REAL,SAVE,ALLOCATABLE :: ccm(:,:,:)
-#endif
-      REAL,SAVE,ALLOCATABLE :: tau_ae(:,:,:), piz_ae(:,:,:)
-      REAL,SAVE,ALLOCATABLE :: cg_ae(:,:,:)
 
 CONTAINS
@@ -194,5 +194,5 @@
 IMPLICIT NONE
 #include "indicesol.h"
-
+#include "control.h"
       ALLOCATE(rlat(klon), rlon(klon))
       ALLOCATE(pctsrf(klon,nbsrf))
@@ -290,17 +290,20 @@
       ALLOCATE(topswad(klon), solswad(klon))
       ALLOCATE(topswai(klon), solswai(klon))
-#ifdef INCA
-      ALLOCATE(topswad_inca(klon), solswad_inca(klon))
-      ALLOCATE(topswad0_inca(klon), solswad0_inca(klon))
-      ALLOCATE(topswai_inca(klon), solswai_inca(klon))
-      ALLOCATE(topsw_inca(klon,9), solsw_inca(klon,9))
-      ALLOCATE(topsw0_inca(klon,9), solsw0_inca(klon,9))
+      ALLOCATE(tau_ae(klon,klev,2), piz_ae(klon,klev,2))
+      ALLOCATE(cg_ae(klon,klev,2))
+
+      IF (config_inca /= 'none') THEN
+         ALLOCATE(topswad_inca(klon), solswad_inca(klon))
+         ALLOCATE(topswad0_inca(klon), solswad0_inca(klon))
+         ALLOCATE(topswai_inca(klon), solswai_inca(klon))
+         ALLOCATE(topsw_inca(klon,9), solsw_inca(klon,9))
+         ALLOCATE(topsw0_inca(klon,9), solsw0_inca(klon,9))
+      END IF
+      ! Following 4 variables are needed only by INCA but must be
+      ! allocated as they exist in the phytrac argument list
       ALLOCATE(tau_inca(klon,klev,9,2))
       ALLOCATE(piz_inca(klon,klev,9,2))
       ALLOCATE(cg_inca(klon,klev,9,2))
       ALLOCATE(ccm(klon,klev,2))
-#endif
-      ALLOCATE(tau_ae(klon,klev,2), piz_ae(klon,klev,2))
-      ALLOCATE(cg_ae(klon,klev,2))
 
 END SUBROUTINE phys_state_var_init
@@ -311,4 +314,5 @@
 IMPLICIT NONE
 #include "indicesol.h"
+#include "control.h"
 
       deallocate(rlat, rlon, pctsrf, ftsol, falb1, falb2)
@@ -387,18 +391,20 @@
       deallocate(topswad, solswad)
       deallocate(topswai, solswai)
-#ifdef INCA
-      deallocate(topswad_inca, solswad_inca)
-      deallocate(topswad0_inca, solswad0_inca)
-      deallocate(topswai_inca, solswai_inca)
-      deallocate(topsw_inca, solsw_inca)
-      deallocate(topsw0_inca, solsw0_inca)
+
+      deallocate(tau_ae, piz_ae)
+      deallocate(cg_ae)
+
+      IF (config_inca /= 'none') THEN
+         deallocate(topswad_inca, solswad_inca)
+         deallocate(topswad0_inca, solswad0_inca)
+         deallocate(topswai_inca, solswai_inca)
+         deallocate(topsw_inca, solsw_inca)
+         deallocate(topsw0_inca, solsw0_inca)
+      END IF
       deallocate(tau_inca)
       deallocate(piz_inca)
       deallocate(cg_inca)
       deallocate(ccm)
-#endif
-      deallocate(tau_ae, piz_ae)
-      deallocate(cg_ae)
- 
+       
 END SUBROUTINE phys_state_var_end
 
Index: LMDZ4/trunk/libf/phylmd/physiq.F
===================================================================
--- LMDZ4/trunk/libf/phylmd/physiq.F	(revision 958)
+++ LMDZ4/trunk/libf/phylmd/physiq.F	(revision 959)
@@ -9,8 +9,5 @@
      .            paprs,pplay,pphi,pphis,presnivs,clesphy0,
      .            u,v,t,qx,
-     .            omega,
-#ifdef INCA
      .            flxmass_w,
-#endif
      .            d_u, d_v, d_t, d_qx, d_ps
      .            , dudyn
@@ -80,5 +77,5 @@
 c d_t_dyn-input-R-tendance dynamique pour "t" (K/s)
 c d_q_dyn-input-R-tendance dynamique pour "q" (kg/kg/s)
-c omega---input-R-vitesse verticale en Pa/s
+c flxmass_w -input-R- flux de masse verticale
 c d_u-----output-R-tendance physique de "u" (m/s/s)
 c d_v-----output-R-tendance physique de "v" (m/s/s)
@@ -119,11 +116,5 @@
       PARAMETER (ok_stratus=.FALSE.)
 c======================================================================
-      logical rnpb
-#ifdef INCA
-      parameter(rnpb=.false.)
-#else
-      parameter(rnpb=.true.)
-#endif
-
+      LOGICAL :: rnpb=.TRUE.
 cIM "slab" ocean
       REAL tslab(klon)    !Temperature du slab-ocean
@@ -215,10 +206,6 @@
       REAL t(klon,klev),theta(klon,klev)
       REAL qx(klon,klev,nqmax)
-
-      REAL omega(klon,klev)
-
-#ifdef INCA
       REAL flxmass_w(klon,klev)
-#endif
+      REAL omega(klon,klev) ! vitesse verticale en Pa/s
       REAL d_u(klon,klev)
       REAL d_v(klon,klev)
@@ -682,8 +669,6 @@
       REAL frac_impa(klon,klev) ! fractions d'aerosols lessivees (impaction)
       REAL frac_nucl(klon,klev) ! idem (nucleation)
-#ifdef INCA
       INTEGER       :: iii
       REAL          :: calday
-#endif
 
 cIM cf FH pour Tiedtke 080604
@@ -1074,8 +1059,7 @@
 
       ! Aerosol optical properties
-#ifdef INCA
-! Aerosol optical properties by INCA model 
+
+      ! Aerosol optical properties by INCA model 
       CHARACTER*4              ::    rfname(9) 
-#endif
       REAL aerindex(klon)       ! POLDER aerosol index
      
@@ -1083,5 +1067,4 @@
       LOGICAL ok_ade, ok_aie    ! Apply aerosol (in)direct effects or not
       REAL bl95_b0, bl95_b1   ! Parameter in Boucher and Lohmann (1995)
-cym 
       SAVE ok_ade, ok_aie, bl95_b0, bl95_b1
 c$OMP THREADPRIVATE(ok_ade, ok_aie, bl95_b0, bl95_b1)
@@ -1209,27 +1192,26 @@
          solswai(:)=0.
          solswad(:)=0.
-#ifdef INCA
-         tau_inca(:,:,:,:) = 0.
-         piz_inca(:,:,:,:) = 0.
-         cg_inca(:,:,:,:)  = 0.
-         ccm(:,:,:)        = 0.
-         topswai_inca(:)   = 0.
-         topswad_inca(:)   = 0.
-         topswad0_inca(:)  = 0.
-         topsw_inca(:,:)   = 0.
-         topsw0_inca(:,:)  = 0.
-         solswai_inca(:)   = 0.
-         solswad_inca(:)   = 0.
-         solswad0_inca(:)  = 0.
-         solsw_inca(:,:)   = 0.
-         solsw0_inca(:,:)  = 0.
-#endif
-!rv
-!ACo
+
+         IF (config_inca /= 'none') THEN
+            tau_inca(:,:,:,:) = 0.
+            piz_inca(:,:,:,:) = 0.
+            cg_inca(:,:,:,:)  = 0.
+            ccm(:,:,:)        = 0.
+            topswai_inca(:)   = 0.
+            topswad_inca(:)   = 0.
+            topswad0_inca(:)  = 0.
+            topsw_inca(:,:)   = 0.
+            topsw0_inca(:,:)  = 0.
+            solswai_inca(:)   = 0.
+            solswad_inca(:)   = 0.
+            solswad0_inca(:)  = 0.
+            solsw_inca(:,:)   = 0.
+            solsw0_inca(:,:)  = 0.
+         END IF
+
          rnebcon0(:,:) = 0.0
          clwcon0(:,:) = 0.0
          rnebcon(:,:) = 0.0
          clwcon(:,:) = 0.0
-! fin anne
 
 cIM      
@@ -1559,14 +1541,13 @@
 cc         ENDDO
 c
+      IF (config_inca /= 'none') THEN
 #ifdef INCA
-           call VTe(VTphysiq)
-	   call VTb(VTinca)
-           iii = MOD(NINT(xjour),360)
-           calday = FLOAT(iii) + gmtime
-           WRITE(lunout,*) 'initial time ', xjour, calday
-#ifdef INCAINFO
-           WRITE(lunout,*) 'Appel CHEMINI ...'
-#endif
-           CALL chemini( 
+         CALL VTe(VTphysiq)
+         CALL VTb(VTinca)
+         iii = MOD(NINT(xjour),360)
+         calday = FLOAT(iii) + gmtime
+         WRITE(lunout,*) 'initial time ', xjour, calday
+
+         CALL chemini( 
      $                   rg,
      $                   ra,
@@ -1581,10 +1562,9 @@
      $                   annee_ref,
      $                   day_ini)
-#ifdef INCAINFO
-           WRITE(lunout,*) 'OK.'
+
+         CALL VTe(VTinca)
+         CALL VTb(VTphysiq)
 #endif
-      call VTe(VTinca)
-      call VTb(VTphysiq)
-#endif
+      END IF
 c
       ENDIF
@@ -1939,4 +1919,12 @@
          ENDDO
       ENDIF
+
+c Calcule de vitesse verticale a partir de flux de masse verticale
+      DO k = 1, klev
+         DO i = 1, klon
+            omega(i,k) = RG*flxmass_w(i,k) / airephy(i)
+         END DO
+      END DO
+
       IF (iflag_con.EQ.1) THEN
           stop'reactiver le call conlmd dans physiq.F'
@@ -2589,17 +2577,17 @@
 cjq - Johannes Quaas, 27/11/2003 (quaas@lmd.jussieu.fr)
       IF (ok_ade.OR.ok_aie) THEN
-         IF ( .NOT. aerosol_couple ) THEN 
-            ! Get sulfate aerosol distribution
-            CALL readsulfate(rjourvrai, debut, sulfate)
-            CALL readsulfate_preind(rjourvrai, debut, sulfate_pi)
-
-            ! Calculate aerosol optical properties (Olivier Boucher)
-            CALL aeropt(pplay, paprs, t_seri, sulfate, rhcl,
-     .           tau_ae, piz_ae, cg_ae, aerindex)
-         ENDIF
+       IF ( .NOT. aerosol_couple ) THEN
+         ! Get sulfate aerosol distribution
+         CALL readsulfate(rjourvrai, debut, sulfate)
+         CALL readsulfate_preind(rjourvrai, debut, sulfate_pi)
+
+         ! Calculate aerosol optical properties (Olivier Boucher)
+         CALL aeropt(pplay, paprs, t_seri, sulfate, rhcl,
+     .        tau_ae, piz_ae, cg_ae, aerindex)
+       ENDIF
       ELSE
         tau_ae(:,:,:)=0.0
 	piz_ae(:,:,:)=0.0
-	cg_ae(:,:,:)=0.0
+	cg_ae(:,:,:)=0.0 
       ENDIF
 
@@ -2696,26 +2684,20 @@
       ENDDO
 
-
+      IF (config_inca /= 'none') THEN
 #ifdef INCA
-      call VTe(VTphysiq)
-      call VTb(VTinca)
-           calday = FLOAT(julien) + gmtime
-
-#ifdef INCA_AER
-      call AEROSOL_METEO_CALC(calday,pdtphys,pplay,paprs,t,pmflxr,pmflxs
-     &   ,prfl,psfl,pctsrf,airephy,xjour,rlat,rlon,u10m,v10m)
-#endif
-
-#ifdef INCAINFO
-           WRITE(lunout,*)'Appel CHEMHOOK_BEGIN ...'
-#endif
-
-           zxsnow_dummy(:) = 0.0
-
-           CALL chemhook_begin (calday,
-#if defined(INCA) && !defined(INCA_CH4) && !defined(INCA_NMHC) && !defined(INCA_AER)
+         CALL VTe(VTphysiq)
+         CALL VTb(VTinca)
+         calday = FLOAT(julien) + gmtime
+
+         IF (config_inca == 'aero') THEN
+            CALL AEROSOL_METEO_CALC(calday,pdtphys,pplay,paprs,t,pmflxr,pmflxs
+     &           ,prfl,psfl,pctsrf,airephy,xjour,rlat,rlon,u10m,v10m)
+         END IF
+
+         zxsnow_dummy(:) = 0.0
+
+         CALL chemhook_begin (calday,
      $                          julien,
      $                          gmtime,
-#endif
      $                          pctsrf(1,1),
      $                          rlat,
@@ -2742,5 +2724,4 @@
      $                          iim,
      $                          jjm,
-#ifdef INCA_AER
      $                          tr_seri,
      $                          ftsol,
@@ -2751,24 +2732,17 @@
      $				pdtphys,
      $				itap)
-#else
-     $                          tr_seri)     
-#endif        
-
-
-#ifdef INCAINFO
-           WRITE(lunout,*)'OK.'
-#endif
-      call VTe(VTinca)
-      call VTb(VTphysiq)
-#endif
+
+         CALL VTe(VTinca)
+         CALL VTb(VTphysiq)
+#endif 
+      END IF !config_inca /= 'none'
 c     
 c Calculer les parametres optiques des nuages et quelques
 c parametres pour diagnostiques:
 c
-      IF (aerosol_couple ) THEN 
-#ifdef INCA
+
+      IF (aerosol_couple) THEN 
          sulfate(:,:) = ccm(:,:,1) 
          sulfate_pi(:,:) = ccm(:,:,2) 
-#endif
       ENDIF
 
@@ -2816,6 +2790,6 @@
       
       IF (aerosol_couple) THEN 
-#ifdef INCA_AER
-         CALL radlwsw_inca   
+#ifdef INCA
+      CALL radlwsw_inca 
      e            (kdlon,kflev,dist, rmu0, fract, solaire,
      e             paprs, pplay,zxtsol,albsol, albsollw, t_seri,q_seri,
@@ -2838,5 +2812,5 @@
 #endif
       ELSE
-         CALL radlwsw ! nouveau rayonnement (compatible Arpege-IFS)
+      CALL radlwsw ! nouveau rayonnement (compatible Arpege-IFS)
      e            (dist, rmu0, fract, 
      e             paprs, pplay,zxtsol,albsol1, albsol2, t_seri,q_seri,
@@ -2855,5 +2829,4 @@
      s             topswai, solswai) ! ="=
       ENDIF
-
       itaprad = 0
       ENDIF
@@ -3038,4 +3011,6 @@
 c====================================================================
 C
+      IF (config_inca /= 'none') rnpb=.FALSE.
+
       call phytrac (     rnpb,
      I                   itap, 
@@ -3092,5 +3067,4 @@
      I                   dnwd,
      I                   aerosol_couple,
-#ifdef INCA
      I                   flxmass_w,
      I                   tau_inca, 
@@ -3099,5 +3073,4 @@
      I                   ccm,
      I                   rfname,
-#endif
      O                   tr_seri)
 
@@ -3190,11 +3163,10 @@
 #include "calcul_divers.h"
 c
+      IF (config_inca /= 'none') THEN
 #ifdef INCA
-      call VTe(VTphysiq)
-      call VTb(VTinca)
-#ifdef INCAINFO
-           WRITE(lunout,*)'Appel CHEMHOOK_END ...'
-#endif
-           CALL chemhook_end (calday,
+         CALL VTe(VTphysiq)
+         CALL VTb(VTinca)
+
+         CALL chemhook_end (calday,
      $                        dtime,
      $                        pplay,
@@ -3207,18 +3179,14 @@
      $                        day_ini,
      $                        airephy,
-#ifdef INCA_AER
      $                        xjour,
      $                        pphi,
      $                        pphis,
      $                        zx_rh)
-#else
      $                        xjour)
+
+         CALL VTe(VTinca)
+         CALL VTb(VTphysiq)
 #endif
-#ifdef INCAINFO
-           WRITE(lunout,*)'OK.'
-#endif
-      call VTe(VTinca)
-      call VTb(VTphysiq)
-#endif
+      END IF
 
 c=============================================================
Index: LMDZ4/trunk/libf/phylmd/phytrac.F
===================================================================
--- LMDZ4/trunk/libf/phylmd/phytrac.F	(revision 958)
+++ LMDZ4/trunk/libf/phylmd/phytrac.F	(revision 959)
@@ -58,12 +58,10 @@
      I                    dnwd,
      I                    aerosol_couple,
-#ifdef INCA
      I                    flxmass_w,
-     I                   tau_inca, 
-     I                   piz_inca, 
-     I                   cg_inca,
-     I                   ccm,
-     I                   rfname,
-#endif
+     I                    tau_inca, 
+     I                    piz_inca, 
+     I                    cg_inca,
+     I                    ccm,
+     I                    rfname,
      O                    tr_seri)
 
@@ -91,5 +89,4 @@
 #include "YOMCST.h"
 #include "dimensions.h"
-cym#include "dimphy.h"
 #include "indicesol.h"
 #include "clesphys.h"
@@ -97,5 +94,4 @@
 #include "paramet.h"
 #include "control.h"
-cym#include "comgeomphy.h"
 #include "advtrac.h"
 #include "thermcell.h"
@@ -143,5 +139,5 @@
       REAL prfl(klon,klev+1),   psfl(klon,klev+1)     !--lessivage large-scale
       LOGICAL aerosol_couple
-#ifdef INCA
+
       REAL flxmass_w(klon,klev)
       CHARACTER(len=8) :: solsym(nqmax)
@@ -152,8 +148,4 @@
       character*4       ::    rfname(9) 
       REAL              ::    ccm(klon,klev,2) 
-#endif
-c      integer iflag_con
-
-cAA Rem : nbtr : nombre de vrais traceurs est defini dans dimphy.h
 c
 c   convection:
@@ -253,13 +245,8 @@
       INTEGER nhori, nvert
       REAL zsto, zout, zjulian
-      INTEGER nid_tra
-      SAVE nid_tra
+      INTEGER, SAVE :: nid_tra
 c$OMP THREADPRIVATE(nid_tra)
-#ifdef INCA_AER
-      INTEGER nid_tra2,nid_tra3
-      SAVE nid_tra2,nid_tra3
+      INTEGER, SAVE :: nid_tra2,nid_tra3
 c$OMP THREADPRIVATE(nid_tra2,nid_tra3)
-#endif
-c     REAL x(klon,klev,nbtr+2) ! traceurs 
       INTEGER ndex(1)
       INTEGER ndex2d(iim*(jjm+1)),ndex3d(iim*(jjm+1)*klev)
@@ -271,6 +258,4 @@
       integer itau_w   ! pas de temps ecriture = nstep + itau_phy
 c
-
-C
       logical ok_sync
       parameter (ok_sync = .true.)
@@ -342,9 +327,7 @@
      s     /.true.,.true.,.true.,.true.,.true./
 
-
-#ifdef INCA
+! Variables needed for configuration with INCA
       INTEGER           :: lastgas
       INTEGER           :: ncsec
-      INTEGER           :: prt_flag_ts(nbtr)  
 
       REAL, PARAMETER   :: dry_mass = 28.966
@@ -353,53 +336,7 @@
       REAL              :: calday
       REAL              :: pdel(klon,klev)
-      REAL              :: dummy(klon,klev)
-#endif
-c
-c======================================================================
-
-#ifdef INCA
-      prt_flag_ts(:)=(/
-#ifdef INCA_CH4
-     .             1,1,1,0,0,1,1,1,1,1,
-     .             0,1,0,0,0,0,0,1,0,0,
-     .             0,1,1,1,1,0,1,1,1,0,
-     .             1,1,1,1,1,1,1,1,1,1,
-     .             1,0,0
-#ifdef INCA_AER 
-     .             ,1,1,1,1,0,1,1,1,1,0,
-     .             1,1,1,1,1,1,0,1,0,1,
-     .             1,1,1,1,0,1,0,1,1,1
-#endif
-#endif
-#ifdef INCA_NMHC
-     .             1,1,1,1,1,1,1,1,1,1,
-     .             1,1,1,1,1,1,1,1,1,1,
-     .             1,1,1,1,1,1,1,1,1,1,
-     .             1,1,1,1,1,1,1,1,1,1,
-     .             1,1,1,1,1,1,1,1,1,1,
-     .             1,1,1,1,1,1,1,1,1,1,
-     .             1,1,1,1,1,1,1,1,1,1,
-     .             1,1,1,1,1,1,1,1,1,1,
-     .             1,1,1,1,1,1,1
-#ifdef INCA_AER 
-     .             ,1,1,1,1,0,1,1,1,1,0,
-     .             1,1,1,1,1,1,0,1,0,1,
-     .             1,1,1,1,0,1,0,1,1,1
-#endif
-#endif
-#if defined(INCA_AER) && !defined(INCA_CH4) && !defined(INCA_NMHC)
-     .             1,1,1,1,1,1,1,1,1,1,
-     .             1,1,1,1,1,1,1,1,1,1,
-     .             1,1,1,1,1,1,1,1,1
-#endif
-#if defined(INCA) && !defined(INCA_CH4) && !defined(INCA_NMHC) && !defined(INCA_AER)
-     .             1,1,1,1,1,1,1,1,1,1,
-     .             1                                         
-#endif
-
-     .             /)
-      dummy(:,:) = 0.
-
-#endif
+c
+c======================================================================
+
          modname='phytrac'
 
@@ -419,5 +356,4 @@
 
 
-c jg: c'est ca qu'on veut?????           
 ! FH 2008/05/09 correction de la frequence d'ecriture des traceurs
 !         ecrit_tra = FLOAT(NINT(86400./pdtphys *ecritphy)) 
@@ -490,7 +426,25 @@
          inirnpb=.false.
       endif
+
+
+      IF (config_inca == 'none') THEN
+       DO i=1,nlon
+          pftsol1(i) = ftsol(i,1)
+          pftsol2(i) = ftsol(i,2)
+          pftsol3(i) = ftsol(i,3)
+          pftsol4(i) = ftsol(i,4)
+
+          ppsrf1(i) = pctsrf(i,1)
+          ppsrf2(i) = pctsrf(i,2)
+          ppsrf3(i) = pctsrf(i,3)
+          ppsrf4(i) = pctsrf(i,4)
+
+       ENDDO
+
+      ELSE ! config_inca /=none
 #ifdef INCA
       call VTe(VTphysiq)
       call VTb(VTinca)
+
 !======================================================================
 !     Chimie
@@ -504,15 +458,6 @@
         END DO
 
-#ifdef INCAINFO
-        PRINT *, 'CHEMMAIN @ ', calday, ' ... '
-        DO it = 1, nbtr
-        PRINT *, solsym(it), MINVAL(tr_seri(:,:,it)),
-     $                       MAXVAL(tr_seri(:,:,it))
-      END DO
-#endif
-
-
-#ifdef INCA_AER
-        CALL aerosolmain (aerosol_couple,
+        IF (config_inca == 'aero') THEN
+           CALL aerosolmain (aerosol_couple,
      $                 tr_seri,
      $                 pdtphys,
@@ -538,5 +483,5 @@
      $                 ccm,
      $                 lafin)
-#endif
+        END IF
 
         CALL chemmain (tr_seri,    !mmr
@@ -578,56 +523,10 @@
      $                 source,
      $                 solsym)
-#ifdef INCAINFO
-#ifdef INCA_AER
-
-c Budget calculation for aerosol species
-CALL tbudget(airephy,pdtphys,nstep,tr_seri,.false.)
-
-c-- summary info----------------------------------------------------------------
-
-if (MOD(nstep,nint(86400./pdtphys)) .eq. 0) then
-print *, "global aerosol optical thickness "
-
-write (form,'(A,I2,A)') "(A,",trnx-trmx+1,"A10)"
-print form,"lamba [nm] ", (solsym(it),it=trmx,trnx)
-
-write (form,'(A,I2,A)') "(I11,",trnx-trmx+1,"F10.4)"
-do i=1,las
-print form,int(lambda(i)),(sum(tausum(:,i,it)*airephy)/sum(airephy),it=trmx,trnx)
-enddo
-
-print *,"global mean angstroem component ", sum(angst*airephy)/sum(airephy)
-endif
-#endif
-#endif
-
-#ifdef INCAINFO
-      PRINT *, 'OK.'
-      DO it = 1, nbtr
-      PRINT *, solsym(it), MINVAL(tr_seri(:,:,it)),
-     $                     MAXVAL(tr_seri(:,:,it))
-      END DO
-#endif
+
+
       call VTe(VTinca)
       call VTb(VTphysiq)
-#else
-
-c Abder
-ctestmaf      if(nqmax.gt.2) aerosol(3)=.true.
-
-       do i=1,nlon
-          pftsol1(i) = ftsol(i,1)
-          pftsol2(i) = ftsol(i,2)
-          pftsol3(i) = ftsol(i,3)
-          pftsol4(i) = ftsol(i,4)
-
-          ppsrf1(i) = pctsrf(i,1)
-          ppsrf2(i) = pctsrf(i,2)
-          ppsrf3(i) = pctsrf(i,3)
-          ppsrf4(i) = pctsrf(i,4)
-
-      enddo
-c Abder
 #endif
+      END IF ! config_inca
 c======================================================================
 c   Calcul de l'effet de la convection
@@ -643,7 +542,7 @@
 c      print*,'Pas de temps dans phytrac : ',pdtphys
       DO it=1, nqmax
-#ifdef INCA
-      IF ( conv_flg(it) == 0 ) CYCLE
-#endif
+
+      IF ( config_inca/='none' .AND. conv_flg(it) == 0 ) CYCLE
+
       if (iflag_con.lt.2) then
        d_tr_cv=0.
@@ -663,12 +562,13 @@
        ENDDO
        ENDDO
-#ifdef INCA
-      CALL minmaxqfi(tr_seri(1,1,it),0.,1.e33,'convection it = '
-     .                              //solsym(it))
-#else
-      CALL minmaxqfi(tr_seri(1,1,it),0.,1.e33,'convection it = '//itn)
-#endif
+
+       IF (config_inca == 'none') THEN
+        CALL minmaxqfi(tr_seri(1,1,it),0.,1.e33,'convection it = '//itn)
+       ELSE
+        CALL minmaxqfi(tr_seri(1,1,it),0.,1.e33,'convection it = '
+     .         //solsym(it))
+       END IF   
+      
       ENDDO
-c      print*,'apres nflxtr'
 
       endif ! convection
@@ -757,7 +657,7 @@
 C maf modif pour tenir compte du cas rnpb + traceur
       DO it=1, nqmax
-#ifdef INCA
-      IF ( pbl_flg(it) == 0 ) CYCLE
-#endif
+
+      IF ( config_inca/='none' .AND. pbl_flg(it) == 0 ) CYCLE
+
 c     print *,'it',it,clsol(it)
       if (clsol(it)) then  ! couche limite avec quantite dans le sol calculee
Index: LMDZ4/trunk/libf/phylmd/write_histrac.h
===================================================================
--- LMDZ4/trunk/libf/phylmd/write_histrac.h	(revision 958)
+++ LMDZ4/trunk/libf/phylmd/write_histrac.h	(revision 959)
@@ -2,5 +2,6 @@
 ! $Header$
 !
-#ifndef INCA
+
+      IF (config_inca == 'none') THEN
       ndex = 0
       ndex2d = 0
@@ -101,5 +102,5 @@
        endif
 
-#endif
+       END IF
 
 
