pyaerocom icon indicating copy to clipboard operation
pyaerocom copied to clipboard

Pyaerocom ValueError when running with numpy 2.0.0

Open thorbjoernl opened this issue 1 year ago • 2 comments

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:

  1. pip install numpy==2.0.0
  2. pytest .

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

thorbjoernl avatar Jun 17 '24 11:06 thorbjoernl

Escalated to cf-units: https://github.com/SciTools/cf-units/issues/443

heikoklein avatar Sep 10 '24 19:09 heikoklein

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.

lewisblake avatar Oct 01 '24 13:10 lewisblake

@thorbjoernl Any updates here now that cf-time is fixed?

heikoklein avatar Nov 08 '24 14:11 heikoklein

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.

thorbjoernl avatar Nov 11 '24 08:11 thorbjoernl