DMSC Integration Testing

Last updated: December 16, 2025 22:41:25

Test: nexusfiles-scipp|loki|loki_read_monitor_data|beam_monitor_0

None

None

None

None

None

None

None

None

workflow =
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/loki_999999_00009571.hdf')
monitor_name = 'beam_monitor_0'
check_monitor_data =

@pytest.mark.parametrize("monitor_name", [f"beam_monitor_{i}" for i in range(5)])
def test_loki_read_monitor_data(
workflow: sciline.Pipeline,
coda_nexus_file_path: Path,
monitor_name: str,
check_monitor_data: Callable,
) -> None:
workflow[Filename[SampleRun]] = coda_nexus_file_path
workflow[NeXusMonitorName[Incident]] = monitor_name
result = workflow.compute(RawMonitor[SampleRun, Incident])

> check_monitor_data(result)

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:109:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

da =
Dimensions: Sizes[event_time_zero:0, ]
Coordinates:
* event_time_zero datetime64 ... dims=(event: 0),
data=float32[counts],
coords={'event_time_offset':int32[ns], 'event_id':int32})



def _check_monitor_data(da: sc.DataArray) -> None:
if da.bins is not None:
assert da.dims == ("event_time_zero",)
assert "event_time_offset" in da.bins.coords
else:
assert set(da.dims) == {"time", "frame_time"}
assert "time" in da.coords
assert "frame_time" in da.coords

assert "position" in da.coords
> assert "source_position" in da.coords
E AssertionError: assert 'source_position' in \n event_time_zero: (event_time_zero: 0) datetime64 [ns] []\n position: () vector3 [m] (0, 0, -16.8)\n
E + where \n event_time_zero: (event_time_zero: 0) datetime64 [ns] []\n position: () vector3 [m] (0, 0, -16.8)\n = \nDimensions: Sizes[event_time_zero:0, ]\nCoordinates:\n* event_time_zero datetime64 [ns] (event_time_zero) []\n* position vector3 [m] () (0, 0, -16.8)\nData:\n DataArrayView (event_time_zero) binned data: dim='event', content=DataArray(\n dims=(event: 0),\n data=float32[counts],\n coords={'event_time_offset':int32[ns], 'event_id':int32})\n\n.coords

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dmsc_nightly/testing/nexusfiles/validation_fixtures.py:37: AssertionError

workflow =
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/loki_999999_00009431.hdf')
monitor_name = 'beam_monitor_0'
check_monitor_data =

@pytest.mark.parametrize("monitor_name", [f"beam_monitor_{i}" for i in range(5)])
def test_loki_read_monitor_data(
workflow: sciline.Pipeline,
coda_nexus_file_path: Path,
monitor_name: str,
check_monitor_data: Callable,
) -> None:
workflow[Filename[SampleRun]] = coda_nexus_file_path
workflow[NeXusMonitorName[Incident]] = monitor_name
result = workflow.compute(RawMonitor[SampleRun, Incident])

> check_monitor_data(result)

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:109:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

da =
Dimensions: Sizes[event_time_zero:0, ]
Coordinates:
* event_time_zero datetime64 ... dims=(event: 0),
data=float32[counts],
coords={'event_time_offset':int32[ns], 'event_id':int32})



def _check_monitor_data(da: sc.DataArray) -> None:
if da.bins is not None:
assert da.dims == ("event_time_zero",)
assert "event_time_offset" in da.bins.coords
else:
assert set(da.dims) == {"time", "frame_time"}
assert "time" in da.coords
assert "frame_time" in da.coords

assert "position" in da.coords
> assert "source_position" in da.coords
E AssertionError: assert 'source_position' in \n event_time_zero: (event_time_zero: 0) datetime64 [ns] []\n position: () vector3 [m] (0, 0, -16.8)\n
E + where \n event_time_zero: (event_time_zero: 0) datetime64 [ns] []\n position: () vector3 [m] (0, 0, -16.8)\n = \nDimensions: Sizes[event_time_zero:0, ]\nCoordinates:\n* event_time_zero datetime64 [ns] (event_time_zero) []\n* position vector3 [m] () (0, 0, -16.8)\nData:\n DataArrayView (event_time_zero) binned data: dim='event', content=DataArray(\n dims=(event: 0),\n data=float32[counts],\n coords={'event_time_offset':int32[ns], 'event_id':int32})\n\n.coords

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dmsc_nightly/testing/nexusfiles/validation_fixtures.py:37: AssertionError

workflow =
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/loki_999999_00009284.hdf')
monitor_name = 'beam_monitor_0'
check_monitor_data =

@pytest.mark.parametrize("monitor_name", [f"beam_monitor_{i}" for i in range(5)])
def test_loki_read_monitor_data(
workflow: sciline.Pipeline,
coda_nexus_file_path: Path,
monitor_name: str,
check_monitor_data: Callable,
) -> None:
workflow[Filename[SampleRun]] = coda_nexus_file_path
workflow[NeXusMonitorName[Incident]] = monitor_name
result = workflow.compute(RawMonitor[SampleRun, Incident])

> check_monitor_data(result)

tests/nexusfiles-scipp/loki/loki_load_nexus_test.py:109:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

da =
Dimensions: Sizes[event_time_zero:0, ]
Coordinates:
* event_time_zero datetime64 ... dims=(event: 0),
data=float32[counts],
coords={'event_time_offset':int32[ns], 'event_id':int32})



def _check_monitor_data(da: sc.DataArray) -> None:
if da.bins is not None:
assert da.dims == ("event_time_zero",)
assert "event_time_offset" in da.bins.coords
else:
assert set(da.dims) == {"time", "frame_time"}
assert "time" in da.coords
assert "frame_time" in da.coords

assert "position" in da.coords
> assert "source_position" in da.coords
E AssertionError: assert 'source_position' in \n event_time_zero: (event_time_zero: 0) datetime64 [ns] []\n position: () vector3 [m] (0, 0, -16.8)\n
E + where \n event_time_zero: (event_time_zero: 0) datetime64 [ns] []\n position: () vector3 [m] (0, 0, -16.8)\n = \nDimensions: Sizes[event_time_zero:0, ]\nCoordinates:\n* event_time_zero datetime64 [ns] (event_time_zero) []\n* position vector3 [m] () (0, 0, -16.8)\nData:\n DataArrayView (event_time_zero) binned data: dim='event', content=DataArray(\n dims=(event: 0),\n data=float32[counts],\n coords={'event_time_offset':int32[ns], 'event_id':int32})\n\n.coords

.tox/nexusfiles-scipp-loki/lib/python3.12/site-packages/dmsc_nightly/testing/nexusfiles/validation_fixtures.py:37: AssertionError

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None