“The HDF5 system is a little like a “kinder egg” for us, because it serves three purposes at the same time:
1) Data interchange between software that may run on different platforms.
2) Data storage of large datasets that before were saved in many small files and which stressed the file systems.
3) A self-documented (almost) system that uses a hierarchical organization we are used to from the file systems of our computers.
We selected HDF5 to enable us to grow our simulators and software systems in a dynamically consistent way, and account for backward compatibility in our future solutions.”