DMSC Integration Testing

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

Test: nexusfiles-scipp|magic|magic_read_detector_geometry|magic_detector_a

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 0x7f6a1413c650>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022383.hdf')
detector_name = 'magic_detector_a'
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 0x7f8f3ca17bc0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022303.hdf')
detector_name = 'magic_detector_a'
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 0x7fb2c9731670>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022253.hdf')
detector_name = 'magic_detector_a'
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 0x7f492d6a7d10>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022203.hdf')
detector_name = 'magic_detector_a'
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 0x7f04a83c85c0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022193.hdf')
detector_name = 'magic_detector_a'
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 0x7ff898278800>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022113.hdf')
detector_name = 'magic_detector_a'
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 0x7f18d9890a40>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022073.hdf')
detector_name = 'magic_detector_a'
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 0x7f75a0197fe0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022063.hdf')
detector_name = 'magic_detector_a'
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 0x7f01880814c0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022063.hdf')
detector_name = 'magic_detector_a'
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 0x7f7cb8281280>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022043.hdf')
detector_name = 'magic_detector_a'
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 0x7f9a97cffdd0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022043.hdf')
detector_name = 'magic_detector_a'
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 0x7fe855e3b590>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022043.hdf')
detector_name = 'magic_detector_a'
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 0x7fbdfcf2ffb0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022033.hdf')
detector_name = 'magic_detector_a'
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 0x7f78f80ee0f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022023.hdf')
detector_name = 'magic_detector_a'
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 0x7ff7d02e6780>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00022023.hdf')
detector_name = 'magic_detector_a'
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 0x7f9762581e80>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021973.hdf')
detector_name = 'magic_detector_a'
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 0x7f3740dc7620>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021909.hdf')
detector_name = 'magic_detector_a'
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 0x7fa04448efc0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021909.hdf')
detector_name = 'magic_detector_a'
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 0x7ff39653f350>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021899.hdf')
detector_name = 'magic_detector_a'
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 0x7f5fa43308c0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021839.hdf')
detector_name = 'magic_detector_a'
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 0x7f3c92d732f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021699.hdf')
detector_name = 'magic_detector_a'
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 0x7fee0a2dd250>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021559.hdf')
detector_name = 'magic_detector_a'
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 0x7f0a101afce0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021519.hdf')
detector_name = 'magic_detector_a'
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 0x7f8e500903b0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021419.hdf')
detector_name = 'magic_detector_a'
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 0x7f2dcd8b4170>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021269.hdf')
detector_name = 'magic_detector_a'
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 0x7fd5e6413290>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00021129.hdf')
detector_name = 'magic_detector_a'
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 0x7f32a7a463c0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020989.hdf')
detector_name = 'magic_detector_a'
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 0x7f0c409089e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020909.hdf')
detector_name = 'magic_detector_a'
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 0x7f81ed467860>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020899.hdf')
detector_name = 'magic_detector_a'
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 0x7f73b81eb110>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020899.hdf')
detector_name = 'magic_detector_a'
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 0x7f8e63e932f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020889.hdf')
detector_name = 'magic_detector_a'
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 0x7f91a68d1e50>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020699.hdf')
detector_name = 'magic_detector_a'
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 0x7fee8b019d00>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020569.hdf')
detector_name = 'magic_detector_a'
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 0x7f7c7405d250>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020413.hdf')
detector_name = 'magic_detector_a'
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 0x7fa12c1fb740>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020273.hdf')
detector_name = 'magic_detector_a'
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 0x7f2ee5561850>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020200.hdf')
detector_name = 'magic_detector_a'
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 0x7feee80402f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020200.hdf')
detector_name = 'magic_detector_a'
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 0x7fe58f759d30>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020200.hdf')
detector_name = 'magic_detector_a'
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 0x7f54ec40bce0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020200.hdf')
detector_name = 'magic_detector_a'
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 0x7f1e6b8ff020>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_magic_999999_00020200.hdf')
detector_name = 'magic_detector_a'
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