Scientific Data Exchange [A1] is a set of guidelines for storing scientific data and metadata in a Hierarchical Data Format 5 [B6] file.

HDF5 [B6] has many important characteristics for scientific data storage. It offers platform-independent binary data storage with optional compression, hierarchical data ordering, and support for MPI-based parallel computing. Data are stored with alphanumeric tags, so that one can examine a HDF5 file’s contents with no knowledge of how the file writing program was coded. Tools for this examination include the HDF5-supplied command-line utility [B5] to examine the contents of any HDF5 file, or the freely-available Java program [B7] to interactively examine the file.

At synchrotron facilities using the EPICS [B1] software for area detectors [B11] with the NDFileHDF5 plugin [B10], is possible to save Data Exchange files by properly configure the detector and the HDF schema attribute files .

This reference guide describes the basic design principles of Data Exchange, examples of their application, a core reference for guidelines common to most uses, and coding examples.


  • The definition of the scientific data exchange.
  • A python interface for writing scientific data exchange files.
  • XML attribute files for writers with the EPICS Area Detector HDF plug-in.


  • Based on Hierarchical Data Format 5 (HDF5).
  • Focuses on technique rather than instrument descriptions.
  • Provenance tracking for understanding analysis steps and results.
  • Ease of readability.