Index: LMDZ6/trunk/libf/dyn3d/dynetat0.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3d/dynetat0.F90	(revision 5251)
+++ LMDZ6/trunk/libf/dyn3d/dynetat0.F90	(revision 5252)
@@ -25,5 +25,6 @@
 #endif
   USE iso_params_mod   ! tnat_* and alpha_ideal_*
-  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
+  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS
+  USE strings_mod, ONLY: strIdx
 
   IMPLICIT NONE
@@ -47,5 +48,5 @@
   CHARACTER(LEN=maxlen) :: mesg, var, modname, oldVar
   INTEGER, PARAMETER :: length=100
-  INTEGER :: iq, fID, vID, idecal, iqParent, iName, iZone, iPhase
+  INTEGER :: iq, fID, vID, idecal, iqParent, iName, iZone, iPhase, ix
   REAL    :: time, tnat, alpha_ideal, tab_cntrl(length)    !--- RUN PARAMS TABLE
   LOGICAL :: lSkip, ll, ltnat1
@@ -136,7 +137,7 @@
 !--- Tracers
   ll=.FALSE.
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
   ll = NF90_INQ_VARID(fID, 'HNO3tot', vID) /= NF90_NoErr                                 !--- DETECT OLD REPRO start.nc FILE
-#endif
+END IF
   ltnat1 = .TRUE.; CALL getin('tnateq1', ltnat1)
   DO iq=1,nqtot
@@ -144,7 +145,7 @@
     oldVar = new2oldH2O(var)
     lSkip = ll .AND. var == 'HNO3'                                                       !--- FORCE "HNO3_g" READING FOR "HNO3"
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
     ix = strIdx(newHNO3, var); IF(ix /= 0) oldVar = oldHNO3(ix)                          !--- REPROBUS HNO3 exceptions
-#endif
+END IF
 IF (CPPKEY_INCA) THEN
     IF(var == 'O3') oldVar = 'OX'                                                        !--- DEAL WITH INCA OZONE EXCEPTION
Index: LMDZ6/trunk/libf/dyn3d_common/infotrac.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 5251)
+++ LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 5252)
@@ -118,8 +118,6 @@
 SUBROUTINE init_infotrac
    USE control_mod, ONLY: planet_type
-#ifdef REPROBUS
-   USE CHEM_REP, ONLY: Init_chem_rep_trac
-#endif
-   USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
+   USE lmdz_reprobus_wrappers, ONLY: Init_chem_rep_trac
+   USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS, CPPKEY_STRATAER
    IMPLICIT NONE
 !==============================================================================================================================
@@ -202,11 +200,11 @@
 END IF
       CASE('repr')
-#ifndef REPROBUS
+IF (.NOT. CPPKEY_REPROBUS) THEN
          CALL abort_gcm(modname, 'You must add cpp key REPROBUS and compile with REPROBUS code', 1)
-#endif
+END IF
       CASE('coag')
-#ifndef CPP_StratAer
+IF (.NOT. CPPKEY_STRATAER) THEN
          CALL abort_gcm(modname, 'You must add cpp key StratAer and compile with StratAer code', 1)
-#endif
+END IF
    END SELECT
 
@@ -279,7 +277,7 @@
    !---------------------------------------------------------------------------------------------------------------------------
 
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
    CALL Init_chem_rep_trac(nbtr, nqo, tracers(:)%name)
-#endif
+END IF
 
 !==============================================================================================================================
Index: LMDZ6/trunk/libf/dyn3dmem/dynetat0_loc.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3dmem/dynetat0_loc.F90	(revision 5251)
+++ LMDZ6/trunk/libf/dyn3dmem/dynetat0_loc.F90	(revision 5252)
@@ -26,5 +26,5 @@
 #endif
   USE iso_params_mod   ! tnat_* and alpha_ideal_*
-  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
+  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS
 
   IMPLICIT NONE
@@ -161,7 +161,7 @@
   ALLOCATE(q_glo(ip1jmp1,llm))
   ll = .FALSE.
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
   ll = NF90_INQ_VARID(fID, 'HNO3tot', vID) /= NF90_NoErr                                 !--- DETECT OLD REPRO start.nc FILE
-#endif
+END IF
   ltnat1 = .TRUE.; CALL getin('tnateq1', ltnat1)
   DO iq=1,nqtot
@@ -169,7 +169,7 @@
     oldVar = new2oldH2O(var)
     lSkip = ll .AND. var == 'HNO3'                                                       !--- FORCE "HNO3_g" READING FOR "HNO3"
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
     ix = strIdx(newHNO3, var); IF(ix /= 0) oldVar = oldHNO3(ix)                          !--- REPROBUS HNO3 exceptions
-#endif
+END IF
 IF (CPPKEY_INCA) THEN
     IF(var == 'O3') oldVar = 'OX'                                                        !--- DEAL WITH INCA OZONE EXCEPTION
Index: LMDZ6/trunk/libf/dyn3dmem/leapfrog_loc.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3dmem/leapfrog_loc.F90	(revision 5251)
+++ LMDZ6/trunk/libf/dyn3dmem/leapfrog_loc.F90	(revision 5252)
@@ -46,5 +46,5 @@
          xios_set_current_context, &
          using_xios
-   USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
+   USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS
 
   IMPLICIT NONE
@@ -1531,7 +1531,7 @@
      ENDIF
 END IF
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
      if (type_trac == 'repr') CALL finalize_reprobus
-#endif
+END IF
 
 !$OMP MASTER
@@ -1588,7 +1588,7 @@
           ENDIF
 END IF
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
           if (type_trac == 'repr') CALL finalize_reprobus
-#endif
+END IF
 
 !$OMP MASTER
@@ -1762,7 +1762,7 @@
 
 END IF
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
              if (type_trac == 'repr') CALL finalize_reprobus
-#endif
+END IF
 
 !$OMP MASTER
@@ -1876,7 +1876,7 @@
 
 END IF
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
   if (type_trac == 'repr') CALL finalize_reprobus
-#endif
+END IF
 
 !$OMP MASTER
Index: LMDZ6/trunk/libf/dynphy_lonlat/phylmd/iniphysiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/dynphy_lonlat/phylmd/iniphysiq_mod.F90	(revision 5251)
+++ LMDZ6/trunk/libf/dynphy_lonlat/phylmd/iniphysiq_mod.F90	(revision 5252)
@@ -17,11 +17,7 @@
   USE vertical_layers_mod, ONLY : init_vertical_layers
   USE infotrac, ONLY: nbtr, type_trac
-#ifdef CPP_StratAer
   USE infotrac_phy, ONLY: nbtr_bin, nbtr_sulgas, id_OCS_strat, &
                       id_SO2_strat, id_H2SO4_strat, id_BIN01_strat
-
-#endif
-#ifdef REPROBUS
-  USE CHEM_REP, ONLY : Init_chem_rep_phys
+  USE lmdz_reprobus_wrappers, ONLY : Init_chem_rep_phys
 #ifdef CPP_PARA
   USE parallel_lmdz, ONLY : mpi_size, mpi_rank
@@ -29,5 +25,4 @@
 #endif
   USE mod_phys_lmdz_omp_data, ONLY: klon_omp
-#endif
   USE control_mod, ONLY: dayref,anneeref,day_step,nday,offline, iphysiq
   USE inifis_mod, ONLY: inifis
@@ -46,5 +41,5 @@
   USE ioipsl_getin_p_mod, ONLY: getin_p
   USE slab_heat_transp_mod, ONLY: ini_slab_transp_geom
-  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
+  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS
   IMPLICIT NONE
 
@@ -140,10 +135,10 @@
   ! Initializations for Reprobus
   IF (type_trac == 'repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
     call Init_chem_rep_phys(klon_omp,nlayer)
     call init_reprobus_para( &
           nbp_lon,nbp_lat,nbp_lev,klon_glo,mpi_size, &
           distrib_phys,communicator)
-#endif
+END IF
   ENDIF
 !$OMP END PARALLEL
@@ -151,9 +146,9 @@
 
   IF (type_trac == 'repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
     call init_reprobus_para( &
           nbp_lon,nbp_lat,nbp_lev,klon_glo,mpi_size, &
           distrib_phys,communicator)
-#endif
+END IF
   ENDIF
 
Index: LMDZ6/trunk/libf/misc/TEMP_FOR_STRATAER_REMOVE_ONCE_WE_MAKE_MODULE_OUT_OF_YOMCST_DOT_H.F90
===================================================================
--- LMDZ6/trunk/libf/misc/TEMP_FOR_STRATAER_REMOVE_ONCE_WE_MAKE_MODULE_OUT_OF_YOMCST_DOT_H.F90	(revision 5252)
+++ LMDZ6/trunk/libf/misc/TEMP_FOR_STRATAER_REMOVE_ONCE_WE_MAKE_MODULE_OUT_OF_YOMCST_DOT_H.F90	(revision 5252)
@@ -0,0 +1,1 @@
+link ../phylmd/rrtm/yomcst.F90
Index: LMDZ6/trunk/libf/misc/TEMP_FOR_STRATAER_REMOVE_ONCE_WE_MAKE_MODULE_OUT_OF_YOMCST_DOT_H___PARKIND1.F90
===================================================================
--- LMDZ6/trunk/libf/misc/TEMP_FOR_STRATAER_REMOVE_ONCE_WE_MAKE_MODULE_OUT_OF_YOMCST_DOT_H___PARKIND1.F90	(revision 5252)
+++ LMDZ6/trunk/libf/misc/TEMP_FOR_STRATAER_REMOVE_ONCE_WE_MAKE_MODULE_OUT_OF_YOMCST_DOT_H___PARKIND1.F90	(revision 5252)
@@ -0,0 +1,1 @@
+link ../phylmd/rrtm/parkind1.F90
Index: LMDZ6/trunk/libf/misc/lmdz_reprobus_wrappers.F90
===================================================================
--- LMDZ6/trunk/libf/misc/lmdz_reprobus_wrappers.F90	(revision 5252)
+++ LMDZ6/trunk/libf/misc/lmdz_reprobus_wrappers.F90	(revision 5252)
@@ -0,0 +1,42 @@
+! reprobus SUBROUTINE wrappers
+
+MODULE lmdz_reprobus_wrappers
+
+#ifdef REPROBUS
+  USE CHEM_REP, ONLY: init_chem_rep_trac, itroprep
+#else
+
+  ! TODO ugly temp solution until we properly wrap the REPROBUS code
+  INCLUDE "dimensions.h"
+  INTEGER :: itroprep(iim), iter, ndimozon
+  REAL :: rsuntime(2), pdt_rep, daynum, solaireTIME, ptrop(iim), ttrop(iim), ztrop(iim), gravit, Z1, &
+          Z2, fac, B
+  REAL, DIMENSION(iim, jjm) :: pdel, d_q_rep, d_ql_rep, d_qi_rep, rch42d, rn2o2d, rcfc112d, rcfc122d
+  LOGICAL :: ok_suntime, ok_rtime2d
+
+CONTAINS
+
+  SUBROUTINE lmdz_reprobus_wrapper_abort
+    STOP 'REPROBUS key undefined, must not enter in REPROBUS wrappers ==> aborting'
+  END SUBROUTINE lmdz_reprobus_wrapper_abort
+
+  ! TODO replace ugly wrappers below with actual signatures from REPROBUS code
+
+  SUBROUTINE init_chem_rep_trac(nbtr, nqo, name)
+    INTEGER :: nbtr, nqo
+    CHARACTER(len = 256) :: name(:)
+    CALL lmdz_reprobus_wrapper_abort
+  END SUBROUTINE init_chem_rep_trac
+
+  SUBROUTINE init_chem_rep_phys(klon, klev)
+    INTEGER :: klon, klev
+    CALL lmdz_reprobus_wrapper_abort
+  END SUBROUTINE init_chem_rep_phys
+
+  SUBROUTINE init_chem_rep_xjour(j)
+    REAL :: j
+    CALL lmdz_reprobus_wrapper_abort
+  END SUBROUTINE init_chem_rep_xjour
+
+#endif
+END MODULE lmdz_reprobus_wrappers
Index: LMDZ6/trunk/libf/phy_common/physics_distribution_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phy_common/physics_distribution_mod.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phy_common/physics_distribution_mod.F90	(revision 5252)
@@ -14,8 +14,6 @@
   USE dimphy, ONLY : Init_dimphy
   USE infotrac_phy, ONLY : type_trac
-#ifdef REPROBUS
-  USE CHEM_REP, ONLY : Init_chem_rep_phys
-#endif
-  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
+  USE lmdz_reprobus_wrappers, ONLY : Init_chem_rep_phys
+  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS
 
   IMPLICIT NONE
@@ -38,8 +36,8 @@
 END IF
 
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
 ! Initialization of Reprobus
     IF (type_trac == 'repr') CALL Init_chem_rep_phys(klon_omp,nbp_lev)
-#endif
+END IF
 
 !$OMP END PARALLEL
@@ -53,5 +51,5 @@
 !  USE infotrac_phy, ONLY : type_trac
 !#ifdef REPROBUS
-!  USE CHEM_REP, ONLY : Init_chem_rep_phys
+!  USE lmdz_reprobus_wrappers, ONLY : Init_chem_rep_phys
 !#endif
 
Index: LMDZ6/trunk/libf/phylmd/conf_phys_m.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/conf_phys_m.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmd/conf_phys_m.F90	(revision 5252)
@@ -35,4 +35,5 @@
     USE phys_state_var_mod, ONLY: phys_tstep
     USE infotrac_phy, ONLY: type_trac
+    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_STRATAER
 
     INCLUDE "conema3.h"
@@ -2598,14 +2599,14 @@
 !       CALL abort_physic('conf_phys','ok_suntime_rrtm=y and solaire is provided',1)
 !    ENDIF
-#ifdef CPP_StratAer
-    IF (iflag_rrtm .NE. 1) THEN 
+IF (CPPKEY_STRATAER) THEN
+    IF (iflag_rrtm .NE. 1) THEN
        WRITE(lunout,*) ' ERROR iflag_rrtm<>1 but StratAer activated'
        CALL abort_physic('conf_phys','iflag_rrtm not valid for StratAer',1)
     ENDIF
-    IF (NSW .NE. 6) THEN 
+    IF (NSW .NE. 6) THEN
        WRITE(lunout,*) ' ERROR NSW<>6 but StratAer activated'
        CALL abort_physic('conf_phys','NSW not valid for StratAer',1)
     ENDIF
-#endif
+END IF
 
     !--test on ocean surface albedo
Index: LMDZ6/trunk/libf/phylmd/infotrac_phy.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 5252)
@@ -19,8 +19,6 @@
    PUBLIC :: new2oldH2O                                    !--- For backwards compatibility in phyetat0
    PUBLIC :: addPhase, delPhase                            !--- Add/remove the phase from the name of a tracer
-#if defined CPP_StratAer || defined REPROBUS
    PUBLIC :: nbtr_bin, nbtr_sulgas                         !--- Number of aerosols bins and sulfur gases for StratAer model
    PUBLIC :: id_OCS_strat, id_SO2_strat, id_H2SO4_strat, id_BIN01_strat, id_TEST_strat
-#endif
 
    !=== FOR ISOTOPES: General
@@ -123,5 +121,4 @@
 !$OMP THREADPRIVATE(conv_flg, pbl_flg)
 
-#if defined CPP_StratAer || defined REPROBUS
   !=== SPECIFIC TO STRATOSPHERIC AEROSOLS (CK/OB)
   INTEGER, SAVE ::  nbtr_bin, nbtr_sulgas         !--- number of aerosols bins and sulfur gases for StratAer model
@@ -129,5 +126,4 @@
   INTEGER, SAVE ::  id_OCS_strat, id_SO2_strat, id_H2SO4_strat, id_BIN01_strat, id_TEST_strat
 !$OMP THREADPRIVATE(id_OCS_strat, id_SO2_strat, id_H2SO4_strat, id_BIN01_strat, id_TEST_strat)
-#endif
 
 CONTAINS
@@ -135,8 +131,6 @@
 SUBROUTINE init_infotrac_phy
    USE ioipsl_getin_p_mod, ONLY: getin_p
-#ifdef REPROBUS
-   USE CHEM_REP, ONLY: Init_chem_rep_trac
-#endif
-   USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
+   USE lmdz_reprobus_wrappers, ONLY: Init_chem_rep_trac
+   USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS, CPPKEY_STRATAER
    IMPLICIT NONE
 !==============================================================================================================================
@@ -169,7 +163,5 @@
    CHARACTER(LEN=8), ALLOCATABLE :: solsym_inca(:)                   !--- Tracers names for INCA
    INTEGER :: nqINCA
-#ifdef CPP_StratAer
    CHARACTER(LEN=maxlen), ALLOCATABLE :: tnames(:)
-#endif
    CHARACTER(LEN=2)      ::   suff(9)                                !--- Suffixes for schemes of order 3 or 4 (Prather)
    CHARACTER(LEN=3)      :: descrq(30)                               !--- Advection scheme description tags
@@ -227,11 +219,11 @@
 END IF
       CASE('repr')
-#ifndef REPROBUS
+IF (.NOT. CPPKEY_REPROBUS) THEN
          CALL abort_physic(modname, 'You must add cpp key REPROBUS and compile with REPROBUS code', 1)
-#endif
+END IF
       CASE('coag')
-#ifndef CPP_StratAer
+IF (.NOT. CPPKEY_STRATAER) THEN
          CALL abort_physic(modname, 'You must add cpp key StratAer and compile with StratAer code', 1)
-#endif
+END IF
    END SELECT
 !##############################################################################################################################
@@ -314,7 +306,7 @@
    !---------------------------------------------------------------------------------------------------------------------------
 
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
    CALL Init_chem_rep_trac(nbtr, nqo, tracers(:)%name)                         !--- Transfert the number of tracers to Reprobus
-#endif
+END IF
 
 !##############################################################################################################################
@@ -443,5 +435,5 @@
    CALL msg('iso_iName = '//strStack(int2str(PACK(tracers(:)%iso_iName, MASK=tracers(:)%iso_iGroup==iH2O))), modname)
 #endif
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
    IF (type_trac == 'coag') THEN
       nbtr_bin    = COUNT([(tracers(iq)%name(1:3)=='BIN', iq=1, nqtot)])
@@ -461,5 +453,5 @@
       CALL msg('id_TEST_strat  ='//TRIM(int2str(id_TEST_strat )), modname)
    END IF
-#endif
+END IF
    CALL msg('end', modname)
 
Index: LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90	(revision 5252)
@@ -3,4 +3,5 @@
 !
       MODULE phys_local_var_mod
+            USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_STRATAER
 ! Variables locales pour effectuer les appels en serie
 !======================================================================
@@ -701,10 +702,4 @@
       !$OMP THREADPRIVATE(dqsfreez)
 
-
-      
-
-
-#ifdef CPP_StratAer
-!
 ! variables for stratospheric aerosol
       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: d_q_emiss
@@ -717,5 +712,5 @@
 !$OMP THREADPRIVATE(DENSO4)
       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:, :) :: DENSO4B
-!$OMP THREADPRIVATE(DENSO4B)      
+!$OMP THREADPRIVATE(DENSO4B)
       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: f_r_wet
 !$OMP THREADPRIVATE(f_r_wet)
@@ -802,9 +797,4 @@
       REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_sed_part
 !$OMP THREADPRIVATE(budg_sed_part)
-#endif
-#ifdef REPROBUS
-      REAL,SAVE,ALLOCATABLE    :: d_q_emiss(:,:)
-!$OMP THREADPRIVATE(d_q_emiss)
-#endif
 
 CONTAINS
@@ -821,7 +811,5 @@
 USE phys_output_var_mod
 USE phys_state_var_mod
-#ifdef CPP_StratAer
 USE infotrac_phy, ONLY : nbtr_bin
-#endif
 
 IMPLICIT NONE
@@ -1229,5 +1217,5 @@
       ALLOCATE(dqsauto(klon,klev), dqsagg(klon,klev), dqsrim(klon,klev), dqsmelt(klon,klev), dqsfreez(klon,klev))
 
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
       ALLOCATE (d_q_emiss(klon,klev))
       ALLOCATE (R2SO4(klon,klev))
@@ -1278,5 +1266,5 @@
       ALLOCATE (sulfmmr_mode(klon,klev,nbtr_bin))
       ALLOCATE (nd_mode(klon,klev,nbtr_bin))
-#endif
+END IF
 
 END SUBROUTINE phys_local_var_init
@@ -1634,5 +1622,5 @@
       DEALLOCATE(dqsauto, dqsagg, dqsrim, dqsmelt, dqsfreez)
 
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
 ! variables for strat. aerosol CK
       DEALLOCATE (d_q_emiss)
@@ -1681,5 +1669,5 @@
       DEALLOCATE (budg_h2so4_to_part)
       DEALLOCATE (budg_sed_part)
-#endif
+END IF
 
 END SUBROUTINE phys_local_var_end
Index: LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 5252)
@@ -1438,5 +1438,4 @@
     'flx_co2_land_cor', 'correction of the CO2 flux from the land', 'kg CO2 m-2 s-1', (/ ('', i=1, 10) /))
 
-#ifdef CPP_StratAer
 !--extinction coefficient
   TYPE(ctrl_out), SAVE :: o_ext_strat_550 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
@@ -1517,5 +1516,4 @@
   TYPE(ctrl_out), SAVE :: o_surf_PM25_sulf = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     'surf_PM25_sulf', 'Sulfate PM2.5 concentration at the surface', 'ug/m3', (/ ('', i=1, 10) /))
-#endif
 
 !!!!!!!!!!!!!!!!!!!!!! 3D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
Index: LMDZ6/trunk/libf/phylmd/phys_output_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_mod.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmd/phys_output_mod.F90	(revision 5252)
@@ -49,7 +49,5 @@
     ! ug Pour les sorties XIOS
     USE wxios
-#ifdef CPP_StratAer
    USE infotrac_phy, ONLY: nbtr_bin
-#endif
 #ifdef ISO
     USE isotopes_mod, ONLY: isoName,iso_HTO
@@ -58,4 +56,6 @@
 #endif
 #endif
+
+    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_STRATAER
 
     IMPLICIT NONE
@@ -171,7 +171,7 @@
     ALLOCATE(o_dtr_sscav(nqtot),o_dtr_sat(nqtot),o_dtr_uscav(nqtot))
     ALLOCATE(o_dtr_dry(nqtot),o_dtr_vdf(nqtot))
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
     ALLOCATE(o_nd_mode(nbtr_bin),o_sulfmmr_mode(nbtr_bin))
-#endif
+END IF
 #ifdef ISO
     ALLOCATE(o_xtprecip(ntraciso))
@@ -233,9 +233,9 @@
     clef_files(8) = ok_histNMC(2)
     clef_files(9) = ok_histNMC(3)
-#ifdef CPP_StratAer
-    clef_files(10)= .TRUE.
-#else
-    clef_files(10)= .FALSE.
-#endif
+    IF (CPPKEY_STRATAER) THEN
+      clef_files(10)= .TRUE.
+    ELSE
+      clef_files(10)= .FALSE.
+    END IF
 
     !sortir des fichiers "stations" si clef_stations(:)=.TRUE.
@@ -545,5 +545,5 @@
             tnam = 'cum'//TRIM(tracers(iq)%name); o_trac_cum(itr) = ctrl_out(flag, tnam, lnam, "-", [('',i=1,nfiles)])
             
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
             if(tracers(iq)%name(1:3)=='BIN') then
                itrb = itrb + 1
@@ -554,5 +554,5 @@
                tnam = TRIM(tracers(iq)%name)//'_sulfmmr_mode';o_sulfmmr_mode  (itrb) = ctrl_out(flag, tnam, lnam, "kg(H2SO4)/kg(air)", [('',i=1,nfiles)])
             endif
-#endif
+END IF
          ENDDO
 
Index: LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 5252)
@@ -249,20 +249,18 @@
 #endif
 
-#ifdef CPP_StratAer
     USE infotrac_phy, ONLY: nbtr_bin
-    USE phys_output_ctrlout_mod, ONLY:  & 
+    USE phys_output_ctrlout_mod, ONLY:  &
          o_budg_3D_nucl, o_budg_3D_cond_evap, o_budg_3D_ocs_to_so2, o_budg_3D_so2_to_h2so4, &
          o_budg_sed_part, o_R2SO4, o_OCS_lifetime, o_SO2_lifetime, &
-         o_budg_3D_backgr_ocs, o_budg_3D_backgr_so2, & 
+         o_budg_3D_backgr_ocs, o_budg_3D_backgr_so2, &
          o_budg_dep_dry_ocs, o_budg_dep_wet_ocs, &
          o_budg_dep_dry_so2, o_budg_dep_wet_so2, &
          o_budg_dep_dry_h2so4, o_budg_dep_wet_h2so4, &
-         o_budg_dep_dry_part, o_budg_dep_wet_part, & 
-         o_budg_emi_ocs, o_budg_emi_so2, o_budg_emi_h2so4, o_budg_emi_part, & 
+         o_budg_dep_dry_part, o_budg_dep_wet_part, &
+         o_budg_emi_ocs, o_budg_emi_so2, o_budg_emi_h2so4, o_budg_emi_part, &
          o_budg_ocs_to_so2, o_budg_so2_to_h2so4, o_budg_h2so4_to_part, &
          o_surf_PM25_sulf, o_ext_strat_550, o_tau_strat_550, &
          o_vsed_aer, o_tau_strat_1020, o_ext_strat_1020, o_f_r_wet, &
          o_SAD_sulfate, o_reff_sulfate, o_sulfmmr, o_nd_mode, o_sulfmmr_mode
-#endif
 
     USE lmdz_lscp_ini, ONLY: ok_poprecip
@@ -411,5 +409,4 @@
          reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra
     
-#ifdef CPP_StratAer 
     USE phys_local_var_mod, ONLY:  &
          budg_3D_nucl, budg_3D_cond_evap, budg_3D_ocs_to_so2, budg_3D_so2_to_h2so4, &
@@ -425,5 +422,4 @@
          vsed_aer, tau_strat_1020, f_r_wet, &
          SAD_sulfate, reff_sulfate, sulfmmr, nd_mode, sulfmmr_mode
-#endif
 
     USE carbon_cycle_mod, ONLY: fco2_ff, fco2_bb, fco2_land, fco2_ocean
@@ -478,4 +474,5 @@
 
     USE vertical_layers_mod, ONLY: presnivs
+    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_STRATAER
 
     IMPLICIT NONE
@@ -534,8 +531,6 @@
     REAL, DIMENSION(klon,klev) :: coefh_stok 
     
-#ifdef CPP_StratAer 
     LOGICAL, PARAMETER :: debug_strataer=.FALSE.
     CHARACTER(LEN=maxlen) :: unt
-#endif
 
 #ifdef ISO
@@ -1831,5 +1826,5 @@
 ! end add ThL
 
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
        IF (type_trac=='coag') THEN
           CALL histwrite_phy(o_R2SO4, R2SO4)
@@ -1874,5 +1869,5 @@
           ENDDO !--itr
        ENDIF
-#endif
+END IF
        !NL
        IF (ok_volcan .AND. ok_ade) THEN
Index: LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 5252)
@@ -112,13 +112,11 @@
     USE time_phylmdz_mod,  ONLY: ndays
     USE infotrac_phy,      ONLY: nqCO2
-#ifdef REPROBUS
-    USE chem_rep, ONLY: Init_chem_rep_xjour, d_q_rep, d_ql_rep, d_qi_rep, &
+    USE lmdz_reprobus_wrappers, ONLY: Init_chem_rep_xjour, d_q_rep, d_ql_rep, d_qi_rep, &
                         ptrop, ttrop, ztrop, gravit, itroprep, Z1, Z2, fac, B
     USE strataer_local_var_mod
     USE strataer_emiss_mod, ONLY: strataer_emiss_init
-#endif
     USE time_phylmdz_mod,    ONLY: annee_ref, day_ini, day_ref, start_time
     USE vertical_layers_mod, ONLY: aps, bps, ap, bp
-    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
+    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS, CPPKEY_STRATAER
 
 #ifdef CPP_RRTM
@@ -127,11 +125,8 @@
 #endif
 
-
-#ifdef CPP_StratAer
     USE phys_local_var_mod, ONLY: d_q_emiss
     USE strataer_local_var_mod
     USE strataer_nuc_mod, ONLY: strataer_nuc_init
     USE strataer_emiss_mod, ONLY: strataer_emiss_init
-#endif
 
     USE lmdz_xios, ONLY: xios_update_calendar, xios_context_finalize
@@ -1882,14 +1877,14 @@
        !
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
        CALL strataer_init
        CALL strataer_emiss_init
-#endif
-
-#ifdef CPP_StratAer
+END IF
+
+IF (CPPKEY_STRATAER) THEN
        CALL strataer_init
        CALL strataer_nuc_init
        CALL strataer_emiss_init
-#endif
+END IF
 
 #ifdef CPP_Dust
@@ -2254,5 +2249,5 @@
        !
        IF (type_trac == 'repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
           CALL chemini_rep(  &
                presnivs, &
@@ -2265,5 +2260,5 @@
                io_lon, &
                io_lat)
-#endif
+END IF
        ENDIF
 
@@ -2369,9 +2364,9 @@
     ! Update time and other variables in Reprobus
     IF (type_trac == 'repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
        CALL Init_chem_rep_xjour(jD_cur-jD_ref+day_ref)
        print*,'xjour equivalent rjourvrai',jD_cur-jD_ref+day_ref
        CALL Rtime(debut)
-#endif
+END IF
     ENDIF
 
@@ -2625,5 +2620,5 @@
 
           wo(:,:,1)=ozonecm(latitude_deg, paprs,read_climoz,rjour=zzz)
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
           ptrop=dyn_tropopause(t_seri, ztsol, paprs, pplay, rot)/100.
           DO i = 1, klon
@@ -2633,5 +2628,5 @@
              B=Z2-fac*alog(pplay(i,itroprep(i)))
              ttrop(i)= fac*alog(ptrop(i))+B
-!        
+!
              Z1= 1.e-3 * ( pphi(i,itroprep(i)+1)+pphis(i) ) / gravit
              Z2= 1.e-3 * ( pphi(i,itroprep(i))  +pphis(i) ) / gravit
@@ -2640,5 +2635,5 @@
              ztrop(i)=fac*alog(ptrop(i))+B
           ENDDO
-#endif
+END IF
        ELSE
           !--- ro3i = elapsed days number since current year 1st january, 0h
@@ -4231,8 +4226,8 @@
     ENDIF !type_trac = inca or inco
     IF (type_trac == 'repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
     !CALL chemtime_rep(itap+itau_phy-1, date0, dtime, itap)
-    CALL chemtime_rep(itap+itau_phy-1, date0, phys_tstep, itap) 
-#endif
+    CALL chemtime_rep(itap+itau_phy-1, date0, phys_tstep, itap)
+END IF
     ENDIF
 
@@ -4370,6 +4365,6 @@
           ELSE
 #ifdef CPP_RRTM
-#ifndef CPP_StratAer
-          !--prescribed strat aerosols 
+IF (.NOT. CPPKEY_STRATAER) THEN
+          !--prescribed strat aerosols
           !--only in the case of non-interactive strat aerosols
             IF (flag_aerosol_strat.EQ.1) THEN
@@ -4381,5 +4376,5 @@
              CALL abort_physic(modname,abort_message,1)
             ENDIF
-#endif
+END IF
 #else
              abort_message='You should compile with -rrtm if running ' &
@@ -4393,10 +4388,10 @@
 !
 #ifdef CPP_RRTM
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
        !--compute stratospheric mask
        CALL stratosphere_mask(missing_val, pphis, t_seri, pplay, latitude_deg)
        !--interactive strat aerosols
        CALL calcaerosolstrato_rrtm(pplay,t_seri,paprs,debut)
-#endif
+END IF
 #endif
        !--fin STRAT AEROSOL
@@ -5011,10 +5006,11 @@
     IF (ok_qch4) THEN
 !      d_q_ch4: H2O source from CH4 in MMR/s (mass mixing ratio/s or kg H2O/kg air/s)
-#ifdef CPP_StratAer
+    IF (CPPKEY_STRATAER) THEN
+
        CALL stratH2O_methox(debut,paprs,d_q_ch4)
-#else
+    ELSE
 !      ECMWF routine METHOX
        CALL METHOX(1,klon,klon,klev,q_seri,d_q_ch4,pplay)
-#endif
+    END IF
        ! add humidity tendency due to methane
        d_q_ch4_dtime(:,:) = d_q_ch4(:,:)*phys_tstep
@@ -5025,5 +5021,5 @@
     !
     !
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
     IF (ok_qemiss) THEN
        flh2o=1
@@ -5033,5 +5029,5 @@
           print *,'IN physiq_mod: nAerErupt=',nAerErupt
        ENDIF
-       
+
        SELECT CASE(flag_emit)
        CASE(1) ! emission volc H2O in LMDZ
@@ -5041,5 +5037,5 @@
                   day_cur>=day_emit_vol(ieru).AND.&
                   day_cur<(day_emit_vol(ieru)+injdur)) THEN
-                
+
                 IF(flag_verbose_strataer) print *,'IN physiq_mod: date=',year_cur,mth_cur,day_cur
                 ! initialisation of q tendency emission
@@ -5056,8 +5052,8 @@
                     altemiss_vol(ieru),sigma_alt_vol(ieru),1,1.,&
                     nAerErupt+1,0)
-                
+
                 IF(flag_verbose_strataer) print *,'IN physiq_mod: min max d_q_emiss=',&
                      minval(d_q_emiss),maxval(d_q_emiss)
-                
+
                 CALL add_phys_tend(du0, dv0, dt0, d_q_emiss, dql0, dqi0, dqbs0, paprs, &
                      'q_emiss',abortphy,flag_inhib_tend,itap,0)
@@ -5068,5 +5064,5 @@
        END SELECT ! emission scenario (flag_emit)
     ENDIF
-#endif
+END IF
 
 !===============================================================
@@ -5305,9 +5301,9 @@
 !MM                               dans Reprobus
        sh_in(:,:) = q_seri(:,:)
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
        d_q_rep(:,:) = 0.
        d_ql_rep(:,:) = 0.
        d_qi_rep(:,:) = 0.
-#endif
+END IF
     ELSE
        sh_in(:,:) = qx(:,:,ivap)
@@ -5362,5 +5358,5 @@
          d_tr_dyn, &                                 !<<RomP
          tr_seri, init_source)
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
 
 
@@ -5374,5 +5370,5 @@
           print*,'apr add phys rep',abortphy
 
-#endif
+END IF
     ENDIF    ! (iflag_phytrac=1)
 
@@ -5443,5 +5439,5 @@
     ENDDO
 
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
     IF (ok_qemiss) THEN
        DO k = 1, klev
@@ -5449,5 +5445,5 @@
        ENDDO
     ENDIF
-#endif
+END IF
     IF (ok_qch4) THEN
        DO k = 1, klev
@@ -5548,7 +5544,7 @@
 
     IF (type_trac == 'repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
         CALL coord_hyb_rep(paprs, pplay, aps, bps, ap, bp, cell_area)
-#endif
+END IF
     ENDIF
 
Index: LMDZ6/trunk/libf/phylmd/phytrac_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phytrac_mod.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmd/phytrac_mod.F90	(revision 5252)
@@ -139,5 +139,4 @@
     USE tracco2i_mod
 
-#ifdef CPP_StratAer
     USE traccoag_mod
     USE phys_local_var_mod, ONLY: mdw
@@ -149,5 +148,6 @@
     USE strataer_nuc_mod, ONLY : tracstrataer_init
     USE aerophys
-#endif
+
+    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_STRATAER
 
     IMPLICIT NONE
@@ -284,7 +284,5 @@
     REAL,DIMENSION(klon,nbsrf),INTENT(IN) :: pctsrf ! Pourcentage de sol (nature du sol)
 
-#ifdef CPP_StratAer
     REAL,DIMENSION(klon)           :: v_dep_dry !dry deposition velocity of stratospheric sulfate in m/s
-#endif
     ! Output argument
     !----------------
@@ -513,9 +511,9 @@
           iflag_vdf_trac = 1                              ! From CO2i
           iflag_con_trac = 1                              ! From CO2i
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
        ELSE IF (type_trac == 'coag') THEN
           source(:,:)=0.
           CALL tracstrataer_init(aerosol,lessivage)       ! init aerosols and lessivage param
-#endif
+END IF
        ELSE IF (type_trac == 'lmdz') THEN
           CALL traclmdz_init(pctsrf,xlat,xlon,ftsol,tr_seri,t_seri,pplay,sh,pdtphys,aerosol,lessivage)
@@ -564,9 +562,9 @@
              ELSE IF (type_trac == 'inco') THEN     ! Add ThL
                 flag_cvltr(it)=.FALSE.
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
              ELSE IF (type_trac == 'coag') THEN
                 IF (convscav.and.aerosol(it)) THEN
                    flag_cvltr(it)=.TRUE.
-                   ccntrAA(it) =ccntrAA_in    
+                   ccntrAA(it) =ccntrAA_in
                    ccntrENV(it)=ccntrENV_in
                    coefcoli(it)=coefcoli_in
@@ -574,5 +572,5 @@
                    flag_cvltr(it)=.FALSE.
                 ENDIF
-#endif
+END IF
              ELSE IF (type_trac == 'lmdz') THEN
                 IF (convscav.and.aerosol(it)) THEN
@@ -658,5 +656,5 @@
             t_seri, pplay, paprs, tr_seri, source)
 
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
     ELSE IF (type_trac == 'coag') THEN
        !   --STRATOSPHERIC AER IN THE STRAT --
@@ -665,5 +663,5 @@
             t_seri, pplay, paprs, sh, rh , &
             tr_seri)
-#endif
+END IF
     ELSE IF (type_trac == 'lmdz') THEN
        !    -- Traitement des traceurs avec traclmdz
@@ -739,5 +737,5 @@
        ENDDO ! nbtr
 
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
        IF (type_trac=='coag') THEN
          ! initialize wet deposition flux of sulfur
@@ -770,5 +768,5 @@
          ENDDO
        ENDIF
-#endif
+END IF
 
     ENDIF ! convection
@@ -820,5 +818,5 @@
        !  Injection during BL mixing
        !
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
        IF (type_trac=='coag') THEN
 
@@ -844,5 +842,5 @@
 
        ENDIF
-#endif
+END IF
 
        DO it=1, nbtr
@@ -857,5 +855,5 @@
              tr_seri(:,:,it)=tr_seri(:,:,it)+d_tr_cl(:,:,it)
              !
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
              IF (type_trac=='coag') THEN
                ! compute dry deposition flux of sulfur (sum over gases and particles)
@@ -871,5 +869,5 @@
                ENDIF
              ENDIF
-#endif
+END IF
              !
           ENDIF
@@ -938,5 +936,5 @@
           ENDDO  !tr
 
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
          IF (type_trac=='coag') THEN
            ! compute wet deposition flux of sulfur (sum over gases and
@@ -964,5 +962,5 @@
            ENDDO
          ENDIF
-#endif
+END IF
 
        ELSE IF (iflag_lscav .EQ. 2) THEN ! frac_impa, frac_nucl
Index: LMDZ6/trunk/libf/phylmd/radiation_AR4.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/radiation_AR4.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmd/radiation_AR4.F90	(revision 5252)
@@ -480,8 +480,7 @@
   USE radiation_ar4_param, ONLY: rsun, rray
   USE infotrac_phy, ONLY: type_trac
-#ifdef REPROBUS
-  USE chem_rep, ONLY: rsuntime, ok_suntime
+  USE lmdz_reprobus_wrappers, ONLY: rsuntime, ok_suntime
   USE print_control_mod, ONLY: lunout
-#endif
+  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_REPROBUS
 
   IMPLICIT NONE
@@ -572,5 +571,5 @@
   ! Otherwise keep default values from radiation_AR4_param module.
   IF (type_trac=='repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
     IF (ok_suntime) THEN
       rsun(1) = rsuntime(1)
@@ -578,5 +577,5 @@
     END IF
     WRITE (lunout, *) 'RSUN(1): ', rsun(1)
-#endif
+END IF
   END IF
 
@@ -702,7 +701,6 @@
   USE radiation_ar4_param, ONLY: rsun, rray
   USE infotrac_phy, ONLY: type_trac
-#ifdef REPROBUS
-  USE chem_rep, ONLY: rsuntime, ok_suntime
-#endif
+  USE lmdz_reprobus_wrappers, ONLY: rsuntime, ok_suntime
+  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_REPROBUS
 
   IMPLICIT NONE
@@ -826,10 +824,10 @@
   ! Otherwise keep default values from radiation_AR4_param module.
   IF (type_trac=='repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
     IF (ok_suntime) THEN
       rsun(1) = rsuntime(1)
       rsun(2) = rsuntime(2)
     END IF
-#endif
+END IF
   END IF
 
@@ -2314,7 +2312,6 @@
   USE radiation_ar4_param, ONLY: tref, rt1, raer, at, bt, oct
   USE infotrac_phy, ONLY: type_trac
-#ifdef REPROBUS
-  USE chem_rep, ONLY: rch42d, rn2o2d, rcfc112d, rcfc122d, ok_rtime2d
-#endif
+  USE lmdz_reprobus_wrappers, ONLY: rch42d, rn2o2d, rcfc112d, rcfc122d, ok_rtime2d
+  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_REPROBUS
 
   IMPLICIT NONE
@@ -2622,5 +2619,5 @@
 
         IF (type_trac=='repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
           IF (ok_rtime2d) THEN
             pabcu(jl, 19, jc) = pabcu(jl, 19, jcp1) + &
@@ -2653,5 +2650,5 @@
               zably(jl, 8, jc)*rcfc12/rco2*zdiff
           END IF
-#endif
+END IF
         ELSE
           pabcu(jl, 19, jc) = pabcu(jl, 19, jcp1) + &
Index: LMDZ6/trunk/libf/phylmd/radlwsw_m.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/radlwsw_m.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmd/radlwsw_m.F90	(revision 5252)
@@ -53,7 +53,6 @@
     USE write_field_phy
 
-#ifdef REPROBUS
-    USE CHEM_REP, ONLY : solaireTIME, ok_SUNTIME, ndimozon
-#endif
+    USE lmdz_reprobus_wrappers, ONLY : solaireTIME, ok_SUNTIME, ndimozon
+    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_REPROBUS
 
 #ifdef CPP_RRTM
@@ -561,10 +560,10 @@
 
     IF (type_trac == 'repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
        IF (iflag_rrtm==0) THEN
           IF (ok_SUNTIME) PSCT = solaireTIME/zdist/zdist
           print*,'Constante solaire: ',PSCT*zdist*zdist
        ENDIF
-#endif
+END IF
     ENDIF
 
@@ -645,8 +644,8 @@
 
        IF (type_trac == 'repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
           ndimozon = size(wo, 3)
           CALL RAD_INTERACTIF(POZON,iof)
-#endif
+END IF
        ENDIF
        !
Index: LMDZ6/trunk/libf/phylmd/rrtm/lwu.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/rrtm/lwu.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmd/rrtm/lwu.F90	(revision 5252)
@@ -6,5 +6,5 @@
  & PAER , PCCO2, PDP , PPMB, PQOF , PTAVE, PVIEW, PWV,&
  & PABCU &
- & )  
+ & )
 
 !**** *LWU* - LONGWAVE EFFECTIVE ABSORBER AMOUNTS
@@ -71,28 +71,26 @@
 USE YOELW    , ONLY : NSIL     ,NUA      ,NG1      ,NG1P1    ,&
  & ALWT     ,BLWT     ,RO3T     ,RT1      ,TREF     ,&
- & RVGCO2   ,RVGH2O   ,RVGO3  
+ & RVGCO2   ,RVGH2O   ,RVGO3
 !USE YOERDI   , ONLY : RCH4     ,RN2O     ,RCFC11   ,RCFC12
 USE YOERDU   , ONLY : R10E     ,REPSCO   ,REPSCQ
-#ifdef REPROBUS
-USE chem_rep, ONLY: rch42d, rn2o2d, rcfc112d, rcfc122d, ok_rtime2d
+USE lmdz_reprobus_wrappers, ONLY: rch42d, rn2o2d, rcfc112d, rcfc122d, ok_rtime2d
 USE infotrac_phy, ONLY : type_trac
-#endif
-
+USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_REPROBUS
 
 IMPLICIT NONE
 
-INTEGER(KIND=JPIM),INTENT(IN)    :: KLON 
-INTEGER(KIND=JPIM),INTENT(IN)    :: KLEV 
-INTEGER(KIND=JPIM),INTENT(IN)    :: KIDIA 
-INTEGER(KIND=JPIM),INTENT(IN)    :: KFDIA 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PAER(KLON,6,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PCCO2 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PDP(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PPMB(KLON,KLEV+1) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PQOF(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PTAVE(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PVIEW(KLON) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PWV(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PABCU(KLON,NUA,3*KLEV+1) 
+INTEGER(KIND=JPIM),INTENT(IN)    :: KLON
+INTEGER(KIND=JPIM),INTENT(IN)    :: KLEV
+INTEGER(KIND=JPIM),INTENT(IN)    :: KIDIA
+INTEGER(KIND=JPIM),INTENT(IN)    :: KFDIA
+REAL(KIND=JPRB)   ,INTENT(IN)    :: PAER(KLON,6,KLEV)
+REAL(KIND=JPRB)   ,INTENT(IN)    :: PCCO2
+REAL(KIND=JPRB)   ,INTENT(IN)    :: PDP(KLON,KLEV)
+REAL(KIND=JPRB)   ,INTENT(IN)    :: PPMB(KLON,KLEV+1)
+REAL(KIND=JPRB)   ,INTENT(IN)    :: PQOF(KLON,KLEV)
+REAL(KIND=JPRB)   ,INTENT(IN)    :: PTAVE(KLON,KLEV)
+REAL(KIND=JPRB)   ,INTENT(IN)    :: PVIEW(KLON)
+REAL(KIND=JPRB)   ,INTENT(IN)    :: PWV(KLON,KLEV)
+REAL(KIND=JPRB)   ,INTENT(OUT)   :: PABCU(KLON,NUA,3*KLEV+1)
 
 #include "clesphys.h"
@@ -107,15 +105,15 @@
 REAL(KIND=JPRB) :: ZABLY(KLON,7,3*KLEV+1)  , ZDPM(KLON,3*KLEV)&
  & ,  ZDUC(KLON, 3*KLEV+1)    , ZFACT(KLON)&
- & ,  ZUPM(KLON,3*KLEV)  
+ & ,  ZUPM(KLON,3*KLEV)
 REAL(KIND=JPRB) :: ZPHIO(KLON),ZPSC2(KLON) , ZPSC3(KLON), ZPSH1(KLON)&
  & ,  ZPSH2(KLON),ZPSH3(KLON) , ZPSH4(KLON), ZPSH5(KLON)&
  & ,  ZPSH6(KLON),ZPSIO(KLON) , ZTCON(KLON)&
- & ,  ZPHM6(KLON),ZPSM6(KLON) , ZPHN6(KLON), ZPSN6(KLON)  
+ & ,  ZPHM6(KLON),ZPSM6(KLON) , ZPHN6(KLON), ZPSN6(KLON)
 REAL(KIND=JPRB) :: ZSSIG(KLON,3*KLEV+1)    , ZTAVI(KLON)&
- & ,  ZUAER(KLON,NSIL)        , ZXOZ(KLON) , ZXWV(KLON)  
+ & ,  ZUAER(KLON,NSIL)        , ZXOZ(KLON) , ZXWV(KLON)
 
 INTEGER(KIND=JPIM) :: IAE1, IAE2, IAE3, IC, ICP1, IG1, IJ, IJPN,&
  & IKIP1, IKJ, IKJP, IKJPN, IKJR, IKL, JA, JAE, &
- & JK, JKI, JKK, JL  
+ & JK, JKI, JKK, JL
 
 REAL(KIND=JPRB) :: ZALUP, ZCAC8, ZCAH1, ZCAH2, ZCAH3, ZCAH4,&
@@ -123,5 +121,5 @@
  & ZCBH4, ZCBH5, ZCBH6, ZDIFF, ZDPMG, ZDPMP0, &
  & ZFPPW, ZTX, ZTX2, ZU6, ZUP, ZUPMCO2, ZUPMG, &
- & ZUPMH2O, ZUPMO3, ZZABLY  
+ & ZUPMH2O, ZUPMO3, ZZABLY
 REAL(KIND=JPRB) :: ZHOOK_HANDLE
 
@@ -153,5 +151,5 @@
     DO JL = KIDIA,KFDIA
       ZSSIG(JL,IKJ)= (ZSSIG(JL,IKJR) + ZSSIG(JL,IKJP)) * 0.5_JPRB &
-       & + RT1(IG1) * (ZSSIG(JL,IKJP) - ZSSIG(JL,IKJR)) * 0.5_JPRB  
+       & + RT1(IG1) * (ZSSIG(JL,IKJP) - ZSSIG(JL,IKJR)) * 0.5_JPRB
     ENDDO
   ENDDO
@@ -237,5 +235,5 @@
        & +RAER(JAE,3)*PAER(JL,3,JK)+RAER(JAE,4)*PAER(JL,4,JK)&
        & +RAER(JAE,5)*PAER(JL,5,JK)+RAER(JAE,6)*PAER(JL,6,JK))&
-       & /(ZDUC(JL,IAE1)+ZDUC(JL,IAE2)+ZDUC(JL,IAE3))  
+       & /(ZDUC(JL,IAE1)+ZDUC(JL,IAE2)+ZDUC(JL,IAE3))
     ENDDO
   ENDDO
@@ -297,8 +295,8 @@
     DO JL = KIDIA,KFDIA
       ZDIFF = PVIEW(JL)
-!- H2O continuum      
+!- H2O continuum
       PABCU(JL,10,IC)=PABCU(JL,10,ICP1)+ ZABLY(JL,4,IC)          *ZDIFF
       PABCU(JL,11,IC)=PABCU(JL,11,ICP1)+ ZABLY(JL,5,IC)*ZTCON(JL)*ZDIFF
-!- O3      
+!- O3
       PABCU(JL,12,IC)=PABCU(JL,12,ICP1)+ ZABLY(JL,6,IC)*ZPHIO(JL)*ZDIFF
       PABCU(JL,13,IC)=PABCU(JL,13,ICP1)+ ZABLY(JL,7,IC)*ZPSIO(JL)*ZDIFF
@@ -320,6 +318,5 @@
       PABCU(JL,17,IC)=PABCU(JL,17,ICP1)+ ZUAER(JL,4)    *ZDUC(JL,IC)*ZDIFF
       PABCU(JL,18,IC)=PABCU(JL,18,ICP1)+ ZUAER(JL,5)    *ZDUC(JL,IC)*ZDIFF
-#ifdef REPROBUS
-        IF (type_trac=='repr'.and. ok_rtime2d) THEN
+        IF (CPPKEY_REPROBUS .AND. type_trac=='repr'.AND. ok_rtime2d) THEN
 !- CH4
       PABCU(JL,19,IC)=PABCU(JL,19,ICP1)&
@@ -340,24 +337,21 @@
 
          ELSE
-#endif
 !- CH4
       PABCU(JL,19,IC)=PABCU(JL,19,ICP1)&
-       & + ZABLY(JL,2,IC)*RCH4/PCCO2*ZPHM6(JL)*ZDIFF  
+       & + ZABLY(JL,2,IC)*RCH4/PCCO2*ZPHM6(JL)*ZDIFF
       PABCU(JL,20,IC)=PABCU(JL,20,ICP1)&
-       & + ZABLY(JL,3,IC)*RCH4/PCCO2*ZPSM6(JL)*ZDIFF  
+       & + ZABLY(JL,3,IC)*RCH4/PCCO2*ZPSM6(JL)*ZDIFF
 !- N2O
       PABCU(JL,21,IC)=PABCU(JL,21,ICP1)&
-       & + ZABLY(JL,2,IC)*RN2O/PCCO2*ZPHN6(JL)*ZDIFF  
+       & + ZABLY(JL,2,IC)*RN2O/PCCO2*ZPHN6(JL)*ZDIFF
       PABCU(JL,22,IC)=PABCU(JL,22,ICP1)&
-       & + ZABLY(JL,3,IC)*RN2O/PCCO2*ZPSN6(JL)*ZDIFF  
+       & + ZABLY(JL,3,IC)*RN2O/PCCO2*ZPSN6(JL)*ZDIFF
 !- CFC11
       PABCU(JL,23,IC)=PABCU(JL,23,ICP1)&
-       & + ZABLY(JL,2,IC)*RCFC11/PCCO2        *ZDIFF  
+       & + ZABLY(JL,2,IC)*RCFC11/PCCO2        *ZDIFF
 !- CFC12
       PABCU(JL,24,IC)=PABCU(JL,24,ICP1)&
-       & + ZABLY(JL,2,IC)*RCFC12/PCCO2        *ZDIFF  
-#ifdef REPROBUS
+       & + ZABLY(JL,2,IC)*RCFC12/PCCO2        *ZDIFF
         END IF
-#endif
     ENDDO
   ENDDO
Index: LMDZ6/trunk/libf/phylmd/tracreprobus_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/tracreprobus_mod.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmd/tracreprobus_mod.F90	(revision 5252)
@@ -13,10 +13,9 @@
     USE dimphy
     USE infotrac_phy, ONLY: nbtr
-#ifdef REPROBUS 
-    USE CHEM_REP, ONLY : pdt_rep, &  ! pas de temps reprobus
+    USE lmdz_reprobus_wrappers, ONLY : pdt_rep, &  ! pas de temps reprobus
          daynum, iter, &             ! jourjulien, iteration chimie
          pdel,&
          d_q_rep,d_ql_rep,d_qi_rep
-#endif
+    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_REPROBUS
     IMPLICIT NONE
 
@@ -49,5 +48,5 @@
     INTEGER :: it, k, niter
 
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
     !   -- CHIMIE REPROBUS --
 !    pdt_rep=pdtphys/2.
@@ -87,5 +86,5 @@
 !       ENDDO
        
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
        CALL chemmain_rlong_1401( &
             tr_seri, & !argument phytrac (change de nom apres: vmr)
@@ -117,8 +116,8 @@
 !       ENDDO
 
-#endif        
+END IF
        
     END DO
-#endif
+END IF
   END SUBROUTINE tracreprobus
 
Index: LMDZ6/trunk/libf/phylmd/tropopause_m.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/tropopause_m.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmd/tropopause_m.F90	(revision 5252)
@@ -17,7 +17,6 @@
   USE geometry_mod, ONLY: latitude_deg, longitude_deg
   USE vertical_layers_mod, ONLY: aps, bps, preff
-#ifdef REPROBUS
-  USE chem_rep, ONLY: itroprep
-#endif
+  USE lmdz_reprobus_wrappers, ONLY: itroprep
+  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_REPROBUS
 
 !-------------------------------------------------------------------------------
@@ -111,7 +110,7 @@
       DO kt=1,klev-1; IF(pplay(i,kt+1)>dyn_tropopause(i)) EXIT; END DO; kp=kt
     END IF
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
     itroprep(i)=MAX(kt,kp)
-#endif
+END IF
     !--- LAST TROPOSPHERIC LAYER INDEX NEEDED
     IF(PRESENT(itrop)) itrop(i)=MAX(kt,kp)
Index: LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90	(revision 5251)
+++ LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90	(revision 5252)
@@ -112,10 +112,8 @@
     USE time_phylmdz_mod,  ONLY: ndays
     USE infotrac_phy,      ONLY: nqCO2
-#ifdef REPROBUS
-    USE chem_rep, ONLY: Init_chem_rep_xjour, d_q_rep, d_ql_rep, d_qi_rep, &
+    USE lmdz_reprobus_wrappers, ONLY: Init_chem_rep_xjour, d_q_rep, d_ql_rep, d_qi_rep, &
                         ptrop, ttrop, ztrop, gravit, itroprep, Z1, Z2, fac, B
     USE strataer_local_var_mod
     USE strataer_emiss_mod, ONLY: strataer_emiss_init
-#endif
     USE time_phylmdz_mod,    ONLY: annee_ref, day_ini, day_ref, start_time
     USE vertical_layers_mod, ONLY: aps, bps, ap, bp
@@ -128,10 +126,8 @@
 
 
-#ifdef CPP_StratAer
     USE phys_local_var_mod, ONLY: d_q_emiss
     USE strataer_local_var_mod
     USE strataer_nuc_mod, ONLY: strataer_nuc_init
     USE strataer_emiss_mod, ONLY: strataer_emiss_init
-#endif
 
     USE lmdz_xios, ONLY: xios_update_calendar, xios_context_finalize
@@ -437,5 +433,5 @@
        reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra
        USE output_physiqex_mod, ONLY: output_physiqex
-       USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
+       USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS, CPPKEY_STRATAER
 
 
@@ -1515,14 +1511,15 @@
           CALL regr_horiz_time_climoz(read_climoz,ok_daily_climoz)
 
-#ifdef REPROBUS
-       CALL strataer_init
-       CALL strataer_emiss_init
-#endif
-
-#ifdef CPP_StratAer
-       CALL strataer_init
-       CALL strataer_nuc_init
-       CALL strataer_emiss_init
-#endif
+       IF (CPPKEY_STRATAER .OR. CPPKEY_REPROBUS) THEN
+#ifdef ISO
+CALL abort_gcm("physiq_mod", "StratAer isn't ISO-compatible for now, 07/24",1)
+#else
+         CALL strataer_init
+         CALL strataer_emiss_init
+         IF (CPPKEY_STRATAER) THEN
+           CALL strataer_nuc_init
+         END IF
+#endif
+       END IF
 
        print*, '================================================='
@@ -2417,5 +2414,5 @@
        !
        IF (type_trac == 'repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
           CALL chemini_rep(  &
                presnivs, &
@@ -2428,5 +2425,5 @@
                io_lon, &
                io_lat)
-#endif
+END IF
        ENDIF
 
@@ -2536,9 +2533,9 @@
     ! Update time and other variables in Reprobus
     IF (type_trac == 'repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
        CALL Init_chem_rep_xjour(jD_cur-jD_ref+day_ref)
        print*,'xjour equivalent rjourvrai',jD_cur-jD_ref+day_ref
        CALL Rtime(debut)
-#endif
+END IF
     ENDIF
 
@@ -2985,5 +2982,5 @@
 
           wo(:,:,1)=ozonecm(latitude_deg, paprs,read_climoz,rjour=zzz)
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
           ptrop=dyn_tropopause(t_seri, ztsol, paprs, pplay, rot)/100.
           DO i = 1, klon
@@ -2993,5 +2990,5 @@
              B=Z2-fac*alog(pplay(i,itroprep(i)))
              ttrop(i)= fac*alog(ptrop(i))+B
-!        
+!
              Z1= 1.e-3 * ( pphi(i,itroprep(i)+1)+pphis(i) ) / gravit
              Z2= 1.e-3 * ( pphi(i,itroprep(i))  +pphis(i) ) / gravit
@@ -3000,5 +2997,5 @@
              ztrop(i)=fac*alog(ptrop(i))+B
           ENDDO
-#endif
+END IF
        ELSE
           !--- ro3i = elapsed days number since current year 1st january, 0h
@@ -5686,8 +5683,8 @@
     ENDIF !type_trac = inca or inco
     IF (type_trac == 'repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
     !CALL chemtime_rep(itap+itau_phy-1, date0, dtime, itap)
-    CALL chemtime_rep(itap+itau_phy-1, date0, phys_tstep, itap) 
-#endif
+    CALL chemtime_rep(itap+itau_phy-1, date0, phys_tstep, itap)
+END IF
     ENDIF
 
@@ -5824,6 +5821,6 @@
           ELSE
 #ifdef CPP_RRTM
-#ifndef CPP_StratAer
-          !--prescribed strat aerosols 
+IF (.NOT. CPPKEY_STRATAER) THEN
+          !--prescribed strat aerosols
           !--only in the case of non-interactive strat aerosols
             IF (flag_aerosol_strat.EQ.1) THEN
@@ -5835,5 +5832,5 @@
              CALL abort_physic(modname,abort_message,1)
             ENDIF
-#endif
+END IF
 #else
              abort_message='You should compile with -rrtm if running ' &
@@ -5847,5 +5844,8 @@
 !
 #ifdef CPP_RRTM
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
+#ifdef ISO
+CALL abort_gcm("physiq_mod", "StratAer isn't ISO-compatible for now, 07/24",1)
+#else
        !--compute stratospheric mask
        CALL stratosphere_mask(missing_val, pphis, t_seri, pplay, latitude_deg)
@@ -5853,4 +5853,5 @@
        CALL calcaerosolstrato_rrtm(pplay,t_seri,paprs,debut)
 #endif
+END IF
 #endif
        !--fin STRAT AEROSOL
@@ -6494,10 +6495,14 @@
     IF (ok_qch4) THEN
 !      d_q_ch4: H2O source from CH4 in MMR/s (mass mixing ratio/s or kg H2O/kg air/s)
-#ifdef CPP_StratAer
+    IF (CPPKEY_STRATAER) THEN
+#ifdef ISO
+CALL abort_gcm("physiq_mod", "StratAer isn't ISO-compatible for now, 07/24",1)
+#else
        CALL stratH2O_methox(debut,paprs,d_q_ch4)
-#else
+#endif
+    ELSE
 !      ECMWF routine METHOX
        CALL METHOX(1,klon,klon,klev,q_seri,d_q_ch4,pplay)
-#endif
+    END IF
        ! add humidity tendency due to methane
        d_q_ch4_dtime(:,:) = d_q_ch4(:,:)*phys_tstep
@@ -6518,5 +6523,8 @@
     !
     !
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
+#ifdef ISO
+CALL abort_gcm("physiq_mod", "StratAer isn't ISO-compatible for now, 07/24",1)
+#else
     IF (ok_qemiss) THEN
        flh2o=1
@@ -6526,5 +6534,5 @@
           print *,'IN physiq_mod: nAerErupt=',nAerErupt
        ENDIF
-       
+
        SELECT CASE(flag_emit)
        CASE(1) ! emission volc H2O in LMDZ
@@ -6534,5 +6542,5 @@
                   day_cur>=day_emit_vol(ieru).AND.&
                   day_cur<(day_emit_vol(ieru)+injdur)) THEN
-                
+
                 IF(flag_verbose_strataer) print *,'IN physiq_mod: date=',year_cur,mth_cur,day_cur
                 ! initialisation of q tendency emission
@@ -6549,8 +6557,8 @@
                     altemiss_vol(ieru),sigma_alt_vol(ieru),1,1.,&
                     nAerErupt+1,0)
-                
+
                 IF(flag_verbose_strataer) print *,'IN physiq_mod: min max d_q_emiss=',&
                      minval(d_q_emiss),maxval(d_q_emiss)
-                
+
                 CALL add_phys_tend(du0, dv0, dt0, d_q_emiss, dql0, dqi0, dqbs0, paprs, &
                      'q_emiss',abortphy,flag_inhib_tend,itap,0)
@@ -6562,4 +6570,5 @@
     ENDIF
 #endif
+END IF
 
 !===============================================================
@@ -6879,9 +6888,9 @@
 !MM                               dans Reprobus
        sh_in(:,:) = q_seri(:,:)
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
        d_q_rep(:,:) = 0.
        d_ql_rep(:,:) = 0.
        d_qi_rep(:,:) = 0.
-#endif
+END IF
     ELSE
        sh_in(:,:) = qx(:,:,ivap)
@@ -6936,6 +6945,8 @@
          d_tr_dyn, &                                 !<<RomP
          tr_seri, init_source)
-#ifdef REPROBUS
-
+IF (CPPKEY_REPROBUS) THEN
+#ifdef ISO
+        CALL abort_gcm("physiq_mod", "StratAer isn't ISO-compatible for now, 07/24",1)
+#else
 
           print*,'avt add phys rep',abortphy
@@ -6947,6 +6958,6 @@
 
           print*,'apr add phys rep',abortphy
-
-#endif
+#endif
+END IF
     ENDIF    ! (iflag_phytrac=1)
 
@@ -7021,5 +7032,8 @@
     ENDDO
 
-#ifdef CPP_StratAer
+IF (CPPKEY_STRATAER) THEN
+#ifdef ISO
+CALL abort_gcm("physiq_mod", "StratAer isn't ISO-compatible for now, 07/24",1)
+#else
     IF (ok_qemiss) THEN
        DO k = 1, klev
@@ -7028,4 +7042,5 @@
     ENDIF
 #endif
+END IF
     IF (ok_qch4) THEN
        DO k = 1, klev
@@ -7128,7 +7143,7 @@
 
     IF (type_trac == 'repr') THEN
-#ifdef REPROBUS
+IF (CPPKEY_REPROBUS) THEN
         CALL coord_hyb_rep(paprs, pplay, aps, bps, ap, bp, cell_area)
-#endif
+END IF
     ENDIF
 
Index: LMDZ6/trunk/makelmdz
===================================================================
--- LMDZ6/trunk/makelmdz	(revision 5251)
+++ LMDZ6/trunk/makelmdz	(revision 5252)
@@ -506,8 +506,7 @@
 fi
 
-if [[ "$strataer" == "true" ]]
-then
+src_dirs="$src_dirs phy${physique}/StratAer"
+if [[ "$strataer" == "true" ]]; then
    CPP_KEY="$CPP_KEY CPP_StratAer"
-   src_dirs="$src_dirs phy${physique}/StratAer"
 fi
 
Index: LMDZ6/trunk/makelmdz_fcm
===================================================================
--- LMDZ6/trunk/makelmdz_fcm	(revision 5251)
+++ LMDZ6/trunk/makelmdz_fcm	(revision 5252)
@@ -494,8 +494,7 @@
 fi
 
-if [[ "$strataer" == "true" ]]
-then
+STRATAER_PATH="$LIBFGCM/phy${physique}/StratAer"
+if [[ "$strataer" == "true" ]]; then
    CPP_KEY="$CPP_KEY CPP_StratAer"
-   STRATAER_PATH="$LIBFGCM/phy${physique}/StratAer"
 fi
 
