DMSC Integration Testing

Last updated: September 25, 2026 08:02:48

Test: nexusfiles-scipp|loki|loki_read_monitor_data|beam_monitor_m0

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 0x7fc238427cb0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022382.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7fc238280d10>

    @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 0x7f7fa0206030>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022252.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7f7fa36742c0>

    @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 0x7f1d40b9dca0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022112.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7f1d40bb2ea0>

    @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 0x7f5372288b90>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021972.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7f53724adcd0>

    @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 0x7f383b85bc80>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021838.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7f383bba5340>

    @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 0x7f89f0da9160>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021698.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7f89f15c0530>

    @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 0x7f5aa71e9f10>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021558.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7f5ae6e28380>

    @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 0x7fc0534b3a70>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021418.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7fc053474470>

    @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 0x7fb4db36c2f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021268.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7fb4dabd4d10>

    @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 0x7f3645fa9d60>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021128.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7f364600d400>

    @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 0x7fb5108ce5a0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020988.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7fb510fc3bc0>

    @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 0x7fd1376b53d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020708.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7fd137809940>

    @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 0x7fb09f2800b0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020568.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7fb09fa17c20>

    @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 0x7f9803173830>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020412.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7f980280a210>

    @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 0x7f88f4d838f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020272.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7f88f52ddcd0>

    @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 0x7f089fed1310>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020199.hdf')
monitor_name = 'beam_monitor_m0'
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 0x7f089fe59d00>

    @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 0x7f8efcb54dd0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020199.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7f8f02405300>

    @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 0x7f8efd2133b0>

    @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 0x7fe5ec307800>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020111.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7fe5f0e2d300>

    @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 0x7fe5eb7cd010>

    @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 0x7f21135286b0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019979.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7f2118431300>

    @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 0x7f2112c4be90>

    @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 0x7f3ee48cddc0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019802.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7f3eea031300>

    @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 0x7f3ee4a62180>

    @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 0x7fcf446df920>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019450.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7fcf4911d300>

    @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 0x7fcf4404ff80>

    @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 0x7fa3f464b800>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019450.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7fa3f9d7d300>

    @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 0x7fa3f4dceae0>

    @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 0x7f4cb41944d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019370.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7f4cb911d300>

    @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 0x7f4cb46cc470>

    @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 0x7f5fc00ef050>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019224.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7f5fc86f1300>

    @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 0x7f5fc3ab9b80>

    @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 0x7f59fc1cebd0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019093.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7f5a0802d300>

    @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 0x7f5a03073f80>

    @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 0x7f484422b320>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018953.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7f4850431300>

    @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 0x7f484b65f620>

    @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 0x7f852bc80fb0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018813.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7f8530d1d300>

    @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 0x7f852c2ca7b0>

    @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 0x7fd7cb3ca660>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018673.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7fd7d045d300>

    @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 0x7fd7bd66dee0>

    @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 0x7f9648cbe7e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018329.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7f964d86d300>

    @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 0x7f9648dc3230>

    @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 0x7ffadf0c0980>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018329.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7ffae3e69300>

    @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 0x7ffadf303860>

    @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 0x7f735b8869f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018329.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7f7360919300>

    @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 0x7f735b824080>

    @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 0x7f4569e90950>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018249.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7f456de31300>

    @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 0x7f4568d99c40>

    @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 0x7fc2f0180c20>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018119.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7fc2f8979300>

    @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 0x7fc2f38ebef0>

    @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 0x7f3620086f60>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00017979.hdf')
monitor_name = 'beam_monitor_m0'
check_monitor_data = <function _check_monitor_data at 0x7f3627031300>

    @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 0x7f36220ddaf0>

    @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'

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

    @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:119: 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/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 0x7fa2729d5010>

    @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'

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

View job log here


KeyError: 'frame_total'

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

    @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:119: 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/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 0x7feeb450f5c0>

    @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'

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

View job log here


KeyError: 'frame_total'

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

    @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:119: 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:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.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 0x7f29c60f6120>

    @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'

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

View job log here


KeyError: 'frame_total'

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

    @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:119: 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:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.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 0x7f531050c650>

    @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'

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

View job log here


KeyError: 'frame_total'

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

    @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:119: 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:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.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 0x7f30cfc12360>

    @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'

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

View job log here


KeyError: 'frame_total'

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

    @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:119: 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:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.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 0x7f4aec473e60>

    @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'

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

View job log here


KeyError: 'frame_total'

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

    @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:119: 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:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.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 0x7f4b2222e9c0>

    @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'

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

View job log here


KeyError: 'frame_total'

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

    @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:119: 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:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.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 0x7fbd3271ed50>

    @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'

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

View job log here


KeyError: 'frame_total'

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

    @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:119: 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:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.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 0x7f85b7a87fb0>

    @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'

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

View job log here


KeyError: 'frame_total'

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

    @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:119: 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:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.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 0x7f8842023f50>

    @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'

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

View job log here


KeyError: 'frame_total'

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

    @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:119: 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:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.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 0x7feaf6723fb0>

    @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'

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

View job log here


KeyError: 'frame_total'

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

    @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:119: 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:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.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 0x7f37d5c67d40>

    @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'

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

View job log here


KeyError: 'frame_total'

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

    @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:119: 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:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.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 0x7f607b27a420>

    @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'

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

View job log here


KeyError: 'frame_total'

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

    @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:119: 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:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.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 0x7f25bb154320>

    @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'

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