From 5b206a53b7f731a7c4164ac8f8d959e54f45b5a6 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Tue, 17 Apr 2018 15:42:45 +0200
Subject: [PATCH] Philippe 17/04/2018: IO: corrections for modi_fm, modi_io and
 MODI_MENU_DIACHRO

---
 src/LIB/SURCOUCHE/src/modi_fm.f90 | 19 +++++++++----------
 src/LIB/SURCOUCHE/src/modi_io.f90 | 28 +++++++++++++---------------
 src/MNH/modules_diachro.f90       | 10 +++++-----
 3 files changed, 27 insertions(+), 30 deletions(-)

diff --git a/src/LIB/SURCOUCHE/src/modi_fm.f90 b/src/LIB/SURCOUCHE/src/modi_fm.f90
index de8b5a86e..ad1466bd8 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 5d1296ba1..7b1001be1 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 a6259e1a4..769f4a769 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
-- 
GitLab