DMSC Integration Testing

Last updated: September 25, 2026 08:04:50

Test: nexusfiles-scipp|loki|loki_read_monitor_data|beam_monitor_m1

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fc23833d9d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022382.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7fc23f009620>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:107: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7fc233e8a180>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f51b258cec0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022302.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f51bdac14e0>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:107: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f51b21ef230>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f7fa35fcd10>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022252.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f7fa71994e0>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:107: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f7fa02392b0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f413b3be8d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022212.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f413f0594e0>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:107: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f4138097b60>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f14401d35f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022202.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f14473c5620>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:107: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f144021ac00>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f340e5045c0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022192.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f3419279620>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:107: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f3415855e50>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f1d40d571d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022112.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f1d4471d6c0>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f1d40d6dac0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f82402ab560>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022072.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f8243d35760>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f823fb70200>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fbeb01cc620>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022062.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7fbefcaed620>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7fbef853f4a0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f97185201a0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022062.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f971ba39760>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f97176d12e0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f1862d6c1d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022042.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f1867215580>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f1862d87440>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f46a69d6750>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022042.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f46aab85300>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f46a6a1a1e0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f149c8224b0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022042.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f14a06e9300>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f149c719a00>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f34541b52b0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022032.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f3457f911c0>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f3453c03860>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f853d8a0f50>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022022.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f8541785300>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f853e1c1880>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7ff23c3381d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022022.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7ff23fb6d300>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7ff23c29cb90>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f53725338f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021972.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f5375f4d260>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f5372a33dd0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f83c5ecc2c0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021908.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f83ca221120>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:107: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f83c5d2df70>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fe85ad6f890>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021908.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7fe85f081260>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7fe85ac4fb00>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f8939ed4560>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021898.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f893e021260>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f893a04c9e0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f383affb890>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021838.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f383f259120>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f383aff3320>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f89f15aa180>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021698.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f89f4e79260>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f89f0eb48f0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f5ae6dcb5c0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021558.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f5aeae75120>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f5ae6fd33b0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f1b65b00770>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021518.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f1b69115120>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f1b65213e30>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fc05329f020>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021418.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7fc056ca9260>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7fc052cd6e70>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fb48c084c50>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021268.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7fb4de97d120>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7fb4db31acc0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f3646752300>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021128.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f3649ff1260>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f3645f47f20>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fb51063d970>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020988.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7fb514515260>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7fb510fd7f50>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f581dbcf170>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020918.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f5821609120>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f581d606810>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f5569367c20>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020898.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f556d00d260>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f55695ab950>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f7a84417650>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020898.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f7a87375120>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f7a83fd54c0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f2883eae240>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020898.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f2888123380>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f2883fc0a10>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fd136f445f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020708.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7fd13b12f4c0>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7fd1371cabd0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fb09f9d9ac0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020568.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7fb0a37b74c0>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7fb09f28a390>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f15491cf7a0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020558.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f154ce4f4c0>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f15491fa5a0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f98029227e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020412.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f9806dbf4c0>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f97ec134d10>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f88f4c3de50>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020272.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f88f77f13a0>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f88f552bfb0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f26482ee810>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020199.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f26796f1300>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f2674452f60>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f089fe59010>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020199.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f08a5511300>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f08a04403b0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fc54cec9460>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020199.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7fc54f1dd3a0>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7fc54cea9700>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fe246e6f6b0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020199.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7fe249625440>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7fe24721c8f0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'
In provider ess.reduce.nexus.workflow.load_nexus_data(
    location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f13b6325b20>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020199.hdf')
monitor_name = 'beam_monitor_m1'
check_monitor_data = <function _check_monitor_data at 0x7f13b8f153a0>

    @pytest.mark.parametrize("monitor_name", [f"beam_monitor_m{i}" for i in range(5)])
    def test_loki_read_monitor_data(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        monitor_name: str,
        check_monitor_data: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusMonitorName[Incident]] = monitor_name
>       result = workflow.compute(RawMonitor[SampleRun, Incident])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:347: in index_child
    tuple(self.sizes), child.dims, sel, bin_edge_dim=self._bin_edge_dim(child)
          ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ess.reduce.nexus.workflow._NXdataWithoutAuxSignals object at 0x7f13b6ab7ad0>

    @cached_property
    def sizes(self) -> dict[str, int]:
        if not self._valid:
            return super().sizes
        sizes = dict(self._signal.sizes)
        for name in self._aux_signals:
>           sizes.update(self._children[name].sizes)
                         ^^^^^^^^^^^^^^^^^^^^
E           KeyError: 'frame_total'
E           In provider ess.reduce.nexus.workflow.load_nexus_data(
E               location: ess.reduce.nexus.types.NeXusDataLocationSpec[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError