PyExoCross Manual : https://pyexocross.readthedocs.io
PyExoCross Wiki : https://github.com/Beryl-Jingxin/PyExoCross/wiki
PyExoCross Published Paper : https://doi.org/10.1093/rasti/rzae016
PyExoCross arXiv Preprint : https://arxiv.org/abs/2406.03977
PyExoCross NASA EMAC Link : https://emac.gsfc.nasa.gov?cid=2407-003
Download PyExoCross program by command:
git clone https://github.com/Beryl-Jingxin/PyExoCross.gitpip install -r requirements.txtPython packages version
| Python packages | Version |
|---|---|
| python_version | [3.8, 3.10] |
| argparse | 1.1 |
| astropy | 6.0.0 |
| dask | 2024.1.0 |
| indexed_bzip2 | 1.5.0 |
| ipython | 8.12.3 |
| matplotlib | 3.8.2 |
| numexpr | 2.8.8 |
| numpy | 1.22.3 |
| pandarallel | 1.6.5 |
| pandas | 2.0.3 |
| requests | 2.31.0 |
| scipy | 1.11.4 |
| tqdm | 4.66.1 |
| urllib3 | 1.26.13 |
In the terminal, use the following commands to run PyExoCross:
python3 pyexocross.py -p input_filepathIf the input filepath is /home/username/PyExoCross/input/H2O_exomol.inp
python3 pyexocross.py -p ./input/H2O_exomol.inp
# OR
python3 pyexocross.py -p /home/username/PyExoCross/input/H2O_exomol.inpIf you want to run program in conda environment which is named as 'exomol', please use command:
/home/username/anaconda3/envs/exomol/bin/python pyexocross.py -p ./input/H2O_exomol.inpIf you need to run program in background, please use command:
# Recommended: Without log file (the program will record log automatically)
nohup python3 -u pyexocross.py -p ./input/H2O_exomol.inp > /dev/null 2>&1
# Save log file
nohup python3 -u pyexocross.py -p ./input/H2O_exomol.inp > ./output/H2O_exomol.out 2>&1 &
# OR
nohup /home/username/anaconda3/envs/exomol/bin/python -u pyexocross.py -p ./input/H2O_exomol.inp > ./output/H2O_exomol.out 2>&1 &- All information can be written in the input file. Just change the information you will use.You don't need to change any other unnecessary information.Please do not change the first column strings.
- If you met problems, jupyter notebook
.ipynbcode is stored for checking and testing.
Cite
Jingxin Zhang, Jonathan Tennyson, Sergei N Yurchenko, PyExoCross: a Python program for generating spectra and cross-sections from molecular line lists, RAS Techniques and Instruments, Volume 3, Issue 1, January 2024, Pages 257–287, https://doi.org/10.1093/rasti/rzae016
Bibtex
@article{10.1093/rasti/rzae016,
author = {Zhang, Jingxin and Tennyson, Jonathan and Yurchenko, Sergei N},
title = {{PyExoCross: a Python program for generating spectra and cross-sections from molecular line lists}},
journal = {RAS Techniques and Instruments},
volume = {3},
number = {1},
pages = {257-287},
year = {2024},
month = {04},
abstract = {PyExoCross is a Python adaptation of the ExoCross Fortran application,
PyExoCross is designed for post-processing the huge molecular line lists generated by the ExoMol project
and other similar initiatives such as the HITRAN and HITEMP data bases.
PyExoCross generates absorption and emission stick spectra, cross-sections, and other properties
(partition functions, specific heats, cooling functions, lifetimes, and oscillator strengths)
based on molecular line lists. PyExoCross calculates cross-sections with four line profiles:
Doppler, Gaussian, Lorentzian, and Voigt profiles in both sampling and binned methods;
a number of options are available for computing Voigt profiles which we test for speed and accuracy.
PyExoCross supports importing and exporting line lists in the ExoMol and HITRAN/HITEMP formats.
PyExoCross also provides conversion between the ExoMol and HITRAN data formats.
In addition, PyExoCross has extra code for users to automate the batch download of
line list files from the ExoMol data base.},
issn = {2752-8200},
doi = {10.1093/rasti/rzae016},
url = {https://doi.org/10.1093/rasti/rzae016},
eprint = {https://academic.oup.com/rasti/article-pdf/3/1/257/61224370/rzae016.pdf},
}✅ ExoMol
✅ ExoAtom
✅ HITRAN
✅ HITEMP
⏳ ExoMolHR