-
Gregory Tucker authored
- The draft `da00` has been replaced in streaming-data-types to simplify the number of in-schema tables (two `Attribute` and `Variable` have been merged) and remove redundant information (the `da00_DataArray` fields `variables` and `constants` are now lists of tables instead of holding `dataset` entry _names_ as strings). - More information is _required_ at configure-time (provided via the NeXus Structure JSON), eliminating some logic and cases in the writer module. This is to support 'Single Writer Multiple Reader' (SWMR) access to the file during writing. - Specifically, it is neccessary to know the `data_type`, `shape` of a dataset (including if it holds time-dependent data) to create its storage space in the HDF file. Additionally, it will be necessary to know which attributes _will_ be filled in at configure-time but this is not fully implemented yet. - This eliminates the possibility of 'automatic' JSON configuration, where all buffered `Variable` datasets would be recorded. - Also elimitated is waiting to identify the data type and extent of datasets. It could be possible to support delayed extent determination, but only if the number of dimensions is known at configuration-time; this may lead to larger files however since all dimensions _must_ be allowed to grow infinitely. - A new `NeXusDataset` subclass of `MultiDimDatasetBase`, `GrowthDataset`, is added to handle the case where all but the 'message/time' axis extents are known at configuration time.