Floating type structures ======================== Array data are whatever data that can be contained in a multidimensional array (also called multidimensional matrix). An HDF5 dataset is simply a multidimensional array, the values's type of elements in a dataset is the same for all elements. This type can be : * Integer * Real * Double * String * Complex Besides, in physics matrices's dimensions are often linked to physical data. For instance, the first dimension of a temporal pulse current is the time. (The time being a one dimensional array (a vector) stored in a one dimensional HDF5 dataset) To assure this association each matrix's dimension must be linked to a dimension dataset : :: data.h5/ |-- current # One dimensional real dataset parameterized by time `-- time # One dimensional real dataset, current's abscissa A second example is a current density on a surface at a given frequency, the current is a two dimensional matrix and the two dimensions are x and y that are the cartesian coordinates of a grid : :: data.h5/ |-- current # Two dimensional real datasets parameterized by x and y |-- x # First dimension : one dimensional real dataset `-- y # Second dimension : One dimensional real dataset Numeric structures of this kind (one dimensional datasets, multidimensional datasets, all manner to describing a list of numbers) are used in many cases and **can be found out everywhere** in an |namespec| file, they take the shape of HDF5 elements having an attribute named **floatingType**. The ``floatingType`` category ----------------------------- In |namespec| ``floatingType`` are always children of another objects in order to give it a meaning. However, it can happen a ``floatingType`` instance is orphan, for instance the result of a simulation can be only a time, a real number. The ``floatingType`` category contains orphan ``floatingType``. Example (see :ref:`singleReal` for ``singleReal`` definition) : :: data.h5/ |-- floatingType/ | `-- $flash_duration[@floatingType=singleReal | @label=flash duration | @physicalNature=time | @unit=second | @value=1e-9] `-- simulation/ `-- $sim1[@module=my-module | @version=1.2] |-- inputs `-- outputs with ``data.h5:/simulation/$sim1/outputs`` : +--------------------------------+ | /floatingType/$flash_duration | +--------------------------------+ .. include:: singletype.rst .. include:: vector.rst .. include:: rationalfractionfunctions.rst .. include:: dataset.rst .. include:: arrayset.rst .. include:: expression.rst