diff --git a/src/MNH/mode_les_diachro.f90 b/src/MNH/mode_les_diachro.f90
index 815f3f0732e6616ad9108e8f8669cdfc070dda77..fcb44dc35e3f7c2701b68ea0a4a9fef31f228fdf 100644
--- a/src/MNH/mode_les_diachro.f90
+++ b/src/MNH/mode_les_diachro.f90
@@ -24,11 +24,9 @@ implicit none
 
 private
 
-public :: Les_diachro, Les_diachro_2pt, LES_DIACHRO_MASKS, Les_diachro_spec, &
-          LES_DIACHRO_SURF, LES_DIACHRO_SURF_SV, LES_DIACHRO_SV, LES_DIACHRO_SV_MASKS
+public :: Les_diachro, Les_diachro_2pt, Les_diachro_spec
 
 interface Les_diachro
-  module procedure LES_DIACHRO_old
   module procedure Les_diachro_1D, Les_diachro_2D, Les_diachro_3D, Les_diachro_4D
 end interface
 
@@ -653,186 +651,6 @@ end if
 
 end function Les_time_avg_1pt
 
-!########################################################
-subroutine Les_diachro_gen(tpdiafile, hgroup, hcomment, hunit, pfield, havg, htitle, osurf, osv )
-!########################################################
-
-use modd_field,         only: NMNHDIM_UNKNOWN, tfield_metadata_base, TYPEREAL
-use modd_io,            only: tfiledata
-use modd_les,           only: nles_current_iinf, nles_current_isup, nles_current_jinf, nles_current_jsup, nles_current_times, &
-                              nles_k, nles_levels, xles_current_z, xles_temp_mean_start, xles_temp_mean_end
-use modd_parameters,    only: XUNDEF
-use modd_type_date,     only: date_time
-
-use mode_write_diachro, only: Write_diachro
-
-implicit none
-!
-!*      0.1  Declarations of arguments
-!
-type(tfiledata),                                intent(in) :: tpdiafile ! File to write
-character(len=*),                               intent(in) :: hgroup    ! Group title
-character(len=*), dimension(:),                 intent(in) :: hcomment  ! Comment string
-character(len=*),                               intent(in) :: hunit     ! Physical unit
-real,             dimension(:,:,:,:),           intent(in) :: pfield    ! Data array
-character(len=1),                               intent(in) :: havg      ! Flag to compute avg.
-character(len=*), dimension(:),       optional, intent(in) :: htitle    ! Title
-logical,                              optional, intent(in) :: osurf     ! Flag to know if pfield is a surface variable
-logical,                              optional, intent(in) :: osv       ! Flag for scalar variables
-!
-!*      0.2  Declaration of local variables for diachro
-!
-character(len=10)                                       :: ygroup                        ! Group title
-character(len=100), dimension(:),           allocatable :: ycomment                      ! Comment string
-character(len=100), dimension(:),           allocatable :: ytitle                        ! Title
-character(len=100), dimension(:),           allocatable :: yunit                         ! Physical unit
-integer                                                 :: iresp                         ! Return code
-integer                                                 :: iles_k                        ! Number of vertical levels
-integer                                                 :: iil, iih, ijl, ijh, ikl, ikh  ! Cartesian area relatively to the
-                                                                                         ! entire domain
-integer                                                 :: jk                            ! Vertical loop counter
-integer                                                 :: jp                            ! Process loop counter
-integer                                                 :: jsv                           ! Scalar loop counter
-integer,            dimension(:),           allocatable :: igrid                         ! Grid indicator
-logical                                                 :: gavg                          ! Flag to compute time averagings
-logical                                                 :: gnorm                         ! Flag to compute normalizations
-logical                                                 :: gsurf                         ! Flag for surface variables
-logical                                                 :: gsv                           ! Flag for scalar variables
-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(size(pfield,1),size(pfield,2),size(pfield,3),size(pfield,4))    &
-                                                        :: zfield                        ! Normalized field
-real,               dimension(:,:,:,:,:,:), allocatable :: zwork6                        ! Contains physical field
-type(date_time),    dimension(:),           allocatable :: tzdates
-type(tfield_metadata_base), dimension(:),   allocatable :: tzfields
-!------------------------------------------------------------------------------
-
-if ( present( osurf ) .and. present ( htitle ) ) then
-  call Print_msg( NVERB_ERROR, 'BUD', 'LES_DIACHRO_gen', &
-                  'unexpected: osurf and htitle simultaneously present (not yet validated)' )
-end if
-
-if ( present( osurf ) ) then
-  gsurf = osurf
-else
-  gsurf = .false.
-end if
-
-if ( present( osv ) ) then
-  gsv = osv
-else
-  gsv = .false.
-end if
-
-if ( gsurf ) then
-  iles_k = 1
-else
-  iles_k = nles_k
-end if
-
-gavg  = ( havg == 'A' .or. havg == 'H' )
-gnorm = ( havg == 'E' .or. havg == 'H' )
-
-if ( gavg .and. ( xles_temp_mean_start == XUNDEF .or. xles_temp_mean_end == XUNDEF ) ) return
-
-if ( gnorm ) then
-  if ( gsurf) then
-    return
-  else
-    call Les_norm_4d( hunit, pfield, zfield, gsv )
-  end if
-else
-  zfield(:, :, :, :) = pfield(:, :, :, :)
-end if
-
-! Initialization of diachro variables for les (z,t) profiles
-allocate( ztrajx( 1,      1, size( pfield, 4 ) ) )
-allocate( ztrajy( 1,      1, size( pfield, 4 ) ) )
-allocate( ztrajz( iles_k, 1, size( pfield, 4 ) ) )
-allocate( zwork6( 1, 1, iles_k, nles_current_times, size( pfield, 4 ), size( pfield, 3 ) ) )
-allocate( igrid   ( size( pfield, 3 ) ) )
-allocate( ycomment( size( pfield, 3 ) ) )
-allocate( ytitle  ( size( pfield, 3 ) ) )
-allocate( yunit   ( size( pfield, 3 ) ) )
-allocate( tzdates( nles_current_times ) )
-
-iil = nles_current_iinf
-iih = nles_current_isup
-ijl = nles_current_jinf
-ijh = nles_current_jsup
-ikl = nles_levels(1)
-ikh = nles_levels(iles_k)
-
-ztrajx(:, :, :) = ( iil + iih ) / 2
-ztrajy(:, :, :) = ( ijl + ijh ) / 2
-do jk = 1, iles_k
-  ztrajz(jk, :, :) = xles_current_z(jk)
-end do
-
-igrid(:) = 1
-ycomment(:) = hcomment(:)
-yunit(:)    = hunit(:)
-ygroup      = hgroup
-
-tzdates(:) = xles_dates(:)
-
-! Normalization of vertical dimension
-if ( gnorm ) then
-  if ( hunit(1:1) /= ' ') yunit = '1'
-  call Les_z_norm( gavg, ztrajz, zfield(:,:,:,:) )
-end if
-
-do jsv = 1, size( pfield, 4 )
-  do jp = 1, size( pfield, 3 )
-    zwork6(1, 1, :, :, jsv, jp) = zfield (:, :, jp, jsv)
-  end do
-end do
-
-! Time average
-iresp = 0
-if ( gavg ) call Les_time_avg( zwork6, tzdates, iresp )
-
-if ( havg /= ' ' )  ygroup = havg // '_' // ygroup
-if ( present( htitle ) ) then
-  ytitle(:) = ygroup // htitle(:)
-else
-  if ( gsurf ) then
-    ytitle(:) = hgroup
-  else
-    ytitle(:) = ygroup
-  end if
-end if
-
-! Write the profile
-if ( iresp==0 .and. ( gsurf .or. any( zwork6 /= XUNDEF ) ) ) then
-  allocate( tzfields( Size( pfield, 3 ) ) )
-
-  tzfields(:)%cmnhname  = ytitle(:)
-  tzfields(:)%cstdname  = ''
-  tzfields(:)%clongname = ytitle(:)
-  tzfields(:)%cunits    = yunit(:)
-  tzfields(:)%ccomment  = ycomment(:)
-  tzfields(:)%ngrid     = igrid
-  tzfields(:)%ntype     = TYPEREAL
-  tzfields(:)%ndims     = 6
-  do jp = 1, Size( tzfields )
-    tzfields(jp)%ndimlist(:) = NMNHDIM_UNKNOWN
-  end do
-
-  call Write_diachro( tpdiafile, tzfields, ygroup, "SSOL", tzdates,                     &
-                      zwork6,                                                           &
-                      oicp = .false., ojcp = .false., okcp = .false.,                   &
-                      kil = iil, kih = iih, kjl = ijl, kjh = ijh, kkl = ikl, kkh = ikh, &
-                      ptrajx = ztrajx, ptrajy = ztrajy, ptrajz = ztrajz                 )
-
-  deallocate( tzfields )
-end if
-
-!-------------------------------------------------------------------------------
-end subroutine Les_diachro_gen
-!------------------------------------------------------------------------------
-
 !#######################################################################
 subroutine Les_diachro_1D( tpdiafile, tpfield, odoavg, odonorm, pfield )
 !#######################################################################
@@ -1220,142 +1038,6 @@ end subroutine Les_diachro_common_intern
 end subroutine Les_diachro_common
 !------------------------------------------------------------------------------
 
-!########################################################
-SUBROUTINE LES_DIACHRO_old(TPDIAFILE,HGROUP,HCOMMENT,HUNIT,PFIELD,HAVG)
-!########################################################
-
-IMPLICIT NONE
-!
-!*      0.1  declarations of arguments
-!
-TYPE(TFILEDATA),      INTENT(IN)       :: TPDIAFILE! file to write
-CHARACTER(LEN=*),     INTENT(IN)       :: HGROUP   ! group title
-CHARACTER(LEN=*),     INTENT(IN)       :: HCOMMENT ! comment string
-CHARACTER(LEN=*),     INTENT(IN)       :: HUNIT    ! physical unit
-REAL, DIMENSION(:,:), INTENT(IN)       :: PFIELD
-CHARACTER(LEN=1),     INTENT(IN)       :: HAVG     ! flag to compute avg.
-
-call Les_diachro_gen( tpdiafile, hgroup, [ hcomment ], hunit, &
-                      reshape( pfield, [ size( pfield, 1), size( pfield, 2), 1, 1 ] ), havg )
-
-!-------------------------------------------------------------------------------
-END SUBROUTINE LES_DIACHRO_old
-!-------------------------------------------------------------------------------
-
-!###########################################################
-SUBROUTINE LES_DIACHRO_SV(TPDIAFILE,HGROUP,HCOMMENT,HUNIT,PFIELD,HAVG)
-!###########################################################
-
-IMPLICIT NONE
-!
-!*      0.1  declarations of arguments
-!
-TYPE(TFILEDATA),        INTENT(IN)       :: TPDIAFILE! file to write
-CHARACTER(LEN=*),       INTENT(IN)       :: HGROUP   ! group title
-CHARACTER(LEN=*),       INTENT(IN)       :: HCOMMENT ! comment string
-CHARACTER(LEN=*),       INTENT(IN)       :: HUNIT    ! physical unit
-REAL, DIMENSION(:,:,:), INTENT(IN)       :: PFIELD
-CHARACTER(LEN=1),       INTENT(IN)       :: HAVG     ! flag to compute avg.
-
-call Les_diachro_gen( tpdiafile, hgroup, [ hcomment ], hunit,                                            &
-                      reshape( pfield, [ size( pfield, 1 ), size( pfield, 2 ), 1, size( pfield, 3 ) ] ), &
-                      havg, osv = .true. )
-
-!-------------------------------------------------------------------------------
-END SUBROUTINE LES_DIACHRO_SV
-!-------------------------------------------------------------------------------
-
-!#####################################################################
-SUBROUTINE LES_DIACHRO_MASKS(TPDIAFILE,HGROUP,HTITLE,HCOMMENT,HUNIT,PFIELD,HAVG)
-!#####################################################################
-
-IMPLICIT NONE
-!
-!*      0.1  declarations of arguments
-!
-TYPE(TFILEDATA),                    INTENT(IN) :: TPDIAFILE! file to write
-CHARACTER(LEN=*),                   INTENT(IN) :: HGROUP   ! group title
-CHARACTER(LEN=*), DIMENSION(:),     INTENT(IN) :: HTITLE   ! title
-CHARACTER(LEN=*), DIMENSION(:),     INTENT(IN) :: HCOMMENT ! comment string
-CHARACTER(LEN=*),                   INTENT(IN) :: HUNIT    ! physical unit
-REAL,             DIMENSION(:,:,:), INTENT(IN) :: PFIELD
-CHARACTER(LEN=1),                   INTENT(IN) :: HAVG     ! flag to compute avg.
-
-call Les_diachro_gen( tpdiafile, hgroup, hcomment, hunit,                                                &
-                      reshape( pfield, [ size( pfield, 1 ), size( pfield, 2 ), size( pfield, 3 ), 1 ] ), &
-                      havg, htitle = htitle )
-
-!-------------------------------------------------------------------------------
-END SUBROUTINE LES_DIACHRO_MASKS
-!-------------------------------------------------------------------------------
-
-!########################################################################
-SUBROUTINE LES_DIACHRO_SV_MASKS(TPDIAFILE,HGROUP,HTITLE,HCOMMENT,HUNIT,PFIELD,HAVG)
-!########################################################################
-
-IMPLICIT NONE
-!
-!*      0.1  declarations of arguments
-!
-TYPE(TFILEDATA),                      INTENT(IN) :: TPDIAFILE! file to write
-CHARACTER(LEN=*),                     INTENT(IN) :: HGROUP   ! group title
-CHARACTER(LEN=*), DIMENSION(:),       INTENT(IN) :: HTITLE   ! title
-CHARACTER(LEN=*), DIMENSION(:),       INTENT(IN) :: HCOMMENT ! comment string
-CHARACTER(LEN=*),                     INTENT(IN) :: HUNIT    ! physical unit
-REAL,             DIMENSION(:,:,:,:), INTENT(IN) :: PFIELD
-CHARACTER(LEN=1),                     INTENT(IN) :: HAVG     ! flag to compute avg.
-
-call Les_diachro_gen( tpdiafile, hgroup, hcomment, hunit, pfield, &
-                      havg, htitle = htitle, osv = .true.)
-
-!-------------------------------------------------------------------------------
-END SUBROUTINE LES_DIACHRO_SV_MASKS
-!-------------------------------------------------------------------------------
-
-!#############################################################
-SUBROUTINE LES_DIACHRO_SURF(TPDIAFILE,HGROUP,HCOMMENT,HUNIT,PFIELD,HAVG)
-!#############################################################
-
-IMPLICIT NONE
-!
-!*      0.1  declarations of arguments
-!
-TYPE(TFILEDATA),      INTENT(IN)       :: TPDIAFILE! file to write
-CHARACTER(LEN=*),     INTENT(IN)       :: HGROUP   ! group title
-CHARACTER(LEN=*),     INTENT(IN)       :: HCOMMENT ! comment string
-CHARACTER(LEN=*),     INTENT(IN)       :: HUNIT    ! physical unit
-REAL, DIMENSION(:),   INTENT(IN)       :: PFIELD
-CHARACTER(LEN=1),     INTENT(IN)       :: HAVG     ! flag to compute avg.
-
-call Les_diachro_gen( tpdiafile, hgroup, [ hcomment ], hunit, &
-                      reshape( pfield, [ 1, size( pfield, 1 ), 1, 1 ] ), havg, osurf = .true. )
-
-!-------------------------------------------------------------------------------
-END SUBROUTINE LES_DIACHRO_SURF
-!-------------------------------------------------------------------------------
-!################################################################
-SUBROUTINE LES_DIACHRO_SURF_SV(TPDIAFILE,HGROUP,HCOMMENT,HUNIT,PFIELD,HAVG)
-!################################################################
-
-IMPLICIT NONE
-!
-!*      0.1  declarations of arguments
-!
-TYPE(TFILEDATA),        INTENT(IN)       :: TPDIAFILE! file to write
-CHARACTER(LEN=*),       INTENT(IN)       :: HGROUP   ! group title
-CHARACTER(LEN=*),       INTENT(IN)       :: HCOMMENT ! comment string
-CHARACTER(LEN=*),       INTENT(IN)       :: HUNIT    ! physical unit
-REAL, DIMENSION(:,:),   INTENT(IN)       :: PFIELD
-CHARACTER(LEN=1),       INTENT(IN)       :: HAVG     ! flag to compute avg.
-
-call Les_diachro_gen( tpdiafile, hgroup, [ hcomment ], hunit,                            &
-                      reshape( pfield, [ 1, size( pfield, 1 ), 1, size( pfield, 2 ) ] ), &
-                      havg, osurf = .true., osv = .true. )
-
-!-------------------------------------------------------------------------------
-END SUBROUTINE LES_DIACHRO_SURF_SV
-!-------------------------------------------------------------------------------
-
 !############################################################################
 subroutine Les_diachro_2pt( tpdiafile, tpfieldx, tpfieldy, pfieldx, pfieldy )
 !############################################################################