DMSC Integration Testing

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

Test: nexusfiles-scipp|freia|freia_read_choppers_to_disk_choppers|FOC-1_chopper

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7fe5f6278350>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022381.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7fe6a56ac5e0>
check_disk_chopper = <function _check_disk_chopper at 0x7fe64da91940>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:135: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:30: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7fcf98384aa0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022301.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7fd0478cc5e0>
check_disk_chopper = <function _check_disk_chopper at 0x7fcfeffc9940>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:135: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:30: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f333370e9f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022251.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f33e2bc05e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f338afc5940>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:135: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:30: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7fadcd09a600>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022211.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7fae7c5745e0>
check_disk_chopper = <function _check_disk_chopper at 0x7fae24919800>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:135: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:30: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f0687db5310>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022211.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f07371405e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f06df625940>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:135: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:30: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f73b6df18e0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022191.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f74662a45e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f740ea29800>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:135: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:30: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7fc5f7d2e450>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022111.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7fc6a1bfae80>
check_disk_chopper = <function _check_disk_chopper at 0x7fc64f9098a0>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f39f9fa03b0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022071.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f3aa942c5e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f3a51845a80>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7fb5cde84230>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022061.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7fb67cdc45e0>
check_disk_chopper = <function _check_disk_chopper at 0x7fb6251b1940>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f5ccfb03ec0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022061.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f5d7e8d85e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f5d26fcda80>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7fef61ba7260>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022041.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7ff00b5dee80>
check_disk_chopper = <function _check_disk_chopper at 0x7fefb95259e0>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f35d48462d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022041.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f362d6f5580>
check_disk_chopper = <function _check_disk_chopper at 0x7f362c08d4e0>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f71ef6ca030>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022041.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f7248d45580>
check_disk_chopper = <function _check_disk_chopper at 0x7f72478ed4e0>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f7827238e60>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022031.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f7880255580>
check_disk_chopper = <function _check_disk_chopper at 0x7f787e5554e0>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f2360c4df70>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022021.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f23b9c2d580>
check_disk_chopper = <function _check_disk_chopper at 0x7f23b85b14e0>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7ff29f0e51f0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00022021.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7ff2f8141580>
check_disk_chopper = <function _check_disk_chopper at 0x7ff2f6af5620>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f6b7c291d90>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00021971.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f6bd56f14e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f6bd3a65440>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f5cb15bac00>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00021907.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f5d60ce4540>
check_disk_chopper = <function _check_disk_chopper at 0x7f5d08bed580>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:135: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:30: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f49ce947aa0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00021907.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f4a280f14e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f4a26a2d580>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f008dbf3b60>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00021897.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f00e6a9d4e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f00e4c19440>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f3c726f9a90>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00021837.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f3ccb6514e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f3cc97d5580>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7fe280d63c20>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00021697.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7fe2d9d2d4e0>
check_disk_chopper = <function _check_disk_chopper at 0x7fe2d8269440>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f64795165d0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00021557.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f64d251d4e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f64d0ef1440>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f4fccd09310>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00021517.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f5025d094e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f50248f1580>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7fa5de02cdd0>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00021417.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7fa6377f14e0>
check_disk_chopper = <function _check_disk_chopper at 0x7fa636141440>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f06d4a2cc80>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00021267.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f072d9854e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f072bd29580>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f0ae9b5d190>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00021127.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f0b433314e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f0b414b1580>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f213dc89400>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00020987.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f216ec2d4e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f216d1b1440>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f700f949b80>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00020917.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f7040d014e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f703f479580>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7f2565e41790>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00020897.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7f25975f54e0>
check_disk_chopper = <function _check_disk_chopper at 0x7f25957ad580>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError

View job log here


scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError
Full output
chopper_name = 'FOC-1_chopper'
workflow = <sciline.pipeline.Pipeline object at 0x7ff887bb4440>
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/coda_freia_999999_00020897.hdf')
to_disk_choppers = <function _to_disk_choppers at 0x7ff8e0dd1940>
check_disk_chopper = <function _check_disk_chopper at 0x7ff8b71bcb80>

    @pytest.mark.parametrize(
        "chopper_name",
        [
            "FOC-1_chopper",
            "FOC-2_chopper",
            "FOC-3_chopper",
            "WBC-1_chopper",
            "WBC-2_chopper",
            "WBC-3_chopper",
            "WFM-1_chopper",
            "WFM-2_chopper",
        ],
    )
    def test_freia_read_choppers_to_disk_choppers(
        chopper_name: str,
        workflow: sciline.Pipeline,
        coda_nexus_file_path: Path,
        to_disk_choppers: Callable,
        check_disk_chopper: Callable,
    ) -> None:
        workflow[Filename[SampleRun]] = coda_nexus_file_path
        choppers = workflow.compute(RawChoppers[SampleRun])
    
>       disk_choppers = to_disk_choppers({chopper_name: choppers[chopper_name]})
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/nexusfiles-scipp/freia/freia_load_nexus_test.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/nexusfiles-scipp/conftest.py:89: in _to_disk_choppers
    key: DiskChopper.from_nexus(
.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:352: in from_nexus
    frequency = _get_0d_variable(chopper, 'rotation_speed_setpoint')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dg = {'beam_position': <scipp.Variable> ()    float64            [deg]  0, 'type': <DiskChopperType.single: 'Chopper type s...iable> ()    vector3              [m]  (0, 0, 0), 'transform': <scipp.Variable> ()      int64  [dimensionless]  1, ...}
name = 'rotation_speed_setpoint'

    def _get_0d_variable(
        dg: Mapping[str, sc.Variable | sc.DataArray], name: str
    ) -> sc.Variable:
        if (val := dg.get(name)) is None:
            raise ValueError(f"Chopper field '{name}' is missing")
    
        msg = (
            "Chopper field '{name}' must be a scalar variable, {got}. "
            "See the chopper user-guide for more information: "
            "https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html"
        )
    
        if isinstance(val, sc.DataArray):
            val = val.data
        if not isinstance(val, sc.Variable):
            raise TypeError(msg.format(name=name, got=f'got a {type(val)}'))
        val = val.squeeze()
        if val.ndim != 0:
>           raise sc.DimensionError(
                msg.format(name=name, got=f'got a {val.ndim}d variable')
            )
E           scipp._scipp.core.DimensionError: Chopper field 'rotation_speed_setpoint' must be a scalar variable, got a 1d variable. See the chopper user-guide for more information: https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.html

.tox/nexusfiles-scipp-freia/lib/python3.12/site-packages/scippneutron/chopper/disk_chopper.py:686: DimensionError