From c95e43c990bff70e6881f6830c8c43830c28aa1d Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Fri, 19 Jul 2019 08:57:38 +0200
Subject: [PATCH] Philippe 19/07/2019: remove modules_diachro and transform
 into mode_*

---
 src/MNH/diag.f90                     |  6 +--
 src/MNH/menu_diachro.f90             | 19 ++++---
 src/MNH/mode_les_diachro.f90         |  2 +-
 src/MNH/modeln.f90                   |  4 +-
 src/MNH/modules_diachro.f90          | 75 ----------------------------
 src/MNH/write_aircraft_balloon.f90   |  3 +-
 src/MNH/write_budget.f90             |  4 +-
 src/MNH/write_diachro.f90            | 14 +++++-
 src/MNH/write_lfifmn_fordiachron.f90 | 11 ++++
 src/MNH/write_profilern.f90          |  4 +-
 src/MNH/write_seriesn.f90            |  3 +-
 src/MNH/write_stationn.f90           |  5 +-
 12 files changed, 49 insertions(+), 101 deletions(-)
 delete mode 100644 src/MNH/modules_diachro.f90

diff --git a/src/MNH/diag.f90 b/src/MNH/diag.f90
index 8a2502ed3..b68caaebd 100644
--- a/src/MNH/diag.f90
+++ b/src/MNH/diag.f90
@@ -145,26 +145,26 @@ USE MODE_IO_FIELD_WRITE,   only: IO_Header_write
 USE MODE_IO,               only: IO_Config_set, IO_Init
 USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list,IO_Filelist_print
 USE MODE_ll
+use mode_menu_diachro,     only: MENU_DIACHRO
 USE MODE_MNH_TIMING
 USE MODE_MODELN_HANDLER
 USE MODE_MSG
 USE MODE_POS
 USE MODE_TIME
+use mode_write_lfifmn_fordiachro_n, only: WRITE_LFIFMN_FORDIACHRO_n
 !
 USE MODI_AIRCRAFT_BALLOON
 USE MODI_CH_MONITOR_n
 USE MODI_COMPUTE_R00
 USE MODI_DIAG_SURF_ATM_N
 USE MODI_INIT_MNH
-USE MODI_MENU_DIACHRO
 USE MODI_MNHGET_SURF_PARAM_n
 USE MODI_PHYS_PARAM_n
 USE MODI_VERSION
 USE MODI_WRITE_AIRCRAFT_BALLOON
-USE MODI_WRITE_DIAG_SURF_ATM_N  
+USE MODI_WRITE_DIAG_SURF_ATM_N
 USE MODI_WRITE_LFIFM1_FOR_DIAG
 USE MODI_WRITE_LFIFM1_FOR_DIAG_SUPP
-USE MODI_WRITE_LFIFMN_FORDIACHRO_n
 USE MODI_WRITE_SURF_ATM_N
 !
 USE MODN_CONFIO,           ONLY: NAM_CONFIO
diff --git a/src/MNH/menu_diachro.f90 b/src/MNH/menu_diachro.f90
index 7cf66861c..01291bbee 100644
--- a/src/MNH/menu_diachro.f90
+++ b/src/MNH/menu_diachro.f90
@@ -3,6 +3,15 @@
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
+module mode_menu_diachro
+
+implicit none
+
+private
+
+public :: Menu_diachro
+
+contains
 !     ##################################################
       SUBROUTINE MENU_DIACHRO(TPDIAFILE,HGROUP)
 !     ##################################################
@@ -186,11 +195,7 @@ ELSE
 ENDIF
 
 LPACK=GPACK
-!
-!-----------------------------------------------------------------------------
-!
-!*       2.       EXITS
-!                 -----
-!
-RETURN
+
 END SUBROUTINE MENU_DIACHRO
+
+end module mode_menu_diachro
diff --git a/src/MNH/mode_les_diachro.f90 b/src/MNH/mode_les_diachro.f90
index 3e07a46f6..225d99041 100644
--- a/src/MNH/mode_les_diachro.f90
+++ b/src/MNH/mode_les_diachro.f90
@@ -729,7 +729,7 @@ SUBROUTINE LES_DIACHRO(TPDIAFILE,HGROUP,HCOMMENT,HUNIT,PFIELD,HAVG)
 USE MODD_IO, ONLY: TFILEDATA
 USE MODD_LES
 USE MODD_GRID
-USE MODI_WRITE_DIACHRO
+USE MODE_WRITE_DIACHRO, only: WRITE_DIACHRO
 !
 IMPLICIT NONE
 !
diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index 6eaf3308c..644c8855f 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -355,10 +355,12 @@ USE MODE_IO_FIELD_WRITE,   only: IO_Field_user_write, IO_Fieldlist_write, IO_Hea
 USE MODE_IO_FILE,          only: IO_File_close, IO_File_open
 USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list
 USE MODE_ll
+use mode_menu_diachro,     only: MENU_DIACHRO
 USE MODE_MNH_TIMING
 USE MODE_MODELN_HANDLER
 USE MODE_MPPDB
 USE MODE_ONE_WAY_n
+use mode_write_lfifmn_fordiachro_n, only: WRITE_LFIFMN_FORDIACHRO_n
 !
 USE MODI_ADVECTION_METSV
 USE MODI_ADVECTION_UVW
@@ -393,7 +395,6 @@ USE MODI_LIMA_PRECIP_SCAVENGING
 USE MODI_LS_COUPLING
 USE MODI_MASK_COMPRESS
 USE MODI_MEAN_FIELD
-USE MODI_MENU_DIACHRO
 USE MODI_MNHGET_SURF_PARAM_n
 USE MODI_MNHWRITE_ZS_DUMMY_n
 USE MODI_NUDGING
@@ -421,7 +422,6 @@ USE MODI_WRITE_DESFM_n
 USE MODI_WRITE_DIAG_SURF_ATM_N
 USE MODI_WRITE_LES_n
 USE MODI_WRITE_LFIFM_n
-USE MODI_WRITE_LFIFMN_FORDIACHRO_n
 USE MODI_WRITE_PROFILER_n
 USE MODI_WRITE_SERIES_n
 USE MODI_WRITE_STATION_n
diff --git a/src/MNH/modules_diachro.f90 b/src/MNH/modules_diachro.f90
deleted file mode 100644
index 75fafa132..000000000
--- a/src/MNH/modules_diachro.f90
+++ /dev/null
@@ -1,75 +0,0 @@
-!MNH_LIC Copyright 1994-2019 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.
-!-----------------------------------------------------------------
-! Modifications:
-!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
-!-----------------------------------------------------------------
-!     #########################
-      MODULE MODI_MENU_DIACHRO
-!     #########################
-!
-INTERFACE
-!
-SUBROUTINE MENU_DIACHRO(TPDIAFILE,HGROUP)
-USE MODD_IO, ONLY: TFILEDATA
-!
-TYPE(TFILEDATA),  INTENT(IN) :: TPDIAFILE    ! file to write
-CHARACTER(LEN=*), INTENT(IN) :: HGROUP
-!
-END SUBROUTINE MENU_DIACHRO
-!
-END INTERFACE
-!
-END MODULE MODI_MENU_DIACHRO
-!-----------------------------------------------------------------
-!     #####################################
-      MODULE MODI_WRITE_LFIFMN_FORDIACHRO_n
-!     #####################################
-!
-INTERFACE
-!
-SUBROUTINE WRITE_LFIFMN_FORDIACHRO_n(TPFILE)
-USE MODD_IO, ONLY: TFILEDATA
-TYPE(TFILEDATA),INTENT(IN) :: TPFILE
-END SUBROUTINE WRITE_LFIFMN_FORDIACHRO_n
-!
-END INTERFACE
-!
-END MODULE MODI_WRITE_LFIFMN_FORDIACHRO_n
-!     #########################
-      MODULE MODI_WRITE_DIACHRO
-!     #########################
-!
-INTERFACE
-!
-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, ONLY: TFILEDATA
-!
-TYPE(TFILEDATA),              INTENT(IN)          :: TPDIAFILE    ! file to write
-TYPE(TFILEDATA),              INTENT(IN)          :: TPLUOUTDIA
-CHARACTER(LEN=*),             INTENT(IN)          :: HGROUP, HTYPE
-INTEGER,DIMENSION(:),         INTENT(IN)          :: KGRID
-REAL,DIMENSION(:,:),          INTENT(IN)          :: PDATIME
-REAL,DIMENSION(:,:,:,:,:,:),  INTENT(IN)          :: PVAR
-REAL,DIMENSION(:,:),          INTENT(IN)          :: PTRAJT
-CHARACTER(LEN=*),DIMENSION(:),INTENT(IN)          :: HTITRE, HUNITE, HCOMMENT
-LOGICAL,                      INTENT(IN),OPTIONAL :: OICP, OJCP, OKCP
-INTEGER,                      INTENT(IN),OPTIONAL :: KIL, KIH
-INTEGER,                      INTENT(IN),OPTIONAL :: KJL, KJH
-INTEGER,                      INTENT(IN),OPTIONAL :: KKL, KKH
-REAL,DIMENSION(:,:,:),        INTENT(IN),OPTIONAL :: PTRAJX
-REAL,DIMENSION(:,:,:),        INTENT(IN),OPTIONAL :: PTRAJY
-REAL,DIMENSION(:,:,:),        INTENT(IN),OPTIONAL :: PTRAJZ
-REAL,DIMENSION(:,:,:,:,:,:),  INTENT(IN),OPTIONAL :: PMASK
-!
-END SUBROUTINE WRITE_DIACHRO
-!
-END INTERFACE
-!
-END MODULE MODI_WRITE_DIACHRO
diff --git a/src/MNH/write_aircraft_balloon.f90 b/src/MNH/write_aircraft_balloon.f90
index 3e4e7370e..591807663 100644
--- a/src/MNH/write_aircraft_balloon.f90
+++ b/src/MNH/write_aircraft_balloon.f90
@@ -99,8 +99,7 @@ USE MODD_PARAM_LIMA     , ONLY: NINDICE_CCN_IMM,NMOD_CCN,NMOD_IFN,NMOD_IMM
 USE MODE_MODELN_HANDLER
 USE MODE_DUST_PSD
 USE MODE_AERO_PSD
-!
-USE MODI_WRITE_DIACHRO
+USE MODE_WRITE_DIACHRO,   only: WRITE_DIACHRO
 !
 IMPLICIT NONE
 !
diff --git a/src/MNH/write_budget.f90 b/src/MNH/write_budget.f90
index e24f6a300..b92c33c18 100644
--- a/src/MNH/write_budget.f90
+++ b/src/MNH/write_budget.f90
@@ -137,12 +137,12 @@ USE MODD_LUNIT_n,        ONLY: TLUOUT
 USE MODE_DATETIME
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
+use mode_menu_diachro,   only: MENU_DIACHRO
 USE MODE_TIME
+USE MODE_WRITE_DIACHRO,  only: WRITE_DIACHRO
 !
 USE MODI_END_CART_COMPRESS
 USE MODI_END_MASK_COMPRESS
-USE MODI_MENU_DIACHRO
-USE MODI_WRITE_DIACHRO
 !
 !
 IMPLICIT NONE
diff --git a/src/MNH/write_diachro.f90 b/src/MNH/write_diachro.f90
index 5e24bc549..05288a972 100644
--- a/src/MNH/write_diachro.f90
+++ b/src/MNH/write_diachro.f90
@@ -3,6 +3,15 @@
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
+module mode_write_diachro
+
+implicit none
+
+private
+
+public :: Write_diachro
+
+contains
 !     #################################################################
       SUBROUTINE WRITE_DIACHRO(TPDIAFILE,TPLUOUTDIA,HGROUP,HTYPE,     &
       KGRID,PDATIME,PVAR,PTRAJT,                                     &
@@ -81,8 +90,7 @@ USE MODD_PARAMETERS,     ONLY: JPHEXT
 USE MODE_FIELD
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write, IO_Field_write_box
 USE MODE_ll
-!
-USE MODI_MENU_DIACHRO
+use mode_menu_diachro,   only: MENU_DIACHRO
 !
 IMPLICIT NONE
 !
@@ -526,3 +534,5 @@ LPACK=GPACK
 ! 
 RETURN
 END SUBROUTINE WRITE_DIACHRO
+
+end module mode_write_diachro
diff --git a/src/MNH/write_lfifmn_fordiachron.f90 b/src/MNH/write_lfifmn_fordiachron.f90
index 2e96502f1..d6c6ba317 100644
--- a/src/MNH/write_lfifmn_fordiachron.f90
+++ b/src/MNH/write_lfifmn_fordiachron.f90
@@ -3,6 +3,15 @@
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
+module mode_write_lfifmn_fordiachro_n
+
+implicit none
+
+private
+
+public :: Write_lfifmn_fordiachro_n
+
+contains
 !     #############################################
       SUBROUTINE WRITE_LFIFMN_FORDIACHRO_n(TPFILE)
 !     #############################################
@@ -209,3 +218,5 @@ LPACK=GPACK
 !-------------------------------------------------------------------------------
 !
 END SUBROUTINE WRITE_LFIFMN_FORDIACHRO_n
+
+end module mode_write_lfifmn_fordiachro_n
diff --git a/src/MNH/write_profilern.f90 b/src/MNH/write_profilern.f90
index b70fe68aa..5e618958c 100644
--- a/src/MNH/write_profilern.f90
+++ b/src/MNH/write_profilern.f90
@@ -85,10 +85,10 @@ USE MODD_NSV
 USE MODD_RADIATIONS_n,     ONLY:NAER
 USE MODD_DIAG_IN_RUN
 !
-USE MODE_DUST_PSD
 USE MODE_AERO_PSD
+USE MODE_DUST_PSD
+USE MODE_WRITE_DIACHRO, only: WRITE_DIACHRO
 !
-USE MODI_WRITE_DIACHRO
 USE MODD_PARAM_LIMA_WARM, ONLY: CLIMA_WARM_NAMES, CAERO_MASS
 USE MODD_PARAM_LIMA_COLD, ONLY: CLIMA_COLD_NAMES
 USE MODD_PARAM_LIMA     , ONLY: NINDICE_CCN_IMM,NMOD_CCN,NMOD_IFN,NMOD_IMM
diff --git a/src/MNH/write_seriesn.f90 b/src/MNH/write_seriesn.f90
index d4851b5a3..76ff9507c 100644
--- a/src/MNH/write_seriesn.f90
+++ b/src/MNH/write_seriesn.f90
@@ -76,8 +76,7 @@ USE MODD_SERIES_n
 USE MODE_GATHER_ll
 USE MODE_ll
 USE MODE_MSG
-!
-USE MODI_WRITE_DIACHRO
+USE MODE_WRITE_DIACHRO, only: WRITE_DIACHRO
 !
 IMPLICIT NONE
 !
diff --git a/src/MNH/write_stationn.f90 b/src/MNH/write_stationn.f90
index 92722fe09..c85c58f26 100644
--- a/src/MNH/write_stationn.f90
+++ b/src/MNH/write_stationn.f90
@@ -83,11 +83,10 @@ USE MODD_DIM_n
 USE MODD_GRID_n           
 USE MODD_STATION_n
 !
+USE MODE_AERO_PSD
 USE MODE_DUST_PSD
 USE MODE_SALT_PSD
-USE MODE_AERO_PSD
-!
-USE MODI_WRITE_DIACHRO
+USE MODE_WRITE_DIACHRO, only: WRITE_DIACHRO
 !
 IMPLICIT NONE
 !
-- 
GitLab