diff --git a/src/MNH/diag.f90 b/src/MNH/diag.f90
index 38e9a51b3d9c8e94d4cc7ec9280f0efc1a45884d..d7e3bdb0fa2884b7d66499812f69597551436d64 100644
--- a/src/MNH/diag.f90
+++ b/src/MNH/diag.f90
@@ -67,10 +67,11 @@
 !!  03/2013     (O.Caumont)    Modif call aircraft_balloon
 !!  03/2013     (C. Augros)    Add variables for radar simulator in NAMELIST:
 !!                             NBAZIM,LSNRT,XSNRMIN
-!!       D.Ricard 2015 : add LMOIST_ES
-!!              July, 2015 (O.Nuissier/F.Duffourg) Add microphysics diagnostic for
+!!  D.Ricard 2015 : add LMOIST_ES
+!!  July, 2015 (O.Nuissier/F.Duffourg) Add microphysics diagnostic for
 !!                                      aircraft, ballon and profiler
-!!   J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1 
+!!  J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1
+!!   P.Tulet : 11/2015 : new diagnostic for aerosol
 !!
 !-------------------------------------------------------------------------------
 !
@@ -210,7 +211,7 @@ NAMELIST/NAM_DIAG/ CISO, LVAR_RS, LVAR_LS,   &
                    LAIRCRAFT_BALLOON,NTIME_AIRCRAFT_BALLOON,&
                    XSTEP_AIRCRAFT_BALLOON,&
                    XLAT_BALLOON,XLON_BALLOON,XALT_BALLOON,&
-                   LC2R2, LC3R5, LELECDIAG,&
+                   LC2R2, LC3R5, LELECDIAG, CAERDIAG, &
                    NGPS,XLAT_GPS,XLON_GPS,XZS_GPS,CNAM_GPS,XDIFFORO, &
                    NVERSION_RAD, NCURV_INTERPOL, LCART_RAD, CARF,LREFR,LDNDZ,&
                    XLON_RAD,XLAT_RAD,XALT_RAD,CNAME_RAD,XLAM_RAD,XDT_RAD, &
@@ -283,6 +284,7 @@ LRADAR=.FALSE.
 LBLTOP=.FALSE.
 LVAR_FRC=.FALSE.
 LCHEMDIAG=.FALSE.
+CAERDIAG='CLIM'
 LCHAQDIAG=.FALSE.
 XCHEMLAT(:)=XUNDEF
 XCHEMLON(:)=XUNDEF
@@ -646,6 +648,7 @@ END IF
 IF (NRAD_3D == -1) CRAD = 'NONE'
 !
 IF (NRAD_3D >= 0) THEN
+  CAER=CAERDIAG
   IF (YRAD=='ECMW') THEN
     ! radiative fields are already initialized by INIT
     CRAD = 'NONE'
diff --git a/src/MNH/modd_diag_flag.f90 b/src/MNH/modd_diag_flag.f90
index ceb12c23eafc83385862ce8a53d2bf698a374fd1..66f3c6f2be66567753a171d859332fb5ee633c30 100644
--- a/src/MNH/modd_diag_flag.f90
+++ b/src/MNH/modd_diag_flag.f90
@@ -93,6 +93,7 @@ LOGICAL     :: LRADAR
 LOGICAL     :: LBLTOP
 LOGICAL     :: LTRAJ       ! to compute trajectories
 LOGICAL     :: LCHEMDIAG = .FALSE.  ! flag for chemistry
+CHARACTER (LEN=4) :: CAERDIAG  ! aerosols optical thickness type
 LOGICAL     :: LCHAQDIAG   ! flag for aqueous phase chemistry
 REAL, DIMENSION(10)  :: XCHEMLAT,XCHEMLON ! positions of vertical profiles written by routine write_ts1d
 LOGICAL     :: LAIRCRAFT_BALLOON    ! aircraft and balloon trajectories
diff --git a/src/MNH/write_lfifm1_for_diag_supp.f90 b/src/MNH/write_lfifm1_for_diag_supp.f90
index 925f663b41f0aad66444f5d4d358672ee2f0c1c8..6f2963bb497ec8f175952ec3ddb111b2e6e0be58 100644
--- a/src/MNH/write_lfifm1_for_diag_supp.f90
+++ b/src/MNH/write_lfifm1_for_diag_supp.f90
@@ -81,6 +81,7 @@ END MODULE MODI_WRITE_LFIFM1_FOR_DIAG_SUPP
 !!        between 2 Meso-NH levels if 10m is above the first atmospheric level
 !!      2015 : D.Ricard add UM10/VM10 for LCARTESIAN=T cases
 !!      J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1 
+!!      P.Tulet : Diag for salt and orilam
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -113,6 +114,8 @@ USE MODD_ICE_C1R3_DESCR,  ONLY: C1R3NAMES
 USE MODD_ELEC_DESCR,      ONLY: CELECNAMES
 USE MODD_LG,              ONLY: CLGNAMES
 USE MODD_DUST,            ONLY: LDUST
+USE MODD_SALT,            ONLY: LSALT
+USE MODD_CH_AEROSOL,      ONLY: LORILAM
 USE MODD_RAD_TRANSF
 USE MODD_DIAG_IN_RUN, ONLY: XCURRENT_ZON10M,XCURRENT_MER10M,           &
                             XCURRENT_SFCO2, XCURRENT_SW, XCURRENT_LW
@@ -612,6 +615,77 @@ IF (NRAD_3D >= 1) THEN
     ENDDO
     CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZWORK31,IGRID,ILENCH,YCOMMENT,IRESP)
   END IF
+  IF (LSALT) THEN
+!Salt optical depth between two vertical levels
+    YRECFM      = 'SLTAOD3D'
+    YCOMMENT    = 'X_Y_Z_Salt Aerosol Optical Depth (m)'
+    ILENCH=LEN(YCOMMENT)
+    ZWORK31(:,:,:)=0.
+    DO JK=IKB,IKE
+      IKRAD = JK - JPVEXT
+      ZWORK31(:,:,JK)= XAER(:,:,IKRAD,2)
+    END DO
+    CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZWORK31,IGRID,ILENCH,YCOMMENT,IRESP)
+!Salt optical depth
+    ZWORK21(:,:)=0.0
+    DO JK=IKB,IKE
+      IKRAD = JK - JPVEXT
+      DO JJ=IJB,IJE
+        DO JI=IIB,IIE
+          ZWORK21(JI,JJ)=ZWORK21(JI,JJ)+XAER(JI,JJ,IKRAD,2)
+        ENDDO
+      ENDDO
+    ENDDO
+    YRECFM      = 'SLTAOD2D'
+    YCOMMENT    = 'X_Y_Salt Aerosol Optical Depth (m)'
+    ILENCH=LEN(YCOMMENT)
+    CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZWORK21,IGRID,ILENCH,YCOMMENT,IRESP)
+!Salt extinction (optical depth per km)
+    YRECFM      = 'SLTEXT'
+    YCOMMENT    = 'X_Y_Z_Salt EXTinction (1/km) '
+    ILENCH=LEN(YCOMMENT)
+    DO JK=IKB,IKE
+      IKRAD = JK - JPVEXT
+      ZWORK31(:,:,JK)= XAER(:,:,IKRAD,2)/(XZZ(:,:,JK+1)-XZZ(:,:,JK))*1.D3
+    ENDDO
+    CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZWORK31,IGRID,ILENCH,YCOMMENT,IRESP)
+  END IF
+  IF (LORILAM) THEN
+!Orilam anthropogenic optical depth between two vertical levels
+    YRECFM      = 'AERAOD3D'
+    YCOMMENT    = 'X_Y_Z_Anthropogenic Aerosol Optical Depth (m)'
+    ILENCH=LEN(YCOMMENT)
+    ZWORK31(:,:,:)=0.
+    DO JK=IKB,IKE
+      IKRAD = JK - JPVEXT
+      ZWORK31(:,:,JK)= XAER(:,:,IKRAD,4)
+    END DO
+    CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZWORK31,IGRID,ILENCH,YCOMMENT,IRESP)
+!Orilam anthropogenic optical depth
+    ZWORK21(:,:)=0.0
+    DO JK=IKB,IKE
+      IKRAD = JK - JPVEXT
+      DO JJ=IJB,IJE
+        DO JI=IIB,IIE
+          ZWORK21(JI,JJ)=ZWORK21(JI,JJ)+XAER(JI,JJ,IKRAD,4)
+        ENDDO
+      ENDDO
+    ENDDO
+    YRECFM      = 'AERAOD2D'
+    YCOMMENT    = 'X_Y_Anthropogenic Aerosol Optical Depth (m)'
+    ILENCH=LEN(YCOMMENT)
+    CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZWORK21,IGRID,ILENCH,YCOMMENT,IRESP)
+!Orilam anthropogenic extinction (optical depth per km)
+    YRECFM      = 'AEREXT'
+    YCOMMENT    = 'X_Y_Z_Anthropogenic EXTinction (1/km) '
+    ILENCH=LEN(YCOMMENT)
+    DO JK=IKB,IKE
+      IKRAD = JK - JPVEXT
+      ZWORK31(:,:,JK)= XAER(:,:,IKRAD,4)/(XZZ(:,:,JK+1)-XZZ(:,:,JK))*1.D3
+    ENDDO
+    CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZWORK31,IGRID,ILENCH,YCOMMENT,IRESP)
+  END IF
+
 END IF
 !
 !-------------------------------------------------------------------------------