Keep CGNS file compatible with HDF5-1.8


The recent merge of CompactStorageRev branch into develop is definitely a good improvement; however, it includes a call to `H5Pset_file_space_strategy()` which seems to make the files incompatible with HDF5-1.8 clients. Even though `H5Pset_libver_bounds()` is called with the `H5F_LIBVER_V18` arguments, the resulting files are not readable by HDF5-1.8.X clients and there is no warning that this is the case.

I would like an option to force the files to be compatible with 1.8 even though it may cause a performance hit, or maybe there is a way to make the files compatible without the hit.. We have a few clients (e.g. ParaView) which cannot yet read 1.10.X format files.


Scot Breitenfeld
June 13, 2019, 5:51 PM

This is an error in the HDF5 library (and CGNS for doing it). HDF5 should not allow the use of H5Pset_file_space_strategy if v18 is specified.

The topic of specifying version compatibility came up in the #114 PR.

Scot Breitenfeld
June 27, 2019, 3:35 PM

The HDF5 library (develop) was updated to throw an error if H5Pset_file_space_strategy(…) is specified with 1.8 version compatibility. I’ve disabled the option for now until the issue with resolved on how to specify what version of HDF5 should be used.

ADFH.c: line ~2133

#if 0 // MSB -- DISABLED as it is not compatible with HDF5 1.8 file format, CGNS
H5Pset_file_space_strategy(g_propfilecreate, H5F_FSPACE_STRATEGY_FSM_AGGR, 1, (hsize_t)1);

Scot Breitenfeld
June 27, 2019, 3:44 PM

Need to determine that H5Pset_file_space_strategy(g_propfilecreate, H5F_FSPACE_STRATEGY_FSM_AGGR, 1, (hsize_t)1);

improves performance, as this is forcing the use of 1.10 HDF5 file format.

Mickael PHILIT
February 21, 2020, 6:47 PM

What is the status ? Current ParaView now rely on 1.10.6 version of hdf5, thus client issue from the original report does not exist any more . Can we have a compile option to build the CGNS library with or without v18 compatibility ?


Gregory Sjaardema



Fix versions