Index: LMDZ6/trunk/libf/phylmd/StratAer/traccoag_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/StratAer/traccoag_mod.F90	(revision 4996)
+++ LMDZ6/trunk/libf/phylmd/StratAer/traccoag_mod.F90	(revision 4998)
@@ -12,5 +12,5 @@
     USE phys_local_var_mod, ONLY: mdw, R2SO4, DENSO4, f_r_wet, surf_PM25_sulf, & 
         & budg_emi_ocs, budg_emi_so2, budg_emi_h2so4, budg_emi_part, &
-        & R2SO4B, DENSO4B, f_r_wetB
+        & R2SO4B, DENSO4B, f_r_wetB, sulfmmr, SAD_sulfate, sulfmmr_mode, nd_mode
     
     USE dimphy
@@ -57,5 +57,5 @@
     REAL                                   :: m_aer_emiss_vol_daily ! daily injection mass emission
     REAL                                   :: m_aer               ! aerosol mass
-    INTEGER                                :: it, k, i, ilon, ilev, itime, i_int, ieru
+    INTEGER                                :: it, k, i, j, ilon, ilev, itime, i_int, ieru
     LOGICAL,DIMENSION(klon,klev)           :: is_strato           ! true = above tropopause, false = below
     REAL,DIMENSION(klon,klev)              :: m_air_gridbox       ! mass of air in every grid box [kg]
@@ -346,4 +346,50 @@
     ENDDO
     
+!--compute 
+!     sulfmmr: Sulfate aerosol concentration (dry mixing ratio) (condensed H2SO4 mmr)
+!     SAD_sulfate: SAD all aerosols (cm2/cm3) (must be WET)
+!     sulfmmr_mode: sulfate(=H2SO4 if dry) MMR in different modes (ambiguous but based on sulfmmr, it mus be DRY(?) mmr)
+!     nd_mode: DRY(?) particle concentration in different modes (part/m3)
+     sulfmmr(:,:)=0.0
+     SAD_sulfate(:,:)=0.0
+     sulfmmr_mode(:,:,:)=0.0
+     nd_mode(:,:,:)=0.0
+     
+     DO i=1,klon
+        DO j=1,klev
+           DO it=1, nbtr_bin
+              !surf_PM25_sulf(i)=surf_PM25_sulf(i)+tr_seri(i,1,it+nbtr_sulgas)*m_part(i,1,it) &
+              !assume that particles consist of ammonium sulfate at the surface (132g/mol) 
+              !and are dry at T = 20 deg. C and 50 perc. humidity
+              
+              !     sulfmmr_mode: sulfate(=H2SO4 if dry) MMR in different modes (based on sulfmmr, it must be DRY mmr)
+              !     equivalent to condensed H2SO4 mmr= H2SO4 kg / kgA in bin it
+              sulfmmr_mode(i,j,it) = tr_seri(i,j,it+nbtr_sulgas) &        ! [DRY part/kgA in bin it] 
+                   &  *(4./3.)*RPI*(mdw(it)/2.)**3.   &                   ! [mdw: dry diameter in m] 
+                   &  *dens_aer_dry                                       ! [dry aerosol mass density in kg/m3] 
+              
+              !     sulfmmr: Sulfate aerosol concentration (dry mass mixing ratio) 
+              !     equivalent to total condensed H2SO4 mmr (H2SO4 kg / kgA
+              sulfmmr(i,j) = sulfmmr(i,j) + sulfmmr_mode(i,j,it)
+              
+              !     nd_mode: particle concentration in different modes (DRY part/m3)
+              nd_mode(i,j,it) = tr_seri(i,j,it+nbtr_sulgas) &             ! [DRY part/kgA in bin it] 
+                   & *pplay(i,j)/t_seri(i,j)/RD                           ! [air mass concentration in kg air /m3A]
+              
+              IF(flag_new_strat_compo) THEN
+                 !     SAD_sulfate: SAD WET sulfate aerosols (cm2/cm3)
+                 SAD_sulfate(i,j) = SAD_sulfate(i,j) + nd_mode(i,j,it) &     ! [DRY part/m3A (in bin it)] 
+                      &  *4.*RPI*( mdw(it)*f_r_wetB(i,j,it)/2. )**2. &       ! [WET SA of part it in m2] 
+                      &  *1.e-2                                              ! conversion from m2/m3 to cm2/cm3A
+              ELSE
+                 !     SAD_sulfate: SAD WET sulfate aerosols (cm2/cm3)
+                 SAD_sulfate(i,j) = SAD_sulfate(i,j) + nd_mode(i,j,it) &     ! [DRY part/m3A (in bin it)] 
+                      &  *4.*RPI*( mdw(it)*f_r_wet(i,j)/2. )**2. &           ! [WET SA of part it in m2] 
+                      &  *1.e-2                                              ! conversion from m2/m3 to cm2/cm3A
+              ENDIF
+           ENDDO
+        ENDDO
+     ENDDO
+     
   END SUBROUTINE traccoag
 
Index: LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90	(revision 4996)
+++ LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90	(revision 4998)
@@ -614,4 +614,16 @@
       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: vsed_aer
 !$OMP THREADPRIVATE(vsed_aer)
+!     Sulfate aerosol concentration (dry mixing ratio) (condensed H2SO4 mmr)
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sulfmmr
+!$OMP THREADPRIVATE(sulfmmr)
+!     SAD all aerosols (cm2/cm3)
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: SAD_sulfate
+!$OMP THREADPRIVATE(SAD_sulfate)
+!     sulfate MMR in different modes (based on sulfmmr, it must be dry mmr)
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: sulfmmr_mode
+!$OMP THREADPRIVATE(sulfmmr_mode)
+!     particle concentration in different modes (part/m3)
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: nd_mode
+!$OMP THREADPRIVATE(nd_mode)
 !
 !---3D budget variables
@@ -1018,4 +1030,8 @@
       ALLOCATE (surf_PM25_sulf(klon))
       ALLOCATE (vsed_aer(klon,klev))
+      ALLOCATE (sulfmmr(klon,klev))
+      ALLOCATE (SAD_sulfate(klon,klev))
+      ALLOCATE (sulfmmr_mode(klon,klev,nbtr_bin))
+      ALLOCATE (nd_mode(klon,klev,nbtr_bin))
 #endif
 
@@ -1311,4 +1327,8 @@
       DEALLOCATE (surf_PM25_sulf)
       DEALLOCATE (vsed_aer)
+      DEALLOCATE (sulfmmr)
+      DEALLOCATE (SAD_sulfate)
+      DEALLOCATE (sulfmmr_mode)
+      DEALLOCATE (nd_mode)
       DEALLOCATE (budg_3D_ocs_to_so2)
       DEALLOCATE (budg_3D_so2_to_h2so4)
Index: LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 4996)
+++ LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 4998)
@@ -1444,4 +1444,10 @@
   TYPE(ctrl_out), SAVE :: o_tau_strat_1020 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     'OD1020_strat_only', 'Stratospheric Aerosol Optical depth at 1020 nm ', '1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SAD_sulfate = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'SAD_sulfate', 'SAD WET sulfate aerosols', 'cm2/cm3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sulfmmr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'sulfMMR', 'Sulfate aerosol concentration (dry mass mixing ratio)', 'kg(H2SO4)/kg(air)', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_nd_mode(:)
+  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_sulfmmr_mode(:)
 !--chemistry
   TYPE(ctrl_out), SAVE :: o_R2SO4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
Index: LMDZ6/trunk/libf/phylmd/phys_output_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_mod.F90	(revision 4996)
+++ LMDZ6/trunk/libf/phylmd/phys_output_mod.F90	(revision 4998)
@@ -49,5 +49,8 @@
     ! ug Pour les sorties XIOS
     USE wxios
-
+#ifdef CPP_StratAer
+   USE infotrac_phy, ONLY: nbtr_bin
+#endif
+   
     IMPLICIT NONE
     include "clesphys.h"
@@ -93,5 +96,5 @@
     CHARACTER(LEN=4), DIMENSION(nlevSTD)  :: clevSTD
     REAL, DIMENSION(nlevSTD)              :: rlevSTD
-    INTEGER                               :: nsrf, k, iq, iff, i, j, ilev, itr, ixt, iiso, izone
+    INTEGER                               :: nsrf, k, iq, iff, i, j, ilev, itr, itrb, ixt, iiso, izone
     INTEGER                               :: naero
     LOGICAL                               :: ok_veget
@@ -158,5 +161,8 @@
     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
+    ALLOCATE(o_nd_mode(nbtr_bin),o_sulfmmr_mode(nbtr_bin))
+#endif
+    
     levmax = [klev, klev, klev, klev, klev, klev, nlevSTD, nlevSTD, nlevSTD, klev]
 
@@ -467,5 +473,5 @@
      ENDIF ! clef_files
 
-          itr = 0
+          itr = 0; itrb = 0
           DO iq = 1, nqtot 
             IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE
@@ -503,5 +509,16 @@
             lnam = 'Cumulated tracer '//TRIM(tracers(iq)%longName)
             tnam = 'cum'//TRIM(tracers(iq)%name); o_trac_cum(itr) = ctrl_out(flag, tnam, lnam, "-", [('',i=1,nfiles)])
-          ENDDO
+            
+#ifdef CPP_StratAer
+            if(tracers(iq)%name(1:3)=='BIN') then
+               itrb = itrb + 1
+               flag = [11, 11, 11, 11, 11, 11, 11, 11, 11, 1]
+               lnam = 'Dry particle concentration in '//TRIM(tracers(iq)%longName)
+               tnam = TRIM(tracers(iq)%name)//'_nd_mode';     o_nd_mode       (itrb) = ctrl_out(flag, tnam, lnam, "part/m3", [('',i=1,nfiles)])
+               lnam = 'Sulfate MMR in '//TRIM(tracers(iq)%longName)
+               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
+         ENDDO
 
    ENDDO !  iff
Index: LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 4996)
+++ LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 4998)
@@ -244,4 +244,5 @@
 
 #ifdef CPP_StratAer
+    USE infotrac_phy, ONLY: nbtr_bin
     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, &
@@ -255,5 +256,6 @@
          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_vsed_aer, o_tau_strat_1020, o_ext_strat_1020, o_f_r_wet, &
+         o_SAD_sulfate, o_sulfmmr, o_nd_mode, o_sulfmmr_mode
 #endif
 
@@ -410,5 +412,6 @@
          budg_ocs_to_so2, budg_so2_to_h2so4, budg_h2so4_to_part, & 
          surf_PM25_sulf, tau_strat_550, tausum_strat, &
-         vsed_aer, tau_strat_1020, f_r_wet
+         vsed_aer, tau_strat_1020, f_r_wet, &
+         SAD_sulfate, sulfmmr, nd_mode, sulfmmr_mode
 #endif
 
@@ -1798,4 +1801,11 @@
           CALL histwrite_phy(o_tau_strat_550, tausum_strat(:,1))
           CALL histwrite_phy(o_tau_strat_1020, tausum_strat(:,2))
+          CALL histwrite_phy(o_SAD_sulfate, SAD_sulfate)
+          CALL histwrite_phy(o_sulfmmr, sulfmmr)
+          ! All BINs fields
+          DO itr = 1, nbtr_bin
+             CALL histwrite_phy(o_nd_mode(itr), nd_mode(:,:,itr))
+             CALL histwrite_phy(o_sulfmmr_mode(itr), sulfmmr_mode(:,:,itr))
+          ENDDO !--itr
        ENDIF
 #endif
