A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

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: 15 minutes ago
JSON representation

Repository metadata

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

README.rst

           | |badge_pypi|  |badge_pypistats| |badge_article1| |badge_article2| |badge_docs| |badge_binder|
 | |badge_slack| |badge_contributors| |badge_travis| |badge_coverage| |badge_code_quality| |badge_asv| |badge_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')

.. figure:: https://radis.readthedocs.io/en/latest/_images/co_spectrum_700K.png
    :scale: 60 %


Advanced use
------------

The Quick Start examples automatically downloads 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 `__:

.. image:: docs/spectrum/cdsd4000_vs_hitemp_3409K.svg
    :scale: 60 %
    :target: https://radis.readthedocs.io/en/latest/spectrum/spectrum.html#compare-two-spectra
    :alt: https://radis.readthedocs.io/en/latest/_images/cdsd4000_vs_hitemp_3409K.svg

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 `__

.. image:: https://user-images.githubusercontent.com/16088743/103406077-b2457100-4b59-11eb-82c0-e4de027a91c4.png
    :target: https://radis.app/
    :alt: https://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 !


.. image:: https://user-images.githubusercontent.com/16088743/103448773-7d8f0200-4c9e-11eb-8bf1-ce3385519b77.png
    :target: https://radis.github.io/radis-lab/
    :alt: https://radis.github.io/radis-lab/

See more `on GitHub `__


---------------------------------------------------------------------

====
Cite
====

Articles are available at |badge_article1| |badge_article2|

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 the `Developer Guide `__.

|badge_contributors| |badge_slack|

.. You need to know more about Spectroscopy ? We're working on Tutorials to
.. make spectroscopy available to everyone. For the moment, join the
.. `Slack channel `__ .


RADIS internals are also described in the `full documentation `__

.. .. image:: https://radis.readthedocs.io/en/latest/_images/RADIS_flow_chart.svg
..      :target:   https://radis.readthedocs.io/en/latest/dev/architecture.html#label-dev-architecture
..      :alt: https://radis.readthedocs.io/en/latest/_images/RADIS_flow_chart.svg


.. ### Matlab

.. Matlab users can seamlessly access Python modules

.. Here's what's you'll need:

.. 1. [Setup Python ↔ Matlab interface](https://www.scivision.dev/matlab-python-user-module-import/).
.. 2. Install RADIS in Python as at the top of this Readme.
.. 3. From Matlab, verify everything is working by:

..         ```
..         py.radis.calc_spectrum()
..         ```


License
-------

The code is available on this repository under
`GNU LESSER GENERAL PUBLIC LICENSE (v3) <./LICENSE>`_   |badge_license|


.. Support
.. -------

.. If encountering any problem, first refer to the list of known
.. `Issues `__ on GitHub.
.. We appreciate your feedback and suggestions!

.. For any question, please join the discussion channel on Gitter |badge_gitter|, Slack |badge_slack|
.. or the `Q&A Forum `__


.. Finally, you can also suggest or vote for new features below:

.. .. image:: https://feathub.com/radis/radis?format=svg
..    :target: https://feathub.com/radis/radis



---------------------------------------------------------------------

==========
References
==========

Links
-----

- Documentation: |badge_docs|

- Help: |badge_gitter| |badge_slack|  `Q&A forum `__

- Articles: |badge_article1| |badge_article2|

- Source Code: |badge_stars| |badge_contributors| |badge_license|

- Test Status: |badge_travis| |badge_coverage| |badge_asv|

- PyPi Repository: |badge_pypi|  |badge_pypistats|

- Interactive Examples: `radis_examples `__ |badge_examples| |badge_binder|

- `Fitroom `__ (for advanced multidimensional fitting).



Other Spectroscopic tools
-------------------------

See `awesome-spectra `__   |badge_awesome_spectra|

--------

.. image:: https://github.com/radis/radis/blob/master/docs/radis_ico.png
    :target: https://radis.readthedocs.io/
    :scale: 50 %
    :alt: RADIS logo





.. |CO2| replace:: CO\ :sub:`2`

.. |badge_docs| image:: https://readthedocs.org/projects/radis/badge/
                :target: https://readthedocs.org/projects/radis/
                :alt: Documentation Status

.. |badge_article1| image:: https://zenodo.org/badge/doi/10.1016/j.jqsrt.2018.09.027.svg
                   :target: https://linkinghub.elsevier.com/retrieve/pii/S0022407318305867
                   :alt: Article

.. |badge_article2| image:: https://zenodo.org/badge/doi/10.1016/j.jqsrt.2020.107476.svg
                   :target: https://linkinghub.elsevier.com/retrieve/pii/S0022407320310049
                   :alt: Spectral Synthesis Algorithm

.. |badge_stars| image:: https://img.shields.io/github/stars/radis/radis.svg?style=social&label=Star
                :target: https://github.com/radis/radis/stargazers
                :alt: GitHub

.. |badge_contributors| image:: https://img.shields.io/github/contributors/radis/radis.svg
                        :target: https://github.com/radis/radis/graphs/contributors
                        :alt: Contributors

.. |badge_license| image:: https://img.shields.io/badge/License-LGPL3-blue.svg
                   :target: ./License.md
                   :alt: License

.. |badge_travis| image:: https://app.travis-ci.com/radis/radis.svg?branch=develop
                  :target: https://app.travis-ci.com/github/radis/radis
                  :alt: Tests

.. |badge_coverage| image:: https://codecov.io/gh/radis/radis/branch/develop/graph/badge.svg
                    :target: https://codecov.io/gh/radis/radis
                    :alt: Coverage

.. |badge_code_quality| image:: https://img.shields.io/lgtm/grade/python/g/radis/radis.svg?logo=lgtm&logoWidth=18)
                  :target: https://lgtm.com/projects/g/radis/radis/alerts
                  :alt: Code Quality

.. |badge_asv| image:: http://img.shields.io/badge/benchmarked%20by-asv-blue.svg?style=flat
                  :target: https://github.com/radis/radis-benchmark
                  :alt: Benchmarks

.. |badge_pypi| image:: https://img.shields.io/pypi/v/radis.svg
                :target: https://pypi.python.org/pypi/radis
                :alt: PyPI

.. |badge_pypistats| image:: https://img.shields.io/pypi/dw/radis.svg
                     :target: https://pypistats.org/packages/radis
                     :alt: Downloads

.. |badge_examples| image:: https://img.shields.io/github/stars/radis/radis-examples.svg?style=social&label=Star
                :target: https://github.com/radis/radis-examples
                :alt: Examples

.. |badge_awesome_spectra| image:: https://img.shields.io/github/stars/erwanp/awesome-spectra.svg?style=social&label=Star
                           :target: https://github.com/erwanp/awesome-spectra
                           :alt: Examples

.. |badge_binder| image:: https://mybinder.org/badge.svg
                  :target: https://radis.github.io/radis-lab/
                  :alt: https://radis.github.io/radis-lab/

.. |badge_gitter| image:: https://badges.gitter.im/Join%20Chat.svg
                  :target: https://gitter.im/radis-radiation/community
                  :alt: Gitter

.. |badge_slack| image:: https://img.shields.io/badge/slack-join-green.svg?logo=slack
                  :target: https://radis.github.io/slack-invite/
                  :alt: Slack

        

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 3,430
Total Committers: 55
Avg Commits per committer: 62.364
Development Distribution Score (DDS): 0.558

Commits in past year: 585
Committers in past year: 13
Avg Commits per committer in past year: 45.0
Development Distribution Score (DDS) in past year: 0.641

Name Email Commits
Erwan Pannier e****r@g****m 1516
NicolasEM2C n****i@c****r 390
Dirk van den Bekerom d****m@g****m 364
Josh Soref 2****f 175
anandxkumar a****0@g****m 131
Darshan Patil d****5@g****m 122
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
Tran Huu Nhat Huy h****5@g****m 41
Hajime Kawahara d****t@g****m 41
Supriya1702 s****i@g****m 39
Prtm2110 p****e@g****m 32
gagan-aryan g****9@g****m 31
mohyware m****0@g****m 25
Sagar Chotalia s****2@g****m 20
adityabharadwaj198 a****8@g****m 19
Sonika s****7@g****m 18
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
Ulysse 4****d 8
Adarsh Desai d****2@g****m 6
Alexander Johan Arntzen a****n@g****m 6
gugzy a****e@e****r 5
Yui Kasagi y****i@g****p 5
and 25 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 192
Total pull requests: 193
Average time to close issues: 10 months
Average time to close pull requests: about 1 month
Total issue authors: 49
Total pull request authors: 38
Average comments per issue: 3.52
Average comments per pull request: 4.12
Merged pull request: 132
Bot issues: 0
Bot pull requests: 0

Past year issues: 76
Past year pull requests: 95
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 12 days
Past year issue authors: 27
Past year pull request authors: 15
Past year average comments per issue: 2.3
Past year average comments per pull request: 3.03
Past year merged pull request: 58
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 (59)
  • minouHub (32)
  • dcmvdbekerom (18)
  • Prtm2110 (9)
  • Airfooox (5)
  • HajimeKawahara (5)
  • code29563 (5)
  • Rockyuo666 (4)
  • CorentinGrimaldi (3)
  • JackK02 (3)
  • saradelahaie (3)
  • TranHuuNhatHuy (3)
  • nollety (2)
  • Supriya1702 (2)
  • gh4ag (2)

Top Pull Request Authors

  • minouHub (43)
  • erwanp (28)
  • darshvn (18)
  • 1someshverma (12)
  • prabhat-kumar96 (10)
  • HajimeKawahara (9)
  • mohyware (7)
  • TranHuuNhatHuy (7)
  • Prtm2110 (7)
  • menasrac (6)
  • code29563 (5)
  • arunavabasu-03 (4)
  • dcmvdbekerom (3)
  • smitsekhadiaa (3)
  • salmanhiro (2)

Top Issue Labels

  • bug (78)
  • todo (44)
  • enhancement (38)
  • good first issue (35)
  • interface (22)
  • physics (21)
  • 😎. (16)
  • ci-dev (15)
  • databases (12)
  • 💡gsoc (10)
  • performance (9)
  • documentation (9)
  • help wanted (7)
  • refactor (6)
  • post-process (5)
  • db:hitran (4)
  • db:exomol (4)
  • 🤔🤔. (3)
  • gpu (3)
  • ⭐⭐⭐_ (1)
  • db:hitemp (1)
  • use-case (1)

Top Pull Request Labels

  • bug (17)
  • interface (14)
  • ci-dev (13)
  • performance (13)
  • documentation (12)
  • physics (12)
  • databases (7)
  • db:exomol (5)
  • db:hitemp (3)
  • post-process (2)
  • db:hitran (2)
  • gpu (2)
  • ⭐⭐⭐_ (2)
  • refactor (1)
  • enhancement (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: 9.769384568012647