diff --git a/src/MNH/mode_les_diachro.f90 b/src/MNH/mode_les_diachro.f90
index f4adb055463d3b7f0d79b7ca496db93699e72e38..94e4511029d0048b0650a57b086f254e2f2a0b90 100644
--- a/src/MNH/mode_les_diachro.f90
+++ b/src/MNH/mode_les_diachro.f90
@@ -7,6 +7,9 @@
 !-----------------------------------------------------------------
 ! $Source$ $Revision$
 ! MASDEV4_7 mode 2006/09/13 10:17:42
+!
+! Modifications
+! G. TANGUY 19/05/2014 : correctoin DATIME in case of time average
 !-----------------------------------------------------------------
 !#######################
 MODULE MODE_LES_DIACHRO
@@ -597,15 +600,18 @@ END SUBROUTINE LES_Z_NORM
 !------------------------------------------------------------------------------
 !
 !########################################################
-SUBROUTINE LES_TIME_AVG(PTRAJT,PWORK6,KRESP)
+SUBROUTINE LES_TIME_AVG(PTRAJT,PWORK6,KRESP,PDATIME_AVG)
 !########################################################
 !
 ! this routine computes time averaging
 !
 USE MODD_LES
+USE MODI_ADD_FORECAST_TO_DATE
+!
 IMPLICIT NONE
 !
 REAL, DIMENSION(:,:),         POINTER     :: PTRAJT ! time
+REAL, DIMENSION(:,:),         POINTER     :: PDATIME_AVG ! date
 REAL, DIMENSION(:,:,:,:,:,:), POINTER     :: PWORK6 ! contains physical field
 INTEGER,                      INTENT(OUT) :: KRESP  ! return code (0 is OK)
 !------------------------------------------------------------------------------
@@ -621,6 +627,11 @@ INTEGER :: JP                            ! process loop counter
 INTEGER :: JSV                           ! scalar loop counter
 INTEGER :: JX                            ! first  spatial or spectral coordinate loop counter
 INTEGER :: JY                            ! second spatial or spectral coordinate loop counter
+REAL, DIMENSION(16)  :: ZDATIME_SAVE ! date
+INTEGER :: IYEAR,IMONTH,IDAY
+REAL :: ZTIME,ZTIME2
+INTEGER :: JDAY
+INTEGER :: JJ
 !------------------------------------------------------------------------------
 !
 IF (     XLES_TEMP_MEAN_END==XUNDEF   &
@@ -636,13 +647,29 @@ IF (IAVG<=0) THEN
   RETURN
 END IF
 !
+ZDATIME_SAVE(:)=PDATIME_AVG(:,1)
 DEALLOCATE(PTRAJT)
+DEALLOCATE(PDATIME_AVG)
 !
 ALLOCATE (PTRAJT(IAVG,1))
+ALLOCATE (PDATIME_AVG(16,IAVG))
 ALLOCATE (ZWORK6(SIZE(PWORK6,1),SIZE(PWORK6,2),NLES_K,IAVG,SIZE(PWORK6,5),SIZE(PWORK6,6)))
 !
 ZWORK6(:,:,:,:,:,:) = 0.
 !
+PDATIME_AVG(1,:)=ZDATIME_SAVE(1)
+PDATIME_AVG(2,:)=ZDATIME_SAVE(2)
+PDATIME_AVG(3,:)=ZDATIME_SAVE(3)
+PDATIME_AVG(4,:)=ZDATIME_SAVE(4)
+PDATIME_AVG(5,:)=ZDATIME_SAVE(5)
+PDATIME_AVG(6,:)=ZDATIME_SAVE(6)
+PDATIME_AVG(7,:)=ZDATIME_SAVE(7)
+PDATIME_AVG(8,:)=ZDATIME_SAVE(8)
+PDATIME_AVG(9,:)=ZDATIME_SAVE(9)
+PDATIME_AVG(10,:)=ZDATIME_SAVE(10)
+PDATIME_AVG(11,:)=ZDATIME_SAVE(11)
+PDATIME_AVG(12,:)=ZDATIME_SAVE(12)
+!
 DO JAVG=1,IAVG
   ZLES_TEMP_MEAN_START=XLES_TEMP_MEAN_START + (JAVG-1) * XLES_TEMP_MEAN_STEP
   ZLES_TEMP_MEAN_END  =MIN(XLES_TEMP_MEAN_END, ZLES_TEMP_MEAN_START + XLES_TEMP_MEAN_STEP)
@@ -676,8 +703,25 @@ DO JAVG=1,IAVG
     END DO
   END DO
   PTRAJT(JAVG,1)=(ZLES_TEMP_MEAN_START+ZLES_TEMP_MEAN_END)/2.
+  IYEAR=PDATIME_AVG(5,JAVG)
+  IMONTH=PDATIME_AVG(6,JAVG)
+  IDAY=PDATIME_AVG(7,JAVG)
+  ZTIME=PDATIME_AVG(8,JAVG)+PTRAJT(JAVG,1)
+  JDAY=NINT(ZTIME/86400.)
+  IF (JDAY .GT. 0) THEN
+    DO JJ=1,JDAY 
+      ZTIME2=86400.
+      CALL ADD_FORECAST_TO_DATE(IYEAR,IMONTH,IDAY,ZTIME2)
+      ZTIME=ZTIME-ZTIME2
+    ENDDO
+  ENDIF
+  CALL ADD_FORECAST_TO_DATE(IYEAR,IMONTH,IDAY,ZTIME)
+  PDATIME_AVG(13,JAVG)=IYEAR
+  PDATIME_AVG(14,JAVG)=IMONTH
+  PDATIME_AVG(15,JAVG)=IDAY
+  PDATIME_AVG(16,JAVG)=ZTIME
 END DO
-
+!
 DEALLOCATE(PWORK6)
 ALLOCATE(PWORK6(SIZE(ZWORK6,1),SIZE(ZWORK6,2),NLES_K,IAVG,SIZE(ZWORK6,5),SIZE(ZWORK6,6)))
 PWORK6 = ZWORK6
@@ -713,6 +757,7 @@ REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJX ! localization of the temporal
 REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJY ! series in x,y and z. remark:
 REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJZ ! x and y are not used for LES
 REAL,    DIMENSION(:,:),   POINTER     :: ZTRAJT ! time
+REAL,    DIMENSION(:,:),   POINTER     :: ZDATIME ! date
 !
 INTEGER, DIMENSION(1)                  :: IGRID    ! grid indicator
 CHARACTER(LEN= 10)                     :: YGROUP   ! group title
@@ -752,6 +797,7 @@ ALLOCATE (ZTRAJZ(NLES_K,1,1))
 !
 ALLOCATE(ZWORK6(1,1,NLES_K,NLES_CURRENT_TIMES,1,1))
 ALLOCATE(ZTRAJT(NLES_CURRENT_TIMES,1))
+ALLOCATE(ZDATIME(16,NLES_CURRENT_TIMES))
 !
 IIL = NLES_CURRENT_IINF
 IIH = NLES_CURRENT_ISUP
@@ -772,6 +818,7 @@ YGROUP    = HGROUP
 !
 ZWORK6(1,1,:,:,1,1) = ZFIELD (:,:)
 ZTRAJT(:,:) = XLES_CURRENT_TRAJT(:,:)
+ZDATIME(:,:)=XLES_CURRENT_DATIME(:,:)
 !
 !* normalization of vertical dimension
 !
@@ -783,7 +830,7 @@ END IF
 !* time average
 !
 IRESP = 0
-IF (GAVG) CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP)
+IF (GAVG) CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP,ZDATIME)
 !
 IF (HAVG/=' ')  YGROUP=HAVG//'_'//YGROUP
 YTITLE(1) = YGROUP
@@ -792,7 +839,7 @@ YTITLE(1) = YGROUP
 !            ----------------------
 !
 IF (IRESP==0 .AND. ANY(ZWORK6/=XUNDEF)) &
-CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SSOL",IGRID,XLES_CURRENT_DATIME, ZWORK6,     &
+CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SSOL",IGRID,ZDATIME, ZWORK6,     &
                    ZTRAJT,YTITLE,YUNIT,YCOMMENT,.FALSE.,.FALSE.,.FALSE.,   &
                    IIL,IIH,IJL,IJH,IKL,IKH,                                    &
                    PTRAJX=ZTRAJX,PTRAJY=ZTRAJY,PTRAJZ=ZTRAJZ                   )
@@ -806,6 +853,7 @@ DEALLOCATE (ZTRAJY)
 DEALLOCATE (ZTRAJZ)
 DEALLOCATE (ZTRAJT)
 DEALLOCATE (ZWORK6)
+DEALLOCATE (ZDATIME)
 !
 !-------------------------------------------------------------------------------
 END SUBROUTINE LES_DIACHRO
@@ -835,6 +883,7 @@ REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJX ! localization of the temporal
 REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJY ! series in x,y and z. remark:
 REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJZ ! x and y are not used for LES
 REAL,    DIMENSION(:,:),   POINTER     :: ZTRAJT ! time
+REAL,    DIMENSION(:,:),   POINTER     :: ZDATIME ! date
 !
 INTEGER, DIMENSION(1)                  :: IGRID    ! grid indicator
 CHARACTER(LEN= 10)                     :: YGROUP   ! group title
@@ -873,6 +922,7 @@ ALLOCATE (ZTRAJY(1,1,SIZE(PFIELD,3)))
 ALLOCATE (ZTRAJZ(NLES_K,1,SIZE(PFIELD,3)))
 ALLOCATE(ZWORK6(1,1,NLES_K,NLES_CURRENT_TIMES,SIZE(PFIELD,3),1))
 ALLOCATE(ZTRAJT(NLES_CURRENT_TIMES,1))
+ALLOCATE(ZDATIME(16,NLES_CURRENT_TIMES))
 !
 IIL = NLES_CURRENT_IINF
 IIH = NLES_CURRENT_ISUP
@@ -893,6 +943,7 @@ YGROUP    = HGROUP
 !
 ZWORK6(1,1,:,:,:,1) = ZFIELD (:,:,:)
 ZTRAJT(:,:) = XLES_CURRENT_TRAJT(:,:)
+ZDATIME(:,:)=XLES_CURRENT_DATIME(:,:)
 !
 IF (GNORM) THEN
   IF (HUNIT(1:1)/=' ') YUNIT='-'
@@ -902,7 +953,7 @@ END IF
 !* time average
 !
 IRESP = 0
-IF (GAVG) CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP)
+IF (GAVG) CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP,ZDATIME)
 !
 IF (HAVG/=' ')  YGROUP=HAVG//'_'//YGROUP
 YTITLE(1) = YGROUP
@@ -912,7 +963,7 @@ YTITLE(1) = YGROUP
 !
 !
 IF (IRESP==0 .AND. ANY(ZWORK6/=XUNDEF)) &
-CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SSOL",IGRID,XLES_CURRENT_DATIME, ZWORK6,     &
+CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SSOL",IGRID,ZDATIME, ZWORK6,     &
                    ZTRAJT,YTITLE,YUNIT,YCOMMENT,.FALSE.,.FALSE.,.FALSE.,   &
                    IIL,IIH,IJL,IJH,IKL,IKH,                                    &
                    PTRAJX=ZTRAJX,PTRAJY=ZTRAJY,PTRAJZ=ZTRAJZ                   )
@@ -926,6 +977,7 @@ DEALLOCATE (ZTRAJY)
 DEALLOCATE (ZTRAJZ)
 DEALLOCATE (ZTRAJT)
 DEALLOCATE(ZWORK6)
+DEALLOCATE(ZDATIME)
 !
 !-------------------------------------------------------------------------------
 END SUBROUTINE LES_DIACHRO_SV
@@ -956,6 +1008,7 @@ REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJX ! localization of the temporal
 REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJY ! series in x,y and z. remark:
 REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJZ ! x and y are not used for LES
 REAL,    DIMENSION(:,:),   POINTER     :: ZTRAJT ! time
+REAL,    DIMENSION(:,:),   POINTER     :: ZDATIME ! date
 !
 INTEGER,            DIMENSION(SIZE(PFIELD,3)) :: IGRID    ! grid indicator
 CHARACTER(LEN= 10)                            :: YGROUP   ! group title
@@ -994,6 +1047,8 @@ ALLOCATE (ZTRAJY(1,1,1))
 ALLOCATE (ZTRAJZ(NLES_K,1,1))
 ALLOCATE(ZWORK6(1,1,NLES_K,NLES_CURRENT_TIMES,1,SIZE(PFIELD,3)))
 ALLOCATE(ZTRAJT(NLES_CURRENT_TIMES,1))
+ALLOCATE(ZDATIME(16,NLES_CURRENT_TIMES))
+
 !
 IIL = NLES_CURRENT_IINF
 IIH = NLES_CURRENT_ISUP
@@ -1015,6 +1070,8 @@ YGROUP      = HGROUP
 !
 ZWORK6(1,1,:,:,1,:) = ZFIELD (:,:,:)
 ZTRAJT(:,:) = XLES_CURRENT_TRAJT(:,:)
+ZDATIME(:,:)= XLES_CURRENT_DATIME(:,:)
+
 !
 IF (GNORM) THEN
   IF (HUNIT(1:1)/=' ') YUNIT='-'
@@ -1025,7 +1082,7 @@ END IF
 !* time average
 !
 IRESP = 0
-IF (GAVG) CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP)
+IF (GAVG) CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP,ZDATIME)
 !
 IF (HAVG/=' ')  YGROUP=HAVG//'_'//YGROUP
 YTITLE  (:) = YGROUP//HTITLE(:)
@@ -1035,7 +1092,7 @@ YTITLE  (:) = YGROUP//HTITLE(:)
 !            ----------------------
 !
 IF (IRESP==0 .AND. ANY(ZWORK6/=XUNDEF)) &
-CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SSOL",IGRID,XLES_CURRENT_DATIME, ZWORK6,     &
+CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SSOL",IGRID,ZDATIME, ZWORK6,     &
                    ZTRAJT,YTITLE,YUNIT,YCOMMENT,.FALSE.,.FALSE.,.FALSE.,   &
                    IIL,IIH,IJL,IJH,IKL,IKH,                                    &
                    PTRAJX=ZTRAJX,PTRAJY=ZTRAJY,PTRAJZ=ZTRAJZ                   )
@@ -1049,6 +1106,7 @@ DEALLOCATE (ZTRAJY)
 DEALLOCATE (ZTRAJZ)
 DEALLOCATE (ZTRAJT)
 DEALLOCATE(ZWORK6)
+DEALLOCATE(ZDATIME)
 !
 !-------------------------------------------------------------------------------
 END SUBROUTINE LES_DIACHRO_MASKS
@@ -1079,6 +1137,7 @@ REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJX ! localization of the temporal
 REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJY ! series in x,y and z. remark:
 REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJZ ! x and y are not used for LES
 REAL,    DIMENSION(:,:),   POINTER     :: ZTRAJT ! time
+REAL,    DIMENSION(:,:),   POINTER     :: ZDATIME! date
 !
 INTEGER,            DIMENSION(SIZE(PFIELD,3)) :: IGRID    ! grid indicator
 CHARACTER(LEN= 10)                            :: YGROUP   ! group title
@@ -1119,6 +1178,7 @@ ALLOCATE (ZTRAJY(1,1,SIZE(PFIELD,4)))
 ALLOCATE (ZTRAJZ(NLES_K,1,SIZE(PFIELD,4)))
 ALLOCATE(ZWORK6(1,1,NLES_K,NLES_CURRENT_TIMES,SIZE(PFIELD,4),SIZE(PFIELD,3)))
 ALLOCATE(ZTRAJT(NLES_CURRENT_TIMES,1))
+ALLOCATE(ZDATIME(16,NLES_CURRENT_TIMES))
 !
 IIL = NLES_CURRENT_IINF
 IIH = NLES_CURRENT_ISUP
@@ -1144,17 +1204,18 @@ DO JSV=1,SIZE(PFIELD,4)
   END DO
 END DO
 ZTRAJT(:,:) = XLES_CURRENT_TRAJT(:,:)
+ZDATIME(:,:)= XLES_CURRENT_DATIME(:,:)
 !
 IF (GNORM) THEN
   IF (HUNIT(1:1)/=' ') YUNIT='-'
   CALL LES_Z_NORM(GAVG,ZTRAJZ,ZWORK6)
 END IF
-!
+!n
 !
 !* time average
 !
 IRESP = 0
-IF (GAVG) CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP)
+IF (GAVG) CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP,ZDATIME)
 !
 IF (HAVG/=' ')  YGROUP=HAVG//'_'//YGROUP
 YTITLE  (:) = YGROUP//HTITLE(:)
@@ -1164,7 +1225,7 @@ YTITLE  (:) = YGROUP//HTITLE(:)
 !
 !
 IF (IRESP==0 .AND. ANY(ZWORK6/=XUNDEF)) &
-CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SSOL",IGRID,XLES_CURRENT_DATIME, ZWORK6,     &
+CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SSOL",IGRID,ZDATIME, ZWORK6,     &
                    ZTRAJT,YTITLE,YUNIT,YCOMMENT,.FALSE.,.FALSE.,.FALSE.,   &
                    IIL,IIH,IJL,IJH,IKL,IKH,                                    &
                    PTRAJX=ZTRAJX,PTRAJY=ZTRAJY,PTRAJZ=ZTRAJZ                   )
@@ -1178,6 +1239,7 @@ DEALLOCATE (ZTRAJY)
 DEALLOCATE (ZTRAJZ)
 DEALLOCATE (ZTRAJT)
 DEALLOCATE(ZWORK6)
+DEALLOCATE(ZDATIME)
 !
 !-------------------------------------------------------------------------------
 END SUBROUTINE LES_DIACHRO_SV_MASKS
@@ -1209,6 +1271,7 @@ REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJX ! localization of the temporal
 REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJY ! series in x,y and z. remark:
 REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJZ ! x and y are not used for LES
 REAL,    DIMENSION(:,:),   POINTER     :: ZTRAJT ! time
+REAL,    DIMENSION(:,:),   POINTER     :: ZDATIME ! DATE
 !
 INTEGER, DIMENSION(1)                  :: IGRID    ! grid indicator
 CHARACTER(LEN= 10)                     :: YGROUP   ! group title
@@ -1242,6 +1305,7 @@ ALLOCATE (ZTRAJY(1,1,1))
 ALLOCATE (ZTRAJZ(1,1,1))
 ALLOCATE(ZWORK6(1,1,1,NLES_CURRENT_TIMES,1,1))
 ALLOCATE(ZTRAJT(NLES_CURRENT_TIMES,1))
+ALLOCATE(ZDATIME(16,NLES_CURRENT_TIMES))
 !
 IIL = NLES_CURRENT_IINF
 IIH = NLES_CURRENT_ISUP
@@ -1260,11 +1324,12 @@ YGROUP    = HGROUP
 !
 ZWORK6(1,1,1,:,1,1) = PFIELD (:)
 ZTRAJT(:,:) = XLES_CURRENT_TRAJT(:,:)
+ZDATIME(:,:)=XLES_CURRENT_DATIME(:,:)
 !
 !* time average
 !
 IRESP = 0
-IF (GAVG) CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP)
+IF (GAVG) CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP,ZDATIME)
 !
 IF (HAVG/=' ')  YGROUP=HAVG//'_'//YGROUP
 YTITLE(1) = HGROUP
@@ -1273,7 +1338,7 @@ YTITLE(1) = HGROUP
 !            ----------------------
 !
 IF (IRESP==0) &
-CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SSOL",IGRID,XLES_CURRENT_DATIME, ZWORK6,     &
+CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SSOL",IGRID,ZDATIME, ZWORK6,     &
                    ZTRAJT,YTITLE,YUNIT,YCOMMENT,.FALSE.,.FALSE.,.FALSE.,   &
                    IIL,IIH,IJL,IJH,IKL,IKH,                                    &
                    PTRAJX=ZTRAJX,PTRAJY=ZTRAJY,PTRAJZ=ZTRAJZ                   )
@@ -1287,6 +1352,7 @@ DEALLOCATE (ZTRAJY)
 DEALLOCATE (ZTRAJZ)
 DEALLOCATE (ZTRAJT)
 DEALLOCATE(ZWORK6)
+DEALLOCATE(ZDATIME)
 !
 !-------------------------------------------------------------------------------
 END SUBROUTINE LES_DIACHRO_SURF
@@ -1316,7 +1382,7 @@ REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJX ! localization of the temporal
 REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJY ! series in x,y and z. remark:
 REAL,    DIMENSION(:,:,:), ALLOCATABLE :: ZTRAJZ ! x and y are not used for LES
 REAL,    DIMENSION(:,:),   POINTER     :: ZTRAJT ! time
-!
+REAL,    DIMENSION(:,:),   POINTER     :: ZDATIME ! date
 INTEGER, DIMENSION(1)                  :: IGRID    ! grid indicator
 CHARACTER(LEN= 10)                     :: YGROUP   ! group title
 CHARACTER(LEN=100), DIMENSION(1)       :: YCOMMENT ! comment string
@@ -1348,6 +1414,8 @@ ALLOCATE (ZTRAJY(1,1,SIZE(PFIELD,2)))
 ALLOCATE (ZTRAJZ(1,1,SIZE(PFIELD,2)))
 ALLOCATE(ZWORK6(1,1,1,NLES_CURRENT_TIMES,SIZE(PFIELD,2),1))
 ALLOCATE(ZTRAJT(NLES_CURRENT_TIMES,1))
+ALLOCATE(ZDATIME(16,NLES_CURRENT_TIMES))
+
 !
 IIL = NLES_CURRENT_IINF
 IIH = NLES_CURRENT_ISUP
@@ -1367,12 +1435,13 @@ YGROUP    = HGROUP
 IRESP = 0
 ZWORK6(1,1,1,:,:,1) = PFIELD (:,:)
 ZTRAJT(:,:) = XLES_CURRENT_TRAJT(:,:)
+ZDATIME(:,:)=XLES_CURRENT_DATIME(:,:)
 !
 
 !
 !* time average
 !
-IF (GAVG) CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP)
+IF (GAVG) CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP,ZDATIME)
 !
 !
 IF (HAVG/=' ')  YGROUP=HAVG//'_'//YGROUP
@@ -1382,7 +1451,7 @@ YTITLE(1) = HGROUP
 !            ----------------------
 !
 IF (IRESP==0) &
-CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SSOL",IGRID,XLES_CURRENT_DATIME, ZWORK6,     &
+CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SSOL",IGRID,ZDATIME, ZWORK6,     &
                    ZTRAJT,YTITLE,YUNIT,YCOMMENT,.FALSE.,.FALSE.,.FALSE.,   &
                    IIL,IIH,IJL,IJH,IKL,IKH,                                    &
                    PTRAJX=ZTRAJX,PTRAJY=ZTRAJY,PTRAJZ=ZTRAJZ                   )
@@ -1396,6 +1465,7 @@ DEALLOCATE (ZTRAJY)
 DEALLOCATE (ZTRAJZ)
 DEALLOCATE (ZTRAJT)
 DEALLOCATE(ZWORK6)
+DEALLOCATE(ZDATIME)
 !
 !-------------------------------------------------------------------------------
 END SUBROUTINE LES_DIACHRO_SURF_SV
@@ -1438,6 +1508,7 @@ INTEGER                          :: JT       ! time counter
 INTEGER                          :: JK       ! level counter
 INTEGER                          :: IRESP    ! return code
 REAL, DIMENSION(:,:),POINTER     :: ZTRAJT   ! time
+REAL, DIMENSION(:,:),POINTER     :: ZDATIME   ! date
 
 !
 REAL, DIMENSION(:,:,:,:,:,:), POINTER :: ZWORK6 ! contains physical field
@@ -1461,6 +1532,7 @@ IF (GAVG .AND. (XLES_TEMP_MEAN_START==XUNDEF .OR. XLES_TEMP_MEAN_END==XUNDEF)) R
 !
 ALLOCATE(ZWORK6(SIZE(PFIELDX,1),1,NSPECTRA_K,NLES_CURRENT_TIMES,2,1))
 ALLOCATE(ZTRAJT(NLES_CURRENT_TIMES,1))
+ALLOCATE(ZDATIME(16,NLES_CURRENT_TIMES))
 !
 IGRID(:)=1
 !
@@ -1487,10 +1559,11 @@ DO JT=1,SIZE(PFIELDX,3)
     END DO
 END DO
 ZTRAJT(:,:) = XLES_CURRENT_TRAJT(:,:)
+ZDATIME(:,:)= XLES_CURRENT_DATIME(:,:)
 !* time average
 !
 IF (GAVG) THEN
-  CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP)
+  CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP,ZDATIME)
   YGROUP    = 'T_'//YGROUP
 END IF
 !
@@ -1499,18 +1572,20 @@ END IF
 !            ----------------------
 !
 IF (IRESP==0) &
-CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SPXY",IGRID,XLES_CURRENT_DATIME, ZWORK6,     &
+CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SPXY",IGRID,ZDATIME, ZWORK6,     &
                    ZTRAJT,YTITLE,YUNIT,YCOMMENT,.FALSE.,.FALSE.,.FALSE.,   &
                    IIL,IIH,IJL,IJH,IKL,IKH                                     )
 !
 !
 DEALLOCATE (ZTRAJT)
+DEALLOCATE(ZDATIME)
 DEALLOCATE(ZWORK6)
 !
 IF (L2D) RETURN
 !
 ALLOCATE(ZWORK6(1,SIZE(PFIELDY,1),NSPECTRA_K,NLES_CURRENT_TIMES,2,1))
 ALLOCATE(ZTRAJT(NLES_CURRENT_TIMES,1))
+ALLOCATE(ZDATIME(16,NLES_CURRENT_TIMES))
 !
 IIL = 1
 IIH = 1
@@ -1524,6 +1599,7 @@ DO JT=1,SIZE(PFIELDY,3)
     END DO
 END DO
 ZTRAJT(:,:) = XLES_CURRENT_TRAJT(:,:)
+ZDATIME(:,:)= XLES_CURRENT_DATIME(:,:)
 !
 YGROUP    = 'CJ_'//HGROUP
 YTITLE(:) = YGROUP
@@ -1534,16 +1610,18 @@ YCOMMENT(:) = " DOMEGAY="//YSTRING//' '//HCOMMENT
 !* time average
 !
 IF (GAVG) THEN
-  CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP)
+  CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP,ZDATIME)
   YGROUP    = 'T_'//YGROUP
 END IF
 !
-CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SPXY",IGRID,XLES_CURRENT_DATIME, ZWORK6,     &
+CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SPXY",IGRID,ZDATIME, ZWORK6,     &
                    ZTRAJT,YTITLE,YUNIT,YCOMMENT,.FALSE.,.FALSE.,.FALSE.,   &
                    IIL,IIH,IJL,IJH,IKL,IKH                                     )
 !
 DEALLOCATE (ZTRAJT)
 DEALLOCATE(ZWORK6)
+DEALLOCATE(ZDATIME)
+
 !
 !-------------------------------------------------------------------------------
 END SUBROUTINE LES_DIACHRO_2PT
@@ -1584,6 +1662,8 @@ INTEGER                          :: IRESP    ! return code
 !
 REAL, DIMENSION(:,:,:,:,:,:), POINTER     :: ZWORK6 ! contains physical field
 REAL, DIMENSION(:,:),         POINTER     :: ZTRAJT ! time
+REAL, DIMENSION(:,:),         POINTER     :: ZDATIME ! date
+
 !
 INTEGER :: IIL, IIH, IJL, IJH, IKL, IKH  ! cartesian area relatively to the
 !                                        ! entire domain
@@ -1610,8 +1690,11 @@ IKH=NSPECTRA_K
 !
 ALLOCATE(ZWORK6(SIZE(PSPECTRAX,1),1,NSPECTRA_K,NLES_CURRENT_TIMES,2,1))
 ALLOCATE(ZTRAJT(NLES_CURRENT_TIMES,1))
+ALLOCATE(ZDATIME(16,NLES_CURRENT_TIMES))
+
 !
 ZTRAJT(:,:) = XLES_CURRENT_TRAJT(:,:)
+ZDATIME(:,:)= XLES_CURRENT_DATIME(:,:)
 !
 IIL = NLES_CURRENT_IINF
 IIH = NLES_CURRENT_ISUP
@@ -1631,7 +1714,7 @@ WRITE(YSTRING,FMT="(I6.6)") NINT( XLES_CURRENT_DOMEGAX )
 YCOMMENT(:) = " DOMEGAX="//YSTRING//' '//HCOMMENT
 !
 !
-CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SPXY",IGRID,XLES_CURRENT_DATIME, ZWORK6,     &
+CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SPXY",IGRID,ZDATIME, ZWORK6,     &
                    ZTRAJT,YTITLE,YUNIT,YCOMMENT,.FALSE.,.FALSE.,.FALSE.,   &
                    IIL,IIH,IJL,IJH,IKL,IKH                                     )
 !
@@ -1639,15 +1722,16 @@ CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SPXY",IGRID,XLES_CURRENT_DATI
 !* time average
 !
 IRESP=0
-CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP)
+CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP,ZDATIME)
 YGROUP    = 'T_'//YGROUP
 !
 IF (IRESP==0) &
-CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SPXY",IGRID,XLES_CURRENT_DATIME, ZWORK6,     &
+CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SPXY",IGRID,ZDATIME, ZWORK6,     &
                    ZTRAJT,YTITLE,YUNIT,YCOMMENT,.FALSE.,.FALSE.,.FALSE.,   &
                    IIL,IIH,IJL,IJH,IKL,IKH                                     )
 DEALLOCATE(ZWORK6)
 DEALLOCATE(ZTRAJT)
+DEALLOCATE(ZDATIME)
 !
 !* spectra in Y direction
 !
@@ -1656,8 +1740,10 @@ IF (L2D) RETURN
 !
 ALLOCATE(ZWORK6(1,SIZE(PSPECTRAY,1),NSPECTRA_K,NLES_CURRENT_TIMES,2,1))
 ALLOCATE(ZTRAJT(NLES_CURRENT_TIMES,1))
+ALLOCATE(ZDATIME(16,NLES_CURRENT_TIMES))
 !
 ZTRAJT(:,:) = XLES_CURRENT_TRAJT(:,:)
+ZDATIME(:,:)= XLES_CURRENT_DATIME(:,:)
 !
 IIL = 1
 IIH = 1
@@ -1676,23 +1762,24 @@ YTITLE(:) = YGROUP
 WRITE(YSTRING,FMT="(I6.6)") NINT( XLES_CURRENT_DOMEGAY )
 YCOMMENT(:) = " DOMEGAY="//YSTRING//' '//HCOMMENT
 !
-CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SPXY",IGRID,XLES_CURRENT_DATIME, ZWORK6,     &
+CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SPXY",IGRID,ZDATIME, ZWORK6,     &
                    ZTRAJT,YTITLE,YUNIT,YCOMMENT,.FALSE.,.FALSE.,.FALSE.,   &
                    IIL,IIH,IJL,IJH,IKL,IKH                                     )
 !
 !
 !* time average
 !
-CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP)
+CALL LES_TIME_AVG(ZTRAJT,ZWORK6,IRESP,ZDATIME)
 YGROUP    = 'T_'//YGROUP
 !
 IF (IRESP==0) &
-CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SPXY",IGRID,XLES_CURRENT_DATIME, ZWORK6,     &
+CALL WRITE_DIACHRO(CCURRENT_FMDIAC,CLUOUT0,YGROUP,"SPXY",IGRID,ZDATIME, ZWORK6,     &
                    ZTRAJT,YTITLE,YUNIT,YCOMMENT,.FALSE.,.FALSE.,.FALSE.,   &
                    IIL,IIH,IJL,IJH,IKL,IKH                                     )                   
 !
 DEALLOCATE(ZWORK6)
 DEALLOCATE(ZTRAJT)
+DEALLOCATE(ZDATIME)
 
 !
 !-------------------------------------------------------------------------------