Pyaerocom ValueError when running with numpy 2.0.0
Describe the bug Please provide a clear and concise description of what the bug is.
- Pyaerocom version: 0.20.dev1
- Computing platform: PPI
- Configuration file (if applicable): NA
- Error message (if applicable): NA
To Reproduce Steps to reproduce the behavior:
pip install numpy==2.0.0pytest .
Expected behavior No error should occur
Screenshots
ImportError while loading conftest '/lustre/storeB/users/thlun8736/python/pyaerocom/tests/conftest.py'.
tests/conftest.py:6: in <module>
from pyaerocom import const
pyaerocom/__init__.py:9: in <module>
from .config import Config
pyaerocom/config.py:19: in <module>
from pyaerocom.grid_io import GridIO
pyaerocom/grid_io.py:2: in <module>
from pyaerocom.time_config import TS_TYPES
pyaerocom/time_config.py:7: in <module>
from iris import coord_categorisation
venv/lib/python3.11/site-packages/iris/coord_categorisation.py:23: in <module>
import iris.coords
venv/lib/python3.11/site-packages/iris/coords.py:23: in <module>
from iris.common import (
venv/lib/python3.11/site-packages/iris/common/__init__.py:9: in <module>
from .mixin import *
venv/lib/python3.11/site-packages/iris/common/mixin.py:10: in <module>
import cf_units
venv/lib/python3.11/site-packages/cf_units/__init__.py:23: in <module>
from cf_units import _udunits2 as _ud
cf_units/_udunits2.pyx:1: in init cf_units._udunits2
???
E ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
Additional context
- https://github.com/SciTools/iris/issues/6043
Escalated to cf-units: https://github.com/SciTools/cf-units/issues/443
They have merged a fix for cf-units, but need to release (latest from April 17, 2023). On the iris side, this fix will not be integrated until end of October or early November, so pushing until the November release until we get more information.
@thorbjoernl Any updates here now that cf-time is fixed?
In principle it works fine and tests pass: https://github.com/metno/pyaerocom/pull/1396
However so far it is using a release candidate on the scitools-iris side, and needs some cleanup to not use git version of pyaro. I was planning to revisit it when a 3.11.0 releases fully.