DMSC Integration Testing

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

Test: nexusfiles-scipp|loki|can_compute_wavelength|beam_monitor_m4

View job log here


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

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fc230059f10>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022382.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f7f741b2c30>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022252.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f1d412e3e60>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00022112.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f5360596ed0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021972.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f383b10c2c0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021838.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f89f0da5820>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021698.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f5ae77125a0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021558.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fc052bd5f40>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021418.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fb4db4a5760>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021268.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f362c098500>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00021128.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fb51100a900>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020988.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fd13785cd40>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020708.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fb09c173da0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020568.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f98032584d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020412.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f88f53db4d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020272.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f089fdcc290>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020199.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f8ee40c4740>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020199.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fe5ebceef00>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00020111.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f21138a83e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019979.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f3ee47c01d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019802.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fcf441d8da0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019450.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fa3f9f08d40>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019450.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f4cb35053d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019370.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f5fc3086f60>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019224.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f5a02937560>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00019093.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f484aeea5a0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018953.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f8529b84b00>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018813.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fd7cb4bdee0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018673.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f96486e8500>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018329.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7ffabc126bd0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018329.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f735b18b650>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018329.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f455d47eb40>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018249.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fc2e80e08c0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00018119.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

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

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f3622584e30>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00017979.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:140: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/_provider.py:145: in __call__
    return self._func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.
E       In provider ess.reduce.nexus.workflow.to_transformation(
E           chain: ess.reduce.nexus.types.NeXusTransformationChain[ess.reduce.nexus.types.IncidentMonitor, 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[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun],
E       ) -> ess.reduce.nexus.types.NeXusTransformation[ess.reduce.nexus.types.IncidentMonitor, ess.reduce.nexus.types.SampleRun]

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fa270132bd0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00017742.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7feecd3d08f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00017654.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:115: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:547: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:351: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:256: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:768: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:81: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f29a531fc20>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00017544.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f531ac3e780>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00017394.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f30cfa757c0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00017264.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f4aec3f34a0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00017124.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f4b07fb6cc0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00016984.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7fbd18d03a70>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00016844.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f85d5397b30>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00016704.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f8832999b50>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00016564.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7feae4a71b20>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00016424.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f37d61df6e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00016284.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f60783f2f00>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00016144.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

.tox/nexusfiles-scipp-loki/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             [mm]  ()  0
* maximum_value             float64             [mm]  ()  0
* minimum_value             float64             [mm]  ()  0
* time                    datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (time)  []

, but no filter is provided.

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:308: ValueError
Full output
workflow = <sciline.pipeline.Pipeline object at 0x7f25a5f70e00>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_loki_999999_00016004.hdf')
detector_name = 'beam_monitor_m4'

    @pytest.mark.parametrize(
        "detector_name",
        [f"loki_detector_{i}" for i in range(9)] + [f"beam_monitor_m{i}" for i in range(5)],
    )
    def test_can_compute_wavelength(
        workflow: sciline.Pipeline, coda_nexus_file_path: Path, detector_name: str
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
    
        if "monitor" in detector_name:
            workflow[NeXusMonitorName[Incident]] = detector_name
>           result = workflow.compute(WavelengthMonitor[SampleRun, Incident])
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/loki/loki_reduction_test.py:45: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/pipeline.py:191: in compute
    return self.get(tp, **kwargs).compute(reporter=reporter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/task_graph.py:122: in compute
    return self._scheduler.get(self._graph, [targets], reporter=reporter)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/sciline/scheduler.py:119: in get
    return self._dask_get(dsk, list(map(_to_dask_key, keys)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/threaded.py:91: in get
    results = get_async(
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:549: in get_async
    raise_exception(exc, tb)
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:353: in reraise
    raise exc
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/local.py:258: in execute_task
    result = task(data)
             ^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/_task_spec.py:759: in __call__
    return self.func(*new_argspec)
           ^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dask/utils.py:80: in apply
    return func(*args)
           ^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/ess/reduce/nexus/workflow.py:375: in to_transformation
    t.value = _apply_time_filter(t.value['time', interval.value], time_filter)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/nexusfiles-scipp-loki/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             [mm]  ()  0...       datetime64             [ns]  (time)  []
Data:
                            float64             [mm]  (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             [mm]  ()  0
E       * maximum_value             float64             [mm]  ()  0
E       * minimum_value             float64             [mm]  ()  0
E       * time                    datetime64             [ns]  (time)  []
E       Data:
E                                   float64             [mm]  (time)  []
E       
E       , but no filter is provided.

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