Error reading hdf5 vector from xdmf

I try to read a vector field on a 2DCoRectMesh. If I use an XML format for the data, I am able to open the xdmf file into paraview.
But if I try to do the same with the data in an h5 file, paraview said: “Failed to read attribute data”.
I don’t understand what happens here.

The files are available here:

Any idea?


HDF5 files are raw data/arrays containers. ParaView does not provide a generic reader to read those files and arrays without attaching them to a format (like Visit) or XML schema (like XDMF) that describes how to use the h5 raw data to create datasets (points, cells, attributes).

Thanks Joachim for your reply.
I know that paraview can’t read hdf5 file and this is why I also have provided the xdmf files.

Sorry Loic, I got it wrong. So yeah, the XDMF reader fails to read the array from the H5 file. I will take a look and let you know.

The issue is related to this “bug fix”:
Without this patch that has been merged into ParaView, the loading process runs perfectly.
The issue is due to count[2] += 1; which ends up to request a 4,4,3 array instead of a 4,4,2 one.

Maybe @Dave_DeMarle remembers on which cases the ternary test introduced a bug?


No I don’t but the bug tracker lead me to this.
[Paraview] ParaView5.1.0 fails to read XDMF 3DCoRectMesh - Sonja Habbinga - org.paraview.paraview - MarkMail

Thanks @Dave_DeMarle , I can still reproduce the issue if we go back to the ternary test with the dataset of this old thread.
That said, something like
count[2] += ((update_extents[1] - update_extents[0]) > 0 || count[2] == 0 )? 1 : 0;
does the trick for both files but I cannot ensure it is an absolute correct solution.


Thanks @Joachim_P for your investigation.