The main target of v2.1 is major refactoring for the new development of ExoJAX3 (#606 #607 #608) and to implement the differentiable CKD (#484).
This capability will be used to computes magnitude and/or low/mid res spectrum to calibrate high-res spectra.
New Features
-
Correlated-k distribution (CKD; beta-version), #484 #610 #614
-
FeH line list by Hargreaves et al. (2010), #603 by @YuiKasagi
-
checkpoint (memory release) for transmission reverse-mode diff #604 by @sh-tada
See #597 as direction toward ExoJAX3
Refactoring
Seprates database, opacity, rt, postproc from spec, and a script for fixing
The main change in this update is the redistribution of modules previously located in exojax.spec
into four function-specific subpackages: exojax.database
(db), exojax.opacity
(opa), exojax.rt
(art), and exojax.postproc
.
To assist with this transition, we have included a script that automatically updates your import statements from exojax.spec
to their appropriate new locations.
The script is located at exojax/scripts/fix_v2_1.py
. You will need to install libcst to run it.
pip install libcst
Please make sure to back up your original files before using the script.
Usage instructions are as follows:
python -m fix_v2_1 your_project/
OpaPremodit
,OpaDirect
,OpaModit
can be called such as
from exojax.opacity import OpaPremodit
Bug Fixes
- Reflect updates to astropy (unit "Angstrom") by @YuiKasagi #615
Removed methods
- removed
dtau_mmwl
- merged
nu2wav
andwav2nu
fromunitconvert
toutils.grids