DMSC Integration Testing

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

Test: nexusfiles-scipp|bifrost|can_compute_wavelength|monitor_overlap

View job log here


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

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f399039d3d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00022378.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fb61846e120>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00022248.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fc9900a01a0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00022118.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7efe940bbd70>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00021978.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f64a1c5f860>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00021834.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f0b2c50e150>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00021704.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fa473909400>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00021554.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f5a99e212b0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00021414.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f40183d0b60>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00021274.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f07380b6600>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00021124.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f36e910ac90>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00020984.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7faf20c61040>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00020704.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f6b7cb664e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00020564.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f5c143ebcb0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00020418.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fa1b42c6e70>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00020268.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f7ae90aa150>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00020195.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fed681bbe30>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00020195.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fd0441b8f50>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00020118.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f5e59024320>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00019975.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f00adee55e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00019808.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f6674cb9910>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00019446.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f5fac3cc320>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00019446.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fc00507c3e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00019376.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f0f24290470>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00019230.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f175ed05b50>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00019099.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fd7ecf68830>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00018959.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fc3d4962c00>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00018819.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f7c0c155550>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00018679.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f04119290d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00018325.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f04c120ef00>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00018325.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fcd820b3860>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00018325.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f3c03783bc0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00018255.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f0808329ca0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00018115.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f1b76c0ec30>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00017985.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun],
E           ) -> ess.reduce.nexus.types.NeXusData[ess.spectroscopy.types.OverlapMonitor, ess.reduce.nexus.types.SampleRun]

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

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f9404dd9040>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00017748.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f29cdcf12e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00017660.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fb5e1d508f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00017550.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f3d004da000>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00017400.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f66ce0e9c40>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00017260.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f34b063dd30>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00017120.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f62141b5eb0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00016980.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f0bb87ec6e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00016850.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f8baee7d910>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00016700.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fecb5884530>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00016560.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f49540d56a0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00016420.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f400eaaab10>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00016280.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fec1273e0f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00016140.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError

View job log here


KeyError: 'frame_total'

.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fba5b68b2c0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_bifrost_999999_00016000.hdf')
monitor_type = ess.spectroscopy.types.OverlapMonitor

    @pytest.mark.parametrize(
        "monitor_type",
        [
            ElasticMonitor,
            NormalizationMonitor,
            PSCMonitor,
            OverlapMonitor,
        ],
        ids=["elastic", "normalization", "psc", "overlap"],
    )
    def test_can_compute_wavelength__monitor_(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, monitor_type: type
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[LookupTableFilename] = lookup_table_simulation()
>       result = workflow.compute(WavelengthMonitor[SampleRun, monitor_type])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/bifrost/bifrost_reduction_test.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/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-bifrost/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:279: in load_nexus_data
    nexus.load_data(
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/ess/reduce/nexus/_nexus_loader.py:577: in load_data
    return data[sel]
           ^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:383: in __getitem__
    dg = self._nexus.read_children(sel)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:353: in read_children
    return super().read_children(sel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/lib/python3.12/site-packages/scippnexus/base.py:96: in read_children
    name: self.index_child(child, sel)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-bifrost/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-bifrost/lib/python3.12/site-packages/scippnexus/_cache.py:56: in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    @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-bifrost/lib/python3.12/site-packages/scippnexus/nxdata.py:328: KeyError