ESIO simplifies getting high throughput input and output of structured data sets using parallel HDF5. The library is written in C99 and may be used by C89 or C++ applications. A Fortran API built atop the F2003 standard ISO_C_BINDING is also available. ESIO is LGPL software and is available from https://red.ices.utexas.edu/projects/esio/wiki.
In particular, ESIO provides:
- Distributed IO of 1D lines, 2D planes, and 3D fields of data
- Support for scalar-, complex-, and vector-valued data
- Single and double precision floating point storage
- A mechanism for storing both string and numeric metadata
- Support for contiguous and strided in-memory data
- Support to simplify writing restart file sequences
- A handy esio_bench utility for performance benchmarking
- A comprehensive regression suite
I am long, long overdue on creating a paper introducing ESIO.