diff --git a/src/MNH/read_field.f90 b/src/MNH/read_field.f90 index bd4a70fcf039c3bb9d9016621b09ff65afecb5c0..fd5bf06f1753cc0c30f55081c2171be028a8fe0b 100644 --- a/src/MNH/read_field.f90 +++ b/src/MNH/read_field.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2024 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. @@ -440,6 +440,7 @@ LOGICAL :: ZLRECYCL ! switch if turbulence recycling is LOGICAL :: GOLDFILEFORMAT CHARACTER(LEN=3) :: YFRC ! To mark the different forcing dates CHARACTER(LEN=3) :: YNUM3 +CHARACTER(LEN=6) :: YPROGRAMFILE CHARACTER(LEN=15) :: YVAL REAL, DIMENSION(KIU,KJU,KKU) :: ZWORK ! to compute supersaturation TYPE(TFIELDMETADATA) :: TZFIELD @@ -455,6 +456,8 @@ ZWORK = 0.0 !If TPINIFILE file was written with a MesoNH version < 5.6, some variables had different names or were not available GOLDFILEFORMAT = ( TPINIFILE%NMNHVERSION(1) < 5 & .OR. ( TPINIFILE%NMNHVERSION(1) == 5 .AND. TPINIFILE%NMNHVERSION(2) < 6 ) ) +! +CALL IO_Field_read( TPINIFILE, 'PROGRAM', YPROGRAMFILE ) !------------------------------------------------------------------------------- ! !* 2. READ PROGNOSTIC VARIABLES @@ -506,8 +509,10 @@ SELECT CASE(HGETTKET) CALL IO_Field_read(TPINIFILE,'TKET',PTKET) END IF IF ( ( (TPINIFILE%NMNHVERSION(1)==5 .AND. TPINIFILE%NMNHVERSION(2)>0) .OR. TPINIFILE%NMNHVERSION(1)>5 ) & - .AND. (CCONF == 'RESTA') .AND. LSPLIT_CFL) THEN - CALL IO_Field_read(TPINIFILE,'TKEMS',PRTKEMS) + .AND. (CCONF == 'RESTA') .AND. LSPLIT_CFL .AND. TRIM(YPROGRAMFILE) == 'MESONH' ) THEN + CALL IO_Field_read( TPINIFILE, 'TKEMS', PRTKEMS ) + ELSE + PRTKEMS(:,:,:) = 0. END IF CASE('INIT') PTKET(:,:,:) = XTKEMIN @@ -1060,7 +1065,7 @@ IF ( NSV_SNW >= 1 ) THEN END DO END IF ! -IF (CCONF == 'RESTA') THEN +IF ( CCONF == 'RESTA' .AND. TRIM(YPROGRAMFILE) == 'MESONH' ) THEN IF (CTEMP_SCHEME/='LEFR') THEN CALL IO_Field_read(TPINIFILE,'US_PRES',PRUS_PRES) CALL IO_Field_read(TPINIFILE,'VS_PRES',PRVS_PRES)