radis

A fast line-by-line code for high-resolution infrared molecular spectra.
https://github.com/radis/radis

Category: Atmosphere
Sub Category: Radiative Transfer

Keywords

astrophysics closember combustion exoplanets hitemp hitran infrared plasma plasma-physics radiation spectra spectroscopy

Keywords from Contributors

line-by-line

Last synced: 8 minutes ago
JSON representation

Repository metadata

🌱 A fast line-by-line code for high-resolution infrared molecular spectra

README.md

PyPI Downloads Article Spectral Synthesis Algorithm Documentation Status Binder
Slack Contributors Tests Coverage Benchmarks License

RADIS

RADIS is a fast line-by-line code for high resolution infrared molecular spectra (emission / absorption,
equilibrium / non-LTE) based on HITRAN/HITEMP/ExoMol.
Atomic spectra from the NIST and Kurucz databases are also available.

RADIS includes post-processing tools to compare experimental spectra and spectra calculated
with RADIS or other spectral codes.

Full user documentation (advanced install and examples) are available on the RADIS Website.

Getting Started

Install

Assuming you have Python installed with the Anaconda distribution you can use pip:

pip install radis

or mamba or conda via the conda-forge channel:

conda install radis -c conda-forge

That's it! You can now run your first example below.
If you encounter any issue, or to upgrade the package later, please refer to the
detailed installation procedure.

Quick Start

Calculate a CO equilibrium spectrum from the HITRAN database:

from radis import calc_spectrum
s = calc_spectrum(1900, 2300,         # cm-1
                  molecule='CO',
                  isotope='1,2,3',
                  pressure=1.01325,   # bar
                  Tgas=700,           # K
                  mole_fraction=0.1,
                  path_length=1,      # cm
                  databank='hitran'   # or 'hitemp'
                  )
s.apply_slit(0.5, 'nm')       # simulate an experimental slit
s.plot('radiance')

CO spectrum

Advanced use

The Quick Start examples automatically download the line databases from HITRAN-2016, which is valid for temperatures below 700 K.
For high temperature cases, you may need to use other line databases such as HITEMP-2010 (typically T < 2000 K) or CDSD-4000 (T < 5000 K). HITEMP can also be downloaded
automatically, or can be downloaded manually and described in a ~/radis.json
Configuration file.

More complex examples will require to use the SpectrumFactory
class, which is the core of RADIS line-by-line calculations.
calc_spectrum is a wrapper to SpectrumFactory
for the simple cases.

Compare with experiments

Experimental spectra can be loaded using the experimental_spectrum function
and compared with the plot_diff function. For instance:

from numpy import loadtxt
from radis import experimental_spectrum, plot_diff
w, I = loadtxt('my_file.txt').T    # assuming 2 columns
sexp = experimental_spectrum(w, I, Iunit='mW/cm2/sr/nm')
plot_diff(sexp, s)    # comparing with spectrum 's' calculated previously

Typical output of plot_diff:

comparison

Refer to the Examples section for more examples, and to the
Spectrum page for more post-processing functions.

GPU Acceleration

RADIS supports GPU acceleration for super-fast computation of spectra. Refer to GPU Spectrum Calculation on RADIS for more details on GPU acceleration.

Try online (no installation needed!)

🌱 Radis-app

A simple web-app for RADIS under development - GitHub

Radis-app

πŸ”¬ RADIS-lab

An online environment for advanced spectrum processing and comparison with experimental data:

  • no need to install anything
  • use pre-configured line databases (HITEMP)
  • upload your data files, download your results !

RADIS-lab

See more on GitHub


Cite

Articles are available at Article Spectral Synthesis Algorithm

For reproducibility, do not forget to cite the line database used, and the spectroscopic constants
if running nonequilibrium calculations. See How to cite?


Developer Guide

Contribute

Want to contribute to RADIS? Join the Slack community and we'll help you through the process.
Want to get started immediately? Nice. Have a look at the Developer Guide.

Contributors Slack

RADIS internals are also described in the full documentation

License

The code is available on this repository under
GNU LESSER GENERAL PUBLIC LICENSE (v3) License


References

  • Documentation: Documentation Status

  • Help: Gitter Slack Q&A forum

  • Articles: Article Spectral Synthesis Algorithm

  • Source Code: GitHub Contributors License

  • Test Status: Tests Coverage Benchmarks

  • PyPI Repository: PyPI Downloads

  • Interactive Examples: radis_examples Examples Binder

  • Fitroom (for advanced multidimensional fitting).

Other Spectroscopic tools

See awesome-spectra awesome-spectra


RADIS logo


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: about 8 hours ago

Total Commits: 3,948
Total Committers: 70
Avg Commits per committer: 56.4
Development Distribution Score (DDS): 0.616

Commits in past year: 395
Committers in past year: 17
Avg Commits per committer in past year: 23.235
Development Distribution Score (DDS) in past year: 0.587

Name Email Commits
Erwan Pannier e****r@g****m 1516
NicolasEM2C n****i@c****r 578
Dirk van den Bekerom d****m@g****m 364
Josh Soref 2****f 175
Prtm2110 p****e@g****m 167
anandxkumar a****0@g****m 131
Darshan Patil d****5@g****m 127
menasrac r****a@s****r 72
Pankaj Mishra p****1@g****m 66
Somesh 1****a@g****m 64
CorentinGrimaldi c****i@p****m 62
code29563 8****3 60
Tanisha Dahale t****5@g****m 53
Hajime Kawahara d****t@g****m 46
zeyad zahran 2****1@f****g 42
Tran Huu Nhat Huy h****5@g****m 41
Supriya1702 s****i@g****m 39
Merin Theres Jose m****e@g****m 38
gagan-aryan g****9@g****m 31
mohyware m****0@g****m 26
Sagar Chotalia s****2@g****m 20
adityabharadwaj198 a****8@g****m 19
Sonika s****7@g****m 18
Omiii-215 o****1@g****m 16
Susannah Klaneček s****l@p****h 16
Nicolas MINESI n****i@e****r 12
arunavabasu-03 a****v@g****m 12
Ritwik Saha s****8@g****m 10
gh4ag g****d@g****m 9
123 a****3@1****l 8
and 40 more...

Committer domains:


Issue and Pull Request metadata

Last synced: about 7 hours ago

Total issues: 216
Total pull requests: 411
Average time to close issues: 10 months
Average time to close pull requests: about 1 month
Total issue authors: 59
Total pull request authors: 61
Average comments per issue: 3.66
Average comments per pull request: 3.51
Merged pull request: 254
Bot issues: 0
Bot pull requests: 0

Past year issues: 19
Past year pull requests: 82
Past year average time to close issues: 2 months
Past year average time to close pull requests: 29 days
Past year issue authors: 10
Past year pull request authors: 22
Past year average comments per issue: 1.79
Past year average comments per pull request: 3.62
Past year merged pull request: 34
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/radis/radis

Top Issue Authors

  • erwanp (57)
  • minouHub (37)
  • dcmvdbekerom (18)
  • Prtm2110 (10)
  • code29563 (5)
  • saradelahaie (5)
  • HajimeKawahara (5)
  • Rockyuo666 (5)
  • Airfooox (3)
  • TranHuuNhatHuy (3)
  • CorentinGrimaldi (3)
  • Zeyadzahran (3)
  • merintheres (3)
  • prathamhole14 (3)
  • bfrangi (2)

Top Pull Request Authors

  • minouHub (91)
  • erwanp (42)
  • darshvn (37)
  • Prtm2110 (25)
  • HajimeKawahara (19)
  • prabhat-kumar96 (18)
  • Zeyadzahran (17)
  • mohyware (16)
  • code29563 (10)
  • 1someshverma (10)
  • prathamhole14 (9)
  • tanishadahale (9)
  • merintheres (8)
  • TranHuuNhatHuy (7)
  • dcmvdbekerom (7)

Top Issue Labels

  • bug (92)
  • enhancement (45)
  • todo (42)
  • good first issue (32)
  • physics (26)
  • interface (20)
  • 😎. (15)
  • ci-dev (14)
  • databases (12)
  • performance (11)
  • πŸ’‘gsoc (11)
  • documentation (8)
  • help wanted (8)
  • refactor (7)
  • post-process (5)
  • db:hitran (4)
  • db:exomol (4)
  • πŸ€”πŸ€”. (4)
  • gpu (3)
  • use-case (2)
  • db:hitemp (2)
  • ⭐⭐⭐_ (2)
  • inactive-notice (1)

Top Pull Request Labels

  • bug (32)
  • ci-dev (30)
  • interface (26)
  • documentation (18)
  • physics (17)
  • performance (17)
  • databases (14)
  • db:hitemp (10)
  • db:exomol (8)
  • gpu (4)
  • db:hitran (3)
  • enhancement (3)
  • post-process (2)
  • ⭐⭐⭐_ (2)
  • refactor (1)
  • todo (1)
  • inactive-notice (1)

Dependencies

setup.py pypi
  • astropy *
  • astroquery >=0.3.9
  • beautifulsoup4 *
  • configparser *
  • cython *
  • h5py *
  • habanero *
  • hitran-api *
  • hjson *
  • ipython >=7.0.0
  • joblib *
  • json-tricks >=3.15.0
  • lxml *
  • matplotlib *
  • mpldatacursor *
  • numba *
  • numpy <=1.22.3
  • pandas >=1.0.5
  • peakutils *
  • plotly >=2.5.1
  • progressbar2 *
  • psutil *
  • publib >=0.3.2
  • pytest *
  • scipy >=1.4.0
  • seaborn *
  • tables *
  • termcolor *
  • tuna *
  • vaex >=4.9.2
requirements.txt pypi
  • hitran-api *
  • hjson *
  • json-tricks >=3.15.0
  • lxml *
  • mpldatacursor *
  • peakutils *
  • publib >=0.3.2
  • ruamel.yaml *
environment.yml conda
  • astropy >=4.3.1
  • astroquery >=0.4.6
  • beautifulsoup4 >=4.10.0
  • cantera >=2.5.1
  • configparser
  • cython
  • h5py >=3.2.1
  • habanero >=1.2.0
  • joblib
  • lmfit
  • matplotlib
  • numba
  • numpy
  • pandas <2.0.0
  • pip
  • plotly >=2.5.1
  • progressbar2
  • psutil
  • pytables
  • python 3.8.*
  • scipy >=1.4.0
  • seaborn
  • specutils
  • termcolor
  • vaex-core >=4.17.0
  • vaex-hdf5
  • vaex-viz

Score: 10.106428396532818