h5cube File Specifications¶
This page collates all existing versions of the \(\small \textbf{h5cube}\) file specification for convenient access. The versioning scheme used here follows the spirit of Semantic Versioning but in a revised syntax:
- Specification version numbers are of the form \(\mtt{vx.y rev#}\), where \(\mtt x\) and \(\mtt{y}\) indicate major and minor categories of changes, and \(\mtt{#}\) is a revision number.
- An increment in the revision number indicates minor editorial fix(es), such as correcting typos or introducing clarification(s) that do not affect the semantic content of the specification.
- An increment in the minor version level indicates that new field(s) or other semantic content have been added to the specification, but existing fields/content are unchanged.
- An increment in the major version level indicates that existing field(s)/content have been removed/changed. New field(s)/content may also have been added.
Based upon the above, it is expected that applications built against the specific version \(\mtt{vX.Y}\) should be compatible with the versions \(\mtt{vx.y}\) where \(x = X\) and \(y \geq Y\). Applications may or may not be compatible with versions \(\mtt x > \mtt X\), depending on the particular changes introduced with that major version increment.
Syntax and Conventions¶
The HDF5 dataset names defined by these specifications are formatted in
fixed-font, with surrounding square brackets (e.g., [GEOM]
). This
distinguishes them from the fields in the \(\small \textbf{CUBE}\)
file specification, which use curly braces
(e.g., {GEOM}
). All of the dataset names are strings, and thus
to access the [GEOM]
dataset in Python, use code like the following:
>>> import h5py as h5
>>> hf = h5.File('file.h5cube')
>>> hf['GEOM'].value
array([ ... ])
Todo
- Description of the syntax/formatting of the dataset descriptions residing in the subpages here. In particular, a brief overview of the HDF5 datatypes and the ‘lumped’ approach taken in the spec layouts. (Fig. 6-4, Tbl. 6-1).
- Python tuple syntax for dataset dimensions.
- The data type provided on the first line under a given dataset name is the data type it must be present as in an \(\small \textbf{h5cube}\) file.
- The formula for generating the non-logscale data from the [SIGNS] and [LOGDATA].