Let us know your thoughts!
My thanks to the HDF Group for all your efforts on file format compatibility, which I specifically requested. Clearly this was a significant effort which will benefit the larger user community.
All netCDF-4 releases since the first HDF5 1.10.* release (March 2016) use low = H5F_LIBVER_EARLIEST and high = H5F_LIBVER_LATEST, following previous HDF5 1.10 guidelines. In my experience, this always produces netCDF-4 files that are fully interoperable with HD5 1.8.* as well as 1.10.*. I just reconfirmed this with local files and tools from different builds. Your blog post seems to contradict this:
… the netCDF-4 library that is built on top of HDF5 1.10.* series … currently uses … H5F_LIBVER_LATEST as a value for the “high” parameter, and therefore, produces netCDF-4 files that the tools built with HD5 1.8.* cannot read.
Would you please check this statement? Is there a change in behavior in 1.10.2 for the particular combination (EARLIEST, LATEST)? Thanks.
Thank you for reporting. You are correct: netCDF-4 will be affected only if (LATEST, LATEST) is used since 1.10.* will create new internal structures for chunked datasets and thus not all files will be affected.
We received reports on netCDF-4 files that were not compatible with HD5 1.8.*. We will need to take a closer look and I will fix the blog.
All older netCDF-4 code releases through 4.4.0 (Feb. 2016) used (LATEST, LATEST). They were designed for use with HDF5 1.8 only. Whenever one of these older netCDF versions is linked with any HDF5 1.10.* release, it’s guaranteed that V1.8-incompatible files will be created.
Unidata published version guidelines for avoiding this. However, people don’t always see this, and mix and match versions in the wild. I would guess that many of your incompatible cases resulted from these improper combinations.
When necessary, such “incompatible” files should be easily readable by relinking tools or applications to any HDF5 1.10.* version. However, such files should be avoided in general, by using only the recommended software combinations for creating files.