-
Notifications
You must be signed in to change notification settings - Fork 301
Open
Milestone
Description
π Bug Report
Computing a Delayed object from a collaped cube with converted units fails.
How To Reproduce
import iris.analysis
from iris.coords import DimCoord
from iris.cube import Cube
import dask.array as da
import numpy as np
import dask
x_coord = DimCoord(np.arange(10), var_name="x")
cube = Cube(da.arange(10), units="m", dim_coords_and_dims=[(x_coord, 0)])
cube = cube.collapsed("x", iris.analysis.MIN)
cube.convert_units("km")
delayed = iris.save(cube, "test.nc", compute=False)
dask.compute(delayed)results in
Traceback (most recent call last):
File "/home/b/b309141/scripts/iris/convert_units_bug.py", line 15, in <module>
dask.compute(delayed)
~~~~~~~~~~~~^^^^^^^^^
File "/home/b/b309141/micromamba/envs/esm/lib/python3.13/site-packages/dask/base.py", line 685, in compute
results = schedule(expr, keys, **kwargs)
File "/home/b/b309141/micromamba/envs/esm/lib/python3.13/site-packages/dask/array/core.py", line 4815, in load_store_chunk
if x is not None and x.size != 0:
^^^^^^
AttributeError: 'float' object has no attribute 'size'Omitting convert_units does not give the error. It also does not appear when simply calling cube.data instead of dask.compute(iris.save(...)).
Expected behaviour
No error.
Environment
- OS & Version: Linux
- Iris Version: 3.14.1
Reactions are currently unavailable
Metadata
Metadata
Assignees
Type
Projects
Status
No status