diff --git a/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 b/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 index ef577be080a8c4e5e459476cfda1d772a01d6499..7c43d3df6d4c643a2f2360f714f8789e615f851e 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