Skip to main content

A Python package for generating molecular and atomic spectra and cross sections

Project description

PyExoCross

PyExoCross is a python program and package for generating molecular and atomic spectra and cross sections

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

Download PyExoCross program by command:

git clone https://github.com/Beryl-Jingxin/PyExoCross.git

Install Python packages

pip install -r requirements.txt

Python packages version (see requirements.txt for installable bounds; tested on Python 3.8–3.12):

Python packages Version range
python_version 3.8, 3.9, 3.10, 3.11, 3.12
numpy >=1.20, <2.0
pandas >=1.4, <3.0
scipy >=1.7, <2.0
numexpr >=2.7.0,<3.0.0
matplotlib >=3.5, <4.0
tqdm >=4.64.0,<5.0.0
tabulate >=0.8.9,<1.0.0
requests >=2.25.1,<3.0.0
astropy >=5.0.0,<7.0.0
dask >=2022.5, <2025
pandarallel >=1.6.5,<2.0.0

Run PyExoCross

In the terminal, use the following commands to run PyExoCross:

python3 run.py -p input_filepath

If the input filepath is /home/username/PyExoCross/input/H2O_exomol.inp

python3 run.py -p ./input/H2O_exomol.inp
# OR 
python3 run.py -p /home/username/PyExoCross/input/H2O_exomol.inp

If you want to run program in conda environment which is named as 'exomol', please use command:

/home/username/anaconda3/envs/exomol/bin/python run.py -p ./input/H2O_exomol.inp

If you need to run program in background, please use command:

# Recommended: Without log file (the program will record log automatically)
nohup python3 -u run.py -p ./input/H2O_exomol.inp > /dev/null 2>&1
# Save log file
nohup python3 -u run.py -p ./input/H2O_exomol.inp > ./output/H2O_exomol.out 2>&1 &
# OR 
nohup /home/username/anaconda3/envs/exomol/bin/python -u run.py -p ./input/H2O_exomol.inp > ./output/H2O_exomol.out 2>&1 &

Notes for input file

  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.
  2. If you met problems, jupyter notebook .ipynb code is stored for checking and testing.

Citation

Please cite PyExoCross paper 💚

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{pyexocross,
    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},
}

Support databases

✅ ExoMol

✅ ExoAtom

✅ HITRAN

✅ HITEMP

⏳ ExoMolHR

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyexocross-1.0.0.tar.gz (229.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyexocross-1.0.0-py3-none-any.whl (159.7 kB view details)

Uploaded Python 3

File details

Details for the file pyexocross-1.0.0.tar.gz.

File metadata

  • Download URL: pyexocross-1.0.0.tar.gz
  • Upload date:
  • Size: 229.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.8

File hashes

Hashes for pyexocross-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fb29e00481f19647efe66a57076f39c27de5abc000115161795e2435132e6f02
MD5 3587e315fbad72783c1eeb52f2c024ad
BLAKE2b-256 b769d06ebfde6f50bac4ead47513d9d2ce1a6f7bb2a6ccab9c9ad3f017f53f95

See more details on using hashes here.

File details

Details for the file pyexocross-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pyexocross-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 159.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.8

File hashes

Hashes for pyexocross-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d15ace21b976da17efbedb5396ddb2d6c81a3465eab9ccb79b9bd4f92ad02ee6
MD5 bc92cccd9da6198cd0e5643f33bee5ff
BLAKE2b-256 3ac422497dfc7d6b90c5db3f03e258b1e72a26aff9d24b17f85dc76c6c6a6806

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page