Skip to content

Load NXdata with auxiliary signals with different dims #304

Description

@jl-wynen

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions