From dc5bf08b880c6441ad0423c7d53730848ec966c0 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Thu, 19 Oct 2017 10:43:03 +0200 Subject: [PATCH] Philippe 19/10/2017: IO: replaced all remaining calls to FMOPEN_ll/FMCLOSE_ll + FMOPEN_ll/FMCLOSE_ll are now private + cleaning of comments --- src/LIB/SURCOUCHE/src/extern_userio.f90 | 54 +--------- src/LIB/SURCOUCHE/src/modd_io.f90 | 2 +- src/LIB/SURCOUCHE/src/mode_fm.f90 | 2 +- src/LIB/SURCOUCHE/src/modi_fm.f90 | 46 +++------ src/LIB/SURCOUCHE/src/modn_confio.f90 | 2 +- src/MNH/ch_monitorn.f90 | 1 - src/MNH/compare_dad.f90 | 5 +- src/MNH/ini_cpl.f90 | 2 +- src/MNH/ini_modeln.f90 | 2 +- src/MNH/ini_segn.f90 | 4 +- src/MNH/ini_size_spawn.f90 | 5 +- src/MNH/ini_sizen.f90 | 3 +- src/MNH/ls_coupling.f90 | 4 +- src/MNH/mnh2lpdm_ech.f90 | 3 +- src/MNH/modeln.f90 | 6 +- src/MNH/open_data_files.f90 | 129 ------------------------ src/MNH/open_nestpgd_files.f90 | 4 - src/MNH/open_prc_files.f90 | 3 - src/MNH/prep_ideal_case.f90 | 4 +- src/MNH/prep_real_case.f90 | 11 +- src/MNH/spawn_model2.f90 | 6 +- 21 files changed, 44 insertions(+), 254 deletions(-) delete mode 100644 src/MNH/open_data_files.f90 diff --git a/src/LIB/SURCOUCHE/src/extern_userio.f90 b/src/LIB/SURCOUCHE/src/extern_userio.f90 index 14c94c0c8..7cf8feab8 100644 --- a/src/LIB/SURCOUCHE/src/extern_userio.f90 +++ b/src/LIB/SURCOUCHE/src/extern_userio.f90 @@ -88,10 +88,8 @@ INTEGER, INTENT(OUT), OPTIONAL :: IRESP CALL E_FLUSH_ll(HFILE,IRESP) END SUBROUTINE FLUSH_ll - - ! -! Routines found in the MODE_FM module : FMATTR_ll, FMLOOK_ll, FMOPEN_ll, FMCLOS_ll +! Routines found in the MODE_FM module : FMATTR_ll, FMLOOK_ll ! SUBROUTINE SET_FMPACK_ll(O1D,O2D,OPACK) USE MODE_FM, ONLY : E_SET_FMPACK_ll=>SET_FMPACK_ll @@ -101,18 +99,6 @@ CALL E_SET_FMPACK_ll(O1D,O2D,OPACK) END SUBROUTINE SET_FMPACK_ll -SUBROUTINE FMATTR_ll(HFILEM,HFIPRI,KNUMBR,KRESP) -USE MODE_FM, ONLY : E_FMATTR_ll=>FMATTR_ll -IMPLICIT NONE -CHARACTER(LEN=*), INTENT(IN) :: HFILEM -CHARACTER(LEN=*), INTENT(IN) :: HFIPRI -INTEGER, INTENT(OUT) :: KNUMBR -INTEGER, INTENT(OUT) :: KRESP - -CALL E_FMATTR_ll(HFILEM,HFIPRI,KNUMBR,KRESP) - -END SUBROUTINE FMATTR_ll - SUBROUTINE FMLOOK_ll(HFILEM,HFIPRI,KNUMBR,KRESP) USE MODE_FM, ONLY : E_FMLOOK_ll=>FMLOOK_ll IMPLICIT NONE @@ -124,44 +110,6 @@ INTEGER, INTENT(OUT) :: KRESP CALL E_FMLOOK_ll(HFILEM,HFIPRI,KNUMBR,KRESP) END SUBROUTINE FMLOOK_ll - -SUBROUTINE FMOPEN_ll(HFILEM,HACTION,KNPRAR,KFTYPE,KVERB,KNINAR& - & ,KRESP,OPARALLELIO,TPFILE) -USE MODD_IO_ll, ONLY : TFILEDATA -USE MODE_FM, ONLY : E_FMOPEN_ll=>FMOPEN_ll -IMPLICIT NONE -CHARACTER(LEN=*),INTENT(IN) ::HFILEM ! name of the file. -CHARACTER(LEN=*),INTENT(IN) ::HACTION ! Action upon the file -! 'READ' or 'WRITE' -INTEGER, INTENT(IN) ::KNPRAR ! number of predicted -! articles (not vital). -INTEGER, INTENT(IN) ::KFTYPE ! type of FM-file. -INTEGER, INTENT(IN) ::KVERB ! level of verbose. -INTEGER, INTENT(OUT)::KNINAR ! number of articles -! initially -! present in the file. -INTEGER, INTENT(OUT), OPTIONAL :: KRESP ! return-code if a problem -! araised. -LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO -TYPE(TFILEDATA), INTENT(INOUT), OPTIONAL :: TPFILE ! File structure - -CALL E_FMOPEN_ll(HFILEM,HACTION,KNPRAR,KFTYPE,KVERB,KNINAR,KRESP,OPARALLELIO,TPFILE) - -END SUBROUTINE FMOPEN_ll - -SUBROUTINE FMCLOS_ll(HFILEM,HSTATU,KRESP,OPARALLELIO,TPFILE) -USE MODD_IO_ll, ONLY : TFILEDATA -USE MODE_FM, ONLY : E_FMCLOS_ll=>FMCLOS_ll -IMPLICIT NONE -CHARACTER(LEN=*), INTENT(IN) ::HFILEM ! file name -CHARACTER(LEN=*), INTENT(IN) ::HSTATU ! status for the closed file -INTEGER, INTENT(OUT), OPTIONAL :: KRESP ! return-code if problems araised -LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO -TYPE(TFILEDATA), INTENT(IN), OPTIONAL :: TPFILE ! File structure - -CALL E_FMCLOS_ll(HFILEM,HSTATU,KRESP,OPARALLELIO,TPFILE) - -END SUBROUTINE FMCLOS_ll ! ! Routines found in the MODE_GATHER_ll module : GATHERALL_xx ! diff --git a/src/LIB/SURCOUCHE/src/modd_io.f90 b/src/LIB/SURCOUCHE/src/modd_io.f90 index 537ff3dce..68cb59cbd 100644 --- a/src/LIB/SURCOUCHE/src/modd_io.f90 +++ b/src/LIB/SURCOUCHE/src/modd_io.f90 @@ -47,7 +47,7 @@ INTEGER, SAVE :: NGEN_VERB = NVERB_WARNING ! Verbosity level for 'GEN' (g INTEGER, SAVE :: NGEN_ABORT_LEVEL = NVERB_ERROR ! Level of 'GEN' error necessary to force stop of application TYPE LFIPARAM - INTEGER :: FITYP ! FM File Type (used in FMCLOSE) + INTEGER :: FITYP ! FM File Type (used in FMCLOS_ll) END TYPE LFIPARAM !Structure containing one pointer to a file diff --git a/src/LIB/SURCOUCHE/src/mode_fm.f90 b/src/LIB/SURCOUCHE/src/mode_fm.f90 index 3154d1582..86ba53c54 100644 --- a/src/LIB/SURCOUCHE/src/mode_fm.f90 +++ b/src/LIB/SURCOUCHE/src/mode_fm.f90 @@ -28,7 +28,7 @@ PRIVATE INTEGER, PARAMETER :: JPPIPE = 10 !INCLUDE 'mpif.h' -PUBLIC SET_FMPACK_ll,FMATTR_ll,FMLOOK_ll,FMOPEN_ll,FMCLOS_ll +PUBLIC SET_FMPACK_ll,FMLOOK_ll PUBLIC IO_FILE_OPEN_ll, IO_FILE_CLOSE_ll CONTAINS diff --git a/src/LIB/SURCOUCHE/src/modi_fm.f90 b/src/LIB/SURCOUCHE/src/modi_fm.f90 index cbcbd10a3..3533bfb60 100644 --- a/src/LIB/SURCOUCHE/src/modi_fm.f90 +++ b/src/LIB/SURCOUCHE/src/modi_fm.f90 @@ -19,43 +19,27 @@ INTERFACE SUBROUTINE SET_FMPACK_ll(O1D,O2D,OPACK) LOGICAL, INTENT(IN) :: O1D,O2D,OPACK END SUBROUTINE SET_FMPACK_ll - -SUBROUTINE FMATTR_ll(HFILEM,HFIPRI,KNUMBR,KRESP) -CHARACTER(LEN=*), INTENT(IN) :: HFILEM -CHARACTER(LEN=*), INTENT(IN) :: HFIPRI -INTEGER, INTENT(OUT) :: KNUMBR -INTEGER, INTENT(OUT) :: KRESP -END SUBROUTINE FMATTR_ll - +! SUBROUTINE FMLOOK_ll(HFILEM,HFIPRI,KNUMBR,KRESP) CHARACTER(LEN=*), INTENT(IN) :: HFILEM CHARACTER(LEN=*), INTENT(IN) :: HFIPRI INTEGER, INTENT(OUT) :: KNUMBR INTEGER, INTENT(OUT) :: KRESP END SUBROUTINE FMLOOK_ll - -SUBROUTINE FMOPEN_ll(HFILEM,HACTION,HFIPRI,KNPRAR,KFTYPE,KVERB,KNINAR& - & ,KRESP,OPARALLELIO) -CHARACTER(LEN=*),INTENT(IN) ::HFILEM ! name of the file. -CHARACTER(LEN=*),INTENT(IN) ::HACTION ! Action upon the file - ! 'READ' or 'WRITE' -CHARACTER(LEN=*),INTENT(IN) ::HFIPRI ! file for prints in FM. -INTEGER, INTENT(IN) ::KNPRAR ! number of predicted - ! articles (not vital). -INTEGER, INTENT(IN) ::KFTYPE ! type of FM-file. -INTEGER, INTENT(IN) ::KVERB ! level of verbose. -INTEGER, INTENT(OUT)::KNINAR ! number of articles initially present in the file. -INTEGER, INTENT(OUT)::KRESP ! return-code if a problem araised. -LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO -END SUBROUTINE FMOPEN_ll - -SUBROUTINE FMCLOS_ll(HFILEM,HSTATU,HFIPRI,KRESP,OPARALLELIO) -CHARACTER(LEN=*), INTENT(IN) ::HFILEM ! file name -CHARACTER(LEN=*), INTENT(IN) ::HSTATU ! status for the closed file -CHARACTER(LEN=*), INTENT(IN) ::HFIPRI ! file for prints in FM -INTEGER, INTENT(OUT)::KRESP ! return-code if problems araised -LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO -END SUBROUTINE FMCLOS_ll +! +SUBROUTINE IO_FILE_OPEN_ll(TPFILE,KRESP,OPARALLELIO) +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 +END SUBROUTINE IO_FILE_OPEN_ll +! +SUBROUTINE IO_FILE_CLOSE_ll(TPFILE,KRESP,OPARALLELIO) +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 +END SUBROUTINE IO_FILE_CLOSE_ll ! END INTERFACE END MODULE MODI_FM_ll diff --git a/src/LIB/SURCOUCHE/src/modn_confio.f90 b/src/LIB/SURCOUCHE/src/modn_confio.f90 index 2f85e5f5d..20787d02d 100644 --- a/src/LIB/SURCOUCHE/src/modn_confio.f90 +++ b/src/LIB/SURCOUCHE/src/modn_confio.f90 @@ -8,7 +8,7 @@ !! ------- ! Define I/O configuration variables that can be set with the NAM_CONFIO namelist !! /!\ These variables must be transmitted to the SURCOUCHE library via the -!! SET_CONFIO_ll subroutine before the FIRST call to FMOPEN_ll. +!! SET_CONFIO_ll subroutine before the FIRST call to IO_FILE_OPEN_ll ! !! !!** IMPLICIT ARGUMENTS diff --git a/src/MNH/ch_monitorn.f90 b/src/MNH/ch_monitorn.f90 index dba8b0984..b8674ccf1 100644 --- a/src/MNH/ch_monitorn.f90 +++ b/src/MNH/ch_monitorn.f90 @@ -129,7 +129,6 @@ USE MODI_CH_AQUEOUS_TMICKHKO USE MODI_CH_AQUEOUS_SEDIM1MOM USE MODI_CH_AQUEOUS_SEDIM2MOM USE MODI_CH_AQUEOUS_CHECK -USE MODI_FM_ll USE MODI_SUM_ll USE MODI_CH_AER_SEDIM_n USE MODI_CH_AER_WETDEP_n diff --git a/src/MNH/compare_dad.f90 b/src/MNH/compare_dad.f90 index fb1bafbf3..5c19c6642 100644 --- a/src/MNH/compare_dad.f90 +++ b/src/MNH/compare_dad.f90 @@ -48,9 +48,8 @@ END MODULE MODI_COMPARE_DAD !! EXTERNAL !! -------- !! -!! FMATTR : to associate a logical unit number to a file -!! FMOPEN : to open a FM-file (DESFM + LFIFM) -!! FMCLOS : to close a FM-file (DESFM + LFIFM) +!! IO_FILE_OPEN_ll : to open a FM-file (DESFM + LFIFM) +!! IO_FILE_CLOSE_ll : to close a FM-file (DESFM + LFIFM) !! !! !! diff --git a/src/MNH/ini_cpl.f90 b/src/MNH/ini_cpl.f90 index b0c857597..57b35173b 100644 --- a/src/MNH/ini_cpl.f90 +++ b/src/MNH/ini_cpl.f90 @@ -148,7 +148,7 @@ END MODULE MODI_INI_CPL !! -------- !! FMLOOK : to retrieve a logical unit number !! IO_READ_FIELD: to read data in LFI_FM file -!! FMCLOS : to close a FM-file +!! IO_FILE_CLOSE_ll : to close a FM-file !! INI_LS : to initialize larger scale fields !! INI_LB : to initialize "2D" surfacic LB fields !! TEMPORAL_DIST : compute the temporal distance in secunds between 2 dates diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90 index 10c9d2275..bd00e1883 100644 --- a/src/MNH/ini_modeln.f90 +++ b/src/MNH/ini_modeln.f90 @@ -65,7 +65,7 @@ END MODULE MODI_INI_MODEL_n !! INI_CPL. !! - The initialization of the parameters needed for the dynamics !! of the model n is realized in INI_DYNAMICS. -!! - Then the initial file (DESFM+LFIFM files) is closed by FMCLOS. +!! - Then the initial file (DESFM+LFIFM files) is closed by IO_FILE_CLOSE_ll. !! - The initialization of the parameters needed for the ECMWF radiation !! code is realized in INI_RADIATIONS. !! - The contents of the scalar variables are overwritten by diff --git a/src/MNH/ini_segn.f90 b/src/MNH/ini_segn.f90 index 4bf2c6de7..894575937 100644 --- a/src/MNH/ini_segn.f90 +++ b/src/MNH/ini_segn.f90 @@ -79,7 +79,7 @@ END MODULE MODI_INI_SEG_n !! The name of the initial file is read in EXSEG file. !! - Default values are supplied for variables in descriptor files !! (by DEFAULT_DESFM). -!! - The Initial file (LFIFM + DESFM) is opened by FMOPEN. +!! - The Initial file (LFIFM + DESFM) is opened by IO_FILE_OPEN_ll. !! - The descriptor DESFM file is read (by READ_DESFM_n). !! - The descriptor file EXSEG is read (by READ_EXSEG_n) and coherence !! between the initial file and the description of segment is also checked @@ -96,7 +96,7 @@ END MODULE MODI_INI_SEG_n !! EXTERNAL !! -------- !! FMATTR : to associate a logical unit number to a file -!! FMOPEN : to open descriptor file or LFI file +!! IO_FILE_OPEN_ll : to open descriptor file or LFI file !! DEFAULT_DESFM1: to set default values !! READ_DESFM_n : to read a DESFM file !! READ_EXSEG_n : to read a EXSEG file diff --git a/src/MNH/ini_size_spawn.f90 b/src/MNH/ini_size_spawn.f90 index ec110b529..0f05423ae 100644 --- a/src/MNH/ini_size_spawn.f90 +++ b/src/MNH/ini_size_spawn.f90 @@ -47,11 +47,10 @@ END MODULE MODI_INI_SIZE_SPAWN ! !! EXTERNAL !! -------- -!! FMLOOK_ll !! DEFAULT_DESFM2 -!! FMOPEN_ll +!! IO_FILE_OPEN_ll !! READ_HGRID -!! FMCLOS_ll +!! IO_FILE_CLOSE_ll !! RETRIEVE_NEST_INFO !! !! IMPLICIT ARGUMENTS diff --git a/src/MNH/ini_sizen.f90 b/src/MNH/ini_sizen.f90 index fa151291a..7532ff651 100644 --- a/src/MNH/ini_sizen.f90 +++ b/src/MNH/ini_sizen.f90 @@ -60,8 +60,7 @@ END MODULE MODI_INI_SIZE_n !! EXTERNAL !! -------- !! FMLOOK_ll : to retrieve a logical unit number associated with a file -!! FMREAD : to read a LFIFM file -!! FMCLOS : to close a FM-file +!! IO_READ_FIELD : to read a LFIFM file !! !! IMPLICIT ARGUMENTS !! ------------------ diff --git a/src/MNH/ls_coupling.f90 b/src/MNH/ls_coupling.f90 index 833ab5a44..6a4f44a7e 100644 --- a/src/MNH/ls_coupling.f90 +++ b/src/MNH/ls_coupling.f90 @@ -131,8 +131,8 @@ END MODULE MODI_LS_COUPLING !! EXTERNAL !! -------- !! FMLOOK : to retrieve a logical unit number -!! FMREAD : to read data in LFI_FM file -!! FMCLOS : to close a FM-file +!! IO_READ_FIELD : to read data in file +!! IO_FILE_CLOSE_ll : to close a file !! INI_LS : to initialize larger scale fields !! INI_LB : to initialize "2D" surfacic LB fields !! diff --git a/src/MNH/mnh2lpdm_ech.f90 b/src/MNH/mnh2lpdm_ech.f90 index 9402582ad..2b0a83647 100644 --- a/src/MNH/mnh2lpdm_ech.f90 +++ b/src/MNH/mnh2lpdm_ech.f90 @@ -33,8 +33,7 @@ USE MODD_MNH2LPDM USE MODE_FM USE MODE_FMREAD ! -USE MODI_IO_LL -USE MODI_FM_LL +USE MODI_IO_ll USE MODI_INI_CST ! IMPLICIT NONE diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90 index 89fcd7513..7e93c673c 100644 --- a/src/MNH/modeln.f90 +++ b/src/MNH/modeln.f90 @@ -66,7 +66,7 @@ END MODULE MODI_MODEL_n !! EXTERNAL !! -------- !! Subroutine FMLOOK: to recover the logical unit number linked to a FMfile -!! Subroutine FMOPEN: to open a FMfile +!! Subroutine IO_FILE_OPEN_ll: to open a file !! Subroutine WRITE_DESFM: to write the descriptive part of a FMfile !! Subroutine WRITE_LFIFM: to write the binary part of a FMfile !! Subroutine SET_MASK : to compute all the masks selected for budget @@ -93,7 +93,7 @@ END MODULE MODI_MODEL_n !! compute the large scale fields, used to !! couple Model_n with outer informations. !! Subroutine ENDSTEP_BUDGET: writes the budget informations. -!! Subroutine FMCLOS : closes a FM file +!! Subroutine IO_FILE_CLOSE_ll: closes a file !! Subroutine ADD_FORECAST_TO_DATE : transform the current time in GMT !! Subroutine FORCING : computes forcing terms !! Subroutine ADD3DFIELD_ll : add a field to 3D-list @@ -1965,7 +1965,7 @@ IF (OEXIT) THEN CALL IO_FILE_CLOSE_ll(TDIAFILE) ! CALL IO_FILE_CLOSE_ll(TINIFILE) - IF (CSURF=="EXTE") CALL FMCLOS_ll(CINIFILEPGD,'KEEP',IRESP,OPARALLELIO=.FALSE.) + IF (CSURF=="EXTE") CALL IO_FILE_CLOSE_ll(TINIFILEPGD,OPARALLELIO=.FALSE.) ! !* 28.1 print statistics! ! diff --git a/src/MNH/open_data_files.f90 b/src/MNH/open_data_files.f90 deleted file mode 100644 index eaaa5a1ea..000000000 --- a/src/MNH/open_data_files.f90 +++ /dev/null @@ -1,129 +0,0 @@ -!MNH_LIC Copyright 1994-2014 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 RCS information -!----------------------------------------------------------------- -! $Source$ $Revision$ -! MASDEV4_7 prep_pgd 2006/05/18 13:07:25 -!----------------------------------------------------------------- -! ########################### - MODULE MODI_OPEN_DATA_FILES -! ########################### -INTERFACE - SUBROUTINE OPEN_DATA_FILES(HFILETYPE,HFILENAME,HLOCFILENAME,OLOCTRANSFER) - -! -CHARACTER(LEN=6), INTENT(IN) :: HFILETYPE ! Type of the data file -CHARACTER(LEN=28), INTENT(IN) :: HFILENAME ! Name of the field file. -CHARACTER(LEN=28), INTENT(INOUT) :: HLOCFILENAME ! Name of the truncated field file. -LOGICAL, INTENT(INOUT) :: OLOCTRANSFER ! .T. : local file is saved -! -END SUBROUTINE OPEN_DATA_FILES -END INTERFACE -END MODULE MODI_OPEN_DATA_FILES -! -! -! ######################################################################### - SUBROUTINE OPEN_DATA_FILES(HFILETYPE,HFILENAME,HLOCFILENAME,OLOCTRANSFER) -! ######################################################################### -! -!!**** *OPEN_DATA_FILES* open the data files -!! -!! PURPOSE -!! ------- -!! -!! METHOD -!! ------ -!! -!! EXTERNAL -!! -------- -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -!! REFERENCE -!! --------- -!! -!! AUTHOR -!! ------ -!! -!! V. Masson Meteo-France -!! -!! MODIFICATION -!! ------------ -!! -!! Original 03/03/97 -!! -!---------------------------------------------------------------------------- -! -!* 0. DECLARATION -! ----------- -! -USE MODE_FM -USE MODE_IO_ll -! -USE MODD_LUNIT -! -IMPLICIT NONE -! -!* 0.1 Declaration of arguments -! ------------------------ -! -CHARACTER(LEN=6), INTENT(IN) :: HFILETYPE ! Type of the data file -CHARACTER(LEN=28), INTENT(IN) :: HFILENAME ! Name of the field file. -CHARACTER(LEN=28), INTENT(INOUT) :: HLOCFILENAME ! Name of the truncated field file. -LOGICAL, INTENT(INOUT) :: OLOCTRANSFER ! .T. : local file is saved -! -!* 0.2 Declaration of local variables -! ------------------------------ -! -INTEGER :: IRESP, ILUOUT0 -INTEGER :: ININAR -INTEGER :: IGLB, ILOC ! logical units for global and local files -!------------------------------------------------------------------------------- -! -CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT0,IRESP) -! -!* 1. Open the global file -! -------------------- -! -IF (HFILETYPE=='MESONH') THEN - CALL FMOPEN_ll(HFILENAME,'READ',0,2,5,ININAR,IRESP) -ELSE IF (HFILETYPE=='BINLLV') THEN - CALL OPEN_ll(UNIT=IGLB,FILE=HFILENAME,IOSTAT=IRESP,STATUS="OLD",ACTION='READ', & - FORM="UNFORMATTED", POSITION="REWIND",MODE='GLOBAL') -ELSE IF (HFILETYPE=='LATLON') THEN - CALL OPEN_ll(UNIT=IGLB,FILE=HFILENAME,STATUS="OLD",IOSTAT=IRESP,FORM="FORMATTED", & - POSITION="REWIND",ACTION='READ',MODE='GLOBAL') -ENDIF -! -!* 2. Open the local file -! ------------------- -! -IF (.NOT. OLOCTRANSFER) RETURN -! -IF (HLOCFILENAME == HFILENAME) THEN - HLOCFILENAME='lc'//HFILENAME - OLOCTRANSFER=.FALSE. - WRITE(ILUOUT0,*) 'local data file ',HFILENAME,' would have the same name as input file' - WRITE(ILUOUT0,*) 'It will not be transfered' -END IF -IF (HFILETYPE=='BINLLV') THEN - CALL OPEN_ll(UNIT=ILOC,FILE=HLOCFILENAME,STATUS="NEW",IOSTAT=IRESP,FORM="UNFORMATTED", & - POSITION="REWIND",ACTION="WRITE", MODE='GLOBAL') -ELSE IF (HFILETYPE=='LATLON') THEN - CALL OPEN_ll(UNIT=ILOC,FILE=HLOCFILENAME,STATUS="NEW",IOSTAT=IRESP,FORM="FORMATTED", & - POSITION="REWIND",ACTION="WRITE", MODE='GLOBAL') -ENDIF -! -IF (HFILETYPE=='MESONH') THEN - OLOCTRANSFER=.FALSE. - ! in the mesonh input file case, ylocfilename is used - ! to store the name of the field to read in the file -END IF -! -!------------------------------------------------------------------------------- -! -END SUBROUTINE OPEN_DATA_FILES diff --git a/src/MNH/open_nestpgd_files.f90 b/src/MNH/open_nestpgd_files.f90 index f0c06499f..c34b9dbb9 100644 --- a/src/MNH/open_nestpgd_files.f90 +++ b/src/MNH/open_nestpgd_files.f90 @@ -41,8 +41,6 @@ END MODULE MODI_OPEN_NESTPGD_FILES !! EXTERNAL !! -------- !! -!! Routine FMOPEN -!! !! IMPLICIT ARGUMENTS !! ------------------ !! @@ -84,8 +82,6 @@ USE MODD_NESTING USE MODD_PARAMETERS USE MODD_IO_ll, ONLY : LIOCDF4,LLFIOUT,TFILE_OUTPUTLISTING,TFILEDATA,TPTR2FILE ! -USE MODI_OPEN_LUOUTn -! USE MODE_IO_ll USE MODE_IO_MANAGE_STRUCT, ONLY : IO_FILE_ADD2LIST USE MODE_FM diff --git a/src/MNH/open_prc_files.f90 b/src/MNH/open_prc_files.f90 index e9fdced51..1f273ab9f 100644 --- a/src/MNH/open_prc_files.f90 +++ b/src/MNH/open_prc_files.f90 @@ -62,9 +62,6 @@ END MODULE MODI_OPEN_PRC_FILES !! EXTERNAL !! -------- !! -!! Routine FMATTR -!! Routine FMOPEN -!! !! IMPLICIT ARGUMENTS !! ------------------ !! diff --git a/src/MNH/prep_ideal_case.f90 b/src/MNH/prep_ideal_case.f90 index 79bc36abf..fbe3a0ac8 100644 --- a/src/MNH/prep_ideal_case.f90 +++ b/src/MNH/prep_ideal_case.f90 @@ -175,10 +175,10 @@ !! SET_REF : to compute rhoJ !! RESSURE_IN_PREP : to apply an anelastic correction in the case of !! non-vanishing orography -!! FMOPEN : to open a FM-file (DESFM + LFIFM) +!! IO_FILE_OPEN_ll : to open a FM-file (DESFM + LFIFM) !! WRITE_DESFM : to write the DESFM file !! WRI_LFIFM : to write the LFIFM file -!! FMCLOS : to close a FM-file (DESFM + LFIFM) +!! IO_FILE_CLOSE_ll : to close a FM-file (DESFM + LFIFM) !! !! MXM,MYM,MZM : Shuman operators !! WGUESS : to compute W with the continuity equation from diff --git a/src/MNH/prep_real_case.f90 b/src/MNH/prep_real_case.f90 index 55af9a27b..99a518629 100644 --- a/src/MNH/prep_real_case.f90 +++ b/src/MNH/prep_real_case.f90 @@ -264,9 +264,7 @@ !! Routine WRITE_DESFM1 : to write a DESFM file. !! Routine WRITE_LFIFM1 : to write a LFIFM file. !! Routine FMLOOK : to retrieve the logical unit of a file. -!! Routine FMCLOS : to close a FM-file (DESFM + LFIFM). -!! Routine FMFREE : to relase a logical unit number linked to a -!! file. +!! Routine IO_FILE_CLOSE_ll : to close a FM-file (DESFM + LFIFM). !! !! Module MODE_GRIDPROJ : contains conformal projection routines !! @@ -393,7 +391,7 @@ USE MODE_POS USE MODE_FM USE MODE_FMWRIT, ONLY : IO_WRITE_HEADER USE MODE_IO_ll -USE MODE_IO_MANAGE_STRUCT, ONLY : IO_FILE_ADD2LIST +USE MODE_IO_MANAGE_STRUCT, ONLY : IO_FILE_ADD2LIST, IO_FILE_FIND_BYNAME USE MODE_ll USE MODE_MSG USE MODE_MODELN_HANDLER @@ -1075,7 +1073,10 @@ CALL MNHWRITE_ZS_DUMMY_n(TINIFILE) ! CALL DEALLOCATE_MODEL1(3) ! -IF (YATMFILETYPE=='MESONH'.AND. YATMFILE/=YPGDFILE) CALL FMCLOS_ll(YATMFILE,'KEEP',IRESP) +IF (YATMFILETYPE=='MESONH'.AND. YATMFILE/=YPGDFILE) THEN + CALL IO_FILE_FIND_BYNAME(TRIM(YATMFILE),TZATMFILE,IRESP) + CALL IO_FILE_CLOSE_ll(TZATMFILE) +END IF !------------------------------------------------------------------------------- ! !* 18. INTERPOLATION OF SURFACE VARIABLES diff --git a/src/MNH/spawn_model2.f90 b/src/MNH/spawn_model2.f90 index f727c5e86..afce684f6 100644 --- a/src/MNH/spawn_model2.f90 +++ b/src/MNH/spawn_model2.f90 @@ -80,7 +80,6 @@ END MODULE MODI_SPAWN_MODEL2 !! EXTERNAL !! -------- !! -!! FMATTR : to associate a logical unit number to a file !! Module MODE_GRIDPROJ : contains conformal projection routines !! SM_GRIDPROJ : to compute some grid variables, in !! case of conformal projection. @@ -91,10 +90,10 @@ END MODULE MODI_SPAWN_MODEL2 !! TOTAL_DMASS : to compute the total mass of dry air !! ANEL_BALANCE2 : to apply an anelastic correction in the case of changing !! resolution between the two models -!! FMOPEN : to open a FM-file (DESFM + LFIFM) +!! IO_FILE_OPEN_ll : to open a FM-file (DESFM + LFIFM) !! WRITE_DESFM : to write the DESFM file !! WRITE_LFIFM : to write the LFIFM file -!! FMCLOS : to close a FM-file (DESFM + LFIFM) +!! IO_FILE_CLOSE_ll : to close a FM-file (DESFM + LFIFM) !! INI_BIKHARDT2 : initializes Bikhardt coefficients !! !! @@ -312,7 +311,6 @@ LOGICAL, INTENT(IN) :: OSPAWN_SURF ! flag to spawn surface fields !* 0.1.3 Declarations of local variables : ! ! -INTEGER :: IRESP ! Return codes in FM routines INTEGER :: ILUOUT ! Logical unit number for the output listing INTEGER :: INPRAR ! Number of articles predicted in the LFIFM file ! -- GitLab