Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.5 #481

Merged
merged 505 commits into from
Apr 26, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
505 commits
Select commit Hold shift + click to select a range
480c16d
diameter as GeoMean
HajimeKawahara Nov 29, 2023
aece07e
mg
HajimeKawahara Nov 29, 2023
65429ec
temp
HajimeKawahara Nov 30, 2023
029cc9d
beta
HajimeKawahara Nov 30, 2023
3bc6df6
Merge https://github.com/HajimeKawahara/exojax into mieclouds
HajimeKawahara Nov 30, 2023
a0152f5
Merge branch 'mieclouds' of https://github.com/HajimeKawahara/exojax …
HajimeKawahara Nov 30, 2023
b34cf74
mieparams
HajimeKawahara Nov 30, 2023
1e5f384
plotting
HajimeKawahara Dec 1, 2023
f3f37af
temp
HajimeKawahara Dec 1, 2023
eae06ee
Heng's approx just 4 fun
HajimeKawahara Dec 1, 2023
09b8f13
test data for pardb
HajimeKawahara Dec 2, 2023
d9f0994
no use of pickle...
HajimeKawahara Dec 2, 2023
4f29424
start from refrind
HajimeKawahara Dec 2, 2023
fe7470f
miegrid test
HajimeKawahara Dec 2, 2023
3b9bb27
removed all of the pickle relationals except for vald
HajimeKawahara Dec 2, 2023
1a53766
removed generate_mdb
HajimeKawahara Dec 2, 2023
20475fb
comments
HajimeKawahara Dec 2, 2023
3b15e7c
Merge pull request #445 from HajimeKawahara/refact_testdata
HajimeKawahara Dec 2, 2023
c28f22a
Merge branch 'develop' of https://github.com/HajimeKawahara/exojax in…
HajimeKawahara Dec 2, 2023
38169dd
test pbd added
HajimeKawahara Dec 5, 2023
485a9e5
nurange for miegrid etc
HajimeKawahara Dec 5, 2023
9a11fbb
temp
HajimeKawahara Dec 6, 2023
9c93438
vmap...
HajimeKawahara Dec 6, 2023
40952bc
mieparams vector done
HajimeKawahara Dec 6, 2023
9b714fc
anyway vector and matrix for mie params implemented
HajimeKawahara Dec 7, 2023
4788f0e
refactoring
HajimeKawahara Dec 7, 2023
79977b7
notebook update
HajimeKawahara Dec 7, 2023
cae5621
notebook update
HajimeKawahara Dec 8, 2023
c6179b1
slightcom
HajimeKawahara Dec 9, 2023
f78012d
sigma not beta...
HajimeKawahara Dec 9, 2023
88f96dd
opacity_lines to _xs in et_started
HajimeKawahara Dec 13, 2023
5227f51
temp
HajimeKawahara Dec 14, 2023
a00cfa7
bugfix for non-constant gravity
HajimeKawahara Dec 16, 2023
551d366
simple analytic solution (isoT)
HajimeKawahara Dec 16, 2023
25379fa
dtau
HajimeKawahara Dec 16, 2023
ec4a4af
Merge pull request #447 from HajimeKawahara/bugfix_ncgrav
HajimeKawahara Dec 18, 2023
09da9c1
w -> beta_scat
HajimeKawahara Dec 18, 2023
fb22207
test
HajimeKawahara Dec 18, 2023
a786ba7
refelect
HajimeKawahara Dec 19, 2023
26051d1
emis/reflection by Jupiter
HajimeKawahara Dec 19, 2023
07d0221
comparison scat/
HajimeKawahara Dec 19, 2023
65be4e2
found descrepancy between fa and lart
HajimeKawahara Dec 24, 2023
e52be11
in some case fa and lart become inconsistent
HajimeKawahara Dec 24, 2023
d5d82ee
i do not know why
HajimeKawahara Dec 31, 2023
988c148
JupiSpec as an example
HajimeKawahara Jan 1, 2024
562fa0b
solar vs JUPITER
HajimeKawahara Jan 1, 2024
6a524cd
Jupiter temperature
HajimeKawahara Jan 2, 2024
9fc4f71
added telluric example
HajimeKawahara Jan 6, 2024
5057ddd
separates telluric from mieclouds
HajimeKawahara Jan 6, 2024
6b9dc42
Fit telluric
HajimeKawahara Jan 7, 2024
57ba2b5
0-th order completed
HajimeKawahara Jan 7, 2024
8ee4ca9
test made
HajimeKawahara Jan 7, 2024
d04059c
median sbtracted
HajimeKawahara Jan 7, 2024
315f04e
comments on the notebook
HajimeKawahara Jan 7, 2024
2a4c4a4
doc complete
HajimeKawahara Jan 7, 2024
e8fd06b
Merge pull request #450 from HajimeKawahara/telfit
HajimeKawahara Jan 7, 2024
d5797cf
pull develop
HajimeKawahara Jan 7, 2024
d67d9ba
implemented
HajimeKawahara Jan 7, 2024
27b049f
Merge pull request #451 from HajimeKawahara/inconsisntent_nu_error
HajimeKawahara Jan 7, 2024
2d86e9a
Merge branch 'develop' of https://github.com/HajimeKawahara/exojax in…
HajimeKawahara Jan 7, 2024
6a91319
telluric imported
HajimeKawahara Jan 7, 2024
6f5b4ff
changed the wav range for HITEMP(THEORETS)
HajimeKawahara Jan 8, 2024
611e4f2
found optgrid issue
HajimeKawahara Jan 10, 2024
f7f73cd
optelower for HITEMP
HajimeKawahara Jan 10, 2024
bcbd006
Merge pull request #454 from HajimeKawahara/optgrid_hitemp
HajimeKawahara Jan 10, 2024
03225e5
merged
HajimeKawahara Jan 10, 2024
bd7c6d7
temp
HajimeKawahara Jan 10, 2024
4b53a03
elower to El
HajimeKawahara Jan 10, 2024
c184a32
Merge pull request #455 from HajimeKawahara/hitemp_elower_max
HajimeKawahara Jan 10, 2024
e204afc
Merge branch 'develop' of https://github.com/HajimeKawahara/exojax in…
HajimeKawahara Jan 10, 2024
7800b9e
temp
HajimeKawahara Jan 10, 2024
b12c8c5
make a sample
HajimeKawahara Jan 10, 2024
082ca13
rethinking trange as dE
HajimeKawahara Jan 10, 2024
68d6657
recovered gen_elower_grid_trange.py
HajimeKawahara Jan 10, 2024
9aa7539
added script for the comparison with petitRADTRANS
ykawashima Jan 11, 2024
1e37fc8
added scripts for the comparison with petitRADTRANS
ykawashima Jan 11, 2024
b3e0e3c
removed comparison_petitRADTRANS.py
ykawashima Jan 11, 2024
7468045
Merge pull request #457 from ykawashima/comp_petit
HajimeKawahara Jan 11, 2024
6953de0
temp
HajimeKawahara Jan 12, 2024
bacea54
gen elower grid trange was included in spec
HajimeKawahara Jan 13, 2024
c1753e8
added warning and exit statement in MultiMol
ykawashima Jan 13, 2024
5754f9a
changed the abundance of CO in comparison_petitRADTRANS_CIA.py
ykawashima Jan 13, 2024
a5409ae
Merge pull request #459 from ykawashima/mdb_warning
HajimeKawahara Jan 13, 2024
7ff1b91
added comparison_petitRADTRANS_narrow_R70000_rtsolver.py
ykawashima Jan 13, 2024
221f5c5
modified to compare intensity-based calculation with petitRADTRANS
ykawashima Jan 13, 2024
c4f2c0f
just removed unneded spaces
ykawashima Jan 13, 2024
f93ebee
just modified minor plotting things
ykawashima Jan 13, 2024
a60c157
added allow_32bit option for MultiMol.multiopa_premodit
ykawashima Jan 13, 2024
3280120
Merge pull request #461 from ykawashima/multiopa_premodit_32bit
HajimeKawahara Jan 14, 2024
f5f94e2
removed rayleigh contribution from petitRADTRANS calculation
ykawashima Jan 14, 2024
feaa201
Merge pull request #460 from ykawashima/comp_petit
HajimeKawahara Jan 14, 2024
ac6cd20
v2 included (but not tested yet)
HajimeKawahara Jan 14, 2024
a9e7d4b
temp
HajimeKawahara Jan 14, 2024
2d0b7c0
bug for version 2 (Trange lower limit is 100 despite Twtlow = 50)
HajimeKawahara Jan 14, 2024
cac84a1
Add jnp.tril before taking jnp.sqrt
sh-tada Jan 15, 2024
ea79119
Remove unnecessary jnp.tril
sh-tada Jan 15, 2024
4455b2b
Add a transmission model test file
sh-tada Jan 15, 2024
410180b
Change file name and Nx of transmission grad file
sh-tada Jan 15, 2024
974a489
Merge pull request #464 from sh-tada/trans_tdiff_tada
HajimeKawahara Jan 15, 2024
44af8b8
refactoring
HajimeKawahara Jan 15, 2024
4052638
refactoring
HajimeKawahara Jan 15, 2024
0f897cb
made trasmission_grad to a pytest code
HajimeKawahara Jan 15, 2024
7b84b05
refactoring
HajimeKawahara Jan 15, 2024
a2ac4ba
added comments
HajimeKawahara Jan 15, 2024
893b3f1
Merge branch 'develop' of https://github.com/HajimeKawahara/exojax in…
HajimeKawahara Jan 15, 2024
77e257a
100K is now available only for diffmode=1
HajimeKawahara Jan 15, 2024
1ed5c80
as always .. I interpret gravity as gravity potential... fixed the co…
HajimeKawahara Jan 16, 2024
7d79ebd
Merge pull request #465 from HajimeKawahara/refactoring_trans
HajimeKawahara Jan 16, 2024
34ffe5f
argument order
HajimeKawahara Jan 16, 2024
f3aaeb5
check completed
HajimeKawahara Jan 16, 2024
5729e12
test added
HajimeKawahara Jan 16, 2024
80f0d51
high temperature test
HajimeKawahara Jan 16, 2024
92ac444
pytest
HajimeKawahara Jan 16, 2024
a4ba430
edit
HajimeKawahara Jan 16, 2024
62f7641
edit
HajimeKawahara Jan 16, 2024
0bc3cc3
temp
HajimeKawahara Jan 16, 2024
98e0257
temp
HajimeKawahara Jan 16, 2024
ca838d6
reverse_premodit regenerated
HajimeKawahara Jan 17, 2024
28cd64d
exomol
HajimeKawahara Jan 18, 2024
2e0f460
removed unused method
HajimeKawahara Jan 18, 2024
739bdc4
setup.py
HajimeKawahara Jan 18, 2024
31b655b
Merge pull request #467 from HajimeKawahara/refact2
HajimeKawahara Jan 18, 2024
e6ffc1b
conflict in optgrid merged
HajimeKawahara Jan 18, 2024
e51e255
conflict in atmprof merged
HajimeKawahara Jan 18, 2024
4e716b0
found comment added in optelower
HajimeKawahara Jan 18, 2024
04f8ff5
plottau bug fixed
HajimeKawahara Jan 18, 2024
0d821ef
temp
HajimeKawahara Jan 19, 2024
066dfac
all cloud...
HajimeKawahara Jan 20, 2024
432b44f
found nan
HajimeKawahara Jan 21, 2024
34fcb17
too dense
HajimeKawahara Jan 21, 2024
de63955
temp
HajimeKawahara Jan 22, 2024
511e024
doc
HajimeKawahara Jan 22, 2024
a7dc9b1
anyway worked
HajimeKawahara Jan 22, 2024
583bbac
added others
HajimeKawahara Jan 22, 2024
dc264a4
Merge branch 'bayeux_sample' of https://github.com/HajimeKawahara/exo…
HajimeKawahara Jan 22, 2024
769dc18
regenerate optimize_spectrum
HajimeKawahara Jan 22, 2024
6435117
anyway done
HajimeKawahara Jan 22, 2024
9407e15
Merge pull request #469 from HajimeKawahara/doc2024_1
HajimeKawahara Jan 22, 2024
7ad923f
need to check AM model (in particular VMR)
HajimeKawahara Jan 23, 2024
1de5269
fixed Yui's suggestion
HajimeKawahara Jan 29, 2024
38401ff
Merge pull request #466 from HajimeKawahara/regenerate_elower_trange
HajimeKawahara Jan 29, 2024
ca0db82
added figures
HajimeKawahara Jan 29, 2024
67fc02c
Merge pull request #470 from HajimeKawahara/docs_2024_1
HajimeKawahara Jan 29, 2024
ea13e41
readme
HajimeKawahara Jan 30, 2024
0f9352a
url
HajimeKawahara Jan 30, 2024
e37e2c4
Merge pull request #471 from HajimeKawahara/readme_update
HajimeKawahara Jan 30, 2024
3cfdae1
AUTO-merging of ipynb is dangerous
HajimeKawahara Jan 30, 2024
f51090e
comparison w virga started
HajimeKawahara Jan 31, 2024
f52ead0
recover ipynb
HajimeKawahara Feb 1, 2024
e7a7609
temp
HajimeKawahara Feb 1, 2024
1f1501d
MR conversion
HajimeKawahara Feb 2, 2024
468fe36
droplet radius consistent
HajimeKawahara Feb 2, 2024
316d46d
temp
HajimeKawahara Feb 2, 2024
76d1592
added nstream=2 just in case
ykawashima Feb 2, 2024
dc86768
Merge pull request #472 from ykawashima/comp_petit
HajimeKawahara Feb 2, 2024
2c3d704
temp
HajimeKawahara Feb 12, 2024
3947cca
reorganizing the AM cloud model notation
HajimeKawahara Feb 15, 2024
0f350e6
temp
HajimeKawahara Feb 15, 2024
3deef71
temp
HajimeKawahara Feb 18, 2024
11bdbea
potential solution that reduces divergences in fbased rt
HajimeKawahara Feb 18, 2024
81928a9
jnp.trapz is deprecated. Replaced it to jax.scipy.integrate.trapezoid
HajimeKawahara Feb 18, 2024
f4c4d95
Merge pull request #476 from HajimeKawahara/trapz
HajimeKawahara Feb 18, 2024
36e7b47
Merge branch 'develop' of https://github.com/HajimeKawahara/exojax in…
HajimeKawahara Feb 18, 2024
672266a
Merge branch 'develop' of https://github.com/HajimeKawahara/exojax in…
HajimeKawahara Feb 18, 2024
2657464
AM cloud tutorial updated
HajimeKawahara Feb 18, 2024
a3ad844
changes to MMR based code
HajimeKawahara Feb 19, 2024
ae4bd0f
n redef
HajimeKawahara Feb 19, 2024
4de023c
Merge pull request #475 from HajimeKawahara/fbased_nansum
HajimeKawahara Feb 20, 2024
add0cfc
Merge branch 'develop' of https://github.com/HajimeKawahara/exojax in…
HajimeKawahara Feb 23, 2024
3439a78
reflected nansum
HajimeKawahara Feb 23, 2024
2e129b8
amcloud comparison
HajimeKawahara Feb 24, 2024
8e16a49
bar cgs added
HajimeKawahara Feb 24, 2024
ea014d2
about 1.e-4 lower ... dtau clouds
HajimeKawahara Feb 24, 2024
8b38e6d
compares with PyMieScatt
HajimeKawahara Feb 25, 2024
3abc9e1
compares with PyMieScatt done.
HajimeKawahara Feb 25, 2024
2340f83
to determine the range of integral, added the lognormal and r3 log di…
HajimeKawahara Feb 26, 2024
a13e576
temp
HajimeKawahara Feb 27, 2024
9f283fb
mie test
HajimeKawahara Mar 3, 2024
10d3fdb
autorgrid
HajimeKawahara Mar 3, 2024
27d91e7
pdb
HajimeKawahara Mar 3, 2024
97f5112
new pdb
HajimeKawahara Mar 3, 2024
61a470f
temp
HajimeKawahara Mar 3, 2024
8c3611e
comment
HajimeKawahara Mar 3, 2024
9df5499
comment
HajimeKawahara Mar 3, 2024
ff38f4e
direct computation mie
HajimeKawahara Mar 6, 2024
8f54eaf
direct computation of miegrid locally done but found inconsistency wi…
HajimeKawahara Mar 9, 2024
b87561f
Finally, our results agree with VIRGA well.
HajimeKawahara Mar 9, 2024
d719591
some comments
HajimeKawahara Mar 9, 2024
7f31f1f
some comments
HajimeKawahara Mar 9, 2024
ec7ab07
nh3 clouds
HajimeKawahara Mar 9, 2024
cb6bdbb
temp
HajimeKawahara Mar 11, 2024
8ce59a3
temp
HajimeKawahara Mar 12, 2024
0908cd3
temp
HajimeKawahara Mar 14, 2024
0ae3764
found log
HajimeKawahara Mar 14, 2024
750b35b
warn for log nus in plottau
HajimeKawahara Mar 15, 2024
4a4a969
NH3 cloud reflection spectrum done
HajimeKawahara Mar 17, 2024
8be367b
the cloud density (g/L) agrees with Hu 2019
HajimeKawahara Mar 17, 2024
eea7857
forward modelling done
HajimeKawahara Mar 17, 2024
7e91ff5
added comp with VIRGA in userguide
HajimeKawahara Mar 17, 2024
f1b5d73
refactoring
HajimeKawahara Mar 17, 2024
0431a61
setup.py
HajimeKawahara Mar 17, 2024
71a36ec
setup.py numpy<2
HajimeKawahara Mar 17, 2024
0513552
sop removed resolution
HajimeKawahara Mar 17, 2024
085052f
unittest
HajimeKawahara Mar 17, 2024
2f71cd9
from jax.config import config -> from jax import config
HajimeKawahara Mar 17, 2024
eabc3e7
Sop removed resolution
HajimeKawahara Mar 17, 2024
a80ddfe
AM tutorial updated
HajimeKawahara Mar 18, 2024
60de85d
updated the doc for the AM cloud model
HajimeKawahara Mar 19, 2024
6537265
enlarged vision in highres Jupiter
HajimeKawahara Mar 20, 2024
f92f9bd
1% -> 2%
HajimeKawahara Mar 20, 2024
74fb1dd
temp
HajimeKawahara Mar 20, 2024
2d755f6
AM tutorial updated
HajimeKawahara Mar 25, 2024
1b9945a
Update documents/tutorials/Jupiter_cloud_model_using_amp.ipynb
HajimeKawahara Mar 25, 2024
ae82721
Update documents/tutorials/Jupiter_cloud_model_using_amp.ipynb
HajimeKawahara Mar 25, 2024
067f6ae
Update documents/tutorials/Jupiter_cloud_model_using_amp.ipynb
HajimeKawahara Mar 25, 2024
498ccb0
Update documents/tutorials/Jupiter_cloud_model_using_amp.ipynb
HajimeKawahara Mar 25, 2024
3356a8a
Update documents/tutorials/Ackerman_and_Marley_cloud_model.ipynb
HajimeKawahara Mar 25, 2024
248fb65
Update documents/tutorials/Ackerman_and_Marley_cloud_model.rst
HajimeKawahara Mar 25, 2024
af7a2c8
ipynb
HajimeKawahara Mar 25, 2024
ed0d500
Merge branch 'mieclouds' of https://github.com/HajimeKawahara/exojax …
HajimeKawahara Mar 25, 2024
44ce8f2
Merge pull request #477 from HajimeKawahara/mieclouds
HajimeKawahara Mar 25, 2024
5ba5e1c
H-
HajimeKawahara Mar 29, 2024
0242f91
hmnus
HajimeKawahara Mar 30, 2024
0f16fcc
oparayleigh done
HajimeKawahara Mar 30, 2024
c13d994
doc
HajimeKawahara Mar 30, 2024
b3aaa8f
Merge pull request #480 from HajimeKawahara/opacont_plus
HajimeKawahara Mar 30, 2024
60cd6c3
release process (v1.5) started
HajimeKawahara Mar 30, 2024
657a8ec
changed the default rt pf pure abs to ibased
HajimeKawahara Mar 31, 2024
adc44e9
Change the order of calculations for 32-bit mode
sh-tada Apr 2, 2024
6047477
Delete print in ArtCommon.atmosphere_height()
sh-tada Apr 2, 2024
bb93f5f
Merge pull request #482 from sh-tada/transmission32bit
HajimeKawahara Apr 2, 2024
6170e6e
update fig in README.md
HajimeKawahara Apr 2, 2024
6699d6d
png/get started
HajimeKawahara Apr 11, 2024
0f190c1
sop
HajimeKawahara Apr 11, 2024
b94a905
removed prints in rtransfer
HajimeKawahara Apr 11, 2024
30c8074
Rayleigh scattering
HajimeKawahara Apr 11, 2024
6d34077
pdb.rst
HajimeKawahara Apr 11, 2024
6d42a73
temp
HajimeKawahara Apr 11, 2024
1965d7a
amp
HajimeKawahara Apr 12, 2024
e613c5b
changed from moldb to api
ykawashima Apr 16, 2024
d2e6241
Merge pull request #483 from ykawashima/releasev1.5_yk_edit
HajimeKawahara Apr 18, 2024
621ffb6
Merge branch 'releasev1.5' of https://github.com/HajimeKawahara/exoja…
HajimeKawahara Apr 18, 2024
227ec27
removed outdated test files
HajimeKawahara Apr 18, 2024
f0451bb
use searchsorted to determine cloud base
YuiKasagi Apr 23, 2024
5b82cb3
Merge pull request #485 from YuiKasagi/fix_cloudbase
HajimeKawahara Apr 23, 2024
a339e5e
autoxs using codes removed
HajimeKawahara Apr 24, 2024
1edeb32
README update
HajimeKawahara Apr 24, 2024
a1c64ea
history.rst
HajimeKawahara Apr 24, 2024
121f1cf
reverse methane done
HajimeKawahara Apr 26, 2024
c2910c5
doc
HajimeKawahara Apr 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
892 changes: 891 additions & 1 deletion LICENSES_bundled.txt

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ include src/exojax/data/atom/barklem_collet_2016_pff.txt
include src/exojax/data/atom/iso_mn.txt
include src/exojax/data/atom/HITRAN_molparam.txt
include src/exojax/data/clouds/drag_force.txt
include src/exojax/data/clouds/ammonia_liquid_density.csv
include src/exojax/data/abundance/AAG2021.dat
include src/exojax/data/atom/NIST_Atomic_Ionization_Energies.txt

include src/exojax/data/testdata/spectrum.txt
include src/exojax/data/testdata/spectrum_ch4.txt
include src/exojax/data/testdata/spectrum_ch4_new.txt
include src/exojax/data/testdata/spectrum_co.txt
include src/exojax/data/testdata/moldb_h2o_exomol.pickle
include src/exojax/data/testdata/moldb_vald.pickle
include src/exojax/data/testdata/lpf_test_ref.txt
include src/exojax/data/testdata/modit_test_ref.txt
Expand Down Expand Up @@ -43,6 +43,10 @@ include src/exojax/data/testdata/CO/12C-16O/SAMPLE/12C-16O__SAMPLE.trans.bz2
include src/exojax/data/testdata/CO/12C-16O/SAMPLE/12C-16O__SAMPLE.trans.hdf5

include src/exojax/data/premodit/elower_grid_trange.npz
include src/exojax/data/premodit/elower_grid_trange_v2.npz

include src/exojax/data/testdata/test.refrind
include src/exojax/data/testdata/miegrid_lognorm_test.mg.npz

graft tests
graft examples
Expand Down
66 changes: 34 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,30 @@
[![paper](https://img.shields.io/badge/paper-ApJS_258_31_(2022)-orange)](https://iopscience.iop.org/article/10.3847/1538-4365/ac3b4d)
<a href="https://codeclimate.com/github/HajimeKawahara/exojax/maintainability"><img src="https://api.codeclimate.com/v1/badges/97c5e8835f3ef9c4ad7c/maintainability" /></a>

Auto-differentiable line-by-line spectral modelling of exoplanets/brown dwarfs/M dwarfs using JAX. Read [the docs](http://secondearths.sakura.ne.jp/exojax) 🐕.
In short, ExoJAX allows you to do gradient based optimisation and HMC NUTS fitting using the latest database.
Differentiable spectral modelling of exoplanets/brown dwarfs/M dwarfs using JAX!
Read [the docs](http://secondearths.sakura.ne.jp/exojax/develop) 🐕.
In short, ExoJAX allows you to do gradient based optimizations and HMC-NUTS samplings using the latest database.

ExoJAX is at least compatible with

- [NumPyro](https://github.com/pyro-ppl/numpyro) (PPL)
- BlackJAX
- [JAXopt](https://github.com/google/jaxopt) (differentiable optimizer)
- PPLs: [NumPyro](https://github.com/pyro-ppl/numpyro), [blackjax](https://github.com/blackjax-devs/blackjax)
- Optimizers: [JAXopt](https://github.com/google/jaxopt), [optax](https://github.com/google-deepmind/optax), [bayeux](https://github.com/jax-ml/bayeux)

<img src="https://github.com/HajimeKawahara/exojax/assets/15956904/8aa9673b-b64b-4b65-a76c-2966ef1edbc7" Titie="exojax" Width=850px>

<details><summary>ExoJAX Classes</summary>

- Databases: *db (mdb: molecular, adb: atomic, cdb:continuum, pdb: particulates)
- Opacity Calculators: opa (i.e. Voigt profile)
- Atmospheric Radiative Transfer: art (emission w, w/o scattering, refelction, transmission)
- Atompsheric Microphysics: amp (clouds etc)

</details>

## Get Started

See [this page](http://secondearths.sakura.ne.jp/exojax/develop/tutorials/get_started.html) for the first step!

<img src="https://user-images.githubusercontent.com/15956904/222950543-6de25bb2-48f2-4bc7-a588-77daa105442e.png" Titie="exojax" Width=850px>

## Functions

<details open><summary>Voigt Profile :heavy_check_mark: </summary>
Expand All @@ -35,7 +48,7 @@ from exojax.utils.grids import wavenumber_grid
from exojax.spec.api import MdbExomol
from exojax.spec.opacalc import OpaPremodit

from jax.config import config
from jax import config
config.update("jax_enable_x64", True)

nu_grid,wav,res=wavenumber_grid(1900.0,2300.0,200000,xsmode="premodit",unit="cm-1",)
Expand All @@ -48,6 +61,8 @@ xsv = opa.xsvector(1000.0, 1.0) # cross section for 1000K, 1 bar

</details>



<details><summary>Do you just want to plot the line strength at T=1000K? </summary>

```python
Expand All @@ -68,7 +83,12 @@ F = art.run(dtau, Tarr)

</details>

See http://secondearths.sakura.ne.jp/exojax/develop/tutorials/get_started.html for the first step!
<details><summary>Transmission Spectrum :heavy_check_mark: </summary></details>
<details><summary>Reflection Spectrum :heavy_check_mark: </summary></details>



<img src="https://github.com/HajimeKawahara/exojax/assets/15956904/671a3dc5-718e-463d-911a-08d8ca94119b" Titie="exojax" Width=850px>

## Installation

Expand All @@ -82,38 +102,20 @@ or
python setup.py install
```

<details><summary> Note on installation w/ GPU support</summary>
<details><summary>Note on installation w/ GPU support</summary>

:books: You need to install CUDA, NumPyro, JAX w/ NVIDIA GPU support, and cuDNN.
:books: You need to install CUDA, JAX w/ NVIDIA GPU support.

- NumPyro

ExoJAX supports NumPyro >=0.7.0. Please check the required JAX version by NumPyro. In May 2021, it seems the recent version of [NumPyro](https://github.com/pyro-ppl/numpyro) requires jaxlib>=0.1.62 (see [setup.py](https://github.com/pyro-ppl/numpyro/blob/master/setup.py) of NumPyro for instance).

- JAX

Check you cuda version:

```
nvcc -V
```

Install such as

```
pip install --upgrade pip
pip install --upgrade "jax[cuda]" -f https://storage.googleapis.com/jax-releases/jax_releases.html
```

Please visit [here](https://github.com/google/jax) for details.
Visit [here](https://github.com/google/jax) for the installation of GPU supported JAX.

</details>


## References
[![paper](https://img.shields.io/badge/paper_I-ApJS_258_31_(2022)-orange)](https://iopscience.iop.org/article/10.3847/1538-4365/ac3b4d)

- Paper I: Kawahara, Kawashima, Masuda, Crossfield, Pannier, van den Bekerom, [ApJS 258, 31 (2022)](https://iopscience.iop.org/article/10.3847/1538-4365/ac3b4d)

## License

🐈 Copyright 2020-2023 ExoJAX contributors. exojax is publicly available under the MIT license.
🐈 Copyright 2020-2024 ExoJAX contributors. ExoJAX is publicly available under the MIT license.
4 changes: 2 additions & 2 deletions documents/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@
# -- Project information -----------------------------------------------------

project = 'ExoJAX'
copyright = '2020-2023, ExoJAX contributors'
copyright = '2020-2024, ExoJAX contributors'
author = 'ExoJAX contributors'

# The full version, including alpha/beta/rc tags
release = '1.4.1'
release = '1.5.0'


# -- General configuration ---------------------------------------------------
Expand Down
14 changes: 10 additions & 4 deletions documents/developers/doc.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Generating Documents
Generates documents
==============================

We use the google style of the sphinx document.

.. code:: sh

pip install sphinx_rtd_theme sphinxemoji

This is an example to generate the sphinx doc.
Expand All @@ -18,10 +18,10 @@ This is an example to generate the sphinx doc.
make clean
make html

Generating up-to-date documents of tutorials
Generates the up-to-date documents of tutorials
------------------------------------------------

The below commands automatically run the tutorial notebooks and generate rst:
The following commands automatically run the tutorial notebooks and generate rst:

.. code:: sh

Expand All @@ -34,3 +34,9 @@ If you just want to generate rst without executing notebooks, try this:

python jupyter2rst.py none

One by One:

.. code:: sh

python jupyter2rst_each.py (python filename)

64 changes: 25 additions & 39 deletions documents/developers/pytest.rst
Original file line number Diff line number Diff line change
@@ -1,61 +1,47 @@
Test codes for developers
==============================

ExoJAX has many test codes in 'tests' directory.
We recommend to write the unit test code in 'tests' directory before pull-request and to perform the unit tests before your submission of the pull-request:
ExoJAX has many test codes in the ``tests`` directory. The ``test`` directory contains several types of the collection of ``pytest`` code.

.. code:: sh

cd exojax
pytest tests
- ``tests/unittests``: the collection of the unit tests. The GitHub action runs the test code in this directory.
- ``tests/integration``: the collection of the test codes that need longer time to run than the code in ``unittest``.

You might need some files.
test/unittests
---------------------

- VALD data

You can download them from `here <http://secondearths.sakura.ne.jp/exojax/data/>`_, but see the following warning.

.. warning::

Note that if you use Windows or Mac, .gz might be unziped when downloading despite no renaming. I mean, the same name with .gz, but unziped! In this case, download ``extradata.tar`` and untar it.


Unit test using pytest
----------------------------

Before starting the unit test, install pytest:
We recommend to write the unit test code in ``tests/unittests`` directory before pull-request and to perform the unit tests before your submission of the pull-request:

.. code:: sh

pip install pytest
cd exojax/test/unittests
pytest


To test all of the unit tests, perform
test/integration/unittest_long
----------------------------------

.. code:: sh
In essence, these are the unit tests that need longer time than the code in ``unittest``, sometimes including downloading the data.

cd exojax
pytest tests
test/integration/comparison
---------------------------

or you can test one by one
The code for the comparison with external data, packages, etc

.. code:: sh
- ``transmission/comparison_with_kawashima_transmission.py``: comparison with Yui Kawashima's computation of the transmission spectrum
- ``twostream/comparison_petitRADTRANS_*.py``: comparison with pRT
- ``nonair/nonair_co_hitran_comp.py``: non-air broadening comparison with ``radis``

cd tests/auto
pytest autoxs_test.py


Tests for the reverse modeling (retrieval)
-----------------------------------------------
Others
--------------

The unit test is not appropriate for the reverse modeling because it takes a lot of time.
For the tests of the reverse modeling, use code in 'tests/reverse' directory.
VALD data
^^^^^^^^^^^^^^^^

- reverse_lpf.py simple test for HMC-NUTS using LPF
- reverse_methane.py simple test for HMC-NUTS using MODIT
You can download them from `here <http://secondearths.sakura.ne.jp/exojax/data/>`_, but see the following warning.

.. code:: sh
.. warning::

Note that if you use Windows or Mac, .gz might be unziped when downloading despite no renaming. I mean, the same name with .gz, but unziped! In this case, download ``extradata.tar`` and untar it.

cd tests/reverse
python reverse_lpf.py
python reverse_methane.py
Binary file modified documents/exojax.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 12 additions & 5 deletions documents/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,22 @@
ExoJAX
==================================

version 1.4 (:doc:`userguide/history`)
Version 1.5 (:doc:`userguide/history`)

`ExoJAX <https://github.com/HajimeKawahara/exojax>`_ provides an auto-differentiable high-resolution spectrum model for exoplanets/brown dwarfs using `JAX <https://github.com/google/jax>`_. ExoJAX enables a fully Bayesian inference of the high-dispersion data to fit the line-by-line spectral computation to the observed spectrum, from end-to-end (i.e. from molecular/atomic databases to real spectra), by combining it with `the Hamiltonian Monte Carlo <https://en.wikipedia.org/wiki/Hamiltonian_Monte_Carlo>`_ in recent probabilistic programming languages such as `NumPyro <https://github.com/pyro-ppl/numpyro>`_. So, the notable features of ExoJAX are summarized as
`ExoJAX <https://github.com/HajimeKawahara/exojax>`_ provides an auto-differentiable high-resolution spectrum model for exoplanets/brown dwarfs using `JAX <https://github.com/google/jax>`_.
ExoJAX enables a fully Bayesian inference of the high-dispersion data to fit the line-by-line spectral computation to the observed spectrum,
from end-to-end (i.e. from molecular/atomic databases to real spectra),
by combining it with `the Hamiltonian Monte Carlo <https://en.wikipedia.org/wiki/Hamiltonian_Monte_Carlo>`_
in recent probabilistic programming languages such as `NumPyro <https://github.com/pyro-ppl/numpyro>`_.
So, the notable features of ExoJAX are summarized as

- **HMC-NUTS, gradient-based optimizer available**
- **Easy to use the latest molecular/atomic data in** :doc:`userguide/api`, **and** :doc:`userguide/atomll`
- **A transparent open-source project; anyone who wants to participate can join the development!**

|:green_circle:| If you have an error and/or want to know the up-to-date info, visit `ExoJAX wiki <https://github.com/HajimeKawahara/exojax/wiki>`_. Or use `the discussions form <https://github.com/HajimeKawahara/exojax/discussions>`_ on github or directly raise `issues <https://github.com/HajimeKawahara/exojax/issues>`_.

|:green_circle:| If you have an error and/or want to know the up-to-date info, visit `ExoJAX wiki <https://github.com/HajimeKawahara/exojax/wiki>`_.
Or use `the discussions form <https://github.com/HajimeKawahara/exojax/discussions>`_ on github or directly raise `issues <https://github.com/HajimeKawahara/exojax/issues>`_.

Contents
==================================

Expand Down Expand Up @@ -59,7 +65,7 @@ License & Attribution
Copyright 2021-2023, Contributors

- `Hajime Kawahara <http://secondearths.sakura.ne.jp/en/index.html>`_ (@HajimeKawahara, maintainer)
- Yui Kawashima (@ykawashima)
- `Yui Kawashima <https://sites.google.com/view/yuikawashima/home>`_ (@ykawashima, co-maintainer)
- Kento Masuda (@kemasuda)
- Ian Crossfield
- Dirk van den Bekerom (@dcmvdbekerom)
Expand All @@ -69,6 +75,7 @@ Copyright 2021-2023, Contributors
- Stevanus Nugroho (@astrostevanus)
- Tako Ishikawa (@chonma0ctopus)
- Yui Kasagi (@YuiKasagi)
- Shotaro Tada (@sh-tada)

ExoJAX is free software made available under the MIT License. See the ``LICENSE``.

Binary file added documents/rt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 23 additions & 12 deletions documents/tutorials.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,23 @@ Basics
:maxdepth: 1

tutorials/get_started.rst
tutorials/optimize_spectrum_JAXopt.rst
tutorials/optimize_spectrum.rst
tutorials/reverse_premodit.rst


Applications
====================


Retrieval More
--------------------------
Tips for Real Analysis
-------------------------

.. toctree::
:maxdepth: 1

tutorials/Fitting_Telluric_Lines.rst
tutorials/reverse_precompute_grid.rst
userguide/memorysetting.rst
tutorials/elower_setting.rst


Transmission Spectra
Expand All @@ -30,6 +32,14 @@ Transmission Spectra

tutorials/Transmission_beta.rst

Reflection Spectrum
------------------------------------

.. toctree::
:maxdepth: 1

tutorials/Jupiter_cloud_model_using_amp.rst
tutorials/Jupiter_Hires_Modeling.rst

Molecular/Atomic/Continuum Databases
---------------------------------------
Expand All @@ -42,14 +52,6 @@ Molecular/Atomic/Continuum Databases
tutorials/Fortrat.rst
tutorials/CIA_opacity.rst

Tuning ExoJAX
===========================

.. toctree::
:maxdepth: 1

userguide/memorysetting.rst
tutorials/elower_setting.rst

Multi Molecule/Segments Mdb and Opa Handler
=============================================
Expand Down Expand Up @@ -79,6 +81,15 @@ Cross Section using Various Opacity Calculators
Others
================

Scattering
--------------------

.. toctree::
:maxdepth: 1

userguide/rayleigh.rst


Micro Chemical/Physical Processes
--------------------------------------

Expand Down
Loading
Loading