VTKHDF File Format#
Introduction#
The VTKHDF file format is a file format relying on HDF5.
It is meant to provide good I/O performance as well as robust and flexible parallel I/O capabilities.
It currently supports basic types: PolyData, UnstructuredGrid, ImageData, HyperTreeGrid and composite types such as OverlappingAMR, MultiBlockDataSet and the PartitionedDataSetCollection.
The current file format version is 2.5.
Python examples and tutorial#
To help adopters use the VTKHDF File Format, we provide a repository : vtkhdf-script.
It contains several folders:
tutorial: a complete tutorial showing how to create VTKHDF files from scratch, incrementally adding more features.
scripts: sample python scripts showing how to create VTKHDF files using
h5pyfor most of the data types currently supported by the format, including temporal files.vtkxml-to-vtkhdf folder which contains script to convert vtkxml file into vtk using the
vtkHDFWriter.
Valuable documentation from blog posts#
Extension#
The VTKHDF format generally uses the .vtkhdf extension. The .hdf
extension is also supported but is not preferred. There are no specific
extensions to differentiate between different types of dataset, serial
vs. distributed data or static vs. temporal data.
FAQ#
How to stay informed?#
We keep a status page up to date, that tracks current status of the VTKHDF specification and implementation in the vtkHDFReader and vtkHDFWriter. Bug tracking and proposals are tracked in a Gitlab issue. Additionally, all VTKHDF issues are tagged appropriately as area:VTKHDF.
Where should we create a proposal for the file format?#
The VTKHDF File Format is not considered complete, and lacks support for some VTK data types. This specification is led by the community; please post ideas and design for new data types on the VTK discourse. This Discourse will be made into a Gitlab issue once VTKHDF contributors have agreed on a design.
Who maintains this specification?#
Current maintainer of this file format are :
Lucas Givord (gitlab: @lucas.givord, discourse: @lgivord)
Louis Gombert (gitlab: @louis.gombert, discourse: @Louis_Gombert)
Mathieu Westphal (gitlab: @mwestphal, discourse: @mwestphal)
Changelog#
VTKHDF - 2.6#
add specification for dataset attributes
VTKHDF - 2.5#
add specification for Unstructured Grid polyhedrons
VTKHDF - 2.4#
add specification for
HyperTreeGrid
VTKHDF - 2.3#
fix array names which miss the
sto be consistent with other temporal dataset in case of the temporalOverlappingAMR. It concerns these data names:NumberOfBox,AMRBoxOffset,Point/Cell/FieldDataOffset.
VTKHDF - 2.2#
add support for temporal
OverlappingAMRadd official support for ignored data outside of
VTKHDF
VTKHDF - 2.1#
add specification in the format for
PartitionedDataSetCollectionandMultiBlockDataSet
VTKHDF - 2.0#
extends the specification for
PolyData.add support for
Temporaldataset forPolyData,ImageDataandUnstructuredGrid.
VTKHDF - 1.0#
add specification for these vtk data types:
UnstructuredGridImageDataOverlapping AMR