GSD (General Simulation Data) is a file format specification and a library to read and write it. The package also contains a python module that reads and writes hoomd schema gsd files.
Efficiently store many frames of data from simulation runs.
High performance file read and write.
Support arbitrary chunks of data in each frame (position, orientation, type, etc…).
Append frames to an existing file with a monotonically increasing frame number.
Resilient to job kills.
Variable number of named chunks in each frame.
Variable size of chunks in each frame.
Each chunk identifies data type.
Common use cases: NxM arrays in double, float, int, char types.
Generic use case: binary blob of N bytes.
Can be integrated into other tools with python, or a C API (< 1k lines).
Fast random access to frames.