From a283513093387aa4f6b61120f3d128b03a3daf79 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Thu, 7 Feb 2019 13:40:26 +0100 Subject: [PATCH] Philippe 07/02/2019: IO: force TYPE to a known value for IO_FILE_ADD2LIST --- LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 | 15 ++++++----- src/LIB/SURCOUCHE/src/modd_io.f90 | 3 ++- src/LIB/SURCOUCHE/src/mode_fm.f90 | 2 +- .../SURCOUCHE/src/mode_io_manage_struct.f90 | 26 ++++++++++++------- src/MNH/compare_dad.f90 | 7 ++--- src/MNH/compute_r00.f90 | 7 ++--- src/MNH/diag.f90 | 9 ++++--- src/MNH/ini_cpl.f90 | 7 ++--- src/MNH/ini_modeln.f90 | 11 ++++---- src/MNH/ini_prog_var.f90 | 7 ++--- src/MNH/ini_segn.f90 | 9 ++++--- src/MNH/ini_size_spawn.f90 | 5 ++-- src/MNH/latlon_to_xy.f90 | 7 ++--- src/MNH/mnh2lpdm.f90 | 9 ++++--- src/MNH/mnhopen_aux_io_surf.f90 | 9 ++++--- src/MNH/open_nestpgd_files.f90 | 11 ++++---- src/MNH/open_prc_files.f90 | 3 ++- src/MNH/prep_ideal_case.f90 | 11 ++++---- src/MNH/prep_nest_pgd.f90 | 11 ++++---- src/MNH/prep_pgd.f90 | 9 ++++--- src/MNH/prep_real_case.f90 | 7 ++--- src/MNH/prep_surfex.f90 | 7 ++--- src/MNH/spawn_model2.f90 | 9 ++++--- src/MNH/xy_to_latlon.f90 | 7 ++--- src/MNH/zoom_pgd.f90 | 9 ++++--- 25 files changed, 124 insertions(+), 93 deletions(-) diff --git a/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 b/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 index 0f55191e7..7fe27b75a 100644 --- a/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 +++ b/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 @@ -3,6 +3,9 @@ !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- +! Modifications: +! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST +!----------------------------------------------------------------- MODULE mode_util USE MODD_IO_ll, ONLY: TFILE_ELT USE MODD_NETCDF, ONLY: DIMCDF, IDCDF_KIND @@ -977,7 +980,7 @@ END DO ! ! NetCDF ! - CALL IO_FILE_ADD2LIST(INFILES(1)%TFILE,HINFILE,'UNKNOWN','READ',HFORMAT='NETCDF4') + CALL IO_FILE_ADD2LIST(INFILES(1)%TFILE,HINFILE,'MNH','READ',HFORMAT='NETCDF4') CALL IO_FILE_OPEN_ll(INFILES(1)%TFILE) nbvar_infile = INFILES(1)%TFILE%NNCNAR @@ -985,7 +988,7 @@ END DO ! ! LFI ! - CALL IO_FILE_ADD2LIST(INFILES(1)%TFILE,HINFILE,'UNKNOWN','READ', & + CALL IO_FILE_ADD2LIST(INFILES(1)%TFILE,HINFILE,'MNH','READ', & HFORMAT='LFI',KLFIVERB=0) CALL IO_FILE_OPEN_ll(INFILES(1)%TFILE) @@ -1056,7 +1059,7 @@ END DO KNFILES_OUT = KNFILES_OUT + 1 idx = KNFILES_OUT - CALL IO_FILE_ADD2LIST(outfiles(idx)%TFILE,HOUTFILE,'UNKNOWN','WRITE', & + CALL IO_FILE_ADD2LIST(outfiles(idx)%TFILE,HOUTFILE,'MNH','WRITE', & HFORMAT='NETCDF4',OOLD=.TRUE.) CALL IO_FILE_OPEN_ll(outfiles(idx)%TFILE,HPROGRAM_ORIG=CPROGRAM_ORIG) @@ -1078,7 +1081,7 @@ END DO ! KNFILES_OUT = KNFILES_OUT + 1 idx = KNFILES_OUT - CALL IO_FILE_ADD2LIST(outfiles(idx)%TFILE,houtfile,'UNKNOWN','WRITE', & + CALL IO_FILE_ADD2LIST(outfiles(idx)%TFILE,houtfile,'MNH','WRITE', & HFORMAT='LFI',KLFIVERB=0,OOLD=.TRUE.) LIOCDF4 = .FALSE. !Necessary to open correctly the LFI file CALL IO_FILE_OPEN_ll(outfiles(idx)%TFILE,HPROGRAM_ORIG=CPROGRAM_ORIG) @@ -1090,7 +1093,7 @@ END DO KNFILES_OUT = KNFILES_OUT + 1 idx = KNFILES_OUT - CALL IO_FILE_ADD2LIST(outfiles(idx)%TFILE,'dummy_file','UNKNOWN','WRITE', & + CALL IO_FILE_ADD2LIST(outfiles(idx)%TFILE,'dummy_file','MNH','WRITE', & HFORMAT='NETCDF4',OOLD=.TRUE.) CALL IO_FILE_OPEN_ll(outfiles(idx)%TFILE,HPROGRAM_ORIG=CPROGRAM_ORIG) END IF @@ -1145,7 +1148,7 @@ END DO DO ji = 1,nbvar filename = trim(houtfile)//'.'//TRIM(YVARS(ji)) - CALL IO_FILE_ADD2LIST(outfiles(ji)%TFILE,filename,'UNKNOWN','WRITE', & + CALL IO_FILE_ADD2LIST(outfiles(ji)%TFILE,filename,'MNH','WRITE', & HFORMAT='NETCDF4') CALL IO_FILE_OPEN_ll(outfiles(ji)%TFILE,HPROGRAM_ORIG=CPROGRAM_ORIG) diff --git a/src/LIB/SURCOUCHE/src/modd_io.f90 b/src/LIB/SURCOUCHE/src/modd_io.f90 index 48a8f51fb..f21469986 100644 --- a/src/LIB/SURCOUCHE/src/modd_io.f90 +++ b/src/LIB/SURCOUCHE/src/modd_io.f90 @@ -7,6 +7,7 @@ ! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O ! Philippe Wautelet: 10/01/2019: use NEWUNIT argument of OPEN (removed ISTDOUT, ISTDERR, added NNULLUNIT, CNULLFILE) ! Philippe Wautelet: 21/01/2019: add LIO_ALLOW_NO_BACKUP and LIO_NO_WRITE to modd_io_ll to allow to disable writes (for bench purposes) +! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST !----------------------------------------------------------------- MODULE MODD_IO_ll @@ -70,7 +71,7 @@ END TYPE TOUTBAK TYPE TFILEDATA CHARACTER(LEN=NFILENAMELGTMAX) :: CNAME = '' !Filename CHARACTER(LEN=:),ALLOCATABLE :: CDIRNAME !Directory name - CHARACTER(LEN=13) :: CTYPE = "UNKNOWN" !Filetype (backup, output, prepidealcase...) + CHARACTER(LEN=13) :: CTYPE = "UNKNOWN" !Filetype (PGD, MNH, DES, NML...) CHARACTER(LEN=7) :: CFORMAT = "UNKNOWN" !Fileformat (NETCDF4, LFI, LFICDF4...) CHARACTER(LEN=7) :: CMODE = "UNKNOWN" !Opening mode (read, write...) LOGICAL :: LOPENED = .FALSE. !Is the file opened diff --git a/src/LIB/SURCOUCHE/src/mode_fm.f90 b/src/LIB/SURCOUCHE/src/mode_fm.f90 index f8d071b9f..7c51d0a53 100644 --- a/src/LIB/SURCOUCHE/src/mode_fm.f90 +++ b/src/LIB/SURCOUCHE/src/mode_fm.f90 @@ -137,7 +137,7 @@ SELECT CASE(TPFILE%CTYPE) CASE DEFAULT !Do not open '.des' file if OUTPUT - IF(TPFILE%CTYPE/='OUTPUT' .AND. CPROGRAM/='LFICDF') THEN + IF(TPFILE%CTYPE/='MNHOUTPUT' .AND. CPROGRAM/='LFICDF') THEN CALL IO_FILE_ADD2LIST(TZFILE_DES,TRIM(TPFILE%CNAME)//'.des','DES',TPFILE%CMODE,TPDATAFILE=TPFILE,OOLD=.TRUE.) !OOLD=T because the file may already be in the list CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_FILE_OPEN_ll','OPEN_ll for '//TRIM(TPFILE%CNAME)//'.des') CALL OPEN_ll(TZFILE_DES,IOSTAT=IRESP,DELIM='QUOTE',OPARALLELIO=OPARALLELIO) diff --git a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 index fcaa58292..fc9a50c92 100644 --- a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 +++ b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 @@ -197,8 +197,8 @@ DO IMI = 1, NMODEL ALLOCATE(OUT_MODEL(IMI)%TBACKUPN(IBAK_NUMB)) ALLOCATE(OUT_MODEL(IMI)%TOUTPUTN(IOUT_NUMB)) ! - CALL POPULATE_STRUCT(TFILE_FIRST,TFILE_LAST,IBAK_STEP,"BACKUP",OUT_MODEL(IMI)%TBACKUPN) - CALL POPULATE_STRUCT(TFILE_FIRST,TFILE_LAST,IOUT_STEP,"OUTPUT",OUT_MODEL(IMI)%TOUTPUTN) + CALL POPULATE_STRUCT(TFILE_FIRST,TFILE_LAST,IBAK_STEP,"MNHBACKUP",OUT_MODEL(IMI)%TBACKUPN) + CALL POPULATE_STRUCT(TFILE_FIRST,TFILE_LAST,IOUT_STEP,"MNHOUTPUT",OUT_MODEL(IMI)%TOUTPUTN) ! !* Find dad output number ! @@ -531,7 +531,7 @@ SUBROUTINE POPULATE_STRUCT(TPFILE_FIRST,TPFILE_LAST,KSTEPS,HFILETYPE,TPBAKOUTN) TPBAKOUTN(IPOS)%TFILE%CTYPE=HFILETYPE TPBAKOUTN(IPOS)%TFILE%CMODE="WRITE" WRITE (YNUMBER,FMT="(I3.3)") IPOS - IF (TRIM(HFILETYPE)=='OUTPUT') THEN + IF (TRIM(HFILETYPE)=='MNHOUTPUT') THEN ! Add a "OUT" suffix for output files TPBAKOUTN(IPOS)%TFILE%CNAME=ADJUSTL(ADJUSTR(IO_SURF_MNH_MODEL(IMI)%COUTFILE)//'.OUT.'//YNUMBER) !Reduce the float precision if asked @@ -549,7 +549,7 @@ SUBROUTINE POPULATE_STRUCT(TPFILE_FIRST,TPFILE_LAST,KSTEPS,HFILETYPE,TPBAKOUTN) ELSE IF (LEN_TRIM(CIO_DIR)>0) THEN TPBAKOUTN(IPOS)%TFILE%CDIRNAME=TRIM(CIO_DIR) END IF - ELSE IF (TRIM(HFILETYPE)=='BACKUP') THEN + ELSE IF (TRIM(HFILETYPE)=='MNHBACKUP') THEN TPBAKOUTN(IPOS)%TFILE%CNAME=ADJUSTL(ADJUSTR(IO_SURF_MNH_MODEL(IMI)%COUTFILE)//'.'//YNUMBER) IF (LEN_TRIM(CBAK_DIR)>0) THEN TPBAKOUTN(IPOS)%TFILE%CDIRNAME=TRIM(CBAK_DIR) @@ -559,7 +559,7 @@ SUBROUTINE POPULATE_STRUCT(TPFILE_FIRST,TPFILE_LAST,KSTEPS,HFILETYPE,TPBAKOUTN) ELSE CALL PRINT_MSG(NVERB_FATAL,'IO','POPULATE_STRUCT','unknown filetype ('//TRIM(HFILETYPE)//')') ENDIF - TPBAKOUTN(IPOS)%TFILE%NLFITYPE=1 !1: to be transfered + TPBAKOUTN(IPOS)%TFILE%NLFITYPE=1 !1: to be transferred !PW: TODO: set NLFIVERB only when useful (only if LFI file...) TPBAKOUTN(IPOS)%TFILE%NLFIVERB=NVERB IF (LIOCDF4) THEN @@ -567,11 +567,11 @@ SUBROUTINE POPULATE_STRUCT(TPFILE_FIRST,TPFILE_LAST,KSTEPS,HFILETYPE,TPBAKOUTN) TPBAKOUTN(IPOS)%TFILE%CFORMAT='NETCDF4' ELSE TPBAKOUTN(IPOS)%TFILE%CFORMAT='LFICDF4' - IF (TRIM(HFILETYPE)=='BACKUP') TPBAKOUTN(IPOS)%TFILE%NLFINPRAR= 22+2*(4+NRR+NSV) + IF (TRIM(HFILETYPE)=='MNHBACKUP') TPBAKOUTN(IPOS)%TFILE%NLFINPRAR= 22+2*(4+NRR+NSV) END IF ELSE IF (LLFIOUT) THEN TPBAKOUTN(IPOS)%TFILE%CFORMAT='LFI' - IF (TRIM(HFILETYPE)=='BACKUP') TPBAKOUTN(IPOS)%TFILE%NLFINPRAR= 22+2*(4+NRR+NSV) + IF (TRIM(HFILETYPE)=='MNHBACKUP') TPBAKOUTN(IPOS)%TFILE%NLFINPRAR= 22+2*(4+NRR+NSV) ELSE CALL PRINT_MSG(NVERB_FATAL,'IO','POPULATE_STRUCT','unknown backup/output fileformat') ENDIF @@ -594,7 +594,7 @@ SUBROUTINE POPULATE_STRUCT(TPFILE_FIRST,TPFILE_LAST,KSTEPS,HFILETYPE,TPBAKOUTN) TPBAKOUTN(IPOS)%TFILE%TFILES_IOZ(JI)%TFILE%CNAME = TRIM(TPBAKOUTN(IPOS)%TFILE%CNAME)//'.Z'//YNUMBER IF(ALLOCATED(TPBAKOUTN(IPOS)%TFILE%CDIRNAME)) & TPBAKOUTN(IPOS)%TFILE%TFILES_IOZ(JI)%TFILE%CDIRNAME = TRIM(TPBAKOUTN(IPOS)%TFILE%CDIRNAME) - IF (TRIM(HFILETYPE)=='OUTPUT') THEN + IF (TRIM(HFILETYPE)=='MNHOUTPUT') THEN !Reduce the float precision if asked TPBAKOUTN(IPOS)%TFILE%TFILES_IOZ(JI)%TFILE%LNCREDUCE_FLOAT_PRECISION = LOUT_REDUCE_FLOAT_PRECISION(IMI) !Set compression if asked @@ -605,7 +605,7 @@ SUBROUTINE POPULATE_STRUCT(TPFILE_FIRST,TPFILE_LAST,KSTEPS,HFILETYPE,TPBAKOUTN) END IF TPBAKOUTN(IPOS)%TFILE%TFILES_IOZ(JI)%TFILE%NNCCOMPRESS_LEVEL = NOUT_COMPRESS_LEVEL(IMI) END IF - TPBAKOUTN(IPOS)%TFILE%TFILES_IOZ(JI)%TFILE%NLFITYPE=1 !1: to be transfered + TPBAKOUTN(IPOS)%TFILE%TFILES_IOZ(JI)%TFILE%NLFITYPE=1 !1: to be transferred !PW: TODO: set NLFIVERB only when useful (only if LFI file...) TPBAKOUTN(IPOS)%TFILE%TFILES_IOZ(JI)%TFILE%NLFIVERB=NVERB IF (LIOCDF4) THEN @@ -875,7 +875,9 @@ SELECT CASE(TPFILE%CTYPE) IF(PRESENT(KRECL)) TPFILE%NRECL = KRECL - CASE DEFAULT + !MesoNH files + !Remark: 'MNH' is more general than MNHBACKUP and could be in fact a MNHBACKUP file + CASE ('MNH', 'MNHBACKUP', 'MNHDIACHRONIC', 'MNHDIAG', 'MNHOUTPUT', 'PGD') IF (TRIM(HMODE)=='READ') THEN IF (PRESENT(HFORMAT)) THEN TPFILE%CFORMAT = TRIM(HFORMAT) @@ -919,6 +921,10 @@ SELECT CASE(TPFILE%CTYPE) ELSE TPFILE%TDADFILE => NULL() END IF + + + CASE default + call print_msg(NVERB_FATAL,'IO','IO_FILE_ADD2LIST','invalid type '//trim(tpfile%ctype)//' for file '//trim(hname)) END SELECT ! IF(PRESENT(KMODEL)) TPFILE%NMODEL = KMODEL diff --git a/src/MNH/compare_dad.f90 b/src/MNH/compare_dad.f90 index 5446348ef..8c2662bb7 100644 --- a/src/MNH/compare_dad.f90 +++ b/src/MNH/compare_dad.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2004-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. @@ -58,6 +58,7 @@ END MODULE MODI_COMPARE_DAD !! !! Original O8/04/04 !! 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 !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -136,7 +137,7 @@ ZLATORI_2=0. !* 2. Read DAD of initial file ! ------------------------ ! -CALL IO_FILE_ADD2LIST(TZDADINIFILE,TRIM(HDADINIFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB) +CALL IO_FILE_ADD2LIST(TZDADINIFILE,TRIM(HDADINIFILE),'MNH','READ',KLFITYPE=2,KLFIVERB=NVERB) CALL IO_FILE_OPEN_ll(TZDADINIFILE) ! CALL IO_READ_FIELD(TZDADINIFILE,'IMAX',IIMAX_1) @@ -192,7 +193,7 @@ CALL IO_FILE_CLOSE_ll(TZDADINIFILE) !* 3. Read DAD of spawning file ! ------------------------ ! -CALL IO_FILE_ADD2LIST(TZDADSPAFILE,TRIM(HDADSPAFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB) +CALL IO_FILE_ADD2LIST(TZDADSPAFILE,TRIM(HDADSPAFILE),'MNH','READ',KLFITYPE=2,KLFIVERB=NVERB) CALL IO_FILE_OPEN_ll(TZDADSPAFILE) ! CALL IO_READ_FIELD(TZDADSPAFILE,'IMAX',IIMAX_2) diff --git a/src/MNH/compute_r00.f90 b/src/MNH/compute_r00.f90 index 81249e665..2c76d7f39 100644 --- a/src/MNH/compute_r00.f90 +++ b/src/MNH/compute_r00.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ############################### @@ -56,6 +56,7 @@ END MODULE MODI_COMPUTE_R00 !! change of YCOMMENT !! Mai 2016 (G.Delautier) replace LG?M by LG?T !! 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 !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -238,7 +239,7 @@ END IF ! is performed DO JFILECUR=1,NFILES ! - CALL IO_FILE_ADD2LIST(TZTRACFILE,CFILES(NBRFILES(JFILECUR)),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_ADD2LIST(TZTRACFILE,CFILES(NBRFILES(JFILECUR)),'MNH','READ',KLFITYPE=2,KLFIVERB=NVERB) CALL IO_FILE_OPEN_ll(TZTRACFILE) ! !* 4.1 check if this file is a start instant diff --git a/src/MNH/diag.f90 b/src/MNH/diag.f90 index 35bf35b9a..f05ff2240 100644 --- a/src/MNH/diag.f90 +++ b/src/MNH/diag.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1999-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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ############ @@ -88,6 +88,7 @@ !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O !! V.Vionnet 07/2017 add LWIND_CONTRAV !! 11/2017 (D. Ricard, P. Marquet) add diagnostics for THETAS +! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -458,7 +459,7 @@ ENDIF ! INPRAR = 24 +2*(4+NRR+NSV) ! -CALL IO_FILE_ADD2LIST(TOUTDATAFILE,TRIM(CINIFILE)//YSUFFIX,'DIAG','WRITE',KLFINPRAR=INPRAR,KLFITYPE=1,KLFIVERB=NVERB) +CALL IO_FILE_ADD2LIST(TOUTDATAFILE,TRIM(CINIFILE)//YSUFFIX,'MNHDIAG','WRITE',KLFINPRAR=INPRAR,KLFITYPE=1,KLFIVERB=NVERB) ! CALL SECOND_MNH2(ZTIME2) ZSTART=ZTIME2-ZTIME1 @@ -521,7 +522,7 @@ ZTIME1=ZTIME2 ! IF ( LAIRCRAFT_BALLOON ) THEN ! - CALL IO_FILE_ADD2LIST(TZDIACFILE,TRIM(CINIFILE)//'BAL','DIACHRONIC','WRITE', & + CALL IO_FILE_ADD2LIST(TZDIACFILE,TRIM(CINIFILE)//'BAL','MNHDIACHRONIC','WRITE', & HDIRNAME=CIO_DIR,KLFINPRAR=INPRAR,KLFITYPE=1,KLFIVERB=NVERB) ! CALL IO_FILE_OPEN_ll(TZDIACFILE) diff --git a/src/MNH/ini_cpl.f90 b/src/MNH/ini_cpl.f90 index 5f7909787..a53e37642 100644 --- a/src/MNH/ini_cpl.f90 +++ b/src/MNH/ini_cpl.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1995-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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ################### @@ -209,6 +209,7 @@ END MODULE MODI_INI_CPL !! (J.Escobar) 26/03/2014 bug in init of NSV_USER on RESTA case !! (P.Wautelet)28/03/2018 replace TEMPORAL_DIST by DATETIME_DISTANCE !! 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 !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -343,7 +344,7 @@ ILUOUT = TLUOUT%NLU ! DO JCI=1,NCPL_NBR WRITE(YCI,'(I2.0)') JCI - CALL IO_FILE_ADD2LIST(TCPLFILE(JCI)%TZFILE,CCPLFILE(JCI),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_ADD2LIST(TCPLFILE(JCI)%TZFILE,CCPLFILE(JCI),'MNH','READ',KLFITYPE=2,KLFIVERB=NVERB) CALL IO_FILE_OPEN_ll(TCPLFILE(JCI)%TZFILE,KRESP=IRESP) IF (IRESP /= 0) THEN CALL PRINT_MSG(NVERB_FATAL,'IO','INI_CPL','problem when opening coupling file '//TRIM(YCI)) diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90 index 1bbb5cf60..efe5d36da 100644 --- a/src/MNH/ini_modeln.f90 +++ b/src/MNH/ini_modeln.f90 @@ -279,6 +279,7 @@ END MODULE MODI_INI_MODEL_n !! V. Vionnet : 18/07/2017 : add blowing snow scheme !! 01/18 J.Colin Add DRAG !! P.Wautelet 29/01/2019: bug: add missing zero-size allocations +! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST !--------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -1663,7 +1664,7 @@ IF (KMI == 1) THEN DO IMI = 1 , NMODEL WRITE(IO_SURF_MNH_MODEL(IMI)%COUTFILE,'(A,".",I1,".",A)') CEXP,IMI,TRIM(ADJUSTL(CSEG)) WRITE(YNAME, '(A,".",I1,".",A)') CEXP,IMI,TRIM(ADJUSTL(CSEG))//'.000' - CALL IO_FILE_ADD2LIST(LUNIT_MODEL(IMI)%TDIAFILE,YNAME,'DIACHRONIC','WRITE', & + CALL IO_FILE_ADD2LIST(LUNIT_MODEL(IMI)%TDIAFILE,YNAME,'MNHDIACHRONIC','WRITE', & HDIRNAME=CIO_DIR, & KLFINPRAR=INT(50,KIND=LFI_INT),KLFITYPE=1,KLFIVERB=NVERB, & TPDADFILE=LUNIT_MODEL(NDAD(IMI))%TDIAFILE ) @@ -2140,8 +2141,8 @@ END IF IF (CSURF=='EXTE' .AND. (CPROGRAM=='MESONH' .OR. CPROGRAM=='DIAG ')) THEN ! ouverture du fichier PGD IF ( LEN_TRIM(CINIFILEPGD) > 0 ) THEN - CALL IO_FILE_ADD2LIST(TINIFILEPGD,TRIM(CINIFILEPGD),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB) - CALL IO_FILE_OPEN_ll(TINIFILEPGD,OPARALLELIO=.FALSE.,KRESP=IRESP) + CALL IO_FILE_ADD2LIST(TINIFILEPGD,TRIM(CINIFILEPGD),'PGD','READ',KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_OPEN_ll(TINIFILEPGD,KRESP=IRESP) LUNIT_MODEL(KMI)%TINIFILEPGD => TINIFILEPGD IF (IRESP/=0) THEN WRITE(ILUOUT,FMT=*) "INI_MODEL_n ERROR TO OPEN THE FILE CINIFILEPGD=",CINIFILEPGD @@ -2183,8 +2184,8 @@ ELSE END IF IF (CSURF=='EXTE' .AND. (CPROGRAM=='SPAWN ')) THEN ! ouverture du fichier PGD - CALL IO_FILE_ADD2LIST(TINIFILEPGD,TRIM(CINIFILEPGD),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB) - CALL IO_FILE_OPEN_ll(TINIFILEPGD,OPARALLELIO=.FALSE.,KRESP=IRESP) + CALL IO_FILE_ADD2LIST(TINIFILEPGD,TRIM(CINIFILEPGD),'PGD','READ',KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_OPEN_ll(TINIFILEPGD,KRESP=IRESP) LUNIT_MODEL(KMI)%TINIFILEPGD => TINIFILEPGD IF (IRESP/=0) THEN WRITE(ILUOUT,FMT=*) "INI_MODEL_n ERROR TO OPEN THE FILE CINIFILEPGD=",CINIFILEPGD diff --git a/src/MNH/ini_prog_var.f90 b/src/MNH/ini_prog_var.f90 index 182752bc2..30d9a922a 100644 --- a/src/MNH/ini_prog_var.f90 +++ b/src/MNH/ini_prog_var.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ######################## @@ -94,6 +94,7 @@ END MODULE MODI_INI_PROG_VAR !! Mai 2017 (M. Leriche) read aerosol namelists before call ini_nsv !! Mai 2017 (M. Leriche) Get wet dep. sv in Meso-NH init file !! 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 !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -216,7 +217,7 @@ ALLOCATE(XSVT(0,0,0,0)) IF(PRESENT(HCHEMFILE)) THEN WRITE(ILUOUT,*) 'Routine INI_PROG_VAR: CHEMical species read in ',TRIM(HCHEMFILE) ! Read dimensions in chem file and checks with output file - CALL IO_FILE_ADD2LIST(TZCHEMFILE,TRIM(HCHEMFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_ADD2LIST(TZCHEMFILE,TRIM(HCHEMFILE),'MNH','READ',KLFITYPE=2,KLFIVERB=NVERB) CALL IO_FILE_OPEN_ll(TZCHEMFILE) ! ILUDES = TZCHEMFILE%TDESFILE%NLU diff --git a/src/MNH/ini_segn.f90 b/src/MNH/ini_segn.f90 index a41ba0c46..ba3fb3458 100644 --- a/src/MNH/ini_segn.f90 +++ b/src/MNH/ini_segn.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!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. @@ -163,6 +163,7 @@ END MODULE MODI_INI_SEG_n !! 04/2016 add ABORT if CINIFILEPGD is not specified (G.Delautier) !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O !! 07/2017 add GBLOWSNOW (V. Vionnet) +! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -282,7 +283,7 @@ IF (CPROGRAM=='MESONH') THEN ELSE IF (CPROGRAM=='SPAWN ' .OR. CPROGRAM=='REAL '.OR. CPROGRAM=='SPEC ') THEN YINIFILE = CINIFILE_n HINIFILEPGD = CINIFILEPGD_n - CALL IO_FILE_ADD2LIST(TPINIFILE,TRIM(YINIFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_ADD2LIST(TPINIFILE,TRIM(YINIFILE),'MNH','READ',KLFITYPE=2,KLFIVERB=NVERB) CALL IO_FILE_OPEN_ll(TPINIFILE) TZFILE_DES => TPINIFILE%TDESFILE ! @@ -291,7 +292,7 @@ ELSE IF (CPROGRAM=='SPAWN ' .OR. CPROGRAM=='REAL '.OR. CPROGRAM=='SPEC ') THEN ELSE IF (CPROGRAM=='DIAG ') THEN YINIFILE = CINIFILE_n HINIFILEPGD = CINIFILEPGD_n - CALL IO_FILE_ADD2LIST(TINIFILE_n,TRIM(YINIFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_ADD2LIST(TINIFILE_n,TRIM(YINIFILE),'MNH','READ',KLFITYPE=2,KLFIVERB=NVERB) CALL IO_FILE_OPEN_ll(TINIFILE_n) TPINIFILE => TINIFILE_n TZFILE_DES => TPINIFILE%TDESFILE @@ -340,7 +341,7 @@ IF (CPROGRAM=='MESONH') THEN HINIFILEPGD=CINIFILEPGD_n YINIFILE=CINIFILE_n - CALL IO_FILE_ADD2LIST(TPINIFILE,TRIM(YINIFILE),'PREPIDEALCASE','READ',KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_ADD2LIST(TPINIFILE,TRIM(YINIFILE),'MNH','READ',KLFITYPE=2,KLFIVERB=NVERB) TINIFILE_n => TPINIFILE !Necessary because TINIFILE was initially pointing to NULL CALL IO_FILE_OPEN_ll(TPINIFILE) END IF diff --git a/src/MNH/ini_size_spawn.f90 b/src/MNH/ini_size_spawn.f90 index ad4c604b0..d6881971c 100644 --- a/src/MNH/ini_size_spawn.f90 +++ b/src/MNH/ini_size_spawn.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1999-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. @@ -67,6 +67,7 @@ END MODULE MODI_INI_SIZE_SPAWN !! J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1 !! J.Escobar : 19/04/2016 : Pb IOZ/NETCDF , missing OPARALLELIO=.FALSE. for PGD files !! 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 !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -224,7 +225,7 @@ IF (LEN_TRIM(CDOMAIN)>0) THEN ! initialize grid2 dims, xor, xend and ratio so to initialize in INI_CHILD ! structures TCRRT_COMDATA%T_CHILDREN%T_SPLITB and TCRRT_PROCONF%T_CHILDREN !$20140602 add condition on npproc - CALL IO_FILE_ADD2LIST(TZDOMAIN,TRIM(CDOMAIN),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_ADD2LIST(TZDOMAIN,TRIM(CDOMAIN),'PGD','READ',KLFITYPE=2,KLFIVERB=NVERB) CALL IO_FILE_OPEN_ll(TZDOMAIN,OPARALLELIO=.FALSE.) ! CALL IO_READ_FIELD(TZDOMAIN,'DXRATIO',NDXRATIO) diff --git a/src/MNH/latlon_to_xy.f90 b/src/MNH/latlon_to_xy.f90 index eea3c591e..c79760c69 100644 --- a/src/MNH/latlon_to_xy.f90 +++ b/src/MNH/latlon_to_xy.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1995-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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! #################### @@ -55,6 +55,7 @@ !! no transfer of the file when closing Dec. 09, 1996 (V.Masson) !! + changes call to READ_HGRID !! 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 !---------------------------------------------------------------------------- ! !* 0. DECLARATION @@ -132,7 +133,7 @@ CALL IO_FILE_CLOSE_ll(TZNMLFILE) !* 1. Opening of MESONH file ! ---------------------- ! -CALL IO_FILE_ADD2LIST(TZINIFILE,TRIM(YINIFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=2) +CALL IO_FILE_ADD2LIST(TZINIFILE,TRIM(YINIFILE),'MNH','READ',KLFITYPE=2,KLFIVERB=2) CALL IO_FILE_OPEN_ll(TZINIFILE) ! !* 2. Reading of MESONH file diff --git a/src/MNH/mnh2lpdm.f90 b/src/MNH/mnh2lpdm.f90 index 0392d5c3b..77ff393c7 100644 --- a/src/MNH/mnh2lpdm.f90 +++ b/src/MNH/mnh2lpdm.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 2002-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2002-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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. ! ######spl PROGRAM MNH2LPDM @@ -13,6 +13,7 @@ ! Modification : 07.01.2006 (T.LAUVAUX, adaptation LPDM) ! Modification : 04.01.2009 (F. BONNARDOT, DP/SER/ENV ) ! 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 ! !----------------------------------------------------------------------------- ! @@ -107,10 +108,10 @@ CALL IO_FILE_CLOSE_ll(TZNMLFILE) ! IF (LEN_TRIM(CFMNH(1))>0) THEN NBMNH=1 - CALL IO_FILE_ADD2LIST(TZFMNH(1)%TZFILE,TRIM(CFMNH(1)),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=IVERB) + CALL IO_FILE_ADD2LIST(TZFMNH(1)%TZFILE,TRIM(CFMNH(1)),'MNH','READ',KLFITYPE=2,KLFIVERB=IVERB) DO WHILE (CFMNH(NBMNH+1).NE.'VIDE') NBMNH=NBMNH+1 - CALL IO_FILE_ADD2LIST(TZFMNH(NBMNH)%TZFILE,TRIM(CFMNH(NBMNH)),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=IVERB) + CALL IO_FILE_ADD2LIST(TZFMNH(NBMNH)%TZFILE,TRIM(CFMNH(NBMNH)),'MNH','READ',KLFITYPE=2,KLFIVERB=IVERB) END DO print *,NBMNH,' fichiers a traiter.' ELSE diff --git a/src/MNH/mnhopen_aux_io_surf.f90 b/src/MNH/mnhopen_aux_io_surf.f90 index 5e6e4e954..bd94f0332 100644 --- a/src/MNH/mnhopen_aux_io_surf.f90 +++ b/src/MNH/mnhopen_aux_io_surf.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2003-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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. ! ######################### MODULE MODI_MNHOPEN_AUX_IO_SURF @@ -42,7 +42,7 @@ END MODULE MODI_MNHOPEN_AUX_IO_SURF !! !! AUTHOR !! ------ -!! S.Malardel *Meteo France* +!! S.Malardel *Meteo France* !! !! MODIFICATIONS !! ------------- @@ -52,6 +52,7 @@ END MODULE MODI_MNHOPEN_AUX_IO_SURF !! J.Escobar : 19/04/2016 : Pb IOZ/NETCDF , missing OPARALLELIO=.FALSE. for PGD files !! J.Escobar : 02/06/2016 : abort MNHOPEN with STOP if problem with OPEN of INPUT/READ file !! 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 !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -137,7 +138,7 @@ ELSE END IF ! IF (HFILE/=YFILE .AND. HFILE/=YPGDFILE) THEN - CALL IO_FILE_ADD2LIST(TPINFILE,TRIM(HFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=5,OOLD=.TRUE.) + CALL IO_FILE_ADD2LIST(TPINFILE,TRIM(HFILE),'PGD','READ',KLFITYPE=2,KLFIVERB=5,OOLD=.TRUE.) CALL IO_FILE_OPEN_ll(TPINFILE,KRESP=IRESP,OPARALLELIO=.FALSE.) ! IF (IRESP .NE. 0) THEN diff --git a/src/MNH/open_nestpgd_files.f90 b/src/MNH/open_nestpgd_files.f90 index 9147b1635..de2efc608 100644 --- a/src/MNH/open_nestpgd_files.f90 +++ b/src/MNH/open_nestpgd_files.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 1996-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1996-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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- !############################# @@ -67,6 +67,7 @@ END MODULE MODI_OPEN_NESTPGD_FILES !! J.Escobar : 19/04/2016 : Pb IOZ/NETCDF , missing OPARALLELIO=.FALSE. for PGD files !! 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 !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -302,15 +303,15 @@ ALLOCATE(TPFILEPGD (NMODEL)) ALLOCATE(TPFILENESTPGD(NMODEL)) ! DO JPGD=1,NMODEL - CALL IO_FILE_ADD2LIST(TPFILEPGD(JPGD)%TZFILE,TRIM(YPGD(JPGD)),'PREPPGD','READ',KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_ADD2LIST(TPFILEPGD(JPGD)%TZFILE,TRIM(YPGD(JPGD)),'PGD','READ',KLFITYPE=2,KLFIVERB=NVERB) ! IF (NDAD(JPGD)>=1) THEN TZDADFILE => TPFILENESTPGD(NDAD(JPGD))%TZFILE - CALL IO_FILE_ADD2LIST(TPFILENESTPGD(JPGD)%TZFILE,TRIM(YPGD(JPGD))//'.nest'//ADJUSTL(YNEST),'PREPNESTPGD', & + CALL IO_FILE_ADD2LIST(TPFILENESTPGD(JPGD)%TZFILE,TRIM(YPGD(JPGD))//'.nest'//ADJUSTL(YNEST),'PGD', & 'WRITE',KLFITYPE=1,KLFIVERB=NVERB,KMODEL=JPGD,TPDADFILE=TZDADFILE) ELSE NULLIFY(TZDADFILE) - CALL IO_FILE_ADD2LIST(TPFILENESTPGD(JPGD)%TZFILE,TRIM(YPGD(JPGD))//'.nest'//ADJUSTL(YNEST),'PREPNESTPGD', & + CALL IO_FILE_ADD2LIST(TPFILENESTPGD(JPGD)%TZFILE,TRIM(YPGD(JPGD))//'.nest'//ADJUSTL(YNEST),'PGD', & 'WRITE',KLFITYPE=1,KLFIVERB=NVERB,KMODEL=JPGD) END IF END DO diff --git a/src/MNH/open_prc_files.f90 b/src/MNH/open_prc_files.f90 index 5e8436d87..b3cb79f98 100644 --- a/src/MNH/open_prc_files.f90 +++ b/src/MNH/open_prc_files.f90 @@ -91,6 +91,7 @@ END MODULE MODI_OPEN_PRC_FILES !! J.Escobar : 19/04/2016 : Pb IOZ/NETCDF , missing OPARALLELIO=.FALSE. for PGD files !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O !! P. Wautelet 01/02/2019 added missing initialization to NULL for files with OUT intent +! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -269,7 +270,7 @@ ELSE ! ----------------------------------- ! TPPGDFILE => NULL() - CALL IO_FILE_ADD2LIST(TPPGDFILE,TRIM(HPGDFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_ADD2LIST(TPPGDFILE,TRIM(HPGDFILE),'PGD','READ',KLFITYPE=2,KLFIVERB=NVERB) CALL IO_FILE_OPEN_ll(TPPGDFILE,IRESP,OPARALLELIO=.FALSE.) IF (IRESP/=0) THEN !callabortstop diff --git a/src/MNH/prep_ideal_case.f90 b/src/MNH/prep_ideal_case.f90 index eb97a9091..d6f245f7b 100644 --- a/src/MNH/prep_ideal_case.f90 +++ b/src/MNH/prep_ideal_case.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ####################### @@ -311,6 +311,7 @@ !! P.Wautelet : 08/07/2016 : removed MNH_NCWRIT define !! 01/2018 (G.Delautier) SURFEX 8.1 !! 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 !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -710,7 +711,7 @@ CALL INI_FIELD_SCALARS() ! IF( LEN_TRIM(CPGD_FILE) /= 0 ) THEN ! open the PGD_FILE - CALL IO_FILE_ADD2LIST(TPGDFILE,TRIM(CPGD_FILE),'UNKNOWN','READ',KLFINPRAR=NNPRAR,KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_ADD2LIST(TPGDFILE,TRIM(CPGD_FILE),'PGD','READ',KLFINPRAR=NNPRAR,KLFITYPE=2,KLFIVERB=NVERB) CALL IO_FILE_OPEN_ll(TPGDFILE) ! read the grid in the PGD file @@ -1730,7 +1731,7 @@ NNPRAR = 22 + 2*(NRR+NSV) & ! 22 = number of grid variables + reference ! variables at time t and t-dt NTYPE=1 ! -CALL IO_FILE_ADD2LIST(TINIFILE,TRIM(CINIFILE),'PREPIDEALCASE','WRITE',KLFINPRAR=NNPRAR,KLFITYPE=NTYPE,KLFIVERB=NVERB) +CALL IO_FILE_ADD2LIST(TINIFILE,TRIM(CINIFILE),'MNH','WRITE',KLFINPRAR=NNPRAR,KLFITYPE=NTYPE,KLFIVERB=NVERB) ! CALL IO_FILE_OPEN_ll(TINIFILE) ! @@ -1770,7 +1771,7 @@ IF (CSURF =='EXTE') THEN TPGDFILE => TINIFILE CALL PGD_GRID_SURF_ATM(YSURF_CUR%UG, YSURF_CUR%U,YSURF_CUR%GCP,'MESONH',TINIFILE%CNAME,'MESONH',.TRUE.,HDIR='-') CALL PGD_SURF_ATM (YSURF_CUR,'MESONH',TINIFILE%CNAME,'MESONH',.TRUE.) - CALL IO_FILE_ADD2LIST(TINIFILEPGD,TRIM(CINIFILEPGD),'PREPIDEALCASE','WRITE',KLFINPRAR=NNPRAR,KLFITYPE=NTYPE,KLFIVERB=NVERB) + CALL IO_FILE_ADD2LIST(TINIFILEPGD,TRIM(CINIFILEPGD),'PGD','WRITE',KLFINPRAR=NNPRAR,KLFITYPE=NTYPE,KLFIVERB=NVERB) CALL IO_FILE_OPEN_ll (TINIFILEPGD) TPGDFILE => TINIFILEPGD ELSE diff --git a/src/MNH/prep_nest_pgd.f90 b/src/MNH/prep_nest_pgd.f90 index 7d9b2ae94..8e7270040 100644 --- a/src/MNH/prep_nest_pgd.f90 +++ b/src/MNH/prep_nest_pgd.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 1995-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1995-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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ##################### @@ -91,6 +91,7 @@ !! 06/2016 (G.Delautier) phasage surfex 8 !! 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 !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -334,7 +335,7 @@ DO JPGD=1,NMODEL TOUTDATAFILE => TZFILENESTPGD(JPGD)%TZFILE CALL GOTO_MODEL(JPGD) !Open done here because grid dimensions have to be known - CALL IO_FILE_OPEN_ll(TZFILENESTPGD(JPGD)%TZFILE,OPARALLELIO=.FALSE.) + CALL IO_FILE_OPEN_ll(TZFILENESTPGD(JPGD)%TZFILE) CALL GOTO_SURFEX(JPGD) TFILE_SURFEX => TZFILENESTPGD(JPGD)%TZFILE CALL WRITE_PGD_SURF_ATM_n(YSURF_CUR,'MESONH') @@ -369,8 +370,8 @@ END DO ! -------------------- ! DO JPGD=1,NMODEL - CALL IO_FILE_CLOSE_ll(TZFILEPGD(JPGD)%TZFILE, OPARALLELIO=.FALSE.) - CALL IO_FILE_CLOSE_ll(TZFILENESTPGD(JPGD)%TZFILE,OPARALLELIO=.FALSE.) + CALL IO_FILE_CLOSE_ll(TZFILEPGD(JPGD)%TZFILE) + CALL IO_FILE_CLOSE_ll(TZFILENESTPGD(JPGD)%TZFILE) END DO ! !* loop to spare enough time to transfer commands before end of program diff --git a/src/MNH/prep_pgd.f90 b/src/MNH/prep_pgd.f90 index d7b5899bc..a58862491 100644 --- a/src/MNH/prep_pgd.f90 +++ b/src/MNH/prep_pgd.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 1995-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1995-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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. ! ################ PROGRAM PREP_PGD @@ -73,7 +73,8 @@ !! 01/2018 (G.Delautier) SURFEX 8.1 !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O !! Q. Rodier 01/2019 : add a new filtering for very high slopes in NAM_ZSFILTER -!! +! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST +!! !---------------------------------------------------------------------------- ! !* 0. DECLARATION @@ -244,7 +245,7 @@ CALL PGD_SURF_ATM(YSURF_CUR,'MESONH',' ',' ',.FA !* 3. Writes the physiographic fields ! ------------------------------- ! -CALL IO_FILE_ADD2LIST(TZFILE,CPGDFILE,'PREPPGD','WRITE',KLFINPRAR=INT(1,KIND=LFI_INT),KLFITYPE=1,KLFIVERB=5) +CALL IO_FILE_ADD2LIST(TZFILE,CPGDFILE,'PGD','WRITE',KLFINPRAR=INT(1,KIND=LFI_INT),KLFITYPE=1,KLFIVERB=5) ! CALL IO_FILE_OPEN_ll(TZFILE,OPARALLELIO=.FALSE.) ! diff --git a/src/MNH/prep_real_case.f90 b/src/MNH/prep_real_case.f90 index a11651b58..9caff1432 100644 --- a/src/MNH/prep_real_case.f90 +++ b/src/MNH/prep_real_case.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 1995-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1995-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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ###################### @@ -379,6 +379,7 @@ !! P.Wautelet : 08/07/2016 : removed MNH_NCWRIT define !! B.VIE 2016 : LIMA !! 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 !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -745,7 +746,7 @@ CALL SECOND_MNH(ZTIME2) ZREAD = ZTIME2 - ZTIME1 - ZHORI !------------------------------------------------------------------------------- ! -CALL IO_FILE_ADD2LIST(TINIFILE,CINIFILE,'PREPREALCASE','WRITE',KLFITYPE=1,KLFIVERB=NVERB) +CALL IO_FILE_ADD2LIST(TINIFILE,CINIFILE,'MNH','WRITE',KLFITYPE=1,KLFIVERB=NVERB) CALL IO_FILE_OPEN_ll(TINIFILE) ! ZTIME1=ZTIME2 diff --git a/src/MNH/prep_surfex.f90 b/src/MNH/prep_surfex.f90 index 1bf961ea0..06ea465e8 100644 --- a/src/MNH/prep_surfex.f90 +++ b/src/MNH/prep_surfex.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2004-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2004-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. @@ -26,6 +26,7 @@ !! 10/10/2011 J.Escobar call INI_PARAZ_ll !! 06/2016 (G.Delautier) phasage surfex 8 !! 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 !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -155,7 +156,7 @@ CALL INI_PARAZ_ll(IINFO_ll) !* reading of date ! IF (YATMFILETYPE=='MESONH') THEN - CALL IO_FILE_ADD2LIST(TZATMFILE,TRIM(YATMFILE),'UNKNOWN','READ',KLFITYPE=1,KLFIVERB=1) + CALL IO_FILE_ADD2LIST(TZATMFILE,TRIM(YATMFILE),'MNH','READ',KLFITYPE=1,KLFIVERB=1) CALL IO_FILE_OPEN_ll(TZATMFILE) CALL IO_READ_FIELD(TZATMFILE,'DTCUR',TDTCUR) CALL IO_FILE_CLOSE_ll(TZATMFILE) @@ -171,7 +172,7 @@ YSURF_CUR => YSURF_LIST(1) CALL READ_ALL_NAMELISTS(YSURF_CUR,'MESONH','PRE',.FALSE.) CALL GOTO_SURFEX(1) ! -CALL IO_FILE_ADD2LIST(TINIFILE,TRIM(CINIFILE),'PREPSURFEX','WRITE',KLFITYPE=1,KLFIVERB=1) +CALL IO_FILE_ADD2LIST(TINIFILE,TRIM(CINIFILE),'PGD','WRITE',KLFITYPE=1,KLFIVERB=1) !The open is done later in PREP_SURF_MNH when domain dimensions are known ! TFILE_SURFEX => TINIFILE diff --git a/src/MNH/spawn_model2.f90 b/src/MNH/spawn_model2.f90 index d920dbc0c..38dd08f61 100644 --- a/src/MNH/spawn_model2.f90 +++ b/src/MNH/spawn_model2.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 1995-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1995-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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !######################## MODULE MODI_SPAWN_MODEL2 @@ -191,6 +191,7 @@ END MODULE MODI_SPAWN_MODEL2 !! Modification 01/2016 (JP Pinty) Add LIMA !! 10/2016 (C.Lac) Add droplet deposition !! 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 !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -489,7 +490,7 @@ IF (LEN_TRIM(HSONFILE) /= 0 ) THEN ! 3.3.1 Opening the son input file and reading the grid ! WRITE(ILUOUT,*) 'SPAWN_MODEL2: spawning with a SON input file :',TRIM(HSONFILE) - CALL IO_FILE_ADD2LIST(TZSONFILE,TRIM(HSONFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB) + CALL IO_FILE_ADD2LIST(TZSONFILE,TRIM(HSONFILE),'MNH','READ',KLFITYPE=2,KLFIVERB=NVERB) CALL IO_FILE_OPEN_ll(TZSONFILE) CALL IO_READ_FIELD(TZSONFILE,'DAD_NAME',YDAD_SON) CALL IO_READ_FIELD(TZSONFILE,'IMAX', IIMAXSON) @@ -1436,7 +1437,7 @@ ELSE CMY_NAME(2)=ADJUSTL(ADJUSTR(CINIFILE)//'.spr'//ADJUSTL(HSPANBR)) END IF ! -CALL IO_FILE_ADD2LIST(TZFILE,CMY_NAME(2),'SPAWNING','WRITE',KLFINPRAR=INPRAR,KLFITYPE=1,KLFIVERB=NVERB) +CALL IO_FILE_ADD2LIST(TZFILE,CMY_NAME(2),'MNH','WRITE',KLFINPRAR=INPRAR,KLFITYPE=1,KLFIVERB=NVERB) ! CALL IO_FILE_OPEN_ll(TZFILE) ! diff --git a/src/MNH/xy_to_latlon.f90 b/src/MNH/xy_to_latlon.f90 index 606aa70aa..e5e264332 100644 --- a/src/MNH/xy_to_latlon.f90 +++ b/src/MNH/xy_to_latlon.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 2006-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2006-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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! #################### @@ -54,6 +54,7 @@ !! no transfer of the file when closing Dec. 09, 1996 (V.Masson) !! + changes call to READ_HGRID !! 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 !---------------------------------------------------------------------------- ! !* 0. DECLARATION @@ -130,7 +131,7 @@ CALL IO_FILE_CLOSE_ll(TZNMLFILE) !* 1. Opening of MESONH file ! ---------------------- ! -CALL IO_FILE_ADD2LIST(TZINIFILE,TRIM(YINIFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=2) +CALL IO_FILE_ADD2LIST(TZINIFILE,TRIM(YINIFILE),'MNH','READ',KLFITYPE=2,KLFIVERB=2) CALL IO_FILE_OPEN_ll(TZINIFILE) ! !* 2. Reading of MESONH file diff --git a/src/MNH/zoom_pgd.f90 b/src/MNH/zoom_pgd.f90 index af620d5b8..e00cc34e6 100644 --- a/src/MNH/zoom_pgd.f90 +++ b/src/MNH/zoom_pgd.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 2005-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2005-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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ################ @@ -40,6 +40,7 @@ !! 06/2016 (G.Delautier) phasage surfex 8 !! 08/07/2016 P.Wautelet 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 !! !---------------------------------------------------------------------------- ! @@ -148,7 +149,7 @@ CALL SET_CONFIO_ll() !* 2.1 Open PGD file ! ------------- ! -CALL IO_FILE_ADD2LIST(TZPGDFILE,TRIM(CPGDFILE),'UNKNOWN','READ',KLFINPRAR=INT(1,KIND=LFI_INT),KLFITYPE=2,KLFIVERB=5) +CALL IO_FILE_ADD2LIST(TZPGDFILE,TRIM(CPGDFILE),'PGD','READ',KLFINPRAR=INT(1,KIND=LFI_INT),KLFITYPE=2,KLFIVERB=5) CALL IO_FILE_OPEN_ll(TZPGDFILE) ! !* 2.2 Reading of initial grid @@ -194,7 +195,7 @@ IF ( (LEN_TRIM(YZOOMFILE) == 0) .OR. (ADJUSTL(YZOOMFILE) == ADJUSTL(CPGDFILE)) ) YZOOMFILE=ADJUSTL(ADJUSTR(CPGDFILE)//'.z'//ADJUSTL(YZOOMNBR)) END IF ! -CALL IO_FILE_ADD2LIST(TZZOOMFILE,TRIM(YZOOMFILE),'ZOOMPGD','WRITE',KLFINPRAR=INT(1,KIND=LFI_INT),KLFITYPE=1,KLFIVERB=5) +CALL IO_FILE_ADD2LIST(TZZOOMFILE,TRIM(YZOOMFILE),'PGD','WRITE',KLFINPRAR=INT(1,KIND=LFI_INT),KLFITYPE=1,KLFIVERB=5) !PW: TODO: points to dad file (if existing) ! TZZOOMFILE%TDADFILE => ! CALL IO_FILE_OPEN_ll(TZZOOMFILE) -- GitLab