diff --git a/src/MNH/diag.f90 b/src/MNH/diag.f90 index abc7599766929e2d08e88a4f57f17d12cca8032b..674b21574e9c2c06920f4e4271afb73bcc10b7ce 100644 --- a/src/MNH/diag.f90 +++ b/src/MNH/diag.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1999-2022 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1999-2023 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. @@ -403,33 +403,24 @@ CALL IO_File_open(TZNMLFILE) ILUNAM = TZNMLFILE%NLU ! ! -CALL POSNAM(ILUNAM,'NAM_DIAG',GFOUND) -IF (GFOUND) THEN - READ(UNIT=ILUNAM,NML=NAM_DIAG) -END IF +CALL POSNAM( TZNMLFILE, 'NAM_DIAG', GFOUND ) +IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_DIAG) ! -CALL POSNAM(ILUNAM,'NAM_DIAG_BLANK',GFOUND) -IF (GFOUND) THEN - READ(UNIT=ILUNAM,NML=NAM_DIAG_BLANK) -END IF +CALL POSNAM( TZNMLFILE, 'NAM_DIAG_BLANK', GFOUND ) +IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_DIAG_BLANK) ! -CALL POSNAM(ILUNAM,'NAM_DIAG_FILE',GFOUND) -IF (GFOUND) THEN - READ(UNIT=ILUNAM,NML=NAM_DIAG_FILE) -END IF +CALL POSNAM( TZNMLFILE, 'NAM_DIAG_FILE', GFOUND ) +IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_DIAG_FILE) +! +CALL POSNAM( TZNMLFILE, 'NAM_STO_FILE', GFOUND ) +IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_STO_FILE) +! +CALL POSNAM( TZNMLFILE, 'NAM_CONFZ', GFOUND ) +IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_CONFZ) +! +CALL POSNAM( TZNMLFILE, 'NAM_CONFIO', GFOUND ) +IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_CONFIO) ! -CALL POSNAM(ILUNAM,'NAM_STO_FILE',GFOUND) -IF (GFOUND) THEN - READ(UNIT=ILUNAM,NML=NAM_STO_FILE) -END IF -CALL POSNAM(ILUNAM,'NAM_CONFZ',GFOUND) -IF (GFOUND) THEN - READ(UNIT=ILUNAM,NML=NAM_CONFZ) -END IF -CALL POSNAM(ILUNAM,'NAM_CONFIO',GFOUND) -IF (GFOUND) THEN - READ(UNIT=ILUNAM,NML=NAM_CONFIO) -END IF CALL IO_Config_set() ! CALL IO_File_close(TZNMLFILE) diff --git a/src/MNH/ini_prog_var.f90 b/src/MNH/ini_prog_var.f90 index 1864623ffbe8bd132b556b841d5c1f3a6840e8bd..f0d7cc6879cb71e19e23774b8cd5b442a6567a07 100644 --- a/src/MNH/ini_prog_var.f90 +++ b/src/MNH/ini_prog_var.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2023 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. @@ -249,19 +249,19 @@ IF(PRESENT(HCHEMFILE)) THEN END IF ! IIMAX LUSECHEM = .TRUE. IF (LORILAM) THEN - CALL POSNAM(ILUDES,'NAM_CH_ORILAM',GFOUND,ILUOUT) + CALL POSNAM(TZCHEMFILE, 'NAM_CH_ORILAM', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_CH_ORILAM) ENDIF IF (LDUST) THEN LDSTINIT=.TRUE. LDSTPRES=.FALSE. - CALL POSNAM(ILUDES,'NAM_DUST',GFOUND,ILUOUT) + CALL POSNAM(TZCHEMFILE, 'NAM_DUST', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_DUST) ENDIF IF (LSALT) THEN LSLTINIT=.TRUE. LSLTPRES=.FALSE. - CALL POSNAM(ILUDES,'NAM_SALT',GFOUND,ILUOUT) + CALL POSNAM(TZCHEMFILE, 'NAM_SALT', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_SALT) ENDIF diff --git a/src/MNH/ini_segn.f90 b/src/MNH/ini_segn.f90 index 98a316851fc4b5d21ca797b02b3275da6c87069f..f7f5ea11509566967e1b757bdbfc4cb0b333721b 100644 --- a/src/MNH/ini_segn.f90 +++ b/src/MNH/ini_segn.f90 @@ -324,7 +324,7 @@ CALL DEFAULT_DESFM_n(KMI) !* 3. READ INITIAL FILE NAME AND OPEN INITIAL FILE ! -------------------------------------------- ! -CALL POSNAM(ILUSEG,'NAM_LUNITN',GFOUND) +CALL POSNAM( TZFILE_DES, 'NAM_LUNITN', GFOUND ) IF (GFOUND) THEN CALL INIT_NAM_LUNITn READ(UNIT=ILUSEG,NML=NAM_LUNITn) @@ -337,9 +337,9 @@ END IF IF (CPROGRAM=='MESONH') THEN IF (KMI.EQ.1) THEN - CALL POSNAM(ILUSEG,'NAM_CONFZ',GFOUND,ILUOUT) + CALL POSNAM( TZFILE_DES, 'NAM_CONFZ', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_CONFZ) - CALL POSNAM(ILUSEG,'NAM_CONFIO',GFOUND,ILUOUT) + CALL POSNAM( TZFILE_DES, 'NAM_CONFIO', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_CONFIO) CALL IO_Config_set() END IF diff --git a/src/MNH/latlon_to_xy.f90 b/src/MNH/latlon_to_xy.f90 index 98b134a36a1cf7e21a18a8cb4c49a3627e5f8490..ae3cfb6cabf936316edb62b8075f01839b07b4c8 100644 --- a/src/MNH/latlon_to_xy.f90 +++ b/src/MNH/latlon_to_xy.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1995-2021 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1995-2023 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. @@ -147,16 +147,14 @@ CALL IO_File_add2list(TZNMLFILE,'LATLON2XY1.nam','NML','READ') CALL IO_File_open(TZNMLFILE) INAM=TZNMLFILE%NLU ! -CALL POSNAM(INAM,'NAM_INIFILE',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_INIFILE', GFOUND ) IF (GFOUND) THEN READ(UNIT=INAM,NML=NAM_INIFILE) - PRINT*, ' namelist NAM_INIFILE read' END IF ! -CALL POSNAM(INAM,'NAM_CONFIO',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_CONFIO', GFOUND ) IF (GFOUND) THEN READ(UNIT=INAM,NML=NAM_CONFIO) - PRINT*, ' namelist NAM_CONFIO read' END IF ! CALL IO_Config_set() diff --git a/src/MNH/mnh2lpdm.f90 b/src/MNH/mnh2lpdm.f90 index deb8dda2312cc5000d28482412cf5e4695292e0d..7a37fde0fe1a5c05c86da90720d933ea9b6a0011 100644 --- a/src/MNH/mnh2lpdm.f90 +++ b/src/MNH/mnh2lpdm.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2002-2021 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2002-2023 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. @@ -113,7 +113,7 @@ READ(UNIT=IFNML,NML=NAM_TURB) READ(UNIT=IFNML,NML=NAM_FIC) print *,'Lecture de NAM_FIC OK.' -CALL POSNAM(IFNML,'NAM_CONFIO',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_CONFIO', GFOUND ) IF (GFOUND) THEN READ(UNIT=IFNML,NML=NAM_CONFIO) END IF diff --git a/src/MNH/mode_pos.f90 b/src/MNH/mode_pos.f90 index 09a2ca12ee8467375b1784743768c89c72e14e98..1a8344973bc1ae797242feb6205c49603f716d8f 100644 --- a/src/MNH/mode_pos.f90 +++ b/src/MNH/mode_pos.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1993-2019 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1993-2023 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. @@ -12,9 +12,9 @@ implicit none !! CONTAINS !! -!! ############################################## - SUBROUTINE POSNAM(KULNAM,HDNAML,OFOUND,KLUOUT) -!! ############################################## +!! ########################################### + SUBROUTINE POSNAM( TPFILE, HDNAML, OFOUND ) +!! ########################################### !! !!*** *POSNAM* !! @@ -45,72 +45,102 @@ CONTAINS !! Original : 22/06/93 !! I. Mallet 15/10/01 adaptation to MesoNH (F90 norm) ! P. Wautelet 10/04/2019: replace ABORT and STOP calls by Print_msg +! P. Wautelet 05/04/2023: POSNAM: modernisation + improvements !------------------------------------------------------------------------------ ! !* 0. DECLARATIONS ! ------------ +USE MODD_IO, ONLY: TFILEDATA + +USE MODE_MSG +USE MODE_TOOLS, ONLY: Upcase ! !* 0.1 Declarations of arguments ! -INTEGER, INTENT(IN) :: KULNAM +TYPE(TFILEDATA), INTENT(IN) :: TPFILE CHARACTER(LEN=*), INTENT(IN) :: HDNAML LOGICAL, INTENT(OUT):: OFOUND -INTEGER, OPTIONAL,INTENT(IN) :: KLUOUT ! !* 0.2 Declarations of local variables ! -CHARACTER(LEN=120) :: YLINE -CHARACTER(LEN=1) :: YLTEST -INTEGER :: ILEN,ILEY,IND1,IRET -INTEGER :: J,JA -! -CHARACTER(LEN=1),DIMENSION(26) :: YLO=(/'a','b','c','d','e','f','g','h', & - 'i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'/) -CHARACTER(LEN=1),DIMENSION(26) :: YUP=(/'A','B','C','D','E','F','G','H', & - 'I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'/) -! -!* 1. POSITION FILE -! ------------- -! -REWIND(KULNAM) -ILEN=LEN(HDNAML) -IRET = 0 -! +CHARACTER(LEN=100) :: YERRORMSG +CHARACTER(LEN=120) :: YLINE +CHARACTER(LEN=1) :: YLTEST +CHARACTER(LEN=:), ALLOCATABLE :: YDNAML +INTEGER :: ILU +INTEGER :: ILEN, IND1, IRET +INTEGER :: IVERBLVL + + +OFOUND = .FALSE. + +IF ( .NOT.TPFILE%LOPENED ) THEN + call Print_msg( NVERB_ERROR, 'IO', 'POSNAM', Trim( TPFILE%CNAME ) // ' not opened' ) + RETURN +END IF + +ILU = TPFILE%NLU + +IF ( TPFILE%CTYPE == 'DES' ) THEN + IVERBLVL = NVERB_DEBUG +ELSE IF ( TPFILE%CTYPE == 'NML' ) THEN + IVERBLVL = NVERB_INFO +ELSE + ! Check if there is an associated .des file + ! and use it if available + IF ( ASSOCIATED( TPFILE%TDESFILE ) ) THEN + IVERBLVL = NVERB_DEBUG + IF ( .NOT.TPFILE%TDESFILE%LOPENED ) THEN + call Print_msg( NVERB_ERROR, 'IO', 'POSNAM', Trim( TPFILE%TDESFILE%CNAME ) // ' not opened' ) + RETURN + END IF + ILU = TPFILE%TDESFILE%NLU + ELSE + IVERBLVL = NVERB_INFO + call Print_msg( NVERB_WARNING, 'IO', 'POSNAM', Trim( TPFILE%CNAME ) & + // ': unexpected filetype: ' // Trim( TPFILE%CTYPE ) ) + END IF +END IF + +REWIND( ILU ) + +ILEN = LEN( HDNAML ) +ALLOCATE( CHARACTER(LEN=ILEN) :: YDNAML ) +YDNAML = Upcase( HDNAML ) ! Force namelist name into upper case (read namelist name will also be upcased) + search_nam : DO - YLINE=' ' - READ(UNIT=KULNAM,FMT='(A)',IOSTAT=IRET,END=100) YLINE - IF (IRET /=0 ) THEN - IF (PRESENT(KLUOUT)) & - WRITE(KLUOUT,FMT=*) '-> error reading from unit',KULNAM,' line ',YLINE - ELSE - ILEY=LEN(YLINE) - DO J=1,ILEY - DO JA=1,26 - IF (YLINE(J:J)==YLO(JA)) YLINE(J:J)=YUP(JA) - END DO - END DO - IND1=INDEX(YLINE,'&'//HDNAML) - IF(IND1.NE.0) THEN - YLTEST=YLINE(IND1+ILEN+1:IND1+ILEN+1) - !IF((LLT(YLTEST,'0').OR.LGT(YLTEST,'9')).AND. & - ! (LLT(YLTEST,'A').OR.LGT(YLTEST,'Z'))) EXIT search_nam - IF(YLTEST == ' ') EXIT search_nam - ENDIF - ENDIF -ENDDO search_nam -! -BACKSPACE(KULNAM) -OFOUND=.TRUE. -IF (PRESENT(KLUOUT)) WRITE(KLUOUT,FMT=*) '-- namelist ',HDNAML,' read' -! + READ ( UNIT=ILU, FMT='(A)', IOSTAT=IRET, IOMSG=YERRORMSG, END=100 ) YLINE + IF (IRET /= 0 ) THEN + call Print_msg( NVERB_ERROR, 'IO', 'POSNAM', 'read error:' // Trim( YERRORMSG ) ) + ELSE + YLINE = Upcase( YLINE ) + IND1 = INDEX( YLINE, '&'//YDNAML ) + IF( IND1 /= 0 ) THEN + IF( IND1 > 1 ) THEN + IF ( LEN_TRIM( YLINE(:IND1-1) ) /= 0 ) THEN + ! Check that it is really the beginning of a namelist and that is not a comment + ! Nothing but spaces is allowed here + call Print_msg( NVERB_DEBUG, 'IO', 'POSNAM', 'invalid header or commented namelist: ' // Trim ( YLINE) ) + CYCLE + END IF + END IF + YLTEST = YLINE(IND1+ILEN+1:IND1+ILEN+1) + IF( YLTEST == ' ' ) EXIT search_nam + END IF + END IF +END DO search_nam + +BACKSPACE( ILU ) +OFOUND = .TRUE. +call Print_msg( IVERBLVL, 'IO', 'POSNAM', Trim( TPFILE%CNAME ) // ': namelist ' // Trim( HDNAML ) // ' found' ) + RETURN -! + ! end of file: namelist name not found 100 CONTINUE -OFOUND=.FALSE. -IF (PRESENT(KLUOUT)) & -WRITE(KLUOUT,FMT=*) & -'-- namelist ',HDNAML,' not found: default values used if required' +call Print_msg( IVERBLVL, 'IO', 'POSNAM', Trim( TPFILE%CNAME ) // ': namelist ' // Trim( HDNAML ) & + // ' not found: default values used if required' ) + !------------------------------------------------------------------ END SUBROUTINE POSNAM !! diff --git a/src/MNH/open_nestpgd_files.f90 b/src/MNH/open_nestpgd_files.f90 index d331134d68ce797a6112596032f6fe6448b3b1e8..555d5cbc174d5b8f21ef737eccbb17b5255752d3 100644 --- a/src/MNH/open_nestpgd_files.f90 +++ b/src/MNH/open_nestpgd_files.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1996-2019 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1996-2023 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. @@ -172,11 +172,11 @@ CALL IO_File_add2list(TZPRE_NEST_PGD,TRIM(HPRE_NEST_PGD),'NML','READ') CALL IO_File_open(TZPRE_NEST_PGD) IPRE_NEST_PGD = TZPRE_NEST_PGD%NLU !reading of NAM_CONFZ -CALL POSNAM(IPRE_NEST_PGD,'NAM_CONFZ',GFOUND) +CALL POSNAM( TZPRE_NEST_PGD, 'NAM_CONFZ', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_NEST_PGD,NML=NAM_CONFZ) ! !JUAN -CALL POSNAM(IPRE_NEST_PGD,'NAM_CONF_NEST',GFOUND) +CALL POSNAM( TZPRE_NEST_PGD, 'NAM_CONF_NEST', GFOUND ) IF (GFOUND) THEN NHALO_MNH = NHALO_CONF_MNH READ(UNIT=IPRE_NEST_PGD,NML=NAM_CONF_NEST) @@ -203,35 +203,35 @@ GADD=.TRUE. DO JPGD=1,JPMODELMAX IDAD=0 IF (JPGD==1) THEN - CALL POSNAM(IPRE_NEST_PGD,'NAM_PGD1',GFOUND) + CALL POSNAM( TZPRE_NEST_PGD, 'NAM_PGD1', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_NEST_PGD,NML=NAM_PGD1) END IF IF (JPGD==2) THEN - CALL POSNAM(IPRE_NEST_PGD,'NAM_PGD2',GFOUND) + CALL POSNAM( TZPRE_NEST_PGD, 'NAM_PGD2', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_NEST_PGD,NML=NAM_PGD2) END IF IF (JPGD==3) THEN - CALL POSNAM(IPRE_NEST_PGD,'NAM_PGD3',GFOUND) + CALL POSNAM( TZPRE_NEST_PGD, 'NAM_PGD3', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_NEST_PGD,NML=NAM_PGD3) END IF IF (JPGD==4) THEN - CALL POSNAM(IPRE_NEST_PGD,'NAM_PGD4',GFOUND) + CALL POSNAM( TZPRE_NEST_PGD, 'NAM_PGD4', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_NEST_PGD,NML=NAM_PGD4) END IF IF (JPGD==5) THEN - CALL POSNAM(IPRE_NEST_PGD,'NAM_PGD5',GFOUND) + CALL POSNAM( TZPRE_NEST_PGD, 'NAM_PGD5', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_NEST_PGD,NML=NAM_PGD5) END IF IF (JPGD==6) THEN - CALL POSNAM(IPRE_NEST_PGD,'NAM_PGD6',GFOUND) + CALL POSNAM( TZPRE_NEST_PGD, 'NAM_PGD6', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_NEST_PGD,NML=NAM_PGD6) END IF IF (JPGD==7) THEN - CALL POSNAM(IPRE_NEST_PGD,'NAM_PGD7',GFOUND) + CALL POSNAM( TZPRE_NEST_PGD, 'NAM_PGD7', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_NEST_PGD,NML=NAM_PGD7) END IF IF (JPGD==8) THEN - CALL POSNAM(IPRE_NEST_PGD,'NAM_PGD8',GFOUND) + CALL POSNAM( TZPRE_NEST_PGD, 'NAM_PGD8', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_NEST_PGD,NML=NAM_PGD8) END IF ! @@ -291,10 +291,10 @@ END DO !* 6. NAMES OF OUTPUT PGD FILES ! ------------------------- ! -CALL POSNAM(IPRE_NEST_PGD,'NAM_NEST_PGD',GFOUND,ILUOUT0) +CALL POSNAM( TZPRE_NEST_PGD, 'NAM_NEST_PGD', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_NEST_PGD,NML=NAM_NEST_PGD) ! -CALL POSNAM(IPRE_NEST_PGD,'NAM_CONFIO',GFOUND,ILUOUT0) +CALL POSNAM( TZPRE_NEST_PGD, 'NAM_CONFIO', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_NEST_PGD,NML=NAM_CONFIO) CALL IO_Config_set() ! diff --git a/src/MNH/open_prc_files.f90 b/src/MNH/open_prc_files.f90 index ecf98378f07cd1712e1d68cb4c51bcd853324bd5..056eb30ae0b95a26cc5df71c399bf76b18ca4f13 100644 --- a/src/MNH/open_prc_files.f90 +++ b/src/MNH/open_prc_files.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2023 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. @@ -208,15 +208,15 @@ ENDIF ! ---------------------------- ! !JUANZ -CALL POSNAM(IPRE_REAL1,'NAM_CONFZ',GFOUND,ILUOUT0) +CALL POSNAM( TPPRE_REAL1FILE, 'NAM_CONFZ', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_REAL1,NML=NAM_CONFZ) !JUANZ -CALL POSNAM(IPRE_REAL1,'NAM_CONFIO',GFOUND,ILUOUT0) +CALL POSNAM( TPPRE_REAL1FILE, 'NAM_CONFIO', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_REAL1,NML=NAM_CONFIO) CALL IO_Config_set() ! CINIFILE = CINIFILE_n -CALL POSNAM(IPRE_REAL1,'NAM_FILE_NAMES',GFOUND,ILUOUT0) +CALL POSNAM( TPPRE_REAL1FILE, 'NAM_FILE_NAMES', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_REAL1,NML=NAM_FILE_NAMES) CINIFILE_n = CINIFILE ! diff --git a/src/MNH/prep_ideal_case.f90 b/src/MNH/prep_ideal_case.f90 index 8abd65649d35f0fe2dc1e5a2257d5e7b99be5faa..ee75625e84f9a4ebe04ffd83774e65aad7bb4d2b 100644 --- a/src/MNH/prep_ideal_case.f90 +++ b/src/MNH/prep_ideal_case.f90 @@ -690,35 +690,35 @@ NLUPRE=TZEXPREFILE%NLU !* 3.2 read in NLUPRE the namelist informations ! WRITE(NLUOUT,FMT=*) 'attempt to read ',TRIM(TZEXPREFILE%CNAME),' file' -CALL POSNAM(NLUPRE,'NAM_REAL_PGD',GFOUND,NLUOUT) +CALL POSNAM( TZEXPREFILE, 'NAM_REAL_PGD', GFOUND ) IF (GFOUND) READ(UNIT=NLUPRE,NML=NAM_REAL_PGD) ! ! -CALL POSNAM(NLUPRE,'NAM_CONF_PRE',GFOUND,NLUOUT) +CALL POSNAM( TZEXPREFILE, 'NAM_CONF_PRE', GFOUND ) IF (GFOUND) READ(UNIT=NLUPRE,NML=NAM_CONF_PRE) !JUANZ -CALL POSNAM(NLUPRE,'NAM_CONFZ',GFOUND,NLUOUT) +CALL POSNAM( TZEXPREFILE, 'NAM_CONFZ', GFOUND ) IF (GFOUND) READ(UNIT=NLUPRE,NML=NAM_CONFZ) !JUANZ -CALL POSNAM(NLUPRE,'NAM_CONFIO',GFOUND,NLUOUT) +CALL POSNAM( TZEXPREFILE, 'NAM_CONFIO', GFOUND ) IF (GFOUND) READ(UNIT=NLUPRE,NML=NAM_CONFIO) CALL IO_Config_set() -CALL POSNAM(NLUPRE,'NAM_GRID_PRE',GFOUND,NLUOUT) +CALL POSNAM( TZEXPREFILE, 'NAM_GRID_PRE', GFOUND ) IF (GFOUND) READ(UNIT=NLUPRE,NML=NAM_GRID_PRE) -CALL POSNAM(NLUPRE,'NAM_GRIDH_PRE',GFOUND,NLUOUT) +CALL POSNAM( TZEXPREFILE, 'NAM_GRIDH_PRE', GFOUND ) IF (GFOUND) READ(UNIT=NLUPRE,NML=NAM_GRIDH_PRE) -CALL POSNAM(NLUPRE,'NAM_VPROF_PRE',GFOUND,NLUOUT) +CALL POSNAM( TZEXPREFILE, 'NAM_VPROF_PRE', GFOUND ) IF (GFOUND) READ(UNIT=NLUPRE,NML=NAM_VPROF_PRE) -CALL POSNAM(NLUPRE,'NAM_BLANKN',GFOUND,NLUOUT) +CALL POSNAM( TZEXPREFILE, 'NAM_BLANKN', GFOUND ) CALL INIT_NAM_BLANKn IF (GFOUND) THEN READ(UNIT=NLUPRE,NML=NAM_BLANKn) CALL UPDATE_NAM_BLANKn END IF -CALL READ_PRE_IDEA_NAM_n(NLUPRE,NLUOUT) -CALL POSNAM(NLUPRE,'NAM_AERO_PRE',GFOUND,NLUOUT) +CALL READ_PRE_IDEA_NAM_n( TZEXPREFILE ) +CALL POSNAM( TZEXPREFILE, 'NAM_AERO_PRE', GFOUND ) IF (GFOUND) READ(UNIT=NLUPRE,NML=NAM_AERO_PRE) -CALL POSNAM(NLUPRE,'NAM_IBM_LSF' ,GFOUND,NLUOUT) +CALL POSNAM( TZEXPREFILE, 'NAM_IBM_LSF', GFOUND ) IF (GFOUND) READ(UNIT=NLUPRE,NML=NAM_IBM_LSF ) ! CALL INI_FIELD_LIST() diff --git a/src/MNH/prep_pgd.f90 b/src/MNH/prep_pgd.f90 index 2df254d5ec8aab95ee4ad9713ccf8e65fc7f4af4..64c43fb8cce5d20a50b84d57ea9c6896d052e079 100644 --- a/src/MNH/prep_pgd.f90 +++ b/src/MNH/prep_pgd.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1995-2021 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1995-2023 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. @@ -190,23 +190,23 @@ IF (IRESP.NE.0 ) THEN ENDIF !JUAN -CALL POSNAM(ILUNAM,'NAM_PGDFILE',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_PGDFILE', GFOUND ) IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_PGDFILE) -CALL POSNAM(ILUNAM,'NAM_ZSFILTER',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_ZSFILTER', GFOUND ) IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_ZSFILTER) -CALL POSNAM(ILUNAM,'NAM_SLEVE',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_SLEVE', GFOUND ) IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_SLEVE) !JUANZ -CALL POSNAM(ILUNAM,'NAM_CONFZ',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_CONFZ', GFOUND ) IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_CONFZ) -CALL POSNAM(ILUNAM,'NAM_CONF_PGD',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_CONF_PGD', GFOUND ) IF (GFOUND) THEN NHALO_MNH = NHALO_CONF_MNH READ(UNIT=ILUNAM,NML=NAM_CONF_PGD) NHALO_CONF_MNH = NHALO_MNH ENDIF !JUANZ -CALL POSNAM(ILUNAM,'NAM_CONFIO',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_CONFIO', GFOUND ) IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_CONFIO) CALL IO_Config_set() ! diff --git a/src/MNH/prep_real_case.f90 b/src/MNH/prep_real_case.f90 index 7af314fe4d80534c4e54da7ddf628de41dbdfb56..0ed4641b560593cbb9442d6fb8b7005066bbeb04 100644 --- a/src/MNH/prep_real_case.f90 +++ b/src/MNH/prep_real_case.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1995-2022 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1995-2023 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. @@ -674,9 +674,9 @@ CALL INI_CST IPRE_REAL1 = TZPRE_REAL1FILE%NLU ! CALL INIT_NMLVAR -CALL POSNAM(IPRE_REAL1,'NAM_REAL_CONF',GFOUND,ILUOUT0) +CALL POSNAM( TZPRE_REAL1FILE, 'NAM_REAL_CONF', GFOUND ) IF (GFOUND) READ(IPRE_REAL1,NAM_REAL_CONF) -CALL POSNAM(IPRE_REAL1,'NAM_PARAM_LIMA',GFOUND,ILUOUT0) +CALL POSNAM( TZPRE_REAL1FILE, 'NAM_PARAM_LIMA', GFOUND ) IF (GFOUND) READ(IPRE_REAL1,NAM_PARAM_LIMA) ! CALL INI_FIELD_LIST() @@ -746,18 +746,18 @@ XANGCONV0=0. ; XANGCONV1000=0. ; XANGCONV2000=0. CDADATMFILE=' ' ; CDADBOGFILE=' ' ! CALL INIT_NMLVAR -CALL POSNAM(IPRE_REAL1,'NAM_REAL_CONF',GFOUND,ILUOUT0) +CALL POSNAM( TZPRE_REAL1FILE, 'NAM_REAL_CONF', GFOUND ) IF (GFOUND) READ(IPRE_REAL1,NAM_REAL_CONF) -CALL POSNAM(IPRE_REAL1,'NAM_HURR_CONF',GFOUND,ILUOUT0) +CALL POSNAM( TZPRE_REAL1FILE, 'NAM_HURR_CONF', GFOUND ) IF (GFOUND) READ(IPRE_REAL1,NAM_HURR_CONF) -CALL POSNAM(IPRE_REAL1,'NAM_CH_CONF',GFOUND,ILUOUT0) +CALL POSNAM( TZPRE_REAL1FILE, 'NAM_CH_CONF', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_REAL1,NML=NAM_CH_CONF) CALL UPDATE_MODD_FROM_NMLVAR -CALL POSNAM(IPRE_REAL1,'NAM_AERO_CONF',GFOUND,ILUOUT0) +CALL POSNAM( TZPRE_REAL1FILE, 'NAM_AERO_CONF', GFOUND ) IF (GFOUND) READ(IPRE_REAL1,NAM_AERO_CONF) -CALL POSNAM(IPRE_REAL1,'NAM_CONFZ',GFOUND,ILUOUT0) +CALL POSNAM( TZPRE_REAL1FILE, 'NAM_CONFZ', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_REAL1,NML=NAM_CONFZ) -CALL POSNAM(IPRE_REAL1,'NAM_IBM_LSF' ,GFOUND,ILUOUT0) +CALL POSNAM( TZPRE_REAL1FILE, 'NAM_IBM_LSF' , GFOUND ) IF (GFOUND) READ(UNIT=IPRE_REAL1,NML=NAM_IBM_LSF) ! GAERINIT = LAERINIT @@ -810,7 +810,7 @@ END IF ! !IF(LEN_TRIM(YCHEMFILE)>0)THEN ! ! read again Nam_aero_conf -! CALL POSNAM(IPRE_REAL1,'NAM_AERO_CONF',GFOUND,ILUOUT0) +! CALL POSNAM( TZPRE_REAL1FILE, 'NAM_AERO_CONF', GFOUND ) ! IF (GFOUND) READ(IPRE_REAL1,NAM_AERO_CONF) ! IF(YCHEMFILETYPE=='GRIBEX') & ! CALL READ_ALL_DATA_GRIB_CASE('CHEM',TZPRE_REAL1FILE,YCHEMFILE,TPGDFILE,ZHORI,NVERB,LDUMMY_REAL) @@ -844,7 +844,7 @@ END IF ! IF(LEN_TRIM(YCHEMFILE)>0)THEN ! read again Nam_aero_conf - CALL POSNAM(IPRE_REAL1,'NAM_AERO_CONF',GFOUND,ILUOUT0) + CALL POSNAM( TZPRE_REAL1FILE, 'NAM_AERO_CONF', GFOUND ) IF (GFOUND) READ(IPRE_REAL1,NAM_AERO_CONF) IF(YCHEMFILETYPE=='GRIBEX') & CALL READ_ALL_DATA_GRIB_CASE('CHEM',TZPRE_REAL1FILE,YCHEMFILE,TPGDFILE,ZHORI,NVERB,LDUMMY_REAL) diff --git a/src/MNH/read_desfmn.f90 b/src/MNH/read_desfmn.f90 index 213063f3545c5c332f751b34e18e16ad2c717fc8..10c8623f5d247296a2cc35158ed31cc8cd465fc6 100644 --- a/src/MNH/read_desfmn.f90 +++ b/src/MNH/read_desfmn.f90 @@ -343,6 +343,7 @@ LOGICAL :: GFOUND ! Return code when searching namelist LOGICAL,DIMENSION(JPMODELMAX),SAVE :: LTEMPDEPOS_DST ! Dust Moist flag LOGICAL,DIMENSION(JPMODELMAX),SAVE :: LTEMPDEPOS_SLT ! Sea Salt Moist flag LOGICAL,DIMENSION(JPMODELMAX),SAVE :: LTEMPDEPOS_AER ! Orilam Moist flag +TYPE(TFILEDATA), POINTER :: TZDESFILE ! !------------------------------------------------------------------------------- ! @@ -354,144 +355,145 @@ CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_DESFM_n','called for '//TRIM(TPDATAFILE%CN IF (.NOT.ASSOCIATED(TPDATAFILE%TDESFILE)) & CALL PRINT_MSG(NVERB_FATAL,'IO','READ_DESFM_n','TDESFILE not associated for '//TRIM(TPDATAFILE%CNAME)) ! -ILUDES = TPDATAFILE%TDESFILE%NLU +TZDESFILE => TPDATAFILE%TDESFILE +ILUDES = TZDESFILE%NLU ILUOUT = TLUOUT%NLU ! -CALL POSNAM(ILUDES,'NAM_LUNITN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_LUNITN', GFOUND ) CALL INIT_NAM_LUNITN IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_LUNITn) CALL UPDATE_NAM_LUNITN END IF -CALL POSNAM(ILUDES,'NAM_CONFN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_CONFN', GFOUND ) CALL INIT_NAM_CONFN IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_CONFn) CALL UPDATE_NAM_CONFN END IF -CALL POSNAM(ILUDES,'NAM_DYNN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_DYNN', GFOUND ) CALL INIT_NAM_DYNN IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_DYNn) CALL UPDATE_NAM_DYNN END IF -CALL POSNAM(ILUDES,'NAM_ADVN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_ADVN', GFOUND ) CALL INIT_NAM_ADVN IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_ADVn) CALL UPDATE_NAM_ADVN END IF -CALL POSNAM(ILUDES,'NAM_PARAMN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_PARAMN', GFOUND ) CALL INIT_NAM_PARAMn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_PARAMn) CALL UPDATE_NAM_PARAMn END IF -CALL POSNAM(ILUDES,'NAM_PARAM_RADN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_PARAM_RADN', GFOUND ) CALL INIT_NAM_PARAM_RADn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_PARAM_RADn) CALL UPDATE_NAM_PARAM_RADn END IF #ifdef MNH_ECRAD -CALL POSNAM(ILUDES,'NAM_PARAM_ECRADN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_PARAM_ECRADN', GFOUND ) CALL INIT_NAM_PARAM_ECRADn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_PARAM_ECRADn) CALL UPDATE_NAM_PARAM_ECRADn END IF #endif -CALL POSNAM(ILUDES,'NAM_PARAM_KAFRN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_PARAM_KAFRN', GFOUND ) CALL INIT_NAM_PARAM_KAFRn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_PARAM_KAFRn) CALL UPDATE_NAM_PARAM_KAFRn END IF -CALL POSNAM(ILUDES,'NAM_PARAM_MFSHALLN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_PARAM_MFSHALLN', GFOUND ) CALL INIT_NAM_PARAM_MFSHALLn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_PARAM_MFSHALLn) CALL UPDATE_NAM_PARAM_MFSHALLn END IF -CALL POSNAM(ILUDES,'NAM_LBCN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_LBCN', GFOUND ) CALL INIT_NAM_LBCn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_LBCn) CALL UPDATE_NAM_LBCn END IF -CALL POSNAM(ILUDES,'NAM_NUDGINGN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_NUDGINGN', GFOUND ) CALL INIT_NAM_NUDGINGn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_NUDGINGn) CALL UPDATE_NAM_NUDGINGn END IF -CALL POSNAM(ILUDES,'NAM_TURBN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_TURBN', GFOUND ) CALL INIT_NAM_TURBn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_TURBn) CALL UPDATE_NAM_TURBn END IF -CALL POSNAM(ILUDES,'NAM_CH_MNHCN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_CH_MNHCN', GFOUND ) CALL INIT_NAM_CH_MNHCn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_CH_MNHCn) CALL UPDATE_NAM_CH_MNHCn END IF -CALL POSNAM(ILUDES,'NAM_CH_SOLVERN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_CH_SOLVERN', GFOUND ) CALL INIT_NAM_CH_SOLVERn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_CH_SOLVERn) CALL UPDATE_NAM_CH_SOLVERn END IF -CALL POSNAM(ILUDES,'NAM_DRAGN',GFOUND) +CALL POSNAM( TZDESFILE, 'NAM_DRAGN', GFOUND ) CALL INIT_NAM_DRAGn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_DRAGn) CALL UPDATE_NAM_DRAGn END IF -CALL POSNAM(ILUDES,'NAM_IBM_PARAMN',GFOUND,ILUOUT) +CALL POSNAM( TZDESFILE, 'NAM_IBM_PARAMN', GFOUND ) CALL INIT_NAM_IBM_PARAMn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_IBM_PARAMn) CALL UPDATE_NAM_IBM_PARAMn END IF -CALL POSNAM(ILUDES,'NAM_RECYCL_PARAMN',GFOUND,ILUOUT) +CALL POSNAM( TZDESFILE, 'NAM_RECYCL_PARAMN', GFOUND ) CALL INIT_NAM_RECYCL_PARAMn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_RECYCL_PARAMn) CALL UPDATE_NAM_RECYCL_PARAMn END IF -CALL POSNAM(ILUDES,'NAM_SERIESN',GFOUND,ILUOUT) +CALL POSNAM( TZDESFILE, 'NAM_SERIESN', GFOUND ) CALL INIT_NAM_SERIESn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_SERIESn) CALL UPDATE_NAM_SERIESn END IF -CALL POSNAM(ILUDES,'NAM_BLOWSNOWN',GFOUND,ILUOUT) +CALL POSNAM( TZDESFILE, 'NAM_BLOWSNOWN', GFOUND ) CALL INIT_NAM_BLOWSNOWn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_BLOWSNOWn) CALL UPDATE_NAM_BLOWSNOWn END IF -CALL POSNAM(ILUDES,'NAM_BLANKN',GFOUND,ILUOUT) +CALL POSNAM( TZDESFILE, 'NAM_BLANKN', GFOUND ) CALL INIT_NAM_BLANKn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_BLANKn) CALL UPDATE_NAM_BLANKn END IF -CALL POSNAM(ILUDES,'NAM_PROFILERN',GFOUND,ILUOUT) +CALL POSNAM( TZDESFILE, 'NAM_PROFILERN', GFOUND ) CALL INIT_NAM_PROFILERn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_PROFILERN) CALL UPDATE_NAM_PROFILERn END IF -CALL POSNAM(ILUDES,'NAM_STATIONN',GFOUND,ILUOUT) +CALL POSNAM( TZDESFILE, 'NAM_STATIONN', GFOUND ) CALL INIT_NAM_STATIONn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_STATIONn) CALL UPDATE_NAM_STATIONn END IF -CALL POSNAM(ILUDES,'NAM_FIREN',GFOUND,ILUOUT) +CALL POSNAM( TZDESFILE, 'NAM_FIREN', GFOUND ) CALL INIT_NAM_FIREn IF (GFOUND) THEN READ(UNIT=ILUDES,NML=NAM_FIREn) @@ -500,13 +502,13 @@ END IF ! ! IF (KMI == 1) THEN - CALL POSNAM(ILUDES,'NAM_CONF',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_CONF', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_CONF) - CALL POSNAM(ILUDES,'NAM_DYN',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_DYN', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_DYN) - CALL POSNAM(ILUDES,'NAM_NESTING',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_NESTING', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_NESTING) - CALL POSNAM(ILUDES,'NAM_BACKUP',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_BACKUP', GFOUND ) IF (GFOUND) THEN IF (.NOT.ALLOCATED(XBAK_TIME)) THEN ALLOCATE(XBAK_TIME(NMODEL,JPOUTMAX)) @@ -530,10 +532,10 @@ IF (KMI == 1) THEN END IF READ(UNIT=ILUDES,NML=NAM_BACKUP) ELSE - CALL POSNAM(ILUDES,'NAM_FMOUT',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_FMOUT', GFOUND ) IF (GFOUND) CALL PRINT_MSG(NVERB_FATAL,'IO','READ_DESFM_n','use namelist NAM_BACKUP instead of namelist NAM_FMOUT') END IF - CALL POSNAM(ILUDES,'NAM_OUTPUT',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_OUTPUT', GFOUND ) IF (GFOUND) THEN IF (.NOT.ALLOCATED(XBAK_TIME)) THEN ALLOCATE(XBAK_TIME(NMODEL,JPOUTMAX)) !Allocate *BAK* variables to prevent @@ -559,88 +561,88 @@ IF (KMI == 1) THEN END IF ! Note: it is not useful to read the budget namelists in the .des files ! The values here (if present in file) don't need to be compared with the ones in the EXSEGn files -! CALL POSNAM(ILUDES,'NAM_BUDGET',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BUDGET', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BUDGET) -! CALL POSNAM(ILUDES,'NAM_BU_RU',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BU_RU', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BU_RU) -! CALL POSNAM(ILUDES,'NAM_BU_RV',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BU_RV', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BU_RV) -! CALL POSNAM(ILUDES,'NAM_BU_RW',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BU_RW', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BU_RW) -! CALL POSNAM(ILUDES,'NAM_BU_RTH',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BU_RTH', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BU_RTH) -! CALL POSNAM(ILUDES,'NAM_BU_RTKE',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BU_RTKE', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BU_RTKE) -! CALL POSNAM(ILUDES,'NAM_BU_RRV',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BU_RRV', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BU_RRV) -! CALL POSNAM(ILUDES,'NAM_BU_RRC',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BU_RRC', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BU_RRC) -! CALL POSNAM(ILUDES,'NAM_BU_RRR',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BU_RRR', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BU_RRR) -! CALL POSNAM(ILUDES,'NAM_BU_RRI',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BU_RRI', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BU_RRI) -! CALL POSNAM(ILUDES,'NAM_BU_RRS',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BU_RRS', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BU_RRS) -! CALL POSNAM(ILUDES,'NAM_BU_RRG',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BU_RRG', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BU_RRG) -! CALL POSNAM(ILUDES,'NAM_BU_RRH',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BU_RRH', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BU_RRH) -! CALL POSNAM(ILUDES,'NAM_BU_RSV',GFOUND) +! CALL POSNAM( TZDESFILE, 'NAM_BU_RSV', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BU_RSV) - CALL POSNAM(ILUDES,'NAM_LES',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_LES', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_LES) - CALL POSNAM(ILUDES,'NAM_PDF',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_PDF', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_PDF) - CALL POSNAM(ILUDES,'NAM_FRC',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_FRC', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_FRC) - CALL POSNAM(ILUDES,'NAM_PARAM_ICE',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_PARAM_ICE', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_PARAM_ICE) - CALL POSNAM(ILUDES,'NAM_PARAM_C2R2',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_PARAM_C2R2', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_PARAM_C2R2) - CALL POSNAM(ILUDES,'NAM_PARAM_C1R3',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_PARAM_C1R3', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_PARAM_C1R3) - CALL POSNAM(ILUDES,'NAM_PARAM_LIMA',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_PARAM_LIMA', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_PARAM_LIMA) - CALL POSNAM(ILUDES,'NAM_ELEC',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_ELEC', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_ELEC) - CALL POSNAM(ILUDES,'NAM_SERIES',GFOUND,ILUOUT) + CALL POSNAM( TZDESFILE, 'NAM_SERIES', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_SERIES) - CALL POSNAM(ILUDES,'NAM_TURB_CLOUD',GFOUND,ILUOUT) + CALL POSNAM( TZDESFILE, 'NAM_TURB_CLOUD', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_TURB_CLOUD) - CALL POSNAM(ILUDES,'NAM_TURB',GFOUND,ILUOUT) + CALL POSNAM( TZDESFILE, 'NAM_TURB', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_TURB) - CALL POSNAM(ILUDES,'NAM_CH_ORILAM',GFOUND,ILUOUT) + CALL POSNAM( TZDESFILE, 'NAM_CH_ORILAM', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_CH_ORILAM) - CALL POSNAM(ILUDES,'NAM_DUST',GFOUND,ILUOUT) + CALL POSNAM( TZDESFILE, 'NAM_DUST', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_DUST) - CALL POSNAM(ILUDES,'NAM_SALT',GFOUND,ILUOUT) + CALL POSNAM( TZDESFILE, 'NAM_SALT', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_SALT) - CALL POSNAM(ILUDES,'NAM_PASPOL',GFOUND,ILUOUT) + CALL POSNAM( TZDESFILE, 'NAM_PASPOL', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_PASPOL) #ifdef MNH_FOREFIRE - CALL POSNAM(ILUDES,'NAM_FOREFIRE',GFOUND,ILUOUT) + CALL POSNAM( TZDESFILE, 'NAM_FOREFIRE', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_FOREFIRE) #endif - CALL POSNAM(ILUDES,'NAM_CONDSAMP',GFOUND,ILUOUT) + CALL POSNAM( TZDESFILE, 'NAM_CONDSAMP', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_CONDSAMP) - CALL POSNAM(ILUDES,'NAM_BLOWSNOW',GFOUND,ILUOUT) + CALL POSNAM( TZDESFILE, 'NAM_BLOWSNOW', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_BLOWSNOW) - CALL POSNAM(ILUDES,'NAM_2D_FRC',GFOUND,ILUOUT) + CALL POSNAM( TZDESFILE, 'NAM_2D_FRC', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_2D_FRC) LTEMPDEPOS_DST(:) = LDEPOS_DST(:) LTEMPDEPOS_SLT(:) = LDEPOS_SLT(:) LTEMPDEPOS_AER(:) = LDEPOS_AER(:) - CALL POSNAM(ILUDES,'NAM_LATZ_EDFLX',GFOUND) + CALL POSNAM( TZDESFILE, 'NAM_LATZ_EDFLX', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_LATZ_EDFLX) - CALL POSNAM(ILUDES,'NAM_VISC',GFOUND,ILUOUT) + CALL POSNAM( TZDESFILE, 'NAM_VISC', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_VISC) ! Note: it is not useful to read the FLYERS/AIRCRAFTS/BALLOONS namelists in the .des files ! The values here (if present in file) don't need to be compared with the ones in the EXSEGn files -! CALL POSNAM(ILUDES,'NAM_FLYERS',GFOUND,ILUOUT) +! CALL POSNAM( TZDESFILE, 'NAM_FLYERS', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_FLYERS) -! CALL POSNAM(ILUSEG,'NAM_AIRCRAFTS',GFOUND,ILUOUT) +! CALL POSNAM(ILUSEG,'NAM_AIRCRAFTS', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_AIRCRAFTS) -! CALL POSNAM(ILUSEG,'NAM_BALLOONS',GFOUND,ILUOUT) +! CALL POSNAM(ILUSEG,'NAM_BALLOONS', GFOUND ) ! IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_BALLOONS) END IF ! diff --git a/src/MNH/read_exsegn.f90 b/src/MNH/read_exsegn.f90 index 70d8d7e98e669b1f0dd856a2789a64ff9491e676..4beb4919742f425eecb54ff024b386b0e8097227 100644 --- a/src/MNH/read_exsegn.f90 +++ b/src/MNH/read_exsegn.f90 @@ -515,76 +515,76 @@ CALL INIT_NAM_STATIONn CALL INIT_NAM_FIREn ! WRITE(UNIT=ILUOUT,FMT="(/,'READING THE EXSEG.NAM FILE')") -CALL POSNAM(ILUSEG,'NAM_LUNITN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_LUNITN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_LUNITn) -CALL POSNAM(ILUSEG,'NAM_CONFN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_CONFN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_CONFn) -CALL POSNAM(ILUSEG,'NAM_DYNN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_DYNN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_DYNn) -CALL POSNAM(ILUSEG,'NAM_ADVN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_ADVN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_ADVn) -CALL POSNAM(ILUSEG,'NAM_PARAMN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_PARAMN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_PARAMn) -CALL POSNAM(ILUSEG,'NAM_PARAM_RADN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_PARAM_RADN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_PARAM_RADn) #ifdef MNH_ECRAD -CALL POSNAM(ILUSEG,'NAM_PARAM_ECRADN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_PARAM_ECRADN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_PARAM_ECRADn) #endif -CALL POSNAM(ILUSEG,'NAM_PARAM_KAFRN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_PARAM_KAFRN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_PARAM_KAFRn) -CALL POSNAM(ILUSEG,'NAM_PARAM_MFSHALLN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_PARAM_MFSHALLN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_PARAM_MFSHALLn) -CALL POSNAM(ILUSEG,'NAM_LBCN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_LBCN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_LBCn) -CALL POSNAM(ILUSEG,'NAM_NUDGINGN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_NUDGINGN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_NUDGINGn) -CALL POSNAM(ILUSEG,'NAM_TURBN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_TURBN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_TURBn) -CALL POSNAM(ILUSEG,'NAM_DRAGN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_DRAGN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_DRAGn) -CALL POSNAM(ILUSEG,'NAM_IBM_PARAMN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_IBM_PARAMN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_IBM_PARAMn) -CALL POSNAM(ILUSEG,'NAM_RECYCL_PARAMN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_RECYCL_PARAMN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_RECYCL_PARAMn) -CALL POSNAM(ILUSEG,'NAM_CH_MNHCN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_CH_MNHCN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_CH_MNHCn) -CALL POSNAM(ILUSEG,'NAM_CH_SOLVERN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_CH_SOLVERN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_CH_SOLVERn) -CALL POSNAM(ILUSEG,'NAM_SERIESN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_SERIESN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_SERIESn) -CALL POSNAM(ILUSEG,'NAM_BLANKN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_BLANKN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_BLANKn) -CALL POSNAM(ILUSEG,'NAM_BLOWSNOWN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_BLOWSNOWN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_BLOWSNOWn) -CALL POSNAM(ILUSEG,'NAM_DRAGTREEN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_DRAGTREEN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_DRAGTREEn) -CALL POSNAM(ILUSEG,'NAM_DRAGBLDGN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_DRAGBLDGN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_DRAGBLDGn) -CALL POSNAM(ILUSEG,'NAM_EOL',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_EOL', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_EOL) -CALL POSNAM(ILUSEG,'NAM_EOL_ADNR',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_EOL_ADNR', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_EOL_ADNR) -CALL POSNAM(ILUSEG,'NAM_EOL_ALM',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_EOL_ALM', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_EOL_ALM) -CALL POSNAM(ILUSEG,'NAM_PROFILERN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_PROFILERN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_PROFILERn) -CALL POSNAM(ILUSEG,'NAM_STATIONN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_STATIONN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_STATIONn) -CALL POSNAM(ILUSEG,'NAM_FIREN',GFOUND,ILUOUT) +CALL POSNAM( TPEXSEGFILE, 'NAM_FIREN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_FIREn) ! IF (KMI == 1) THEN WRITE(UNIT=ILUOUT,FMT="(' namelists common to all the models ')") - CALL POSNAM(ILUSEG,'NAM_CONF',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_CONF', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_CONF) - CALL POSNAM(ILUSEG,'NAM_CONFZ',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_CONFZ', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_CONFZ) - CALL POSNAM(ILUSEG,'NAM_DYN',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_DYN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_DYN) - CALL POSNAM(ILUSEG,'NAM_NESTING',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_NESTING', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_NESTING) - CALL POSNAM(ILUSEG,'NAM_BACKUP',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BACKUP', GFOUND ) IF (GFOUND) THEN !Should have been allocated before in READ_DESFM_n IF (.NOT.ALLOCATED(XBAK_TIME)) THEN @@ -609,14 +609,14 @@ IF (KMI == 1) THEN END IF READ(UNIT=ILUSEG,NML=NAM_BACKUP) ELSE - CALL POSNAM(ILUSEG,'NAM_FMOUT',GFOUND) + CALL POSNAM( TPEXSEGFILE, 'NAM_FMOUT', GFOUND ) IF (GFOUND) THEN CALL PRINT_MSG(NVERB_FATAL,'IO','READ_EXSEG_n','use namelist NAM_BACKUP instead of namelist NAM_FMOUT') ELSE IF (CPROGRAM=='MESONH') CALL PRINT_MSG(NVERB_ERROR,'IO','READ_EXSEG_n','namelist NAM_BACKUP not found') END IF END IF - CALL POSNAM(ILUSEG,'NAM_OUTPUT',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_OUTPUT', GFOUND ) IF (GFOUND) THEN !Should have been allocated before in READ_DESFM_n IF (.NOT.ALLOCATED(XBAK_TIME)) THEN @@ -641,10 +641,10 @@ IF (KMI == 1) THEN END IF READ(UNIT=ILUSEG,NML=NAM_OUTPUT) END IF - CALL POSNAM(ILUSEG,'NAM_BUDGET',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BUDGET', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_BUDGET) - CALL POSNAM(ILUSEG,'NAM_BU_RU',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BU_RU', GFOUND ) IF (GFOUND) THEN IF ( ALLOCATED( CBULIST_RU ) ) THEN CALL Print_msg( NVERB_WARNING, 'IO', 'READ_EXSEG_n', 'unexpected: CBULIST_RU was already allocated' ) @@ -657,7 +657,7 @@ IF (KMI == 1) THEN ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RU(0) ) END IF - CALL POSNAM(ILUSEG,'NAM_BU_RV',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BU_RV', GFOUND ) IF (GFOUND) THEN IF ( ALLOCATED( CBULIST_RV ) ) THEN CALL Print_msg( NVERB_WARNING, 'IO', 'READ_EXSEG_n', 'unexpected: CBULIST_RV was already allocated' ) @@ -670,7 +670,7 @@ IF (KMI == 1) THEN ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RV(0) ) END IF - CALL POSNAM(ILUSEG,'NAM_BU_RW',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BU_RW', GFOUND ) IF (GFOUND) THEN IF ( ALLOCATED( CBULIST_RW ) ) THEN CALL Print_msg( NVERB_WARNING, 'IO', 'READ_EXSEG_n', 'unexpected: CBULIST_RW was already allocated' ) @@ -683,7 +683,7 @@ IF (KMI == 1) THEN ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RW(0) ) END IF - CALL POSNAM(ILUSEG,'NAM_BU_RTH',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BU_RTH', GFOUND ) IF (GFOUND) THEN IF ( ALLOCATED( CBULIST_RTH ) ) THEN CALL Print_msg( NVERB_WARNING, 'IO', 'READ_EXSEG_n', 'unexpected: CBULIST_RTH was already allocated' ) @@ -696,7 +696,7 @@ IF (KMI == 1) THEN ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RTH(0) ) END IF - CALL POSNAM(ILUSEG,'NAM_BU_RTKE',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BU_RTKE', GFOUND ) IF (GFOUND) THEN IF ( ALLOCATED( CBULIST_RTKE ) ) THEN CALL Print_msg( NVERB_WARNING, 'IO', 'READ_EXSEG_n', 'unexpected: CBULIST_RTKE was already allocated' ) @@ -709,7 +709,7 @@ IF (KMI == 1) THEN ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RTKE(0) ) END IF - CALL POSNAM(ILUSEG,'NAM_BU_RRV',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BU_RRV', GFOUND ) IF (GFOUND) THEN IF ( ALLOCATED( CBULIST_RRV ) ) THEN CALL Print_msg( NVERB_WARNING, 'IO', 'READ_EXSEG_n', 'unexpected: CBULIST_RRV was already allocated' ) @@ -722,7 +722,7 @@ IF (KMI == 1) THEN ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRV(0) ) END IF - CALL POSNAM(ILUSEG,'NAM_BU_RRC',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BU_RRC', GFOUND ) IF (GFOUND) THEN IF ( ALLOCATED( CBULIST_RRC ) ) THEN CALL Print_msg( NVERB_WARNING, 'IO', 'READ_EXSEG_n', 'unexpected: CBULIST_RRC was already allocated' ) @@ -735,7 +735,7 @@ IF (KMI == 1) THEN ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRC(0) ) END IF - CALL POSNAM(ILUSEG,'NAM_BU_RRR',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BU_RRR', GFOUND ) IF (GFOUND) THEN IF ( ALLOCATED( CBULIST_RRR ) ) THEN CALL Print_msg( NVERB_WARNING, 'IO', 'READ_EXSEG_n', 'unexpected: CBULIST_RRR was already allocated' ) @@ -748,7 +748,7 @@ IF (KMI == 1) THEN ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRR(0) ) END IF - CALL POSNAM(ILUSEG,'NAM_BU_RRI',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BU_RRI', GFOUND ) IF (GFOUND) THEN IF ( ALLOCATED( CBULIST_RRI ) ) THEN CALL Print_msg( NVERB_WARNING, 'IO', 'READ_EXSEG_n', 'unexpected: CBULIST_RRI was already allocated' ) @@ -761,7 +761,7 @@ IF (KMI == 1) THEN ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRI(0) ) END IF - CALL POSNAM(ILUSEG,'NAM_BU_RRS',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BU_RRS', GFOUND ) IF (GFOUND) THEN IF ( ALLOCATED( CBULIST_RRS ) ) THEN CALL Print_msg( NVERB_WARNING, 'IO', 'READ_EXSEG_n', 'unexpected: CBULIST_RRS was already allocated' ) @@ -774,7 +774,7 @@ IF (KMI == 1) THEN ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRS(0) ) END IF - CALL POSNAM(ILUSEG,'NAM_BU_RRG',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BU_RRG', GFOUND ) IF (GFOUND) THEN IF ( ALLOCATED( CBULIST_RRG ) ) THEN CALL Print_msg( NVERB_WARNING, 'IO', 'READ_EXSEG_n', 'unexpected: CBULIST_RRG was already allocated' ) @@ -787,7 +787,7 @@ IF (KMI == 1) THEN ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRG(0) ) END IF - CALL POSNAM(ILUSEG,'NAM_BU_RRH',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BU_RRH', GFOUND ) IF (GFOUND) THEN IF ( ALLOCATED( CBULIST_RRH ) ) THEN CALL Print_msg( NVERB_WARNING, 'IO', 'READ_EXSEG_n', 'unexpected: CBULIST_RRH was already allocated' ) @@ -800,7 +800,7 @@ IF (KMI == 1) THEN ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRH(0) ) END IF - CALL POSNAM(ILUSEG,'NAM_BU_RSV',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BU_RSV', GFOUND ) IF (GFOUND) THEN IF ( ALLOCATED( CBULIST_RSV ) ) THEN CALL Print_msg( NVERB_WARNING, 'IO', 'READ_EXSEG_n', 'unexpected: CBULIST_RSV was already allocated' ) @@ -813,65 +813,65 @@ IF (KMI == 1) THEN ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RSV(0) ) END IF - CALL POSNAM(ILUSEG,'NAM_LES',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_LES', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_LES) - CALL POSNAM(ILUSEG,'NAM_MEAN',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_MEAN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_MEAN) - CALL POSNAM(ILUSEG,'NAM_PDF',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_PDF', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_PDF) - CALL POSNAM(ILUSEG,'NAM_FRC',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_FRC', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_FRC) - CALL POSNAM(ILUSEG,'NAM_PARAM_ICE',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_PARAM_ICE', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_PARAM_ICE) - CALL POSNAM(ILUSEG,'NAM_PARAM_C2R2',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_PARAM_C2R2', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_PARAM_C2R2) - CALL POSNAM(ILUSEG,'NAM_PARAM_C1R3',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_PARAM_C1R3', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_PARAM_C1R3) - CALL POSNAM(ILUSEG,'NAM_PARAM_LIMA',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_PARAM_LIMA', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_PARAM_LIMA) - CALL POSNAM(ILUSEG,'NAM_ELEC',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_ELEC', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_ELEC) - CALL POSNAM(ILUSEG,'NAM_SERIES',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_SERIES', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_SERIES) - CALL POSNAM(ILUSEG,'NAM_TURB_CLOUD',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_TURB_CLOUD', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_TURB_CLOUD) - CALL POSNAM(ILUSEG,'NAM_TURB',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_TURB', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_TURB) - CALL POSNAM(ILUSEG,'NAM_CH_ORILAM',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_CH_ORILAM', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_CH_ORILAM) - CALL POSNAM(ILUSEG,'NAM_DUST',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_DUST', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_DUST) - CALL POSNAM(ILUSEG,'NAM_SALT',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_SALT', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_SALT) - CALL POSNAM(ILUSEG,'NAM_PASPOL',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_PASPOL', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_PASPOL) #ifdef MNH_FOREFIRE - CALL POSNAM(ILUSEG,'NAM_FOREFIRE',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_FOREFIRE', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_FOREFIRE) #endif - CALL POSNAM(ILUSEG,'NAM_CONDSAMP',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_CONDSAMP', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_CONDSAMP) - CALL POSNAM(ILUSEG,'NAM_2D_FRC',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_2D_FRC', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_2D_FRC) - CALL POSNAM(ILUSEG,'NAM_LATZ_EDFLX',GFOUND) + CALL POSNAM( TPEXSEGFILE, 'NAM_LATZ_EDFLX', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_LATZ_EDFLX) - CALL POSNAM(ILUSEG,'NAM_BLOWSNOW',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BLOWSNOW', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_BLOWSNOW) - CALL POSNAM(ILUSEG,'NAM_VISC',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_VISC', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_VISC) - CALL POSNAM(ILUSEG,'NAM_FLYERS',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_FLYERS', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_FLYERS) IF ( NAIRCRAFTS > 0 ) THEN CALL AIRCRAFTS_NML_ALLOCATE( NAIRCRAFTS ) - CALL POSNAM(ILUSEG,'NAM_AIRCRAFTS',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_AIRCRAFTS', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_AIRCRAFTS) END IF IF ( NBALLOONS > 0 ) THEN CALL BALLOONS_NML_ALLOCATE( NBALLOONS ) - CALL POSNAM(ILUSEG,'NAM_BALLOONS',GFOUND,ILUOUT) + CALL POSNAM( TPEXSEGFILE, 'NAM_BALLOONS', GFOUND ) IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_BALLOONS) END IF END IF diff --git a/src/MNH/read_pre_idea_namn.f90 b/src/MNH/read_pre_idea_namn.f90 index 7dcd303219b515d6050d7dd1bc03c781592d60ea..3a63a6b67450af94614043b6a54bb7f2aa2dc521 100644 --- a/src/MNH/read_pre_idea_namn.f90 +++ b/src/MNH/read_pre_idea_namn.f90 @@ -1,46 +1,45 @@ -!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2023 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. !----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source$ $Revision$ -! MASDEV4_7 newsrc 2006/06/06 11:10:18 -!----------------------------------------------------------------- !#################################### MODULE MODI_READ_PRE_IDEA_NAM_n !#################################### INTERFACE - SUBROUTINE READ_PRE_IDEA_NAM_n(KLUPRE,KLUOUT) - INTEGER,INTENT(IN) :: KLUPRE,KLUOUT ! Logical unit numbers for EXPRE file - ! and for output_listing file + SUBROUTINE READ_PRE_IDEA_NAM_n( TPFILEPRE ) + USE MODD_IO, ONLY: TFILEDATA + + TYPE(TFILEDATA), INTENT(IN) :: TPFILEPRE ! EXPRE file END SUBROUTINE READ_PRE_IDEA_NAM_n END INTERFACE ! END MODULE MODI_READ_PRE_IDEA_NAM_n ! ! -! ############################################# - SUBROUTINE READ_PRE_IDEA_NAM_n(KLUPRE,KLUOUT) -! ############################################# +! ########################################### + SUBROUTINE READ_PRE_IDEA_NAM_n( TPFILEPRE ) +! ########################################### -USE MODD_DIM_n, ONLY: NIMAX_n=>NIMAX, NJMAX_n=>NJMAX -USE MODD_DYN_n, ONLY: CPRESOPT_n=>CPRESOPT,NITR_n=>NITR,XRELAX_n=>XRELAX, & - LRES_n=>LRES,XRES_n=>XRES -USE MODD_LBC_n, ONLY: CLBCX_n=>CLBCX,CLBCY_n=>CLBCY -USE MODD_CH_MNHC_n, ONLY: LCH_INIT_FIELD_n=>LCH_INIT_FIELD, & +USE MODD_CH_AEROSOL, ONLY: LORILAM +USE MODD_CH_MNHC_n, ONLY: LCH_INIT_FIELD_n=>LCH_INIT_FIELD, & CCHEM_INPUT_FILE_n=>CCHEM_INPUT_FILE -USE MODD_PARAM_n, ONLY: CSURF_n=>CSURF -USE MODD_CH_AEROSOL, ONLY : LORILAM -USE MODN_LUNIT_n ! Namelist modules -USE MODN_CONF_n +USE MODD_DIM_n, ONLY: NIMAX_n=>NIMAX, NJMAX_n=>NJMAX +USE MODD_DYN_n, ONLY: CPRESOPT_n=>CPRESOPT,NITR_n=>NITR,XRELAX_n=>XRELAX, & + LRES_n=>LRES,XRES_n=>XRES +USE MODD_IO, ONLY: TFILEDATA +USE MODD_LBC_n, ONLY: CLBCX_n=>CLBCX,CLBCY_n=>CLBCY +USE MODD_PARAM_n, ONLY: CSURF_n=>CSURF + USE MODE_POS -! + +USE MODN_CONF_n +USE MODN_LUNIT_n ! Namelist modules + IMPLICIT NONE -INTEGER,INTENT(IN) :: KLUPRE,KLUOUT ! Logical unit numbers for EXPRE file - ! and for output_listing file -! + +TYPE(TFILEDATA), INTENT(IN) :: TPFILEPRE ! EXPRE file + LOGICAL :: GFOUND ! Return code when searching namelist ! Namelist variables from $n INTEGER :: NIMAX,NJMAX @@ -53,6 +52,8 @@ CHARACTER(LEN=4), DIMENSION(2) :: CLBCX,CLBCY CHARACTER(LEN=5) :: CSURF LOGICAL :: LCH_INIT_FIELD CHARACTER(LEN=80) :: CCHEM_INPUT_FILE + +INTEGER :: ILUPRE ! !* 0.2 Namelist declarations ! @@ -64,29 +65,31 @@ NAMELIST/NAM_CH_MNHCn_PRE/ LCH_INIT_FIELD, CCHEM_INPUT_FILE, LORILAM ! !------------------------------------------------------------------------------ ! +ILUPRE = TPFILEPRE%NLU + CALL INIT_NMLVAR -CALL POSNAM(KLUPRE,'NAM_DIMN_PRE',GFOUND,KLUOUT) -IF (GFOUND) READ(UNIT=KLUPRE,NML=NAM_DIMn_PRE) -CALL POSNAM(KLUPRE,'NAM_DYNN_PRE',GFOUND,KLUOUT) -IF (GFOUND) READ(UNIT=KLUPRE,NML=NAM_DYNn_PRE) -CALL POSNAM(KLUPRE,'NAM_LBCN_PRE',GFOUND,KLUOUT) -IF (GFOUND) READ(UNIT=KLUPRE,NML=NAM_LBCn_PRE) -CALL POSNAM(KLUPRE,'NAM_GRN_PRE',GFOUND,KLUOUT) -IF (GFOUND) READ(UNIT=KLUPRE,NML=NAM_GRn_PRE) -CALL POSNAM(KLUPRE,'NAM_CH_MNHCN_PRE',GFOUND,KLUOUT) -IF (GFOUND) READ(UNIT=KLUPRE,NML=NAM_CH_MNHCn_PRE) +CALL POSNAM( TPFILEPRE, 'NAM_DIMN_PRE', GFOUND ) +IF (GFOUND) READ(UNIT=ILUPRE,NML=NAM_DIMn_PRE) +CALL POSNAM( TPFILEPRE, 'NAM_DYNN_PRE', GFOUND ) +IF (GFOUND) READ(UNIT=ILUPRE,NML=NAM_DYNn_PRE) +CALL POSNAM( TPFILEPRE, 'NAM_LBCN_PRE', GFOUND ) +IF (GFOUND) READ(UNIT=ILUPRE,NML=NAM_LBCn_PRE) +CALL POSNAM( TPFILEPRE, 'NAM_GRN_PRE', GFOUND ) +IF (GFOUND) READ(UNIT=ILUPRE,NML=NAM_GRn_PRE) +CALL POSNAM( TPFILEPRE, 'NAM_CH_MNHCN_PRE', GFOUND ) +IF (GFOUND) READ(UNIT=ILUPRE,NML=NAM_CH_MNHCn_PRE) CALL UPDATE_MODD_FROM_NMLVAR ! -CALL POSNAM(KLUPRE,'NAM_CONFN',GFOUND,KLUOUT) +CALL POSNAM( TPFILEPRE, 'NAM_CONFN', GFOUND ) IF (GFOUND) THEN CALL INIT_NAM_CONFn - READ(UNIT=KLUPRE,NML=NAM_CONFn) + READ(UNIT=ILUPRE,NML=NAM_CONFn) CALL UPDATE_NAM_CONFn END IF -CALL POSNAM(KLUPRE,'NAM_LUNITN',GFOUND,KLUOUT) +CALL POSNAM( TPFILEPRE, 'NAM_LUNITN', GFOUND ) IF (GFOUND) THEN CALL INIT_NAM_LUNITn - READ(UNIT=KLUPRE,NML=NAM_LUNITn) + READ(UNIT=ILUPRE,NML=NAM_LUNITn) CALL UPDATE_NAM_LUNITn END IF diff --git a/src/MNH/read_surf_mnh.f90 b/src/MNH/read_surf_mnh.f90 index 1edbd37ea3454d67c936de76de48764fde5b82c4..8c50f5066455b1cc22baee15c1b271fb8b20b324 100644 --- a/src/MNH/read_surf_mnh.f90 +++ b/src/MNH/read_surf_mnh.f90 @@ -1373,7 +1373,7 @@ IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NM ELSE CGROUND='NONE' ILUDES = TPINFILE%TDESFILE%NLU - CALL POSNAM(ILUDES,'NAM_PARAMN',GFOUND,ILUOUT) + CALL POSNAM( TPINFILE%TDESFILE, 'NAM_PARAMN', GFOUND ) IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_PARAMn) END IF IF (CGROUND=='NONE') THEN diff --git a/src/MNH/read_ver_grid.f90 b/src/MNH/read_ver_grid.f90 index fe77bede8d2330f95569ae06ff2f745250e362ad..2b28a476beebf3d0346f70bd7ea95c4241777631 100644 --- a/src/MNH/read_ver_grid.f90 +++ b/src/MNH/read_ver_grid.f90 @@ -186,7 +186,7 @@ CALL DEFAULT_SLEVE(LSLEVE,XLEN1,XLEN2) ! ------------------- ! NKMAX=NKMAX_n -CALL POSNAM(IPRE_REAL1,'NAM_VER_GRID',GFOUND,ILUOUT0) +CALL POSNAM( TPPRE_REAL1, 'NAM_VER_GRID', GFOUND ) IF (GFOUND) READ(UNIT=IPRE_REAL1,NML=NAM_VER_GRID) NKMAX_n = NKMAX LSLEVE_n = LSLEVE @@ -196,7 +196,7 @@ XLEN2_n = XLEN2 IF (CPROGRAM=='REAL ') THEN IF (ASSOCIATED (XZHAT) ) DEALLOCATE(XZHAT) IF (ASSOCIATED (XZHATM) ) DEALLOCATE(XZHATM) - CALL POSNAM(IPRE_REAL1,'NAM_BLANKN',GFOUND,ILUOUT0) + CALL POSNAM( TPPRE_REAL1, 'NAM_BLANKN', GFOUND ) IF (GFOUND) THEN CALL INIT_NAM_BLANKn READ(UNIT=IPRE_REAL1,NML=NAM_BLANKn) diff --git a/src/MNH/reset_exseg.f90 b/src/MNH/reset_exseg.f90 index 0d06d2be3cbadabfab8ce39faa44c18c8f496bcc..b467f7c05123f190f3c63c50506cf111bdbd110f 100644 --- a/src/MNH/reset_exseg.f90 +++ b/src/MNH/reset_exseg.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2000-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2000-2023 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. @@ -115,7 +115,7 @@ ILUNAM = TZNMLFILE%NLU ! Meso-NH to store these diagnostics must be allocated by the ini_model1 subroutine ! IF (NCONV_KF>=0) THEN - CALL POSNAM(ILUNAM,'NAM_PARAM_KAFRN',GFOUND) + CALL POSNAM( TZNMLFILE, 'NAM_PARAM_KAFRN', GFOUND ) IF (GFOUND) THEN CALL INIT_NAM_PARAM_KAFRn READ(UNIT=ILUNAM,NML=NAM_PARAM_KAFRN) @@ -149,7 +149,7 @@ IF (CRAD=='NONE') THEN END IF ! IF(NRAD_3D>=1) THEN - CALL POSNAM(ILUNAM,'NAM_PARAM_RADN',GFOUND) + CALL POSNAM( TZNMLFILE, 'NAM_PARAM_RADN', GFOUND ) IF (GFOUND) THEN CALL INIT_NAM_PARAM_RADn READ(UNIT=ILUNAM,NML=NAM_PARAM_RADN) @@ -157,7 +157,7 @@ IF(NRAD_3D>=1) THEN IF ( IP == 1 ) PRINT*, ' namelist NAM_PARAM_RADN read' END IF #ifdef MNH_ECRAD - CALL POSNAM(ILUNAM,'NAM_PARAM_ECRADN',GFOUND) + CALL POSNAM( TZNMLFILE, 'NAM_PARAM_ECRADN', GFOUND ) IF (GFOUND) THEN CALL INIT_NAM_PARAM_EcRADn READ(UNIT=ILUNAM,NML=NAM_PARAM_ECRADN) @@ -193,7 +193,7 @@ IF ( IP == 1 ) PRINT*,' ' ! !* 5. For retrotrajectories in // , reset NHALO >> 1 if needed from NAM_CONF_DIAG ! --------------------------------------------------- -CALL POSNAM(ILUNAM,'NAM_CONF_DIAG',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_CONF_DIAG', GFOUND ) IF (GFOUND) THEN READ(UNIT=ILUNAM,NML=NAM_CONF_DIAG) END IF diff --git a/src/MNH/set_perturb.f90 b/src/MNH/set_perturb.f90 index 7c4ea5e2e9c224c4d9d1d2022b8fcc0c372d1d8f..c35565007fafde5c4cdbd48aba59de67dbba2bd3 100644 --- a/src/MNH/set_perturb.f90 +++ b/src/MNH/set_perturb.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2023 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. @@ -211,7 +211,7 @@ NAMELIST/NAM_PERT_PRE/CPERT_KIND,XAMPLITH, &! Perturbation parameters ILUPRE = TPEXPREFILE%NLU ILUOUT = TLUOUT%NLU ! -CALL POSNAM(ILUPRE,'NAM_PERT_PRE',GFOUND,ILUOUT) +CALL POSNAM( TPEXPREFILE, 'NAM_PERT_PRE', GFOUND ) IF (GFOUND) READ(UNIT=ILUPRE,NML=NAM_PERT_PRE) ! ! Distribue/set identical parameter seed to all the proc diff --git a/src/MNH/set_subdomain.f90 b/src/MNH/set_subdomain.f90 index ba8bdd4f2c8618bd0072d8100bd07bda3bf5bbf2..60105c54d2d93748d83d35dd2525940994ff9250 100644 --- a/src/MNH/set_subdomain.f90 +++ b/src/MNH/set_subdomain.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2023 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. @@ -175,7 +175,7 @@ NYOR=NUNDEF ! ---------------------------- ! ILUNAM = TPNMLFILE%NLU -CALL POSNAM(ILUNAM,'NAM_MESONH_DOM',GFOUND,ILUOUT0) +CALL POSNAM( TPNMLFILE, 'NAM_MESONH_DOM', GFOUND ) IF (GFOUND) THEN NIMAX=NIMAX_n ; NJMAX=NJMAX_n READ(UNIT=ILUNAM,NML=NAM_MESONH_DOM) diff --git a/src/MNH/spawning.f90 b/src/MNH/spawning.f90 index f0ef283104e3c88829e862df850bdd5a11a39c2e..d073818d1e3a450d657454afbf24754c27213a1c 100644 --- a/src/MNH/spawning.f90 +++ b/src/MNH/spawning.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1995-2022 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1995-2023 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. @@ -190,18 +190,18 @@ CALL IO_File_open(TZEXPAFILE) ILUSPA = TZEXPAFILE%NLU ! CALL INIT_NMLVAR -CALL POSNAM(ILUSPA,'NAM_SPAWN_SURF',GFOUND) +CALL POSNAM( TZEXPAFILE, 'NAM_SPAWN_SURF', GFOUND ) IF (GFOUND) READ(UNIT=ILUSPA,NML=NAM_SPAWN_SURF) CALL UPDATE_MODD_FROM_NMLVAR -CALL POSNAM(ILUSPA,'NAM_BLANKN',GFOUND) +CALL POSNAM( TZEXPAFILE, 'NAM_BLANKN', GFOUND ) CALL INIT_NAM_BLANKn IF (GFOUND) THEN READ(UNIT=ILUSPA,NML=NAM_BLANKn) CALL UPDATE_NAM_BLANKn END IF -CALL POSNAM(ILUSPA,'NAM_CONFZ',GFOUND) +CALL POSNAM( TZEXPAFILE, 'NAM_CONFZ', GFOUND ) IF (GFOUND) READ(UNIT=ILUSPA,NML=NAM_CONFZ) -CALL POSNAM(ILUSPA,'NAM_CONF_SPAWN',GFOUND) +CALL POSNAM( TZEXPAFILE, 'NAM_CONF_SPAWN', GFOUND ) IF (GFOUND) READ(UNIT=ILUSPA,NML=NAM_CONF_SPAWN) CALL IO_File_close(TZEXPAFILE) ! @@ -241,7 +241,7 @@ ILUSPA = TZEXPAFILE%NLU CALL SET_POINTERS_TO_MODEL1() CALL GOTO_MODEL(2) CALL INIT_NMLVAR -CALL POSNAM(ILUSPA,'NAM_SPAWN_SURF',GFOUND) +CALL POSNAM( TZEXPAFILE, 'NAM_SPAWN_SURF', GFOUND ) IF (GFOUND) READ(UNIT=ILUSPA,NML=NAM_SPAWN_SURF) CALL UPDATE_MODD_FROM_NMLVAR CALL GOTO_MODEL(1) diff --git a/src/MNH/spectre.f90 b/src/MNH/spectre.f90 index a87838c936e9c344c04f5fcc40325dac525eeab5..a6801f1de0a0391f08b41622b673fc1c038da998 100644 --- a/src/MNH/spectre.f90 +++ b/src/MNH/spectre.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2011-2021 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2011-2023 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. @@ -126,38 +126,38 @@ ILUNAM = TZNMLFILE%NLU ! PRINT*, 'READ THE SPEC1.NAM FILE' ! -CALL POSNAM(ILUNAM,'NAM_SPECTRE',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_SPECTRE', GFOUND ) IF (GFOUND) THEN READ(UNIT=ILUNAM,NML=NAM_SPECTRE) PRINT*, ' namelist NAM_SPECTRE read' END IF ! ! -CALL POSNAM(ILUNAM,'NAM_SPECTRE_FILE',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_SPECTRE_FILE', GFOUND ) IF (GFOUND) THEN READ(UNIT=ILUNAM,NML=NAM_SPECTRE_FILE) PRINT*, ' namelist NAM_SPECTRE_FILE read' END IF ! -CALL POSNAM(ILUNAM,'NAM_ZOOM_SPECTRE',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_ZOOM_SPECTRE', GFOUND ) IF (GFOUND) THEN READ(UNIT=ILUNAM,NML=NAM_ZOOM_SPECTRE) PRINT*, ' namelist NAM_ZOOM_SPECTRE read' END IF ! -CALL POSNAM(ILUNAM,'NAM_DOMAIN_AROME',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_DOMAIN_AROME', GFOUND ) IF (GFOUND) THEN READ(UNIT=ILUNAM,NML=NAM_DOMAIN_AROME) PRINT*, ' namelist NAM_DOMAIN_AROME read' END IF ! -CALL POSNAM(ILUNAM,'NAM_CONFZ',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_CONFZ', GFOUND ) IF (GFOUND) THEN READ(UNIT=ILUNAM,NML=NAM_CONFZ) PRINT*, ' namelist NAM_CONFZ read' END IF ! -CALL POSNAM(ILUNAM,'NAM_CONFIO',GFOUND) +CALL POSNAM( TZNMLFILE, 'NAM_CONFIO', GFOUND ) IF (GFOUND) THEN READ(UNIT=ILUNAM,NML=NAM_CONFIO) PRINT*, ' namelist NAM_CONFIO read' diff --git a/src/MNH/zoom_pgd.f90 b/src/MNH/zoom_pgd.f90 index 4f0961d8e48419a0a966933dcf1ac64215208bb7..0763fd28301b809b9496f68736e0846dc36fdd8c 100644 --- a/src/MNH/zoom_pgd.f90 +++ b/src/MNH/zoom_pgd.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2005-2021 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2005-2023 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. @@ -137,9 +137,9 @@ ILUNAM = TZNMLFILE%NLU CPGDFILE = 'PGDFILE' ! name of the input file YZOOMFILE = '' YZOOMNBR = '00' -CALL POSNAM(ILUNAM,'NAM_PGDFILE',GFOUND,ILUOUT0) +CALL POSNAM( TZNMLFILE, 'NAM_PGDFILE', GFOUND ) IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_PGDFILE) -CALL POSNAM(ILUNAM,'NAM_CONFIO',GFOUND,ILUOUT0) +CALL POSNAM( TZNMLFILE, 'NAM_CONFIO', GFOUND ) IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_CONFIO) CALL IO_Config_set() !