Page History
...
The H5M content is structured as depicted in the diagram below.
Each tree node item will be explained in the next paragraphs in this chapter.The location of the item is defined by it's address in the HDF5 file, called path. Also all available attributes are specified per item.
Anchor | ||||
---|---|---|---|---|
|
...
Group "/" (root)
The root group contains:
- attributes that identify the used H5M format.
- zero or more HDF Groups for each set of signals.
- attributes that identify the provenance of the file.
...
Name | Role | Data type | Exists? | Description | Convention / example |
name | i | utf8 | A | Name of the convention; constant | “H5M” |
description | i | utf8 | A | Description of the format; constant.: | “HDF5 MARIN Datasets File” |
version | a | utf8 | A | H5M Format version number | “0.1” |
documentation | i | utf8 | A | Where to find this convention | |
hdf5Version | i | utf8 | A | Version of HDF5 | “1.8.19” |
libraryName | i | utf8 | A | Name of the library that performed the actual writing. In case of appending signal sets only the last editor is tracked. | “pymarin”, “Marin.Experiments.IO.H5M” |
libraryVersion | i | utf8 | A | Version of this library | e.g. “7.0.1” |
applicationName | i | utf8 | NS | Name of the application that wrote this file | “SHARK”, “SHARK: some vistrail.vt” |
applicationVersion | i | utf8 | NS | Version of this application used. | “0.0.20” |
systemName | i | utf8 | O | Name of the system running the application. This not necessarely the system that performed the experiment (e.g. measurement). | “LP3138”, “MMS2” |
systemVersion | i | utf8 | O | Version or configuration of this systtem | (tbd) |
dateTimeOfCreation | i | iso_fmt | A | Date and time of the moment the file was created. | ISO 8601 “2017-09-27 T21:13:00.012345” |
userName | i | utf8 | NS | Name of user / author | “user123” |
notes | i | utf8 | NS | Any additional notes at file level. | (free text) |
writeErrors | i | utf8[] | O | Specifies any errors that occurred while writing the file.. |
Anchor | ||||
---|---|---|---|---|
|
...
The signal set group contains a set of signals that are logically a single group. Such signals share common properties like number of samples andsample rate. Which properties are common has to be determined by the consumer of the data; either a human or an application.
Name: HDF Group name of the set of signals.
Path: "/<Signal <signal set name>"
Attributes:
Name | Role | Data type | Exists? | Description | Convention / example |
type | a | utf8 | NS | type of signals in the set. Value NS maps to “General”. | “General”, “Frequency”, “Time” |
rawName | i | utf8 | O | original signal set name if this had to be renamed to be used as valid hdf5 name. | |
description | i | utf8 | NS | additional description of the set | (tbd) |
parent | s | obj_ref | O | Link to parent signal set. | (tbd) |
parentName | s | utf8 | O | For information only: the name of the parent signal set. | |
dataScale | a | float64 | A | Scale of the signal values in the set with respect to full scale | 1.0 ( at full scale) 23.456 (model scale, smaller than full scale) 0.023456 (model scale, larger than full scale) |
waterDensityFactor | a | float64 | NS | water density factor to be used for scaling data values to full scale. | 1.432 |
stepSize | i | float64 | A | if one and only one master signal for all signals and it is equidistant a value; otherwise, NaN In case of a time master this is the inverse of the sample rate. | |
dateTimeRecordingStart | a | iso_fmt | A | date and time of first sample of the time signal of measurement or simulation. | (tbd) |
dateTimeRecordingEnd | a | iso_fmt | O | date and time of last sample of the time signal of the measurement or simulation. | (tbd) |
projectNo | a | int32 | A | projectnumber | “80220” |
projectSubNo | i | int32 | NS | subnumber | “368” |
programNo | a | int32 | A | test programme number | 1 |
source | a | utf8 | A | name of the source application or facility | “SMB”, “ReFresco” |
categoryNo | a | int32 | A | Number of the test category used. | 2 |
testNo | a | int32 | A | Number of the test setup used. | 3 |
experimentNo | a | int32 | A | Number of the experiment settings used. | 4 |
measurementNo | a | int32 | A | Number of the actual measurement c.q. experiment execution | 2 |
branchNo | a | int32 | O | Number of the acquisition branch. E.g, time traces from simulations where jumps to earlier points in time are possible. | 1 |
sequenceNo | a | int32 | O | Consecutive number of the signal set wrt to other signal sets. E.g, time traces from simulations in a given branch result in consecutive sets each time the set of logged properties changes. | 13 |
modelScale | a | float64 | A | Scale of the model in this project. (Unrelated to the signal values in the set.) | 23.456 |
notes | i | utf8 | NS | Any additional information about this signal set. | (free text) |
writeErrors | i | utf8[] | O | Specifies any errors that occurred while writing the signal set (group). |
...
The signal is a dataset containing the samples of the measurement or simulation or calculation or postprocessing step. A signal maps to an experiment variable.
Name: HDF Dataset name; must be unique in the set. It is the HDF-safe name of the signal. For reference the original potentially HDF-unsafe name is provided with the data in the 'signalSource' attribute.
Path: "/<set <signal set name>/<signal name>"
Datatype: float32, float64
...