diff --git a/src/MNH/diag.f90 b/src/MNH/diag.f90
index 98e480a511cd2e6adf2ede770f03d47d03f7f5aa..7d991a701bc5c2cd2829b7684db71c5cca7816ce 100644
--- a/src/MNH/diag.f90
+++ b/src/MNH/diag.f90
@@ -67,6 +67,7 @@
 !!  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
 !
 !
 !-------------------------------------------------------------------------------
@@ -195,7 +196,7 @@ NAMELIST/NAM_DIAG/ CISO, LVAR_RS, LVAR_LS,   &
                    NCONV_KF, NRAD_3D, CRAD_SAT, NRTTOVINFO, LRAD_SUBG_COND,  &
                    LVAR_TURB,LTURBFLX,LTURBDIAG,LMFFLX,XDTSTEP,  &
                    LVAR_MRW, LVAR_MRSV, LVAR_FRC, &
-                   LTPZH, LMOIST_V, LMOIST_E, LCOREF, &
+                   LTPZH, LMOIST_V, LMOIST_E,LMOIST_ES, LCOREF, &
                    LVORT, LDIV, LMEAN_POVO, XMEAN_POVO, &
                    LGEO, LAGEO, LWIND_ZM, LMSLP, LTHW, &
                    LCLD_COV, LVAR_PR, LTOTAL_PR, LMEAN_PR, XMEAN_PR, &
@@ -252,6 +253,7 @@ LVAR_MRSV=.FALSE.
 LTPZH=.FALSE.
 LMOIST_V=.FALSE.
 LMOIST_E=.FALSE.
+LMOIST_ES=.FALSE.
 LCOREF=.FALSE.
 LVORT=.FALSE.
 LDIV=.FALSE.
diff --git a/src/MNH/modd_diag_flag.f90 b/src/MNH/modd_diag_flag.f90
index bfb30c06ffca8710674aaa92b80a802848a2e484..ceb12c23eafc83385862ce8a53d2bf698a374fd1 100644
--- a/src/MNH/modd_diag_flag.f90
+++ b/src/MNH/modd_diag_flag.f90
@@ -36,6 +36,7 @@
 !!       J.-P. Pinty   29/11/02 add C3R5, ICE2, ICE4, ELEC
 !!       J.-P. Chaboureau 15/04/03  add LRAD_SUBG_COND
 !!       L. Leriche 21/04/06 add aqueous phase chemistry LCHAQDIAG
+!!       D.Ricard 2015 : add LMOIST_ES
 !!
 !-------------------------------------------------------------------------------
 !
@@ -70,6 +71,7 @@ LOGICAL     :: LVAR_FRC
 LOGICAL     :: LTPZH
 LOGICAL     :: LMOIST_V
 LOGICAL     :: LMOIST_E
+LOGICAL     :: LMOIST_ES
 LOGICAL     :: LCOREF
 LOGICAL     :: LVORT, LDIV 
 LOGICAL     :: LMEAN_POVO
diff --git a/src/MNH/write_lfifm1_for_diag.f90 b/src/MNH/write_lfifm1_for_diag.f90
index 31eb83591c024177f3d1417ee6aba24f87db9d1e..c6997eafa62a41abab340bf9aa0c45379b72bcd6 100644
--- a/src/MNH/write_lfifm1_for_diag.f90
+++ b/src/MNH/write_lfifm1_for_diag.f90
@@ -138,6 +138,7 @@ END MODULE MODI_WRITE_LFIFM1_FOR_DIAG
 !!       J. escobar 27/03/2014 : write LAT/LON only in not CARTESIAN case
 !!       G.Delautier    2014 : remplace MODD_RAIN_C2R2_PARAM par MODD_RAIN_C2R2_KHKO_PARAM
 !!       C. Augros 2014 : new radar simulator (T matrice)
+!!       D.Ricard 2015 : add THETAES + POVOES  (LMOIST_ES=T)
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -280,6 +281,7 @@ REAL,DIMENSION(:,:,:,:,:), ALLOCATABLE                  :: ZWORK42 ! reflectivit
 REAL,DIMENSION(:,:,:,:,:), ALLOCATABLE                  :: ZWORK42_BIS
 REAL,DIMENSION(:,:,:), ALLOCATABLE                      :: ZWORK43 ! latlon coordinates of cartesian grid points (PLATLON)
 REAL,DIMENSION(:,:,:), ALLOCATABLE                      :: ZPHI,ZTHETAE,ZTHETAV
+REAL,DIMENSION(:,:,:), ALLOCATABLE                      :: ZTHETAES
 INTEGER, DIMENSION(:,:), ALLOCATABLE                    :: IWORK1
 integer :: ICURR,INBOUT,IERR
 !
@@ -2139,6 +2141,25 @@ IF (( LMOIST_E .OR. LBV_FR ) .AND. (NRR>0)) THEN
     CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZTHETAE,IGRID,ILENCH,YCOMMENT,IRESP)
   END IF
 END IF
+!-------------------------------------------------------------------------------
+!
+!* Thetaes computation 
+!
+IF (LMOIST_ES .AND. (NRR>0)) THEN
+  ALLOCATE(ZTHETAES(IIU,IJU,IKU))
+  ZWORK31(:,:,:) = MAX(QSAT(ZTEMP(:,:,:),XPABST(:,:,:)),1.E-10)
+  ZTHETAES(:,:,:)= (    2840./                                          &
+       (3.5*ALOG(XTHT(:,:,:)*( XPABST(:,:,:)/XP00 )**(XRD/XCPD)  )   &
+       - ALOG( XPABST(:,:,:)*0.01*ZWORK31(:,:,:) / ( 0.622+ZWORK31(:,:,:) ) ) &
+       -4.805   )    ) + 55.
+  ZTHETAES(:,:,:)= XTHT(:,:,:) * EXP( (3376. / ZTHETAE(:,:,:) - 2.54)  &
+               *ZWORK31(:,:,:) *(1. +0.81 *ZWORK31(:,:,:)) )
+  YRECFM='THETAES'
+  YCOMMENT='X_Y_Z_Equivalent Saturated potential Temperature(K)'
+  IGRID=1
+  ILENCH=LEN(YCOMMENT)
+  CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZTHETAES,IGRID,ILENCH,YCOMMENT,IRESP)
+ENDIF
 !
 !-------------------------------------------------------------------------------
 !
@@ -2279,6 +2300,23 @@ IF (LMOIST_E .AND. (NRR>0) ) THEN
   !
 END IF
 !
+! Equivalent Saturated Potential Vorticity in PV units
+IF (LMOIST_ES .AND. (NRR>0) ) THEN
+  ZWORK31(:,:,:)=GX_M_M(1,IKU,1,ZTHETAES,XDXX,XDZZ,XDZX)
+  ZWORK32(:,:,:)=GY_M_M(1,IKU,1,ZTHETAES,XDYY,XDZZ,XDZY)
+  ZWORK33(:,:,:)=GZ_M_M(1,IKU,1,ZTHETAES,XDZZ)
+  ZWORK34(:,:,:)= ZWORK31(:,:,:)*MZF(1,IKU,1,MYF(ZVOX(:,:,:)))     &
+                + ZWORK32(:,:,:)*MZF(1,IKU,1,MXF(ZVOY(:,:,:)))     &
+                + ZWORK33(:,:,:)*(MYF(MXF(ZVOZ(:,:,:))) + ZCORIOZ(:,:,:))
+  ZWORK34(:,:,:)=ZWORK34(:,:,:)*1E6/XRHODREF(:,:,:)
+  YRECFM='POVOES'
+  YCOMMENT='X_Y_Z_Equivalent Saturated POtential VOrticity (PVU)'
+  IGRID=1
+  ILENCH=LEN(YCOMMENT)
+  CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZWORK34,IGRID,ILENCH,YCOMMENT,IRESP)
+ENDIF
+!
+!
 !-------------------------------------------------------------------------------
 !
 !* Horizontal divergence
@@ -2742,6 +2780,7 @@ IF (LBV_FR) THEN
 END IF
 !
 IF(ALLOCATED(ZTHETAE)) DEALLOCATE(ZTHETAE)
+IF(ALLOCATED(ZTHETAES)) DEALLOCATE(ZTHETAES)
 !-------------------------------------------------------------------------------
 !
 !* GPS synthetic ZTD, ZHD, ZWD