diff --git a/src/MNH/diag.f90 b/src/MNH/diag.f90
index 8a2502ed39a3ea995f051f66f54b1660c048f86e..b68caaebd148f084c2a225f44541877342802d92 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 7cf66861c15bf5c3e13f8b2e2045c2be7835e157..01291bbee3f89f6d6c8822f5c55f8f62668fa1d5 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 3e07a46f665fb20d945376b4a07c3b6aeee3a35c..225d990414a1c5cd27362ee4e0a3051075f050d8 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 6eaf3308cc35929d95c4f4e675afc65a3c071577..644c8855f929dabdee5ff4fa1e74ac00229eedfa 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 75fafa132219d983fa372f4ae47eb849c86a4d92..0000000000000000000000000000000000000000
--- 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 3e4e7370ef4ba9607708e8888524e41d59e5243f..591807663ac0732ae61886606f3afb3b52c2d925 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 e24f6a3009250f1f268fe012cc47cad643d5603a..b92c33c1869c6396e61b74ba0e910349c77425e5 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 5e24bc549cb02cc744252b57a5ce0e58ce34f76c..05288a97203cdbc8b4f941283ee70a96e3792c21 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 2e96502f1a4d3d4ac4a9472e35ce1bd522386d5c..d6c6ba317f2e39677d1aa0befe5efbebf1116e54 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 b70fe68aa07c4e64b9abf90081b591f66930374d..5e618958c541543cd269a8d064009aea8d2c2570 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 d4851b5a335e5f7b4b1e0c208a61ee9499ef5cd4..76ff9507c3c5ac3c9aa92fed9db6b546464b7be4 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 92722fe09c8748365494f66fe7cd59f0728b584a..c85c58f26e3e466c478bf4002ea775d19f01ac74 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
 !