DMSC Integration Testing

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

Test: nexusfiles-scipp|magic|magic_read_detector_geometry|magic_detector_b

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f6a138933e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022383.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f6a14279580>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:46: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f8f3ca17c50>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022303.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f8f3bf09580>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:46: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fb2c972e570>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022253.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7fb2c8c5d580>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:46: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f4930063e00>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022203.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f492dedbce0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:46: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f04a866e420>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022193.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f04a83fd580>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:46: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7ff89b8a86e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022113.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7ff89c2254e0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f18d9662270>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022073.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f18da011580>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f75a01659a0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022063.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f75a3125580>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f018bab4770>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022063.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f018c5c16c0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f7cbb075d00>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022043.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f7cbba454e0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f9a97a5dc10>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022043.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f9a98121260>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fe85416a060>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022043.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7fe856531120>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fbdfcd3bda0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022033.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7fbdfe0e5260>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f789fa01f10>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022023.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f78a0075260>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7ff7d29f2900>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022023.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7ff7d30c1120>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f97622a4bc0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021973.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f9762dfd1c0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f374034c470>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021909.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f3740839300>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:46: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fa044219610>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021909.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7fa044f7d1c0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7ff3963fbd40>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021899.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7ff3974151c0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f5faf512ae0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021839.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f5faff15080>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f3c92c00f80>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021699.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f3c936cd1c0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fee0a13b320>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021559.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7fee0b049080>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f0a11fd1d30>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021519.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f0a12ae91c0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f8e552c0410>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021419.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f8e56021080>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f2dce7f1af0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021269.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f2dce0791c0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fd5e6145c10>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021129.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7fd5e6d31080>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f32a7730e90>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020989.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f32a8af1080>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f0c3f8e6b70>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020909.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f0c40de91c0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f81ed54af90>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020899.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f81edd691c0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f73b9c5dca0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020899.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f73bad69080>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f8e62fffdd0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020889.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f8e63839120>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f91a610bef0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020699.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f91a6e95120>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fee8ad67dd0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020569.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7fee8ba21120>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f7c7e06a4b0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020413.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f7c7ea98fe0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fa130594ec0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020273.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7fa131a1a3e0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f2ee6154aa0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020200.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f2ee8808cc0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7feee9e8ef60>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020200.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7feeed45ccc0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fe58fb2c290>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020200.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7fe590e723e0>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f54ec4892e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020200.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f54edd72520>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError

View job log here


ValueError: Transform is time-dependent: <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0
* maximum_value             float64            [deg]  ()  0
* minimum_value             float64            [deg]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []

, but no filter is provided.
In provider ess.reduce.nexus.workflow.to_transformation(
    chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
    interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
    time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f1e6b9cd3a0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020200.hdf')
detector_name = 'magic_detector_b'
check_detector_positions_events = <function _check_detector_positions_events at 0x7f1e6d116520>

    @pytest.mark.parametrize("detector_name", DETECTOR_NAMES)
    def test_magic_read_detector_geometry(
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        detector_name: str,
        check_detector_positions_events: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        workflow[NeXusDetectorName] = detector_name
    
>       result = workflow.compute(EmptyDetector[SampleRun])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/magic/magic_load_nexus_test.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/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-magic/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-magic/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:319: in _apply_time_filter
    filtered = user_filter(transform)
               ^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

transform = <scipp.DataArray>
Dimensions: Sizes[time:0, ]
Coordinates:
* average_value             float64            [deg]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64            [deg]  (time)  []



    def reject_time_dependent_transform(
        transform: sc.DataArray,
    ) -> Never:
        """Raise a value error to forbid time-dependent transformations by default."""
>       raise ValueError(
            f"Transform is time-dependent: {transform}, but no filter is provided."
        )
E       ValueError: Transform is time-dependent: <scipp.DataArray>
E       Dimensions: Sizes[time:0, ]
E       Coordinates:
E       * average_value             float64            [deg]  ()  0
E       * maximum_value             float64            [deg]  ()  0
E       * minimum_value             float64            [deg]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64            [deg]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E           interval: ess.reduce.nexus.types.TimeInterval[ess.reduce.nexus.types.SampleRun],
E           time_filter: ess.reduce.nexus.types.TransformationTimeFilter[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[scippnexus.nxdetector.NXdetector, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-magic/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError