Reading HDF5
From VisItusers.org
VisIt can read data from several codes that write their data files to the HDF5 data file format. HDF5 is mainly a smart array storage file format from VisIt's point of view. Complex data structures such as unstructured meshes are often stored in several arrays (coordinates, connectivity, etc.) and the meaning of each array is known to the code that wrote the file. For VisIt to read that file back in, VisIt's plugins must also understand the conventions used to write the HDF5 file so when certain arrays are seen, they can be reassembled into the more complex data structure that they collectively represent. Each of VisIt's HDF5 database reader plugins understands the conventions of a different code that stored its data using HDF5.
These plugins use the HDF5 library directly to access the contents of their files:
| Database reader plugin | What it stores |
| Tetrad | Unstructured mesh made of tetrahedra |
| SAMRAI | Structured AMR mesh (rectilinear, curvilinear), scalars, materials |
| CosmosPP | |
| Pixie | Curvilinear mesh, scalars. Can also read array data and create rectilinear mesh for all arrays in the HDF5 file. |
| FLASH | AMR mesh (rectilinear), scalars |
| Chombo | Structured AMR mesh (rectilinear, curvilinear), scalars, materials |
| GTC | 3D points with scalars |
| H5Nimrod | |
| M3D | Unstructured mesh, scalars, vectors, tensors |
| H5Part | Particle and mesh data |
| XDMF | General HDF5 reader that uses XML file to describe how arrays are assembled into more complex data structures. This reader was released in VisIt 1.9 and it is still under development. For more information on creating XML files that help access your HDF5 data, look at the Using XDMF to read HDF5. |
| Vizschema (Vs) | Uniform, Rectilinear, Structured, and Unstructured meshes. Fields & Particles. Cartesian or Cylindrical coordinates. 1D/2D/3D. Example scripts for generating all types of Vizschema-compatible data are available upon request. See Vizschema website for more information. |
If your HDF5 data looks like any of the above then you can look in the source code for the plugins to determine the structure of the expected HDF5 files. There is currently no sample code for producing HDF5 files that VisIt can read for most of the plugins listed above.
[edit] File formats with optional HDF5 storage layer
This section lists some file formats that use HDF5 as a storage layer for a more complex data model that is often hidden by a programming API. These file formats can and do use HDF5 but they should not really be considered HDF5 because their programming API should be used to read the contents of their files.
| Database reader plugin | What it stores |
| CGNS | Structured, unstructured meshes, scalars, CFD metadata [as of version 1.8.1 it is linked against ADF librarry by default, but HDF5 backend works also] |
| NETCDF | As of NETCDF 4, the NETCDF library stores its data to an HDF5 file. The NETCDF API should still be used to read these files. |
| Silo | Structured, unstructured meshes, scalars, vectors, materials, multiple domains. |
