Hello Dave,

On Nov 7, 2017, at 8:16 PM, Dave Allured - NOAA Affiliate 
<[email protected]<mailto:[email protected]>> wrote:

HDF Group,

Could you please add a simple diagnostic feature to HDF5 1.8.20?  Current 1.8 
utilities output unhelpful messages when trying to read newer format hdf5 files 
made with more advanced library versions such as 1.10:

mac56:~/hdf5 20> ~/3rd/hdf5/1.8.20-pre1/bin/h5debug 
netcdf4.superblock-3.nc<http://netcdf4.superblock-3.nc/>
cannot open file

mac56:~/hdf5 21> ~/3rd/hdf5/1.8.20-pre1/bin/h5dump 
netcdf4.superblock-3.nc<http://netcdf4.superblock-3.nc/>
h5dump error: unable to open file 
"netcdf4.superblock-3.nc<http://netcdf4.superblock-3.nc/>"

h5dump (as h5diff, h5ls, h5copy and h5repack) has --enable-error-stack option 
to print the error stack (agreed... not user friendly :-). We still need to 
update h5debug tool.

Unfortunately, we will not be able to add the enhancement you are requesting to 
1.8.20 since it will require some substantial amount of work and testing. We 
will try to address the issue in HDF5 1.8 before we drop support for it 
(planned for mid 2019, exact date will be announced on this list).

The issue is more complex that just a version of superblock. HDF5 1.10 can 
create a file with the superblock version 2 when using VDS feature. HDF5 1.8 
will not be able to read data from the file.

As it was discussed on this FORUM earlier, currently there is no way to specify 
the argument to 
H5Pset_libver_bounds<https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetLibverBounds>
 to create the files compliant with the HDF5 1.8 version. This feature is 
coming in HDF5 1.10.2.

Since netCDF-4 linked with HDF5 1.10 uses this function with the 
H5F_LIBVER_LATEST arguments, it creates the files that are incompatible with 
HDF5 1.8. To fix this issue the software has to be updated to use

H5Pset_libver_bounds(fapl, H5F_LIBVER_V18, H5F_LIBVER_V18)
 instead of
H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST)

when the new feature is available.

Ideally, The HDF Group should not only enhance HDF5 1.8 with more friendly 
error diagnostic, but also provide a tool that is independent of the HDF5 
library and reports the earliest version of the library needed to read an HDF5 
file (by default, the latest version of HDF5 can always read all HDF5 files). 
This is on our to-do list and we hope to have such tool before we drop support 
for HDF5 1.8.

Thank you!

Elena


However, by your design, the superblock number is always located and validated 
the same way in past and future versions.  Could you please amend error 
messages to say more informative messages in these cases?  Such as this 
two-line sequence:

h5debug error: unable to open file 
"netcdf4.superblock-3.nc<http://netcdf4.superblock-3.nc/>"
Superblock version 3 is not supported in this software version

It would be nice if you could squeeze this into the 1.8.20 release.  Also 
please add to the 1.10 branch; it will be helpful in the future.  Thank you.

--Dave
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]<mailto:[email protected]>
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to