Index: /LMDZ6/trunk/libf/phylmd/ecrad/lmdz/readaerosol_optic_ecrad.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/ecrad/lmdz/readaerosol_optic_ecrad.F90	(revision 4975)
+++ /LMDZ6/trunk/libf/phylmd/ecrad/lmdz/readaerosol_optic_ecrad.F90	(revision 4976)
@@ -4,5 +4,5 @@
      flag_aerosol, flag_bc_internal_mixture, itap, rjourvrai, &
      pdtphys, pplay, paprs, t_seri, rhcl, presnivs, &
-     tr_seri, mass_solu_aero, mass_solu_aero_pi) 
+     tr_seri, mass_solu_aero, mass_solu_aero_pi, m_allaer) 
 !     tau_aero, piz_aero, cg_aero, &
 !     tausum_aero, drytausum_aero, tau3d_aero )
@@ -18,5 +18,5 @@
        concso4,concno3,concoa,concbc,concss,concdust,loadso4,loadoa,loadbc,loadss,loaddust, &
        loadno3,load_tmp1,load_tmp2,load_tmp3,load_tmp4,load_tmp5,load_tmp6,load_tmp7, & 
-       load_tmp8,load_tmp9,load_tmp10,m_allaer
+       load_tmp8,load_tmp9,load_tmp10
 
   USE infotrac_phy, ONLY: tracers, nqtot, nbtr
@@ -49,4 +49,6 @@
   REAL, DIMENSION(klon,klev), INTENT(OUT)     :: mass_solu_aero    ! Total mass for all soluble aerosols
   REAL, DIMENSION(klon,klev), INTENT(OUT)     :: mass_solu_aero_pi !     -"-     preindustrial values
+  REAL, DIMENSION(klon,klev,naero_tot), INTENT(OUT) :: m_allaer
+  REAL, DIMENSION(klon,klev,naero_tot), INTENT(OUT) :: m_allaer_pi !RAF
 !  REAL, DIMENSION(klon,klev,2,NSW), INTENT(OUT) :: tau_aero    ! Aerosol optical thickness
 !  REAL, DIMENSION(klon,klev,2,NSW), INTENT(OUT) :: piz_aero    ! Single scattering albedo aerosol
@@ -86,6 +88,4 @@
   REAL, DIMENSION(klon,klev)   :: nitrinscoarse_pi
   REAL, DIMENSION(klon,klev)   :: pdel, zrho
-!  REAL, DIMENSION(klon,klev,naero_tot) :: m_allaer
-  REAL, DIMENSION(klon,klev,naero_tot) :: m_allaer_pi !RAF  
 
   integer :: id_ASBCM, id_ASPOMM, id_ASSO4M, id_ASMSAM, id_CSSO4M, id_CSMSAM, id_SSSSM
Index: /LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 4975)
+++ /LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 4976)
@@ -474,6 +474,4 @@
       REAL,SAVE,ALLOCATABLE :: ccm(:,:,:)
 !$OMP THREADPRIVATE(ccm)
-      REAL, SAVE, ALLOCATABLE :: m_allaer (:,:,:)
-!$OMP THREADPRIVATE(m_allaer)
 
       REAL,SAVE,ALLOCATABLE :: ale_bl_trig(:)
@@ -754,5 +752,4 @@
       ALLOCATE(cg_aero_lw_rrtm(klon,klev,2,nbands_lw_rrtm))
       ALLOCATE(ccm(klon,klev,nbands))
-      ALLOCATE(m_allaer(klon,klev,naero_tot))
 
 #ifdef ISO
@@ -939,5 +936,4 @@
       DEALLOCATE(tau_aero_lw_rrtm,piz_aero_lw_rrtm,cg_aero_lw_rrtm)
       DEALLOCATE(ccm)
-      DEALLOCATE(m_allaer)
       if (ok_gwd_rando) DEALLOCATE(du_gwd_rando)
       if (.not. ok_hines .and. ok_gwd_rando) DEALLOCATE(du_gwd_front)
Index: /LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 4975)
+++ /LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 4976)
@@ -1127,4 +1127,5 @@
     REAL, DIMENSION(klon,klev)     :: mass_solu_aero_pi
     ! - " - (pre-industrial value)
+    REAL, DIMENSION(klon,klev,naero_tot) :: m_allaer
 
     ! Parameters
@@ -4375,5 +4376,5 @@
                   flag_aerosol, flag_bc_internal_mixture, itap, jD_cur-jD_ref, &
                   pdtphys, pplay, paprs, t_seri, rhcl, presnivs,  &
-                  tr_seri, mass_solu_aero, mass_solu_aero_pi)  
+                  tr_seri, mass_solu_aero, mass_solu_aero_pi, m_allaer)  
 #else
                 abort_message='You should compile with -rad ecrad if running with iflag_rrtm=2'
@@ -4621,5 +4622,5 @@
                ! Rajoute par OB pour RRTM
                tau_aero_lw_rrtm, & 
-               cldtaupirad, &
+               cldtaupirad, m_allaer, &
 !              zqsat, flwcrad, fiwcrad, &
                zqsat, flwc, fiwc, &
@@ -4699,5 +4700,5 @@
                                 ! Rajoute par OB pour RRTM
                      tau_aero_lw_rrtm, &
-                     cldtaupi, &
+                     cldtaupi, m_allaer, &
 !                    zqsat, flwcrad, fiwcrad, &
                      zqsat, flwc, fiwc, &
@@ -4745,5 +4746,5 @@
                      tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm, &
                      tau_aero_lw_rrtm, &
-                     cldtaupi, &
+                     cldtaupi, m_allaer, &
                      zqsat, flwc, fiwc, &
                      ref_liq, ref_ice, ref_liq_pi, ref_ice_pi, &
Index: /LMDZ6/trunk/libf/phylmd/radlwsw_m.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/radlwsw_m.F90	(revision 4975)
+++ /LMDZ6/trunk/libf/phylmd/radlwsw_m.F90	(revision 4976)
@@ -21,5 +21,5 @@
        tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm,& ! rajoute par OB RRTM
        tau_aero_lw_rrtm, &              ! rajoute par C.Kleinschmitt pour RRTM
-       cldtaupi, &
+       cldtaupi, m_allaer, &
        qsat, flwc, fiwc, &
        ref_liq, ref_ice, ref_liq_pi, ref_ice_pi, &
@@ -81,5 +81,5 @@
 #ifdef CPP_ECRAD
     USE geometry_mod, ONLY: latitude, longitude
-    USE phys_state_var_mod, ONLY: pctsrf, m_allaer
+    USE phys_state_var_mod, ONLY: pctsrf
     USE indice_sol_mod
     USE time_phylmdz_mod, only: current_time
@@ -246,4 +246,5 @@
     REAL,    INTENT(in)  :: ref_liq_pi(klon,klev) ! cloud droplet radius pre-industrial from newmicro
     REAL,    INTENT(in)  :: ref_ice_pi(klon,klev) ! ice crystal radius   pre-industrial from newmicro
+    REAL,    INTENT(in)  :: m_allaer(klon,klev,naero_tot) ! mass aero
 
     CHARACTER(len=512), INTENT(in) :: namelist_ecrad_file
Index: /LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90	(revision 4975)
+++ /LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90	(revision 4976)
@@ -1198,4 +1198,5 @@
     REAL, DIMENSION(klon,klev)     :: mass_solu_aero_pi
     ! - " - (pre-industrial value)
+    REAL, DIMENSION(klon,klev,naero_tot) :: m_allaer
 
     ! Parameters
@@ -5493,5 +5494,5 @@
                      tausum_aero, tau3d_aero)
              ENDIF
-          ELSE                       ! RRTM radiation
+          ELSE IF (iflag_rrtm .EQ.1) THEN  ! RRTM radiation
              IF (aerosol_couple .AND. config_inca == 'aero' ) THEN
                 abort_message='config_inca=aero et rrtm=1 impossible'
@@ -5559,4 +5560,15 @@
                 !
              ENDIF
+          ELSE IF (iflag_rrtm .EQ.2) THEN    ! ecrad RADIATION
+#ifdef CPP_ECRAD
+             !--climatologies or INCA aerosols
+             CALL readaerosol_optic_ecrad( debut, aerosol_couple, ok_alw, ok_volcan, &
+                  flag_aerosol, flag_bc_internal_mixture, itap, jD_cur-jD_ref, &
+                  pdtphys, pplay, paprs, t_seri, rhcl, presnivs,  &
+                  tr_seri, mass_solu_aero, mass_solu_aero_pi, m_allaer)
+#else
+                abort_message='You should compile with -rad ecrad if running with iflag_rrtm=2'
+                CALL abort_physic(modname,abort_message,1)
+#endif
           ENDIF
        ELSE   !--flag_aerosol = 0 
@@ -5799,5 +5811,5 @@
                ! Rajoute par OB pour RRTM
                tau_aero_lw_rrtm, & 
-               cldtaupirad, &
+               cldtaupirad, m_allaer, &
 !              zqsat, flwcrad, fiwcrad, &
                zqsat, flwc, fiwc, &
@@ -5878,5 +5890,5 @@
                                 ! Rajoute par OB pour RRTM
                      tau_aero_lw_rrtm, &
-                     cldtaupi, &
+                     cldtaupi, m_allaer, &
 !                    zqsat, flwcrad, fiwcrad, &
                      zqsat, flwc, fiwc, &
