HajimeKawahara / exojax

🐈 Automatic differentiable spectrum modeling of exoplanets/brown dwarfs using JAX, compatible with NumPyro and JAXopt
http://secondearths.sakura.ne.jp/exojax/
MIT License
45 stars 14 forks source link

support for numpy 2 #503

Open HajimeKawahara opened 1 month ago

HajimeKawahara commented 1 month ago

To support numpy 2, at least, we need to modify radis?

The following bug was fixed when using numpy 1.26 instead of numpy 2.0.1

shirochan:~/exojax/tests/unittests/spec/api(radis0.15)>python3.11 molinfo_test.py 
An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.
Traceback (most recent call last):
  File "/home/kawahara/exojax/tests/unittests/spec/api/molinfo_test.py", line 2, in <module>
    from exojax.spec.molinfo import molmass_isotope
  File "/home/kawahara/exojax/src/exojax/spec/molinfo.py", line 2, in <module>
    from exojax.utils.isotopes import molmass_hitran
  File "/home/kawahara/exojax/src/exojax/utils/isotopes.py", line 20, in <module>
    from exojax.utils.molname import exact_molname_exomol_to_simple_molname
  File "/home/kawahara/exojax/src/exojax/utils/molname.py", line 13, in <module>
    from radis.db.classes import get_molecule
  File "/home/kawahara/anaconda3/envs/myenv3_11/lib/python3.11/site-packages/radis-0.15-py3.11.egg/radis/__init__.py", line 220, in <module>
    from . import api, db, io, lbl, los, misc, phys, spectrum, tools
  File "/home/kawahara/anaconda3/envs/myenv3_11/lib/python3.11/site-packages/radis-0.15-py3.11.egg/radis/api/__init__.py", line 8, in <module>
    from .cdsdapi import cdsd2df
  File "/home/kawahara/anaconda3/envs/myenv3_11/lib/python3.11/site-packages/radis-0.15-py3.11.egg/radis/api/cdsdapi.py", line 28, in <module>
    from .cache_files import load_h5_cache_file, save_to_hdf
  File "/home/kawahara/anaconda3/envs/myenv3_11/lib/python3.11/site-packages/radis-0.15-py3.11.egg/radis/api/cache_files.py", line 40, in <module>
    from .hdf5 import DataFileManager
  File "/home/kawahara/anaconda3/envs/myenv3_11/lib/python3.11/site-packages/radis-0.15-py3.11.egg/radis/api/hdf5.py", line 14, in <module>
    from tables.exceptions import NoSuchNodeError
  File "/home/kawahara/anaconda3/envs/myenv3_11/lib/python3.11/site-packages/tables-3.9.2-py3.11-linux-x86_64.egg/tables/__init__.py", line 44, in <module>
    from .utilsextension import get_hdf5_version as _get_hdf5_version
  File "tables/utilsextension.pyx", line 1, in init tables.utilsextension
ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
HajimeKawahara commented 3 weeks ago

https://github.com/radis/radis/issues/686

minouHub commented 3 weeks ago

Hey, Indeed, we are working on it in https://github.com/radis/radis/issues/686 (issue) and https://github.com/radis/radis/pull/688 (PR) For the moment, I would restrict numpy to < 2.0