NXdata can contain auxiliary signals in addition to the regular signal. When they are present, we load the whole NXdata group as a Dataset. But the loader requires that all signals and coords share dimensions with the main signal. This is not the case for monitors in ESS files. They now contain a frame_total aux signal that has a different dimension.
There are a couple of options for loading this:
- Extend the loader to build a dataset with the proper dims
- Preserves current interface.
- Potentially tricky to implement.
- Wastes loading the aux signal if unused in a workflow.
- Always quietly fall back to loading as a data group
- This requires updates to the generic nexus workflow to extract and assemble the signal and aux signals.
- Simplest fix.
- Wastes loading the aux signal if unused in a workflow.
- Drop aux signals.
- This means that
group[()] loads the familiar data array.
- It avoids loading data that will be discarded immediately after in reduction workflows.
- I don't think we use aux signals anywhere, so this wouldn't actually break anything.
- But it becomes more difficult to access aux signals in the future.
- Impl: Detect signal and its coords; drop everything else.
NXdata can contain auxiliary signals in addition to the regular signal. When they are present, we load the whole NXdata group as a Dataset. But the loader requires that all signals and coords share dimensions with the main signal. This is not the case for monitors in ESS files. They now contain a
frame_totalaux signal that has a different dimension.There are a couple of options for loading this:
group[()]loads the familiar data array.