Installation and References
last update January 19th (2025) Hajime Kawahara, updated for pyproject.toml build system
Python 3.9 or later is required
ExoJAX requires Python 3.9 or later.
Warning
For using vaex in the common API for molecular database I/O, we currently recommend using Python 3.9 or 3.10.
Linux, Windows WSL, macOS
The simplest way to install ExoJAX is from PyPI:
pip install exojax
Alternatively, clone the code from the GitHub repository and install locally:
git clone https://github.com/HajimeKawahara/exojax.git
cd exojax
pip install .
Note
This project now uses a pyproject.toml
-based build.
setup.py install
is deprecated and should not be used.
If you have an older version of ExoJAX already installed, it is recommended to uninstall it first to avoid conflicts with removed modules:
pip uninstall exojax
JAX and GPU Support
To take advantage of GPU acceleration, you need a compatible GPU and to install the appropriate jaxlib
build for your CUDA or ROCm version.
First, check your CUDA version (if using NVIDIA GPUs):
nvcc -V
Then install JAX with GPU support as described in the official JAX installation guide.
Example for CUDA 12:
pip install --upgrade "jax[cuda12]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
Example for CUDA 11:
pip install --upgrade "jax[cuda11]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
If you do not have a GPU, you can simply install the CPU version:
pip install --upgrade jax
Windows Anaconda
Not supported yet.
References
🟢 ExoJAX Paper I: Kawahara, Kawashima, Masuda, Crossfield, Pannier, van den Bekerom (2021) accepted by ApJS: arXiv:2105.14782
🟢 ExoJAX Paper II: Kawahara, Kawashima, Tada et al: arXiv:2410.06900
Many techniques/databases are used in ExoJAX.
JAX: Bradbury, J., Frostig, R., Hawkins, P., et al. 2018, JAX: composable transformations of Python+NumPy programs, JAX
NumPyro: Phan, D., Pradhan, N., & Jankowiak, M. 2019, arXiv:1912.11554
JAXopt: Blondel, M., Berthet, Q., Cuturi, M. et al. 2021 arXiv:2105.15183
Vaex: Breddels and Veljanoski (2018) arXiv:https://arxiv.org/abs/1801.02638
Algorithm 916: Zaghloul and Ali (2012) arXiv:1106.0151
ExoMol: Tennyson et al. (2016)
HITRAN/HITEMP
VALD3
VIRGA for refractive indices of condensates
PyMieScatt for Mie scattering
Flux-adding treatment by Robinson and Crisp (2018)
RADIS, see below.
Other many packages/algorithms. See arXiv:2105.14782 and a forthcoming paper (Kawahara, Kawashima et al.) for the details.