-
Notifications
You must be signed in to change notification settings - Fork 6
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
There is an issues with clisops operations in v0.16.2:
- NotImplementedError: 'item' is not yet a valid method on dask arrays in cf_convert_between_lon_frames clisops#451
- https://github.com/roocs/rooki/blob/master/notebooks/errors/cds-error-2025-09-08-cmip6-noresm2.ipynb
Fix for item is not yet a valid method on dask arrays
When subsetting CMIP6 NetCDF files with Rook, you may see errors like:
pywps.app.exceptions.ProcessError: item is not yet a valid method on dask arrays
This comes from a bug in clisops, where .item() is called on a dask-backed coordinate.
Manual Patch
Until the fix is released upstream, you can patch the installed clisops library directly:
-
Locate your
clisopsinstallation. For example, inside your Conda environment:$ conda activate rook $ python -c "import clisops, os; print(os.path.dirname(clisops.__file__))"This will print a path like:
/usr/local/anaconda/envs/rook/lib/python3.11/site-packages/clisops -
Edit the file:
clisops/utils/dataset_utils.pyAround line 824, you will see:
lon_min, lon_max = ds.coords[lon].min().item(), ds.coords[lon].max().item()
-
Replace it with a safe variant that works with dask arrays:
lon_min = float(ds.coords[lon].min().compute().values) lon_max = float(ds.coords[lon].max().compute().values)
-
Save the file and restart your Rook service.
In short
Become root:
sudo -i
Go to the conda packages:
cd /usr/local/anaconda/envs/rook/lib/python3.11/site-packages
Edit clisops module:
vim clisops/utils/dataset_utils.py
Go to line ":824":
lon_min, lon_max = ds.coords[lon].min().item(), ds.coords[lon].max().item()Replace it by:
# TODO: fix this an new clisops release
# lon_min, lon_max = ds.coords[lon].min().item(), ds.coords[lon].max().item()
# PATCH
lon_min = float(ds.coords[lon].min().compute().values)
lon_max = float(ds.coords[lon].max().compute().values)
# PATCH ENDRestart rook:
supervisorctl restart rook
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working