From e0283248de5954e22384f73221f54eaef56bd0c9 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Fri, 19 Nov 2021 16:18:41 +0100 Subject: [PATCH] Philippe 19/11/2021: fix: correct lateral boundaries fieldnames for LIMA variables (be careful: forward compatibility with files is lost) --- src/MNH/ini_lb.f90 | 38 +++++++++++++++++++++++++++++++++----- src/MNH/write_lbn.f90 | 8 ++++---- 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/src/MNH/ini_lb.f90 b/src/MNH/ini_lb.f90 index b4d44b50a..79eac4a6e 100644 --- a/src/MNH/ini_lb.f90 +++ b/src/MNH/ini_lb.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1998-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1998-2021 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. @@ -689,7 +689,14 @@ IF (CCLOUD=='LIMA' ) THEN CASE ('READ') WRITE(INDICE,'(I2.2)')(JSV - NSV_LIMA_CCN_FREE + 1) IF ( KSIZELBXSV_ll /= 0 ) THEN - TZFIELD%CMNHNAME = 'LBX_'//TRIM(UPCASE(CLIMA_WARM_NAMES(3))//INDICE) + IF ( TPINIFILE%NMNHVERSION(1) < 5 & + .OR. ( TPINIFILE%NMNHVERSION(1) == 5 .AND. TPINIFILE%NMNHVERSION(2) < 5 ) & + .OR. ( TPINIFILE%NMNHVERSION(1) == 5 .AND. TPINIFILE%NMNHVERSION(2) == 5 & + .AND. TPINIFILE%NMNHVERSION(3) < 1 ) ) THEN + TZFIELD%CMNHNAME = 'LBX_'//TRIM(UPCASE(CLIMA_WARM_NAMES(3))//INDICE) + ELSE + TZFIELD%CMNHNAME = 'LBX_'//TRIM(UPCASE(CLIMA_WARM_NAMES(3)))//INDICE + END IF TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME) TZFIELD%CLBTYPE = 'LBX' WRITE(TZFIELD%CCOMMENT,'(A6,A6,I3.3)')'2_Y_Z_','LBXSVM',JSV @@ -708,7 +715,14 @@ IF (CCLOUD=='LIMA' ) THEN END IF ! IF (KSIZELBYSV_ll /= 0 ) THEN - TZFIELD%CMNHNAME = 'LBY_'//TRIM(UPCASE(CLIMA_WARM_NAMES(3))//INDICE) + IF ( TPINIFILE%NMNHVERSION(1) < 5 & + .OR. ( TPINIFILE%NMNHVERSION(1) == 5 .AND. TPINIFILE%NMNHVERSION(2) < 5 ) & + .OR. ( TPINIFILE%NMNHVERSION(1) == 5 .AND. TPINIFILE%NMNHVERSION(2) == 5 & + .AND. TPINIFILE%NMNHVERSION(3) < 1 ) ) THEN + TZFIELD%CMNHNAME = 'LBY_'//TRIM(UPCASE(CLIMA_WARM_NAMES(3))//INDICE) + ELSE + TZFIELD%CMNHNAME = 'LBY_'//TRIM(UPCASE(CLIMA_WARM_NAMES(3)))//INDICE + END IF TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME) TZFIELD%CLBTYPE = 'LBY' WRITE(TZFIELD%CCOMMENT,'(A6,A6,I3.3)')'X_2_Z_','LBYSVM',JSV @@ -746,7 +760,14 @@ IF (CCLOUD=='LIMA' ) THEN CASE ('READ') WRITE(INDICE,'(I2.2)')(JSV - NSV_LIMA_IFN_FREE + 1) IF ( KSIZELBXSV_ll /= 0 ) THEN - TZFIELD%CMNHNAME = 'LBX_'//TRIM(UPCASE(CLIMA_COLD_NAMES(2))//INDICE) + IF ( TPINIFILE%NMNHVERSION(1) < 5 & + .OR. ( TPINIFILE%NMNHVERSION(1) == 5 .AND. TPINIFILE%NMNHVERSION(2) < 5 ) & + .OR. ( TPINIFILE%NMNHVERSION(1) == 5 .AND. TPINIFILE%NMNHVERSION(2) == 5 & + .AND. TPINIFILE%NMNHVERSION(3) < 1 ) ) THEN + TZFIELD%CMNHNAME = 'LBX_'//TRIM(UPCASE(CLIMA_COLD_NAMES(2))//INDICE) + ELSE + TZFIELD%CMNHNAME = 'LBX_'//TRIM(UPCASE(CLIMA_COLD_NAMES(2)))//INDICE + END IF TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME) TZFIELD%CLBTYPE = 'LBX' WRITE(TZFIELD%CCOMMENT,'(A6,A6,I3.3)')'2_Y_Z_','LBXSVM',JSV @@ -765,7 +786,14 @@ IF (CCLOUD=='LIMA' ) THEN END IF ! IF (KSIZELBYSV_ll /= 0 ) THEN - TZFIELD%CMNHNAME = 'LBY_'//TRIM(UPCASE(CLIMA_COLD_NAMES(2))//INDICE) + IF ( TPINIFILE%NMNHVERSION(1) < 5 & + .OR. ( TPINIFILE%NMNHVERSION(1) == 5 .AND. TPINIFILE%NMNHVERSION(2) < 5 ) & + .OR. ( TPINIFILE%NMNHVERSION(1) == 5 .AND. TPINIFILE%NMNHVERSION(2) == 5 & + .AND. TPINIFILE%NMNHVERSION(3) < 1 ) ) THEN + TZFIELD%CMNHNAME = 'LBY_'//TRIM(UPCASE(CLIMA_COLD_NAMES(2))//INDICE) + ELSE + TZFIELD%CMNHNAME = 'LBY_'//TRIM(UPCASE(CLIMA_COLD_NAMES(2)))//INDICE + END IF TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME) TZFIELD%CLBTYPE = 'LBY' WRITE(TZFIELD%CCOMMENT,'(A6,A6,I3.3)')'X_2_Z_','LBYSVM',JSV diff --git a/src/MNH/write_lbn.f90 b/src/MNH/write_lbn.f90 index dc3fd036f..52a15c509 100644 --- a/src/MNH/write_lbn.f90 +++ b/src/MNH/write_lbn.f90 @@ -381,7 +381,7 @@ IF (NSV >=1) THEN DO JSV = NSV_LIMA_CCN_FREE,NSV_LIMA_CCN_FREE+NMOD_CCN-1 WRITE(INDICE,'(I2.2)')(JSV - NSV_LIMA_CCN_FREE + 1) IF(NSIZELBXSV_ll /= 0) THEN - TZFIELD%CMNHNAME = 'LBX_'//TRIM(UPCASE(CLIMA_WARM_NAMES(3))//INDICE) + TZFIELD%CMNHNAME = 'LBX_'//TRIM(UPCASE(CLIMA_WARM_NAMES(3)))//INDICE TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME) TZFIELD%CLBTYPE = 'LBX' WRITE(TZFIELD%CCOMMENT,'(A6,A6,I3.3)')'2_Y_Z_','LBXSVM',JSV @@ -389,7 +389,7 @@ IF (NSV >=1) THEN END IF ! IF(NSIZELBYSV_ll /= 0) THEN - TZFIELD%CMNHNAME = 'LBY_'//TRIM(UPCASE(CLIMA_WARM_NAMES(3))//INDICE) + TZFIELD%CMNHNAME = 'LBY_'//TRIM(UPCASE(CLIMA_WARM_NAMES(3)))//INDICE TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME) TZFIELD%CLBTYPE = 'LBY' WRITE(TZFIELD%CCOMMENT,'(A6,A6,I3.3)')'X_2_Z_','LBYSVM',JSV @@ -400,7 +400,7 @@ IF (NSV >=1) THEN DO JSV = NSV_LIMA_IFN_FREE,NSV_LIMA_IFN_FREE+NMOD_IFN-1 WRITE(INDICE,'(I2.2)')(JSV - NSV_LIMA_IFN_FREE + 1) IF(NSIZELBXSV_ll /= 0) THEN - TZFIELD%CMNHNAME = 'LBX_'//TRIM(UPCASE(CLIMA_COLD_NAMES(2))//INDICE) + TZFIELD%CMNHNAME = 'LBX_'//TRIM(UPCASE(CLIMA_COLD_NAMES(2)))//INDICE TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME) TZFIELD%CLBTYPE = 'LBX' WRITE(TZFIELD%CCOMMENT,'(A6,A6,I3.3)')'2_Y_Z_','LBXSVM',JSV @@ -408,7 +408,7 @@ IF (NSV >=1) THEN END IF ! IF(NSIZELBYSV_ll /= 0) THEN - TZFIELD%CMNHNAME = 'LBY_'//TRIM(UPCASE(CLIMA_COLD_NAMES(2))//INDICE) + TZFIELD%CMNHNAME = 'LBY_'//TRIM(UPCASE(CLIMA_COLD_NAMES(2)))//INDICE TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME) TZFIELD%CLBTYPE = 'LBY' WRITE(TZFIELD%CCOMMENT,'(A6,A6,I3.3)')'X_2_Z_','LBYSVM',JSV -- GitLab