From 85d853a83a232cb21afc3d5930a562454069b2b4 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Wed, 21 Mar 2018 16:40:47 +0100 Subject: [PATCH] Philippe 21/03/2018: IO: add NNCNAR field to TFILEDATA (needed by LFI2CDF) --- src/LIB/SURCOUCHE/src/modd_io.f90 | 1 + src/LIB/SURCOUCHE/src/mode_fm.f90 | 4 ++++ src/LIB/SURCOUCHE/src/mode_io.f90 | 5 +++++ src/LIB/SURCOUCHE/src/mode_netcdf.f90 | 2 +- 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/LIB/SURCOUCHE/src/modd_io.f90 b/src/LIB/SURCOUCHE/src/modd_io.f90 index fddb02428..a3bfbd886 100644 --- a/src/LIB/SURCOUCHE/src/modd_io.f90 +++ b/src/LIB/SURCOUCHE/src/modd_io.f90 @@ -94,6 +94,7 @@ TYPE TFILEDATA ! ! Fields for netCDF files INTEGER(KIND=IDCDF_KIND) :: NNCID = -1 !File identifier + INTEGER(KIND=IDCDF_KIND) :: NNCNAR = 0 !Number of articles of the netCDF file (only accurate if file opened in read mode) LOGICAL :: LNCREDUCE_FLOAT_PRECISION = .FALSE. ! Reduce the precision of floats to single precision ! instead of double precision LOGICAL :: LNCCOMPRESS = .FALSE. ! Do compression on fields diff --git a/src/LIB/SURCOUCHE/src/mode_fm.f90 b/src/LIB/SURCOUCHE/src/mode_fm.f90 index 46563b0bd..627734e13 100644 --- a/src/LIB/SURCOUCHE/src/mode_fm.f90 +++ b/src/LIB/SURCOUCHE/src/mode_fm.f90 @@ -335,6 +335,10 @@ IF (TPFILE%LMASTER) THEN IF (INCERR /= NF90_NOERR) THEN CALL PRINT_MSG(NVERB_FATAL,'IO','FMOPEN_ll','NF90_OPEN for '//TRIM(YFILEM)//'.nc: '//NF90_STRERROR(INCERR)) END IF + INCERR = NF90_INQUIRE(TPFILE%NNCID,NVARIABLES=TPFILE%NNCNAR) + IF (INCERR /= NF90_NOERR) THEN + CALL PRINT_MSG(NVERB_FATAL,'IO','FMOPEN_ll','NF90_INQUIRE for '//TRIM(YFILEM)//'.nc: '//NF90_STRERROR(INCERR)) + END IF END IF IF (YACTION == 'WRITE') THEN diff --git a/src/LIB/SURCOUCHE/src/mode_io.f90 b/src/LIB/SURCOUCHE/src/mode_io.f90 index 050b305af..6444bde79 100644 --- a/src/LIB/SURCOUCHE/src/mode_io.f90 +++ b/src/LIB/SURCOUCHE/src/mode_io.f90 @@ -662,6 +662,11 @@ CONTAINS ELSE IOS = 0 END IF + IOSCDF = NF90_INQUIRE(TZSPLITFILE%NNCID,NVARIABLES=TZSPLITFILE%NNCNAR) + IF (IOSCDF /= NF90_NOERR) THEN + CALL PRINT_MSG(NVERB_FATAL,'IO','OPEN_ll','NF90_INQUIRE for '//TRIM(TZSPLITFILE%CNAME)//'.nc: ' & + //NF90_STRERROR(IOSCDF)) + END IF END IF IF (YACTION == 'WRITE') THEN diff --git a/src/LIB/SURCOUCHE/src/mode_netcdf.f90 b/src/LIB/SURCOUCHE/src/mode_netcdf.f90 index bee688fff..7aa3e2cf7 100644 --- a/src/LIB/SURCOUCHE/src/mode_netcdf.f90 +++ b/src/LIB/SURCOUCHE/src/mode_netcdf.f90 @@ -50,7 +50,7 @@ END INTERFACE IO_READ_FIELD_NC4 ! Public from module netcdf PUBLIC NF90_CLOSE,NF90_OPEN,NF90_CREATE, & NF90_NOWRITE,NF90_CLOBBER,NF90_NETCDF4,NF90_NOERR,NF90_STRERROR, & - NF90_FILL_REAL + NF90_FILL_REAL,NF90_INQUIRE ! Public from this module : PUBLIC NEWIOCDF,CLEANIOCDF,IO_GUESS_DIMIDS_NC4, & IO_SET_KNOWNDIMS_NC4,IO_WRITE_COORDVAR_NC4, & -- GitLab