Write QDataSets that vary over at most 2 independent variables as a Das2 stream. Since Das2 streams can have at most 2 independent variables, higher dimensional (not necessarily higher rank) QDataSets can't be written using this code. Streams that can be written have the following plane structure X Y [Y Y Y Y ... ] X YScan [YScan YScan YScan ... ] X Y Z [Z Z Z Z ... ] All binary output is streamed in machine-native order. Since datasets written on one architecture are most likely to be read on the same architecture this choice causes the least amount of byte swapping. This is a direct seralization of QDataSet and does not require any legacy das2 dataset classes such as VectorDataset or TableDataset.
Determine the name of the das2 axis on which values from a dataset would typically be plotted. This is a duck-typing check. Which looks at the number of dependencies and planes in a dataset. If the dataset has a PLANE_0 property, the axis of the PLANE_0 values is returned instead of the axis of the primary dataset. The output of this function is an educated guess since coordinates are not denoted as separate from data values in QDataSets or CDFs.