diff --git a/src/LIB/SURCOUCHE/src/modi_fm.f90 b/src/LIB/SURCOUCHE/src/modi_fm.f90
index de8b5a86efc77a4337158ab3be11b76c95f28f45..ad1466bd851def41679432a30d90630abe0a4094 100644
--- a/src/LIB/SURCOUCHE/src/modi_fm.f90
+++ b/src/LIB/SURCOUCHE/src/modi_fm.f90
@@ -1,15 +1,10 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for CVS information
-!-----------------------------------------------------------------
-! $Source$
-! $Name$ 
-! $Revision$ 
-! $Date$
-!-----------------------------------------------------------------
+! Modifications:
+!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
 !-----------------------------------------------------------------
 
 MODULE MODI_FM_ll
@@ -20,18 +15,22 @@ SUBROUTINE SET_FMPACK_ll(O1D,O2D,OPACK)
 LOGICAL, INTENT(IN) :: O1D,O2D,OPACK
 END SUBROUTINE SET_FMPACK_ll
 !
-SUBROUTINE IO_FILE_OPEN_ll(TPFILE,KRESP,OPARALLELIO)
+SUBROUTINE IO_FILE_OPEN_ll(TPFILE,KRESP,OPARALLELIO,HPOSITION,HSTATUS,HPROGRAM_ORIG)
 USE MODD_IO_ll, ONLY: TFILEDATA
 TYPE(TFILEDATA),POINTER,INTENT(INOUT)         :: TPFILE ! File structure
 INTEGER,                INTENT(OUT), OPTIONAL :: KRESP  ! Return code
 LOGICAL,                INTENT(IN),  OPTIONAL :: OPARALLELIO
+CHARACTER(LEN=*),       INTENT(IN),  OPTIONAL :: HPOSITION
+CHARACTER(LEN=*),       INTENT(IN),  OPTIONAL :: HSTATUS
+CHARACTER(LEN=*),       INTENT(IN),  OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program
 END SUBROUTINE IO_FILE_OPEN_ll
 !
-SUBROUTINE IO_FILE_CLOSE_ll(TPFILE,KRESP,OPARALLELIO)
+SUBROUTINE IO_FILE_CLOSE_ll(TPFILE,KRESP,OPARALLELIO,HPROGRAM_ORIG)
 USE MODD_IO_ll, ONLY: TFILEDATA
 TYPE(TFILEDATA),  INTENT(INOUT)         :: TPFILE ! File structure
 INTEGER,          INTENT(OUT), OPTIONAL :: KRESP  ! Return code
 LOGICAL,          INTENT(IN),  OPTIONAL :: OPARALLELIO
+CHARACTER(LEN=*), INTENT(IN),  OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program
 END SUBROUTINE IO_FILE_CLOSE_ll
 !
 END INTERFACE
diff --git a/src/LIB/SURCOUCHE/src/modi_io.f90 b/src/LIB/SURCOUCHE/src/modi_io.f90
index 5d1296ba1fb61aad97efedcd5c06cd3be780cf4f..7b1001be10ff637500eede7e15dce73902cdefdf 100644
--- a/src/LIB/SURCOUCHE/src/modi_io.f90
+++ b/src/LIB/SURCOUCHE/src/modi_io.f90
@@ -1,15 +1,10 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for CVS information
-!-----------------------------------------------------------------
-! $Source$
-! $Name$ 
-! $Revision$ 
-! $Date$
-!-----------------------------------------------------------------
+! Modifications:
+!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
 !-----------------------------------------------------------------
 
 MODULE MODI_IO_ll
@@ -33,7 +28,8 @@ INTERFACE
        PAD,      &
        KNB_PROCIO,&
        KMELEV,&
-       OPARALLELIO)
+       OPARALLELIO, &
+       HPROGRAM_ORIG)
 
     USE MODD_IO_ll, ONLY : TFILEDATA
 
@@ -52,16 +48,18 @@ INTERFACE
     INTEGER,         INTENT(IN),  OPTIONAL :: KNB_PROCIO
     INTEGER(KIND=LFI_INT), INTENT(IN),  OPTIONAL :: KMELEV
     LOGICAL,         INTENT(IN),  OPTIONAL :: OPARALLELIO
+    CHARACTER(LEN=*),INTENT(IN),  OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program
   END SUBROUTINE OPEN_ll
   
-  SUBROUTINE CLOSE_ll(TPFILE,IOSTAT,STATUS,OPARALLELIO)
+  SUBROUTINE CLOSE_ll(TPFILE,IOSTAT,STATUS,OPARALLELIO,HPROGRAM_ORIG)
   USE MODD_IO_ll, ONLY : TFILEDATA
 
-  TYPE(TFILEDATA),  INTENT(INOUT)         :: TPFILE
-  INTEGER,          INTENT(OUT), OPTIONAL :: IOSTAT
-  CHARACTER(LEN=*), INTENT(IN),  OPTIONAL :: STATUS
-  LOGICAL,          INTENT(IN),  OPTIONAL :: OPARALLELIO
-  END SUBROUTINE CLOSE_ll
+    TYPE(TFILEDATA),  INTENT(IN)            :: TPFILE
+    INTEGER,          INTENT(OUT), OPTIONAL :: IOSTAT
+    CHARACTER(LEN=*), INTENT(IN),  OPTIONAL :: STATUS
+    LOGICAL,          INTENT(IN),  OPTIONAL :: OPARALLELIO
+    CHARACTER(LEN=*), INTENT(IN),  OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program
+ END SUBROUTINE CLOSE_ll
 
 END INTERFACE
 !
diff --git a/src/MNH/modules_diachro.f90 b/src/MNH/modules_diachro.f90
index a6259e1a48be203a6c876b9590b14544be4bcb2c..769f4a76945e16b0b6addb7ee5a8cdb266181f91 100644
--- a/src/MNH/modules_diachro.f90
+++ b/src/MNH/modules_diachro.f90
@@ -46,15 +46,15 @@ END MODULE MODI_WRITE_LFIFMN_FORDIACHRO_n
 !
 INTERFACE
 !
-SUBROUTINE WRITE_DIACHRO(TPDIAFILE,HLUOUTDIA,HGROUP,HTYPE,KGRID, &
-                   PDATIME,PVAR,PTRAJT,HTITRE,HUNITE,HCOMMENT,  &
-                   OICP, OJCP, OKCP, KIL, KIH, KJL, KJH, KKL, KKH, &
-                   PTRAJX,PTRAJY,PTRAJZ,PMASK)
+SUBROUTINE WRITE_DIACHRO(TPDIAFILE,TPLUOUTDIA,HGROUP,HTYPE,          &
+      KGRID,PDATIME,PVAR,PTRAJT,                                     &
+      HTITRE,HUNITE,HCOMMENT,OICP,OJCP,OKCP,KIL,KIH,KJL,KJH,KKL,KKH, &
+      PTRAJX,PTRAJY,PTRAJZ,PMASK)
 !
 USE MODD_IO_ll, ONLY: TFILEDATA
 !
 TYPE(TFILEDATA),              INTENT(IN)          :: TPDIAFILE    ! file to write
-CHARACTER(LEN=*),             INTENT(IN)          :: HLUOUTDIA
+TYPE(TFILEDATA),              INTENT(IN)          :: TPLUOUTDIA
 CHARACTER(LEN=*),             INTENT(IN)          :: HGROUP, HTYPE
 INTEGER,DIMENSION(:),         INTENT(IN)          :: KGRID
 REAL,DIMENSION(:,:),          INTENT(IN)          :: PDATIME