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() ! !------------------------------------------------------------------------------- !