ChiantiPy is the Python interface to the CHIANTI atomic database for astrophysical spectroscopy. It provides the capability to calculate the emission line and continuum spectrum of an optically thin plasma based on the data in the CHIANTI database.
CHIANTI provides a database of atomic data that can be used to interpret the emission of spectral lines and continua emitted from high-temperature, optically-thin astrophysical sources. The CHIANTI project provides a suite of routines written in Interactive Data Language (IDL) to access the database and calculate various quantities for use in interpreting observed spectra or producing synthetic spectra. As of ChiantiPy 0.10.0, the CHIANTI database version 10 or later is required
The following dependencies are required to run ChiantiPy,
- Python3 (Python 3 is now required as of version 0.8.0)
- Numpy
- Scipy
- Matplotlib
- ipyparallel
The following two are extremely useful for running Python programs
Optionally, if you'd like to use the GUI dialogs,
If you are not familiar with installing Python and the needed dependencies, we recommend the Anaconda platform. Next, download the CHIANTI database, version 10.0 or later. Assuming you've placed the CHIANTI tree in $HOME
, set the environment variable in your .bashrc
file,
export XUVTOP=$HOME/MY_CHIANTI_DIRECTORY
should point to the top directory of your CHIANTI distribution
The release is also available on PyPI
$ python3 -m pip install ChiantiPy
Or, clone and install the source from GitHub,
$ git clone --recursive https://github.com/chianti-atomic/ChiantiPy.git
$ cd ChiantiPy
$ python setup.py install
As a quick example, we'll calculate the populations of the top 10 levels of Fe XIV as a function of temperature at constant density and plot them:
>>> import ChiantiPy.core as ch
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> temperature = np.logspace(5.8,6.8,21)
>>> fe14 = ch.ion('fe_14',temperature=temperature,eDensity=1.e+9,em=1.e+27)
>>> fe14.popPlot()
>>> plt.show()
For more information about installing and using either ChiantiPy or the CHIANTI atomic database, check out the following links: