I am attempting to use the VTKHDF format to store time series data of an unstructured grid.
So far I have been able to save single timesteps into the hdf file and load them into paraview, but I can’t find any documentation on how to include timeseries data in the hdf file.
The formal reader documentation is forthcoming and we have not yet had the time to put publish it. I’ll be sure to update this thread when it is. Navigating to the merge request linked above, you should be able to find a good deal of information regarding how time is formatted.
Here is also a test data set that you can use for inspiration: transient_sphere.hdf (82.3 KB)
Also worth mentioning that you can still use paraview to visualize transient vtkhdf files, but I don’t believe that this MR has made it through to an official release yet, so you’ll need a recent nightly build.
Starting from a working VTKHDF unstructured grid file, I added:
A ‘Steps’ group under group ‘VTKHDF’.
The attribute ‘NSteps’ to the ‘Steps’ group.
Dataset ‘Values’ (NSteps,) to ‘Steps’ group.
Dataset ‘PartOffsets’ (NSteps,) to ‘Steps’ group.
Dataset ‘PointOffsets’ (NSteps,) to ‘Steps’ group.
Dataset ‘CellOffsets’ (NSteps,1) to ‘Steps’ group.
Dataset ‘ConnectivityIdOffsets’ (NSteps,1) to ‘Steps’ group.
Add Dataset ‘CellDataOffsets’ (NSteps,) to ‘Steps’ group.
For testing, I made all my offsets all zeros just to see if the file would load.
When loading into paraview, I can see the actual time steps in the top bar, but can’t view anything.
I can share my hdf file with you if you’d find it useful.
ParaView v5.11 and VTK’s release won’t have support for transient data as it is a relatively recent feature. If you are using prebuilt ParaView binaries downloaded off the Kitware website I would advise you to use the nightly packages which are built every day from the master branch.
One subtle thing that I couldn’t find mentioned in the documentation: the NumberOf* datasets in the VTKHDF group must have length number_of_parts * number_of_steps. Since your example only has one part, each of those datasets should have length 18 in your case. Since your mesh isn’t changing, all of the entries should be the same.
That said, when I tried to extend these datasets in your example, it still wasn’t rendered properly in paraview. I’m not sure why that’s the case, but if you want more examples to look at, here’s an hdf file with cell data that I was using to play around with the format. I’m also attaching the python script that generates the file – you can adjust the number of parts there. Ignore the particles function – that was for testing the h5part format, a separate thing.