From 330b4ec432cb384ecbaf4460979dee9aa8e37330 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Tue, 27 Nov 2018 15:50:09 +0100
Subject: [PATCH] Philippe 27/11/2018: LFI2CDF: correct problems when reading
 files generated with older versions (tested on 5.3.1 files)

---
 LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 b/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
index ef577be08..7c43d3df6 100644
--- a/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
+++ b/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
@@ -1200,6 +1200,8 @@ END DO
       TPREC%NSIZE = ILENG
 
       ISTATUS = NF90_GET_ATT(KFILE_ID,KVAR_ID,'grid',TPREC%NGRID_FILE)
+      !On MesoNH versions < 5.4.0, the grid number was stored in 'GRID' instead of 'grid'
+      IF (ISTATUS /= NF90_NOERR) ISTATUS = NF90_GET_ATT(KFILE_ID,KVAR_ID,'GRID',TPREC%NGRID_FILE)
       IF (ISTATUS /= NF90_NOERR) TPREC%NGRID_FILE = 0
 
       ISTATUS = NF90_GET_ATT(KFILE_ID,KVAR_ID,'units',TPREC%CUNITS_FILE)
@@ -1222,6 +1224,15 @@ END DO
 
     KRESP = 0
 
+    IF (TPREC%NDIMS_FILE<TPREC%TFIELD%NDIMS) THEN
+      CALL PRINT_MSG(NVERB_WARNING,'IO','IO_FILL_DIMS_NC4','less dimensions than expected for '//TRIM(TPREC%TFIELD%CMNHNAME)// &
+                                        ' => ignored')
+      TPREC%tbw   = .FALSE.
+      TPREC%tbr   = .FALSE.
+      TPREC%found = .FALSE.
+      RETURN
+    END IF
+
     ALLOCATE(TPREC%TDIMS(TPREC%TFIELD%NDIMS))
 
     DO JJ=1,TPREC%TFIELD%NDIMS
-- 
GitLab