ukcp18 2.2 nc file problem for rolling window problem

15 views
Skip to first unread message

Clare Wang

unread,
Aug 18, 2021, 5:08:25 PM8/18/21
to SciTools (iris, cartopy, cf_units, etc.) - https://github.com/scitools
Hi Iris expert,

I downloaded ukcp18 2.2 climate change precipitation hourly data( see example file: http://dap.ceda.ac.uk/thredds/fileServer/badc/ukcp18/data/land-cpm/uk/2.2km/rcp85/01/pr/1hr/v20210615/pr_rcp85_land-cpm_uk_2.2km_01_1hr_19810101-19810130.nc), and I would like to do rolling window 'SUM' analysis for window size of 6, 9, 12, 24.

I have done rolling window for size 6, 9, they are all fine. However, I got error when I tried window size of  12, 

cube = iris.load_cube(infile)
rolling_cube = cube.rolling_window("time", iris.analysis.SUM, 12)

The error message is as follow. Please any one can help for pointing out what caused the problem:
djf 1981
C:\Miniforge3\envs\climatechange\lib\site-packages\iris\cube.py:4383: UserWarning: The bounds of coordinate 'time' were ignored in the rolling window operation.
  warnings.warn(
Traceback (most recent call last):
  File "C:\Users\changguiwang\source\repos\climatechange\src\rainfall_proc.py", line 109, in <module>
    main(infile)
  File "C:\Users\changguiwang\source\repos\climatechange\src\rainfall_proc.py", line 68, in main
    rolling_cube = cube.rolling_window("time", iris.analysis.SUM, 11)
  File "C:\Miniforge3\envs\climatechange\lib\site-packages\iris\cube.py", line 4442, in rolling_window
    data_result = aggregator.aggregate(
  File "C:\Miniforge3\envs\climatechange\lib\site-packages\iris\analysis\__init__.py", line 584, in aggregate
    result = self.call_func(data, axis=axis, **kwargs)
  File "C:\Miniforge3\envs\climatechange\lib\site-packages\iris\_lazy_data.py", line 33, in inner
    result = func(*args, **kwargs)
  File "C:\Miniforge3\envs\climatechange\lib\site-packages\iris\analysis\__init__.py", line 1136, in inner_stat
    dask_result = dask_stats_function(array, axis=axis, **kwargs)
  File "C:\Miniforge3\envs\climatechange\lib\site-packages\iris\analysis\__init__.py", line 1402, in _lazy_sum
    array = iris._lazy_data.as_lazy_data(array)
  File "C:\Miniforge3\envs\climatechange\lib\site-packages\iris\_lazy_data.py", line 195, in as_lazy_data
    data = da.from_array(
  File "C:\Miniforge3\envs\climatechange\lib\site-packages\dask\array\core.py", line 3169, in from_array
    chunks = normalize_chunks(
  File "C:\Miniforge3\envs\climatechange\lib\site-packages\dask\array\core.py", line 2807, in normalize_chunks
    raise ValueError(
ValueError: Empty tuples are not allowed in chunks. Express zero length dimensions with 0(s) in chunks

Clare
Many thanks

Simon Peatman

unread,
Aug 19, 2021, 4:54:23 PM8/19/21
to SciTools (iris, cartopy, cf_units, etc.) - https://github.com/scitools
Dear Clare,

I've tried this with the same file and I find it runs with no errors for window sizes of 11 (as in the traceback you pasted below) or 12.  I'm using Iris version 3.0.4 and dask version 2021.07.2.

Simon
Reply all
Reply to author
Forward
0 new messages