diff --git a/src/MNH/diag.f90 b/src/MNH/diag.f90
index 27d3244abd5f99a5aa06b83c1d033693ec57403b..4bfd2dc5e8e8453068b95e8dc0ae6f41c16faa3e 100644
--- a/src/MNH/diag.f90
+++ b/src/MNH/diag.f90
@@ -93,6 +93,7 @@
 !  P. Wautelet 28/03/2019: use MNHTIME for time measurement variables
 !  P. Wautelet 26/07/2019: bug correction: deallocate of zsea and ztown done too early
 !  P. Wautelet 13/09/2019: budget: simplify and modernize date/time management
+!  P. Wautelet 06/07/2021: use FINALIZE_MNH
 !-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -141,10 +142,11 @@ USE MODD_TURB_n
 USE MODD_VAR_ll
 !
 USE MODE_DATETIME
+USE MODE_FINALIZE_MNH,     only: FINALIZE_MNH
 USE MODE_IO_FILE,          only: IO_File_close, IO_File_open
 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_IO_MANAGE_STRUCT, only: IO_File_add2list
 USE MODE_ll
 #ifdef MNH_IOLFI
 use mode_menu_diachro,     only: MENU_DIACHRO
@@ -203,7 +205,6 @@ LOGICAL:: GCLOUD_ONLY          ! conditionnal radiation computations for
                                 !      the only cloudy columns
 !
 INTEGER :: IIU, IJU, IKU
-INTEGER :: IINFO_ll               ! return code for _ll routines 
 REAL, DIMENSION(:,:),ALLOCATABLE          :: ZSEA,ZTOWN
 REAL, DIMENSION(:,:,:,:),ALLOCATABLE          :: ZWETDEPAER
 !
@@ -808,8 +809,6 @@ ZTIME2=ZTIME2-ZTIME0
 !WRITE(ILUOUT0,*) '|---------------------| -------------------|-------------------|'
 !
 !
-IF(NIO_VERB>=NVERB_DEBUG) CALL IO_Filelist_print()
-!
 WRITE(ILUOUT0,*) ' '
 WRITE(ILUOUT0,*) '***************************** **************'
 WRITE(ILUOUT0,*) '*            EXIT  DIAG CORRECTLY          *'
@@ -817,13 +816,12 @@ WRITE(ILUOUT0,*) '**************************** ***************'
 !WRITE(ILUOUT0,*) '  (see time analysis in ',TRIM(TLUOUT0%CNAME),' )'
 WRITE(ILUOUT0,*) ' '
 !
-CALL IO_File_close(TLUOUT0)
 !-------------------------------------------------------------------------------
 !
 !*      10.    FINALIZE THE PARALLEL SESSION
 !              -----------------------------
 !
-CALL END_PARA_ll(IINFO_ll)
+CALL FINALIZE_MNH()
 !
 !-------------------------------------------------------------------------------
 END PROGRAM DIAG
diff --git a/src/MNH/finalize_mnh.f90 b/src/MNH/finalize_mnh.f90
new file mode 100644
index 0000000000000000000000000000000000000000..faabb9972201b09d35d1020b56ef477597ee9150
--- /dev/null
+++ b/src/MNH/finalize_mnh.f90
@@ -0,0 +1,73 @@
+!MNH_LIC Copyright 2021-2021 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.
+!-----------------------------------------------------------------
+! Author:
+!  P. Wautelet 06/07/2021
+! Modifications:
+!
+!-----------------------------------------------------------------
+MODULE MODE_FINALIZE_MNH
+
+IMPLICIT NONE
+
+CONTAINS
+
+SUBROUTINE FINALIZE_MNH
+  USE MODD_CONF,             only: LCHECK, NMODEL
+  USE MODD_IO,               only: NIO_VERB, NVERB_DEBUG
+  USE MODD_LUNIT,            only: TLUOUT0
+  USE MODD_LUNIT_n,          only: LUNIT_MODEL
+  USE MODD_MNH_SURFEX_n,     only: SURFEX_DEALLO_LIST
+#ifdef CPLOASIS
+  USE MODD_SFX_OASIS,        only: LOASIS
+#endif
+
+  USE MODE_INIT_ll,          only: END_PARA_ll
+  USE MODE_IO_FILE,          only: IO_File_close
+  USE MODE_IO_MANAGE_STRUCT, only: IO_Filelist_print
+  USE MODE_MPPDB,            only: MPPDB_BARRIER
+  USE MODE_MSG,              only: MSG_STATS
+
+#ifdef CPLOASIS
+  USE MODI_SFX_OASIS_END
+#endif
+
+  IMPLICIT NONE
+
+  INTEGER :: IRESP
+  INTEGER :: JMODEL
+
+  !Print the list of all files and some statistics on them
+  IF ( NIO_VERB >= NVERB_DEBUG ) CALL IO_Filelist_print()
+
+  !Print the number of printed messages via Print_msg
+  CALL MSG_STATS()
+
+  !Close all the opened 'output listing' files
+  IF ( TLUOUT0%LOPENED ) CALL IO_File_close(TLUOUT0)
+  DO JMODEL = 1, NMODEL
+    IF ( ASSOCIATED( LUNIT_MODEL(JMODEL)%TLUOUT ) ) THEN
+      IF ( LUNIT_MODEL(JMODEL)%TLUOUT%LOPENED ) CALL IO_File_close( LUNIT_MODEL(JMODEL)%TLUOUT)
+    END IF
+  END DO
+
+  !Finalize the parallel libraries
+  IF ( LCHECK ) THEN
+    CALL MPPDB_BARRIER()
+  ELSE
+    CALL END_PARA_ll( IRESP )
+#ifdef CPLOASIS
+    IF ( LOASIS ) THEN
+      CALL SFX_OASIS_END()
+    END IF
+#endif
+  END IF
+
+  !Free SURFEX structures if necessary
+  CALL SURFEX_DEALLO_LIST()
+
+END SUBROUTINE FINALIZE_MNH
+
+END MODULE MODE_FINALIZE_MNH
diff --git a/src/MNH/mesonh.f90 b/src/MNH/mesonh.f90
index 27bd93e2cc2c8f80ad698f4ae9733821ecd29f9d..84017a6b994ac7be3f3681429bfd3a61771b67ed 100644
--- a/src/MNH/mesonh.f90
+++ b/src/MNH/mesonh.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2021 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.
@@ -75,7 +75,8 @@
 !!      J.Escobar                 15/09/2015  WENO5 & JPHEXT <> 1
 !!      G.Delautier                  06/2016  phasage surfex 8
 !!      J. Pianezze               01/08/2016  add sfxoasis coupling functions
-!!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
+!!      P. Wautelet          05/2016-04/2018  new data structures and calls for I/O
+!!      P. Wautelet               06/07/2021  use FINALIZE_MNH
 !-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -87,16 +88,15 @@
   USE MODD_SFX_OASIS, ONLY : LOASIS, LOASIS_GRID
 #endif
 !
-USE MODD_CONF
+USE MODD_CONF,             only: CPROGRAM, NMODEL
 USE MODD_NESTING
 USE MODD_CONF_n
-USE MODD_IO, ONLY: NIO_VERB,NVERB_DEBUG
 !
 USE MODI_MODEL_n
 USE MODI_KID_MODEL
 !
+USE MODE_FINALIZE_MNH,     only: FINALIZE_MNH
 USE MODE_IO,               only: IO_Init
-USE MODE_IO_MANAGE_STRUCT, only: IO_Filelist_print
 USE MODE_ll
 USE MODE_MODELN_HANDLER
 !
@@ -108,7 +108,6 @@ USE MODD_MNH_SURFEX_n
   USE MODI_SFX_OASIS_INIT
   USE MODI_MNH_OASIS_GRID
   USE MODI_MNH_OASIS_DEFINE
-  USE MODI_SFX_OASIS_END
 #endif
 !
 USE MODE_MPPDB
@@ -213,26 +212,12 @@ DO
   !
 END DO
 !
-IF(NIO_VERB>=NVERB_DEBUG) CALL IO_Filelist_print()
-!
 !-------------------------------------------------------------------------------
 !
 !*       3.    FINALIZE THE PARALLEL SESSION
 !              -----------------------------
 !
-IF (LCHECK) THEN
-  CALL MPPDB_BARRIER()
-ELSE
-  CALL END_PARA_ll(IINFO_ll)
-#ifdef CPLOASIS
-IF (LOASIS) THEN
-  CALL SFX_OASIS_END
-END IF
-#endif
-END IF
-!
-!
-CALL SURFEX_DEALLO_LIST
+CALL FINALIZE_MNH()
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index 24c3f2ad4b89c66941bc6839cf10ac6bfd175fdc..65c7276a94ab388247e25455be1ff89e5e7434fd 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -322,7 +322,7 @@ USE MODD_LES
 USE MODD_LES_BUDGET
 USE MODD_LIMA_PRECIP_SCAVENGING_n
 USE MODD_LSFIELD_n
-USE MODD_LUNIT,          ONLY: TLUOUT0,TOUTDATAFILE
+USE MODD_LUNIT,          ONLY: TOUTDATAFILE
 USE MODD_LUNIT_n,        ONLY: TDIAFILE,TINIFILE,TINIFILEPGD,TLUOUT
 USE MODD_MEAN_FIELD
 USE MODD_MEAN_FIELD_n
@@ -2316,10 +2316,6 @@ IF (OEXIT) THEN
   !
   CALL  TIMING_SEPARATOR('=')
   !
-  !
-  !
-  CALL IO_File_close(TLUOUT)
-  IF (IMI==NMODEL) CALL IO_File_close(TLUOUT0)
 END IF
 !
 END SUBROUTINE MODEL_n
diff --git a/src/MNH/prep_ideal_case.f90 b/src/MNH/prep_ideal_case.f90
index 3e5ea35b14a4343165833fcc22e6f09c9d624be0..370e214120d671ca8fd809fd3b69ee93a26c2e6b 100644
--- a/src/MNH/prep_ideal_case.f90
+++ b/src/MNH/prep_ideal_case.f90
@@ -320,7 +320,8 @@
 !  P. Wautelet 20/05/2019: add name argument to ADDnFIELD_ll + new ADD4DFIELD_ll subroutine
 !  F. Auguste     02/2021: add IBM
 !  P. Wautelet 09/03/2021: move some chemistry initializations to ini_nsv
-!  Jean-Luc Redelsperger 03/2021 : : ocean LES case
+!  Jean-Luc Redelsperger 03/2021: ocean LES case
+!  P. Wautelet 06/07/2021: use FINALIZE_MNH
 !-------------------------------------------------------------------------------
 !
 !*       0.   DECLARATIONS
@@ -356,13 +357,14 @@ USE MODD_SALT,      ONLY:  LSALT, NMODE_SLT, CRGUNITS, XINISIG_SLT, XINIRADIUS_S
 USE MODD_VAR_ll,    ONLY:  NPROC
 USE MODD_LUNIT,     ONLY:  TLUOUT0, TOUTDATAFILE
 USE MODD_LUNIT_n
-USE MODD_IO,        ONLY: NIO_VERB, NVERB_DEBUG, TFILE_DUMMY, TFILE_OUTPUTLISTING
+USE MODD_IO,        ONLY: TFILE_DUMMY, TFILE_OUTPUTLISTING
 USE MODD_CONF_n
 USE MODD_NSV,       ONLY: NSV
 use modd_precision, only: LFIINT, MNHREAL_MPI, MNHTIME
 !
 USE MODN_BLANK_n
 !
+USE MODE_FINALIZE_MNH,     only: FINALIZE_MNH
 USE MODE_THERMO
 USE MODE_POS
 USE MODE_GRIDCART         ! Executive modules
@@ -372,7 +374,7 @@ USE MODE_IO,               only: IO_Config_set, IO_Init, IO_Pack_set
 USE MODE_IO_FIELD_READ,    only: IO_Field_read
 USE MODE_IO_FIELD_WRITE,   only: IO_Field_write, IO_Header_write
 USE MODE_IO_FILE,          only: IO_File_close, IO_File_open
-USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list,IO_Filelist_print
+USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list
 USE MODE_ll
 USE MODE_MODELN_HANDLER
 use mode_field,            only: Alloc_field_scalars, Ini_field_list, Ini_field_scalars
@@ -1845,7 +1847,6 @@ IF (CSURF =='EXTE') THEN
   TFILE_SURFEX => TINIFILE
   CALL PREP_SURF_MNH('                            ','      ')
   NULLIFY(TFILE_SURFEX)
-  CALL SURFEX_DEALLO_LIST
 ELSE
   CSURF = "NONE"
 END IF
@@ -1927,10 +1928,6 @@ WRITE(NLUOUT,FMT=*) '****************************************************'
 WRITE(NLUOUT,FMT=*) '* PREP_IDEAL_CASE: PREP_IDEAL_CASE ENDS CORRECTLY. *'
 WRITE(NLUOUT,FMT=*) '****************************************************'
 !
-IF(NIO_VERB>=NVERB_DEBUG) CALL IO_Filelist_print()
-!
-CALL IO_File_close(TLUOUT)
-!
-CALL END_PARA_ll(IINFO_ll)
+CALL FINALIZE_MNH()
 !
 END PROGRAM PREP_IDEAL_CASE
diff --git a/src/MNH/prep_nest_pgd.f90 b/src/MNH/prep_nest_pgd.f90
index b32bbce3008fcb1ec2528a24ca520faeebde9219..80b493fbcd6bcd3d097efeb2ccc6380bbe6bef6e 100644
--- a/src/MNH/prep_nest_pgd.f90
+++ b/src/MNH/prep_nest_pgd.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1995-2020 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1995-2021 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.
@@ -92,6 +92,7 @@
 !!      P.Wautelet : 08/07/2016 : removed MNH_NCWRIT define
 !!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
 !  P. Wautelet 07/02/2019: force TYPE to a known value for IO_File_add2list
+!  P. Wautelet 06/07/2021: use FINALIZE_MNH
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -101,7 +102,7 @@ USE MODD_CONF
 USE MODD_CONF_n
 USE MODD_CST
 USE MODD_DIM_n
-USE MODD_IO,            ONLY: NIO_VERB, NVERB_DEBUG, TFILE_SURFEX, TPTR2FILE
+USE MODD_IO,               ONLY: TFILE_SURFEX, TPTR2FILE
 USE MODD_GRID_n,           ONLY: XZSMT
 USE MODD_LUNIT,            ONLY: TPGDFILE,TLUOUT0,TOUTDATAFILE
 USE MODD_MNH_SURFEX_n
@@ -110,11 +111,12 @@ USE MODD_PARAMETERS
 USE MODD_VAR_ll,           ONLY: NPROC, IP, NMNH_COMM_WORLD
 !
 use mode_field,            only: Ini_field_list
+USE MODE_FINALIZE_MNH,     only: FINALIZE_MNH
 USE MODE_IO,               only: IO_Init, IO_Pack_set
 USE MODE_IO_FIELD_READ,    only: IO_Field_read
 USE MODE_IO_FIELD_WRITE,   only: IO_Field_write, IO_Header_write
 USE MODE_IO_FILE,          only: IO_File_close, IO_File_open
-USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list, IO_Filelist_print
+USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list
 USE MODE_ll
 USE MODE_MNH_WORLD,        ONLY: INIT_NMNH_COMM_WORLD
 USE MODE_MODELN_HANDLER
@@ -384,23 +386,21 @@ END DO
 !*      12.    EPILOGUE
 !              --------
 !
-IF(NIO_VERB>=NVERB_DEBUG) CALL IO_Filelist_print()
-!
 WRITE(ILUOUT0,FMT=*)
 WRITE(ILUOUT0,FMT=*) '************************************************'
 WRITE(ILUOUT0,FMT=*) '* PREP_NEST_PGD: PREP_NEST_PGD ends correctly. *'
 WRITE(ILUOUT0,FMT=*) '************************************************'
 !
-CALL IO_File_close(TLUOUT0)
-!
 !-------------------------------------------------------------------------------
 !
 !*      10.    FINALIZE THE PARALLEL SESSION
 !              -----------------------------
 !
-CALL END_PARA_ll(IINFO_ll)
+CALL FINALIZE_MNH()
+
+! CALL END_PARA_ll(IINFO_ll)
 !
-CALL SURFEX_DEALLO_LIST
+! CALL SURFEX_DEALLO_LIST
 !
 !-------------------------------------------------------------------------------
 
diff --git a/src/MNH/prep_pgd.f90 b/src/MNH/prep_pgd.f90
index 4beb4dc431da0653b67d5a0655ff033e1a748b34..046ddde7822141fefa4743338cfcb32469bca981 100644
--- a/src/MNH/prep_pgd.f90
+++ b/src/MNH/prep_pgd.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1995-2020 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1995-2021 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.
@@ -78,7 +78,7 @@
 !  P. Wautelet 07/02/2019: remove OPARALLELIO argument from open and close files subroutines
 !                          (nsubfiles_ioz is now determined in IO_File_add2list)
 !  P. Wautelet 14/02/2019: remove CLUOUT/CLUOUT0 and associated variables
-!
+!  P. Wautelet 06/07/2021: use FINALIZE_MNH
 !----------------------------------------------------------------------------
 !
 !*    0.     DECLARATION
@@ -89,16 +89,17 @@ USE MODD_CONF_n,ONLY : CSTORAGE_TYPE
 USE MODD_LUNIT,  ONLY : TLUOUT0
 USE MODD_LUNIT_n,ONLY : LUNIT_MODEL
 USE MODD_PARAMETERS, ONLY : XUNDEF
-USE MODD_IO,   ONLY : NIO_VERB,NVERB_DEBUG,TFILEDATA,TFILE_OUTPUTLISTING,TFILE_SURFEX
+USE MODD_IO,               only: TFILEDATA, TFILE_OUTPUTLISTING, TFILE_SURFEX
 use modd_precision,   only: LFIINT
 USE MODD_IO_SURF_MNH, ONLY : NHALO
 USE MODD_SPAWN, ONLY : NDXRATIO,NDYRATIO,NXSIZE,NYSIZE,NXOR,NYOR
 !
 use mode_field,            only: Ini_field_list
+USE MODE_FINALIZE_MNH,     only: FINALIZE_MNH
 USE MODE_IO,               only: IO_Config_set, IO_Init
 USE MODE_IO_FIELD_WRITE,   only: IO_Field_write, IO_Header_write
 USE MODE_IO_FILE,          only: IO_File_close, IO_File_open
-USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list, IO_Filelist_print
+USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list
 use mode_ll
 USE MODE_MODELN_HANDLER
 USE MODE_MSG
@@ -134,7 +135,6 @@ IMPLICIT NONE
 INTEGER :: IRESP    ! return code for I/O
 INTEGER :: ILUOUT0
 INTEGER :: ILUNAM
-INTEGER :: IINFO_LL
 LOGICAL :: GFOUND
 CHARACTER(LEN=28) :: YDAD     =' '        ! name of dad of input FM file
 CHARACTER(LEN=28) :: CPGDFILE ='PGDFILE'  ! name of the output file
@@ -332,13 +332,7 @@ WRITE(ILUOUT0,*) '***************************'
 !
 CALL IO_File_close(TZFILE)
 !
-CALL SURFEX_DEALLO_LIST
-!
-IF(NIO_VERB>=NVERB_DEBUG) CALL IO_Filelist_print()
-!
-CALL IO_File_close(TLUOUT0)
-!
-CALL END_PARA_ll(IINFO_ll)
+CALL FINALIZE_MNH()
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/prep_real_case.f90 b/src/MNH/prep_real_case.f90
index 3e3167691431dd68287e8573c951d8aa8ea3b985..2796da451deead2db67096d5ba9ddc2c5ffcb954 100644
--- a/src/MNH/prep_real_case.f90
+++ b/src/MNH/prep_real_case.f90
@@ -390,6 +390,7 @@
 !  P. Wautelet 20/03/2019: missing use MODI_INIT_SALT
 !  P. Wautelet 20/05/2019: add name argument to ADDnFIELD_ll + new ADD4DFIELD_ll subroutine
 !  T.Nagel        02/2021: add IBM
+!  P. Wautelet 06/07/2021: use FINALIZE_MNH
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -411,7 +412,7 @@ USE MODD_GRID_n
 USE MODD_HURR_CONF
 USE MODD_IBM_LSF,          ONLY: CIBM_TYPE, LIBM_LSF, NIBM_SMOOTH, XIBM_SMOOTH
 USE MODD_IBM_PARAM_n,      ONLY: XIBM_LS
-USE MODD_IO,               ONLY: TFILEDATA,NIO_VERB,NVERB_DEBUG,TFILE_SURFEX
+USE MODD_IO,               ONLY: TFILEDATA, TFILE_SURFEX
 USE MODD_LBC_n
 USE MODD_LSFIELD_n
 USE MODD_LUNIT,            ONLY: TPGDFILE,TLUOUT0,TOUTDATAFILE
@@ -429,13 +430,14 @@ USE MODD_TURB_n
 !
 USE MODE_EXTRAPOL
 use mode_field,            only: Alloc_field_scalars, Ini_field_list, Ini_field_scalars
+USE MODE_FINALIZE_MNH,     only: FINALIZE_MNH
 USE MODE_GRIDCART
 USE MODE_GRIDPROJ
 USE MODE_IO,               only: IO_Init
 USE MODE_IO_FIELD_READ,    only: IO_Field_read
 USE MODE_IO_FIELD_WRITE,   only: IO_Header_write
 USE MODE_IO_FILE,          only: IO_File_close, IO_File_open
-USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list, IO_File_find_byname,IO_Filelist_print
+USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list, IO_File_find_byname
 USE MODE_ll
 USE MODE_MODELN_HANDLER
 USE MODE_MPPDB
@@ -1159,7 +1161,6 @@ IF (.NOT. LCOUPLING ) THEN
     TFILE_SURFEX => TINIFILE
     CALL PREP_SURF_MNH(YSURFFILE,YSURFFILETYPE)
     NULLIFY(TFILE_SURFEX)
-    CALL SURFEX_DEALLO_LIST
   ENDIF
 !
   CALL SECOND_MNH(ZTIME2)
@@ -1248,12 +1249,8 @@ END IF
 CALL IO_File_close(TINIFILE)
 CALL IO_File_close(TPGDFILE)
 !
-IF(NIO_VERB>=NVERB_DEBUG) CALL IO_Filelist_print()
+CALL FINALIZE_MNH()
 !
-CALL IO_File_close(TLUOUT0)
-!
-!
-CALL END_PARA_ll(IINFO_ll)
 !-------------------------------------------------------------------------------
 !
 CONTAINS 
diff --git a/src/MNH/prep_surfex.f90 b/src/MNH/prep_surfex.f90
index 16908f2aed0504c1434651fbb05cf86e40fd0b57..68ec7b3a8779d70d45f174ab868a07192b9dc4c5 100644
--- a/src/MNH/prep_surfex.f90
+++ b/src/MNH/prep_surfex.f90
@@ -36,7 +36,7 @@
 USE MODD_CONF,        ONLY : CPROGRAM,&
                              L1D, L2D, LPACK
 USE MODD_CONF_n,      ONLY : CSTORAGE_TYPE
-USE MODD_IO,          ONLY : TFILEDATA, NIO_VERB, NVERB_DEBUG, TFILE_SURFEX
+USE MODD_IO,          ONLY : TFILEDATA, TFILE_SURFEX
 USE MODD_LUNIT,       ONLY : TPGDFILE, TLUOUT0
 USE MODD_LUNIT_n,     ONLY : CINIFILE, TINIFILE
 USE MODD_MNH_SURFEX_n
@@ -44,11 +44,12 @@ USE MODD_PARAMETERS,  ONLY : JPMODELMAX,JPHEXT,JPVEXT, NUNDEF, XUNDEF
 USE MODD_TIME_n,      ONLY : TDTCUR
 !
 use mode_field,            only: Ini_field_list, Ini_field_scalars
+USE MODE_FINALIZE_MNH,     only: FINALIZE_MNH
 USE MODE_IO,               only: IO_Init
 USE MODE_IO_FIELD_READ,    only: IO_Field_read
 USE MODE_IO_FIELD_WRITE,   only: IO_Field_write, IO_Header_write
 USE MODE_IO_FILE,          only: IO_File_close, IO_File_open
-USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list, IO_Filelist_print
+USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list
 USE MODE_ll
 USE MODE_MSG
 USE MODE_MODELN_HANDLER
@@ -200,12 +201,7 @@ WRITE(ILUOUT0,*) '|                                |'
 WRITE(ILUOUT0,*) '----------------------------------'
 CALL IO_File_close(TINIFILE)
 !
-IF(NIO_VERB>=NVERB_DEBUG) CALL IO_Filelist_print()
-!
-CALL IO_File_close(TLUOUT0)
-!
-CALL END_PARA_ll(IINFO_ll)
-CALL SURFEX_DEALLO_LIST
+CALL FINALIZE_MNH()
 !-------------------------------------------------------------------------------
 !
 END PROGRAM PREP_SURFEX
diff --git a/src/MNH/spawning.f90 b/src/MNH/spawning.f90
index 850f27d65fa12a6993d2faededb4cead0288f306..15c7d98b76f599f4f2b5329cc09333df5c484bfb 100644
--- a/src/MNH/spawning.f90
+++ b/src/MNH/spawning.f90
@@ -78,6 +78,7 @@
 !                          (nsubfiles_ioz is now determined in IO_File_add2list)
 !  S. Bielli      02/2019: sea salt: significant sea wave height influences salt emission; 5 salt modes
 !  P. Wautelet 11/02/2020: bugfix: close TINIFILEPGD only if previously opened
+!  P. Wautelet 06/07/2021: use FINALIZE_MNH
 !-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -105,7 +106,7 @@ USE MODD_CURVCOR_n
 USE MODD_DIM_n
 USE MODD_DYN_n, LRES_n=>LRES, XRES_n=>XRES 
 USE MODD_FIELD_n
-USE MODD_IO, ONLY: NIO_VERB,NVERB_DEBUG,TFILEDATA
+USE MODD_IO,               only: TFILEDATA
 USE MODD_LSFIELD_n
 USE MODD_LBC_n
 USE MODD_LUNIT_n
@@ -116,9 +117,10 @@ USE MODD_TIME_n
 USE MODD_CH_MNHC_n
 USE MODD_GRID_n
 !
+USE MODE_FINALIZE_MNH,     only: FINALIZE_MNH
 USE MODE_IO,               only: IO_Init
 USE MODE_IO_FILE,          only: IO_File_close, IO_File_open
-USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list, IO_File_find_byname, IO_Filelist_print
+USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list, IO_File_find_byname
 USE MODE_ll
 USE MODE_POS
 USE MODE_MODELN_HANDLER
@@ -128,7 +130,6 @@ USE MODI_BOUNDARIES
 !
 USE MODI_VERSION
 USE MODI_INIT_MNH
-USE MODD_MNH_SURFEX_n
 USE MODE_MPPDB
 !
 !
@@ -252,13 +253,8 @@ CALL SPAWN_MODEL2 (NRR,NSV_USER,CTURB,CSURF,CCLOUD,                     &
                    CCHEM_INPUT_FILE,YSPAFILE,YSPANBR,YSONFILE,          &
                    CINIFILE, CINIFILEPGD, LSPAWN_SURF                   )
 !
-CALL SURFEX_DEALLO_LIST
-!
-IF(NIO_VERB>=NVERB_DEBUG) CALL IO_Filelist_print()
-!
-CALL IO_File_close(TLUOUT)
-!
-CALL END_PARA_ll(IINFO_ll)
+CALL FINALIZE_MNH()
+
 
 CONTAINS
 
diff --git a/src/MNH/spectre.f90 b/src/MNH/spectre.f90
index 545c60629410ef29c5a16bfd5289f96038c41e28..a87838c936e9c344c04f5fcc40325dac525eeab5 100644
--- a/src/MNH/spectre.f90
+++ b/src/MNH/spectre.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2011-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2011-2021 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.
@@ -17,7 +17,8 @@
 !!
 !!
 !! Modifications:
-!!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
+!  P. Wautelet 05/2016-04/2018: new data structures and calls for I/O
+!  P. Wautelet 06/07/2021: use FINALIZE_MNH
 !-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -25,8 +26,7 @@
 !
 !
 USE MODD_CONF
-USE MODD_IO, ONLY: NIO_VERB,NVERB_DEBUG,TFILEDATA
-USE MODD_LUNIT
+USE MODD_IO,               only: TFILEDATA
 USE MODD_LUNIT_n
 USE MODD_TIME_n
 USE MODD_DIM_ll
@@ -35,13 +35,13 @@ USE MODD_SPECTRE
 USE MODI_SPECTRE_MESONH
 USE MODI_SPECTRE_AROME
 !
-USE MODE_MSG
-USE MODE_POS
+USE MODE_FINALIZE_MNH,     only: FINALIZE_MNH
 USE MODE_IO,               only: IO_Config_set, IO_Init
 USE MODE_IO_FILE,          only: IO_File_close, IO_File_open
-USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list, IO_Filelist_print
-use mode_init_ll,          only: END_PARA_ll
+USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list
 USE MODE_MODELN_HANDLER
+USE MODE_MSG
+USE MODE_POS
 !USE MODD_TYPE_DATE
 USE MODI_VERSION
 !
@@ -60,8 +60,6 @@ INTEGER                          :: ILUNAM        ! Logical unit numbers for the
                                                   ! and for output_listing file
 LOGICAL                          :: GFOUND        ! Return code when searching namelist
 !
-INTEGER                          :: IINFO_ll      ! return code for _ll routines 
-!
 REAL,DIMENSION(:,:,:),ALLOCATABLE:: ZWORK         ! work array
 REAL,DIMENSION(:,:,:),ALLOCATABLE:: ZWORKAROME    ! work array
 INTEGER :: NI,NJ,NK
@@ -191,9 +189,6 @@ IF (CTYPEFILE=='MESONH') THEN
   CALL SPECTRE_MESONH(YOUTFILE)
   !
   CALL IO_File_close(LUNIT_MODEL(1)%TINIFILE)
-  IF(NIO_VERB>=NVERB_DEBUG) CALL IO_Filelist_print()
-  CALL IO_File_close(TLUOUT0)
-  CALL IO_File_close(TLUOUT)
 ELSEIF (CTYPEFILE=='AROME ')THEN
  CALL SPECTRE_AROME(CINIFILE,YOUTFILE,XDELTAX,XDELTAY,NI,NJ,NK)
 ELSE
@@ -205,8 +200,8 @@ ENDIF
 !*      4.    FINALIZE THE PARALLEL SESSION
 !              -----------------------------
 !
-CALL END_PARA_ll(IINFO_ll)
-!
+CALL FINALIZE_MNH()
+
 PRINT*, ' '
 PRINT*, '****************************************************'
 PRINT*, '*            EXIT  SPECTRE CORRECTLY          *'
diff --git a/src/MNH/zoom_pgd.f90 b/src/MNH/zoom_pgd.f90
index 90103c5141e3712d2c40af6ca916c184b0856162..4f0961d8e48419a0a966933dcf1ac64215208bb7 100644
--- a/src/MNH/zoom_pgd.f90
+++ b/src/MNH/zoom_pgd.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2005-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2005-2021 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.
@@ -42,14 +42,14 @@
 !!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
 !  P. Wautelet 07/02/2019: force TYPE to a known value for IO_File_add2list
 !  P. Wautelet 14/02/2019: remove CLUOUT/CLUOUT0 and associated variables
-!!
+!  P. Wautelet 06/07/2021: use FINALIZE_MNH
 !----------------------------------------------------------------------------
 !
 !*    0.     DECLARATION
 !            -----------
 !
 USE MODD_CONF,   ONLY : CPROGRAM, L1D, L2D, LPACK
-USE MODD_IO,     ONLY:  NIO_VERB,NVERB_DEBUG,TFILE_OUTPUTLISTING,TFILEDATA
+USE MODD_IO,               only:  TFILE_OUTPUTLISTING, TFILEDATA
 USE MODD_LUNIT,  ONLY : TLUOUT0, TOUTDATAFILE
 USE MODD_PARAMETERS, ONLY : XUNDEF, NUNDEF, JPVEXT, JPHEXT, JPMODELMAX
 USE MODD_PARAM_n,     ONLY : CSURF
@@ -57,12 +57,13 @@ USE MODD_DIM_n,       ONLY : NIMAX, NJMAX
 USE MODD_CONF_n,   ONLY : CSTORAGE_TYPE
 use modd_precision, only: LFIINT
 !
+USE MODE_FINALIZE_MNH,     only: FINALIZE_MNH
 USE MODE_POS
 USE MODE_IO,               only: IO_Config_set, IO_Init
 USE MODE_IO_FIELD_READ,    only: IO_Field_read
 USE MODE_IO_FIELD_WRITE,   only: IO_Field_write, IO_Header_write
 USE MODE_IO_FILE,          only: IO_File_close, IO_File_open
-USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list, IO_Filelist_print
+USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list
 USE MODE_ll
 USE MODE_MSG
 USE MODE_MODELN_HANDLER
@@ -258,18 +259,12 @@ CPGDFILE = YZOOMFILE
 !
 CALL IO_File_close(TZPGDFILE)
 !
-IF(NIO_VERB>=NVERB_DEBUG) CALL IO_Filelist_print()
-!
 WRITE(ILUOUT0,*)
 WRITE(ILUOUT0,*) '***************************'
 WRITE(ILUOUT0,*) '* ZOOM_PGD ends correctly *'
 WRITE(ILUOUT0,*) '***************************'
 !
-CALL IO_File_close(TLUOUT0)
-!
-CALL END_PARA_ll(IINFO_ll)
-
-IF (CSURF=='EXTE') CALL SURFEX_DEALLO_LIST
+CALL FINALIZE_MNH()
 !
 !-------------------------------------------------------------------------------
 !