atomneb


Nameatomneb JSON
Version 0.3.4 PyPI version JSON
download
home_pagehttps://atomneb.github.io/AtomNeb-py/
Summaryatomneb: Python Package for Atomic Data of Ionized Nebulae
upload_time2023-12-22 19:19:57
maintainer
docs_urlNone
authorAshkbiz Danehkar
requires_python
licensehttp://www.gnu.org/licenses/gpl.html
keywords atomneb chianti atomic database atomic datasets recombination lines collisionally excited lines recombination coefficients
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage
            ======================
AtomNeb Python Package
======================

.. image:: https://img.shields.io/pypi/v/atomneb.svg?style=flat
    :target: https://pypi.python.org/pypi/atomneb/
    :alt: PyPI Version
    
.. image:: https://app.travis-ci.com/atomneb/AtomNeb-py.svg?branch=master
    :target: https://app.travis-ci.com/github/atomneb/AtomNeb-py
    :alt: Build Status
    
.. image:: https://ci.appveyor.com/api/projects/status/gi4ok3wy7jjn1ekb?svg=true
    :target: https://ci.appveyor.com/project/danehkar/atomneb-py
    :alt: Build Status
    
.. image:: https://coveralls.io/repos/github/atomneb/AtomNeb-py/badge.svg?branch=master
    :target: https://coveralls.io/github/atomneb/AtomNeb-py?branch=master
    :alt: Coverage Status
    
.. image:: https://img.shields.io/badge/license-GPL-blue.svg
    :target: https://github.com/atomneb/AtomNeb-py/blob/master/LICENSE
    :alt: GitHub license
    
.. image:: https://img.shields.io/conda/vn/conda-forge/atomneb.svg
    :target: https://anaconda.org/conda-forge/atomneb
    :alt: Anaconda Cloud
    
.. image:: https://readthedocs.org/projects/atomneb-py/badge/?version=latest
    :target: https://atomneb-py.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status
    
.. image:: https://img.shields.io/badge/python-2.7%2C%203.8-blue.svg
    :alt: Support Python versions 2.7 and 3.8
    
.. image:: https://img.shields.io/badge/DOI-10.5281/zenodo.4287565-blue.svg
    :target: https://doi.org/10.5281/zenodo.4287565
    :alt: Zenodo

.. image:: http://joss.theoj.org/papers/10.21105/joss.02797/status.svg
    :target: https://doi.org/10.21105/joss.02797
    :alt: JOSS

.. image:: https://mybinder.org/badge_logo.svg
 :target: https://mybinder.org/v2/gh/atomneb/AtomNeb-py/HEAD?labpath=Notebooks.ipynb

Description
===========

**AtomNeb-py** is a library written in Python for reading atomic data from *AtomNeb*, which is a database containing atomic data stored in the Flexible Image Transport System (FITS) file format for *collisionally excited lines* and *recombination lines* typically observed in spectra of ionized gaseous nebulae. The AtomNeb database were generated for use in `pyEQUIB <https://github.com/equib/pyEQUIB>`_, `proEQUIB <https://github.com/equib/proEQUIB>`_, and other nebular spectral analysis tools. 


Collisionally Excited Lines
---------------------------

*AtomNeb for collisionally excited lines*  contains sets of `atomic datasets <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data>`_, which include energy levels (Ej), collision strengths (Ωij), and transition probabilities (Aij) of the most ions commonly observed in ionized nebulae.

The atomic datasets for collisionally excited lines are as follows:

* `Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/collection>`_ from the `National Institute of Standards and Technology (NIST) Atomic Spectra Database <https://www.nist.gov/pml/atomic-spectra-database>`_, the `CHIANTI atomic database <http://www.chiantidatabase.org/>`_, and some improved atomic data from `Cloudy v13.04 <https://www.nublado.org/>`_ and pyNeb v1.0. This collection was compiled according to the atomic data used in `pyNeb v1.0 <http://www.iac.es/proyecto/PyNeb/>`_.

* `Chianti52 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti52>`_ from the `CHIANTI atomic database <http://www.chiantidatabase.org/>`_ version 5.2. This dataset was compiled according to the atomic data used in `MOCASSIN <https://github.com/mocassin/MOCASSIN-2.0>`_.

* `Chianti60 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti60>`_ from the `CHIANTI atomic database <http://www.chiantidatabase.org/>`_ version 6.0. This dataset was compiled according to the atomic data used in `MOCASSIN <https://github.com/mocassin/MOCASSIN-2.0>`_.

* `Chianti70 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti70>`_ from the `CHIANTI atomic database <http://www.chiantidatabase.org/>`_ version 7.0. This dataset was compiled according to the atomic data used in `MOCASSIN <https://github.com/mocassin/MOCASSIN-2.0>`_.

* `Chianti90 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti90>`_ from the `CHIANTI atomic database <http://www.chiantidatabase.org/>`_ version 9.0. This dataset was compiled according to the atomic data used in `NEAT <https://github.com/rwesson/NEAT>`_.

Each dataset contains the following `atomic data FITS files <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti70>`_: ``AtomElj.fits`` for *Energy Levels* (Ej), ``AtomOmij.fits`` for *Collision Strengths* (Ωij), and ``AtomAij.fits`` for *Transition Probabilities* (Aij).


Recombination Lines
-------------------

*AtomNeb for recombination lines* contains sets of `effective recombination coefficients <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_ (αeff) of recombination lines of H I, He I, He II, C I, C II, C III, C VI, N II, N III, N IV, N V, N VI, N VII, O II, O III, O IV, O V, O VI, O VIII, and Ne II ions typically observed in ionized nebulae, as well as Branching ratios (Br) of O II and N II lines.

The atomic datasets for recombination lines are as follows:

* `RC Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, effective recombination coefficients for C II (`Davey et al. 2000 <https://ui.adsabs.harvard.edu/abs/2000A%26AS..142...85D/abstract>`_), N II (`Escalante and Victor 1990 <https://ui.adsabs.harvard.edu/abs/1990ApJS...73..513E/abstract>`_), O II (`Storey 1994 <https://ui.adsabs.harvard.edu/abs/1994A%26A...282..999S/abstract>`_; `Liu et al. 1995 <https://ui.adsabs.harvard.edu/abs/1995MNRAS.272..369L/abstract>`_), and Ne II ions (`Kisielius et al. 1998 <https://ui.adsabs.harvard.edu/abs/1998A%26AS..133..257K/abstract>`_), including Branching ratios (Br) for O II and N II ions. This collection was compiled according to the atomic data used in `MOCASSIN <https://github.com/mocassin/MOCASSIN-2.0>`_.

* `SH95 Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, hydrogenic ions for Z=1 to 8, namely H I, He II, Li III, Be IV, B V, C VI, N VII, and O VIII ions from `Storey and Hummer (1995) <https://ui.adsabs.harvard.edu/abs/1995MNRAS.272...41S/abstract>`_.

* `PPB91 Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, effective recombination coefficients for H, He, C, N, O, Ne ions from `Pequignot, Petitjean and Boisson (1991) <https://ui.adsabs.harvard.edu/abs/1991A%26A...251..680P/abstract>`_.

* `PFSD12 He I data <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, effective He I recombination coefficients from `Porter et al (2012) <https://ui.adsabs.harvard.edu/abs/2012MNRAS.425L..28P/abstract>`_ and `(2013a) <https://ui.adsabs.harvard.edu/abs/2013MNRAS.433L..89P/abstract>`_.

* `FSL13 N II data <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, effective N II recombination coefficients (corrigendum) from `Fang, Storey and Liu (2011) <https://ui.adsabs.harvard.edu/abs/2011A%26A...530A..18F/abstract>`_ and `(2013b) <https://ui.adsabs.harvard.edu/abs/2013A%26A...550C...2F/abstract>`_.

* `SSB17 O II data <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, effective O II recombination coefficients of 8889 recombination lines for Cases A, B, and C, and 2433 optical (3500-9000Å) recombination lines for Case B from `Storey, Sochi and Bastin (2017) <https://ui.adsabs.harvard.edu/abs/2017MNRAS.470..379S/abstract>`_.



Installation
============

Dependent Python Packages
-------------------------

 This package requires the following packages:

    - `NumPy <https://numpy.org/>`_
    - `Astropy <https://www.astropy.org/>`_

The previous version relied on `pandas <https://pandas.pydata.org/>`_, but all the data structures were changed from pandas.DataFrame to those defined by `NumPy <https://numpy.org/>`_ that speed up the computations and reduce the memory usage.
    
* To get this package with all the FITS file, you can simply use ``git`` command as follows:

.. code-block::

        git clone https://github.com/atomneb/AtomNeb-py

* If you plan to use the recent O II recombination coefficients (`Storey, Sochi and Bastin 2017 <https://ui.adsabs.harvard.edu/abs/2017MNRAS.470..379S/abstract>`_), you need to unpack them:

.. code-block::

        cd AtomNeb-py/atomic-data-rc/
        tar -xvf *.fits.tar.gz


To install the last version, all you should need to do is

.. code-block::

    $ python setup.py install

To install the stable version, you can use the preferred installer program (pip):

.. code-block::

    $ pip install atomneb

or you can install it from the cross-platform package manager *conda*:

.. code-block::

    $ conda install -c conda-forge atomneb

How to Use
==========

The Documentation of the functions provides in detail in the *API Documentation* (`atomneb.github.io/AtomNeb-py/doc <https://atomneb.github.io/AtomNeb-py/doc>`_). There are two main categories: *collisionally excited lines (CEL)* and *recombination lines (RC)*.


See *Jupyter Notebooks*: `Notebooks.ipynb <https://github.com/atomneb/AtomNeb-py/blob/master/Notebooks.ipynb>`_

Run *Jupyter Notebooks* on `Binder <https://mybinder.org/v2/gh/atomneb/AtomNeb-py/HEAD?labpath=Notebooks.ipynb>`_:

.. image:: https://mybinder.org/badge_logo.svg
 :target: https://mybinder.org/v2/gh/atomneb/AtomNeb-py/HEAD?labpath=Notebooks.ipynb
 
* The atomic data for **collisionally excited lines (CEL)** contain Energy Levels (Ej), Collision Strengths (Ωij), and Transition Probabilities (Aij). We have four atomic datasets for them: `collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/collection>`_, `chianti52 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti52>`_, `chianti60 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti60>`_, and `chianti70 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti70>`_. 
    
    You need to load the **atomneb** library as follows:

    .. code-block:: python

        import atomneb
        import numpy as np
        import os
        
        base_dir = '.'
        data_dir = os.path.join('atomic-data', 'chianti70')
        
        atom_elj_file = os.path.join(base_dir,data_dir, 'AtomElj.fits')
        atom_omij_file = os.path.join(base_dir,data_dir, 'AtomOmij.fits')
        atom_aij_file = os.path.join(base_dir,data_dir, 'AtomAij.fits')
        elj_data_list = atomneb.read_elj_list(atom_elj_file)
        omij_data_list = atomneb.read_omij_list(atom_omij_file)
        aij_data_list = atomneb.read_aij_list(atom_aij_file)
   
    Now you have access to:
     
    - *Energy Levels* (Ej):
    
      .. code-block:: python
 
        atom='o'
        ion='iii'
        oiii_elj_data = atomneb.read_elj(atom_elj_file, atom, ion, level_num=6)
        print(oiii_elj_data['j_v'])
        print(oiii_elj_data['ej'])
    
      which gives::
    
        0.00000      1.00000      2.00000      2.00000      0.00000      2.00000
        0.00000      113.200      306.200      20273.30     43185.69     60324.80
    
    - *Collision Strengths* (Ωij):

      .. code-block:: python
 
        atom='o'
        ion='iii'
        oiii_omij_data = atomneb.read_omij(atom_omij_file, atom, ion)
        print(oiii_omij_data['level1'])
        print(oiii_omij_data['level2'])
        print(oiii_omij_data['strength'][0])
    
      which gives::
        
        0       1       1       1       1       ...
        0       2       3       4       5       ...
        100.0      158.50       251.20       398.10       631.0       ...
    
    - *Transition Probabilities* (Aij):

      .. code-block:: python
 
        atom='o'
        ion='iii'
        oiii_aij_data = atomneb.read_aij(atom_aij_file, atom, ion)
        print(oiii_aij_data['aij'][0])
    
      which gives::
        
         0.0000   2.5969e-05       0.0000   2.3220e-06      ...
    
* The atomic data for **recombination lines (RC)** contain effective recombination coefficients (αeff) of emission lines from different collections: `RC Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, `SH95 Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, `PPB91 Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, `PFSD12 He I data <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, `FSL13 N II data <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, and `SSB17 O II data <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_.
    
    You need to load the **atomneb** libary:
    
    .. code-block:: python
    
        import atomneb
        import numpy as np
        import os
        
        base_dir = '.'
        data_rc_dir = os.path.join('atomic-data-rc')
    
    Now you have access to effective recombination coefficients (αeff) of the following collections:
     
    - *RC Collection*:

      .. code-block:: python
    
        atom_rc_file = os.path.join(base_dir,data_rc_dir, 'rc_collection.fits')
        atom='c'
        ion='iii'
        cii_rc_data = atomneb.read_aeff_collection(atom_rc_file, atom, ion)
        n_line = len(cii_rc_data['wavelength'])
        for i in range(0, n_line):
             print(cii_rc_data['wavelength'][i], cii_rc_data['a'][i], 
                   cii_rc_data['b'][i], cii_rc_data['c'][i], 
                   cii_rc_data['d'][i], cii_rc_data['f'][i])
        
      which gives::
    
        914.00000      0.69280000     0.021400000    -0.016300000     -0.24310000     -0.88000000
        962.00000       1.0998000   -0.0042000000    -0.027900000     -0.22940000     -0.96560000
        997.00000      0.78210000     -0.36840000   0.00030000000     -0.12170000     -0.78740000
        ...
        
    - *SH95 Collection*:
    
      .. code-block:: python
        
        atom_rc_file = os.path.join(base_dir,data_rc_dir, 'rc_SH95.fits')
        atom='h'
        ion='ii'
        hi_rc_data = atomneb.read_aeff_sh95(atom_rc_file, atom, ion)
        print(hi_rc_data['aeff'][0])
        
      which gives::
    
        100.00000       500.00000       0.0000000   4.2140000e-27   1.7560000e-27   1.0350000e-27
        ...
        
    - *PPB91 Collection*:
    
      .. code-block:: python
    
        atom_rc_file = os.path.join(base_dir,data_rc_dir, 'rc_PPB91.fits')
        atom='c'
        ion='iii'
        cii_rc_data = atomneb.read_aeff_ppb91(atom_rc_file, atom, ion)
        n_line = len(cii_rc_data['wavelength'])
        for i in range(0, n_line):
           print(cii_rc_data['ion'][i], cii_rc_data['case1'][i], cii_rc_data['wavelength'][i],
                 cii_rc_data['a'][i], cii_rc_data['b'][i], cii_rc_data['c'][i],
                 cii_rc_data['d'][i], cii_rc_data['br'][i], cii_rc_data['q'][i], cii_rc_data['y'][i])
           
      which gives::
    
        C2+A       9903.4600      0.69700000     -0.78400000       4.2050000      0.72000000       1.0000000       1.6210000
        C2+A       4267.1500       1.0110000     -0.75400000       2.5870000      0.71900000      0.95000000       2.7950000
        ...
          
    - *PFSD12 He I data*:

      .. code-block:: python
    
        atom_rc_file = os.path.join(base_dir,data_rc_dir, 'rc_he_ii_PFSD12.fits')
        atom='he'
        ion='ii'
        hei_rc_data = atomneb.read_aeff_he_i_pfsd12(atom_rc_file, atom, ion)
        hei_rc_data_wave = atomneb.read_aeff_he_i_pfsd12(atom_rc_file, atom, ion, wavelength=True)
        print(hei_rc_data['aeff'][0])
           
      which gives::
    
        5000.0000       10.000000      -25.379540      -25.058970      -25.948440      -24.651820      -25.637660     
        ...
        
    - *FSL13 N II data*:
    
      .. code-block:: python
    
        atom_rc_file = os.path.join(base_dir,data_rc_dir, 'rc_n_iii_FSL13.fits')
        atom='n'
        ion='iii'
        wavelength_range=[4400.0, 7100.0] 
        nii_rc_data = atomneb.read_aeff_n_ii_fsl13(atom_rc_file, atom, ion, wavelength_range)
        nii_rc_data_wave = atomneb.read_aeff_n_ii_fsl13(atom_rc_file, atom, ion, wavelength_range, wavelength=True)
        print(nii_rc_data['aeff'][0])
        n_line = len(hei_rc_data_wave['wavelength'])
        for i in range(0, n_line):
           print(nii_rc_data_wave['wavelength'][i], nii_rc_data_wave['tr'][i], nii_rc_data_wave['trans'][i])
        
      which gives::
    
        255.000      79.5000      47.3000      12.5000      6.20000      4.00000      2.86000
        258.000      54.4000      29.7000      7.92000      4.11000      2.72000      2.00000
        310.000      48.1000      23.7000      5.19000      2.55000      1.65000      1.21000
        434.000      50.3000      23.2000      4.71000      2.26000      1.45000      1.05000
          
        6413.23 6g - 4f2p6g G[9/2]o4 - 2p4f F[7/2]e3
        6556.32 6g - 4f2p6g G[9/2]o5 - 2p4f G[7/2]e4
        6456.97 6g - 4f2p6g G[9/2]o5 - 2p4f F[7/2]e4
        6446.53 6g - 4f2p6g F[7/2]o3 - 2p4f D[5/2]e2
        6445.34 6g - 4f2p6g F[7/2]o4 - 2p4f D[5/2]e3
        ...
        
    - *SSB17 O II data*: You first need to unpack rc_o_iii_SSB17_orl_case_b.fits.tar.gz, e.g.:: 

        tar -xvf rc_o_iii_SSB17_orl_case_b.fits.tar.gz

      If you need to have access to the full dataset (entire wavelengths, case A and B)::

        tar -xvf rc_o_iii_SSB17.fits.tar.gz

      Please note that using the entire atomic data will make your program very slow and you may need to have a higher memory on your system. Without the above comment, as default, the cose uses rc_o_iii_SSB17_orl_case_b.fits. You can also unpack them using tarfile shown below:

      .. code-block:: python
    
        import atomneb
        import numpy as np
        import os
        import tarfile
        
        base_dir = '.'
        data_rc_dir = os.path.join('atomic-data-rc')
        atom_rc_file = os.path.join(base_dir,data_rc_dir, 'rc_o_iii_SSB17_orl_case_b.fits')

        atom_rc_file_tar_gz = os.path.join(base_dir,data_rc_dir, 'rc_o_iii_SSB17_orl_case_b.fits.tar.gz')
        atom_rc_path = os.path.join(base_dir,data_rc_dir)
        tar = tarfile.open(atom_rc_file_tar_gz, "r:gz")
        tar.extractall(path=atom_rc_path)
        tar.close()
        
        atom = 'o'
        ion = 'iii' # O II
        case1 = 'B'
        wavelength_range=[5320.0, 5330.0]
        oii_rc_data = atomneb.read_aeff_o_ii_ssb17(atom_rc_file, atom, ion, case1, wavelength_range)
        oii_rc_data_wave = atomneb.read_aeff_o_ii_ssb17(atom_rc_file, atom, ion, case1, wavelength_range, wavelength=True)
        print(oii_rc_data['aeff'][0])
        n_line = len(oii_rc_data_wave['wavelength'])
        for i in range(0, n_line):
           print(oii_rc_data_wave['wavelength'][i], oii_rc_data_wave['lower_term'][i], oii_rc_data_wave['upper_term'][i])
        
      which gives::
    
        1.64100e-30  1.60000e-30  1.56400e-30  1.54100e-30  1.52100e-30  1.50900e-30
        ...
          
        5327.17 2s22p2(1S)3p 2Po
        5325.42 2s22p2(1S)3p 2Po
        5327.18 2s22p2(1D)3d 2Ge
        5326.84 2s22p2(1D)3d 2Ge
        ...


Documentation
=============

For more information on how to use the API functions from the AtomNeb Python package, please read the `API Documentation  <https://atomneb.github.io/AtomNeb-py/doc>`_ published on `atomneb.github.io/AtomNeb-py <https://atomneb.github.io/AtomNeb-py>`_.


References
==========

* Danehkar, A. (2020). AtomNeb Python Package, an addendum to AtomNeb: IDL Library for Atomic Data of Ionized Nebulae. *J. Open Source Softw.*, **5**, 2797. doi:`10.21105/joss.02797 <https://doi.org/10.21105/joss.02797>`_ ads:`2020JOSS....5.2797D <https://ui.adsabs.harvard.edu/abs/2020JOSS....5.2797D/abstract>`_.

* Danehkar, A. (2019). AtomNeb: IDL Library for Atomic Data of Ionized Nebulae. *J. Open Source Softw.*, **4**, 898. doi:`10.21105/joss.00898 <https://doi.org/10.21105/joss.00898>`_ ads:`2019JOSS....4..898D <https://ui.adsabs.harvard.edu/abs/2019JOSS....4..898D/abstract>`_.


Citation
========

Using the **AtomNeb** Python package in a scholarly publication? Please cite these papers:

.. code-block:: bibtex

   @article{Danehkar2020,
     author = {{Danehkar}, Ashkbiz},
     title = {AtomNeb Python Package, an addendum to AtomNeb: IDL Library 
              for Atomic Data of Ionized Nebulae},
     journal = {Journal of Open Source Software},
     volume = {5},
     number = {55},
     pages = {2797},
     year = {2020},
     doi = {10.21105/joss.02797}
   }

and if you use the `AtomNeb <https://github.com/atomneb/AtomNeb-idl>`_ IDL library:

.. code-block:: bibtex

   @article{Danehkar2019,
     author = {{Danehkar}, Ashkbiz},
     title = {AtomNeb: IDL Library for Atomic Data of Ionized Nebulae},
     journal = {Journal of Open Source Software},
     volume = {4},
     number = {35},
     pages = {898},
     year = {2019},
     doi = {10.21105/joss.00898}
   }

Learn More
==========

==================  =============================================
**Documentation**   https://atomneb-py.readthedocs.io/
**Repository**      https://github.com/atomneb/AtomNeb-py
**Issues & Ideas**  https://github.com/atomneb/AtomNeb-py/issues
**Conda-Forge**     https://anaconda.org/conda-forge/atomneb
**PyPI**            https://pypi.org/project/atomneb/
**DOI**             `10.21105/joss.02797 <https://doi.org/10.21105/joss.02797>`_
**Archive**         `10.5281/zenodo.4287565 <https://doi.org/10.5281/zenodo.4287565>`_
==================  =============================================

            

Raw data

            {
    "_id": null,
    "home_page": "https://atomneb.github.io/AtomNeb-py/",
    "name": "atomneb",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "atomneb,Chianti atomic database,atomic datasets,recombination lines,collisionally excited lines,recombination coefficients",
    "author": "Ashkbiz Danehkar",
    "author_email": "ashkbiz.danehkar@students.mq.edu.au",
    "download_url": "https://files.pythonhosted.org/packages/24/77/dc71840e87d8825775b8ac16a59cc1f089e218fd435981d5e6c20798a050/atomneb-0.3.4.tar.gz",
    "platform": "any",
    "description": "======================\nAtomNeb Python Package\n======================\n\n.. image:: https://img.shields.io/pypi/v/atomneb.svg?style=flat\n    :target: https://pypi.python.org/pypi/atomneb/\n    :alt: PyPI Version\n    \n.. image:: https://app.travis-ci.com/atomneb/AtomNeb-py.svg?branch=master\n    :target: https://app.travis-ci.com/github/atomneb/AtomNeb-py\n    :alt: Build Status\n    \n.. image:: https://ci.appveyor.com/api/projects/status/gi4ok3wy7jjn1ekb?svg=true\n    :target: https://ci.appveyor.com/project/danehkar/atomneb-py\n    :alt: Build Status\n    \n.. image:: https://coveralls.io/repos/github/atomneb/AtomNeb-py/badge.svg?branch=master\n    :target: https://coveralls.io/github/atomneb/AtomNeb-py?branch=master\n    :alt: Coverage Status\n    \n.. image:: https://img.shields.io/badge/license-GPL-blue.svg\n    :target: https://github.com/atomneb/AtomNeb-py/blob/master/LICENSE\n    :alt: GitHub license\n    \n.. image:: https://img.shields.io/conda/vn/conda-forge/atomneb.svg\n    :target: https://anaconda.org/conda-forge/atomneb\n    :alt: Anaconda Cloud\n    \n.. image:: https://readthedocs.org/projects/atomneb-py/badge/?version=latest\n    :target: https://atomneb-py.readthedocs.io/en/latest/?badge=latest\n    :alt: Documentation Status\n    \n.. image:: https://img.shields.io/badge/python-2.7%2C%203.8-blue.svg\n    :alt: Support Python versions 2.7 and 3.8\n    \n.. image:: https://img.shields.io/badge/DOI-10.5281/zenodo.4287565-blue.svg\n    :target: https://doi.org/10.5281/zenodo.4287565\n    :alt: Zenodo\n\n.. image:: http://joss.theoj.org/papers/10.21105/joss.02797/status.svg\n    :target: https://doi.org/10.21105/joss.02797\n    :alt: JOSS\n\n.. image:: https://mybinder.org/badge_logo.svg\n :target: https://mybinder.org/v2/gh/atomneb/AtomNeb-py/HEAD?labpath=Notebooks.ipynb\n\nDescription\n===========\n\n**AtomNeb-py** is a library written in Python for reading atomic data from *AtomNeb*, which is a database containing atomic data stored in the Flexible Image Transport System (FITS) file format for *collisionally excited lines* and *recombination lines* typically observed in spectra of ionized gaseous nebulae. The AtomNeb database were generated for use in `pyEQUIB <https://github.com/equib/pyEQUIB>`_, `proEQUIB <https://github.com/equib/proEQUIB>`_, and other nebular spectral analysis tools. \n\n\nCollisionally Excited Lines\n---------------------------\n\n*AtomNeb for collisionally excited lines*  contains sets of `atomic datasets <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data>`_, which include energy levels (Ej), collision strengths (\u03a9ij), and transition probabilities (Aij) of the most ions commonly observed in ionized nebulae.\n\nThe atomic datasets for collisionally excited lines are as follows:\n\n* `Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/collection>`_ from the `National Institute of Standards and Technology (NIST) Atomic Spectra Database <https://www.nist.gov/pml/atomic-spectra-database>`_, the `CHIANTI atomic database <http://www.chiantidatabase.org/>`_, and some improved atomic data from `Cloudy v13.04 <https://www.nublado.org/>`_ and pyNeb v1.0. This collection was compiled according to the atomic data used in `pyNeb v1.0 <http://www.iac.es/proyecto/PyNeb/>`_.\n\n* `Chianti52 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti52>`_ from the `CHIANTI atomic database <http://www.chiantidatabase.org/>`_ version 5.2. This dataset was compiled according to the atomic data used in `MOCASSIN <https://github.com/mocassin/MOCASSIN-2.0>`_.\n\n* `Chianti60 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti60>`_ from the `CHIANTI atomic database <http://www.chiantidatabase.org/>`_ version 6.0. This dataset was compiled according to the atomic data used in `MOCASSIN <https://github.com/mocassin/MOCASSIN-2.0>`_.\n\n* `Chianti70 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti70>`_ from the `CHIANTI atomic database <http://www.chiantidatabase.org/>`_ version 7.0. This dataset was compiled according to the atomic data used in `MOCASSIN <https://github.com/mocassin/MOCASSIN-2.0>`_.\n\n* `Chianti90 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti90>`_ from the `CHIANTI atomic database <http://www.chiantidatabase.org/>`_ version 9.0. This dataset was compiled according to the atomic data used in `NEAT <https://github.com/rwesson/NEAT>`_.\n\nEach dataset contains the following `atomic data FITS files <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti70>`_: ``AtomElj.fits`` for *Energy Levels* (Ej), ``AtomOmij.fits`` for *Collision Strengths* (\u03a9ij), and ``AtomAij.fits`` for *Transition Probabilities* (Aij).\n\n\nRecombination Lines\n-------------------\n\n*AtomNeb for recombination lines* contains sets of `effective recombination coefficients <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_ (\u03b1eff) of recombination lines of H I, He I, He II, C I, C II, C III, C VI, N II, N III, N IV, N V, N VI, N VII, O II, O III, O IV, O V, O VI, O VIII, and Ne II ions typically observed in ionized nebulae, as well as Branching ratios (Br) of O II and N II lines.\n\nThe atomic datasets for recombination lines are as follows:\n\n* `RC Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, effective recombination coefficients for C II (`Davey et al. 2000 <https://ui.adsabs.harvard.edu/abs/2000A%26AS..142...85D/abstract>`_), N II (`Escalante and Victor 1990 <https://ui.adsabs.harvard.edu/abs/1990ApJS...73..513E/abstract>`_), O II (`Storey 1994 <https://ui.adsabs.harvard.edu/abs/1994A%26A...282..999S/abstract>`_; `Liu et al. 1995 <https://ui.adsabs.harvard.edu/abs/1995MNRAS.272..369L/abstract>`_), and Ne II ions (`Kisielius et al. 1998 <https://ui.adsabs.harvard.edu/abs/1998A%26AS..133..257K/abstract>`_), including Branching ratios (Br) for O II and N II ions. This collection was compiled according to the atomic data used in `MOCASSIN <https://github.com/mocassin/MOCASSIN-2.0>`_.\n\n* `SH95 Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, hydrogenic ions for Z=1 to 8, namely H I, He II, Li III, Be IV, B V, C VI, N VII, and O VIII ions from `Storey and Hummer (1995) <https://ui.adsabs.harvard.edu/abs/1995MNRAS.272...41S/abstract>`_.\n\n* `PPB91 Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, effective recombination coefficients for H, He, C, N, O, Ne ions from `Pequignot, Petitjean and Boisson (1991) <https://ui.adsabs.harvard.edu/abs/1991A%26A...251..680P/abstract>`_.\n\n* `PFSD12 He I data <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, effective He I recombination coefficients from `Porter et al (2012) <https://ui.adsabs.harvard.edu/abs/2012MNRAS.425L..28P/abstract>`_ and `(2013a) <https://ui.adsabs.harvard.edu/abs/2013MNRAS.433L..89P/abstract>`_.\n\n* `FSL13 N II data <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, effective N II recombination coefficients (corrigendum) from `Fang, Storey and Liu (2011) <https://ui.adsabs.harvard.edu/abs/2011A%26A...530A..18F/abstract>`_ and `(2013b) <https://ui.adsabs.harvard.edu/abs/2013A%26A...550C...2F/abstract>`_.\n\n* `SSB17 O II data <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, effective O II recombination coefficients of 8889 recombination lines for Cases A, B, and C, and 2433 optical (3500-9000\u00c5) recombination lines for Case B from `Storey, Sochi and Bastin (2017) <https://ui.adsabs.harvard.edu/abs/2017MNRAS.470..379S/abstract>`_.\n\n\n\nInstallation\n============\n\nDependent Python Packages\n-------------------------\n\n This package requires the following packages:\n\n    - `NumPy <https://numpy.org/>`_\n    - `Astropy <https://www.astropy.org/>`_\n\nThe previous version relied on `pandas <https://pandas.pydata.org/>`_, but all the data structures were changed from pandas.DataFrame to those defined by `NumPy <https://numpy.org/>`_ that speed up the computations and reduce the memory usage.\n    \n* To get this package with all the FITS file, you can simply use ``git`` command as follows:\n\n.. code-block::\n\n        git clone https://github.com/atomneb/AtomNeb-py\n\n* If you plan to use the recent O II recombination coefficients (`Storey, Sochi and Bastin 2017 <https://ui.adsabs.harvard.edu/abs/2017MNRAS.470..379S/abstract>`_), you need to unpack them:\n\n.. code-block::\n\n        cd AtomNeb-py/atomic-data-rc/\n        tar -xvf *.fits.tar.gz\n\n\nTo install the last version, all you should need to do is\n\n.. code-block::\n\n    $ python setup.py install\n\nTo install the stable version, you can use the preferred installer program (pip):\n\n.. code-block::\n\n    $ pip install atomneb\n\nor you can install it from the cross-platform package manager *conda*:\n\n.. code-block::\n\n    $ conda install -c conda-forge atomneb\n\nHow to Use\n==========\n\nThe Documentation of the functions provides in detail in the *API Documentation* (`atomneb.github.io/AtomNeb-py/doc <https://atomneb.github.io/AtomNeb-py/doc>`_). There are two main categories: *collisionally excited lines (CEL)* and *recombination lines (RC)*.\n\n\nSee *Jupyter Notebooks*: `Notebooks.ipynb <https://github.com/atomneb/AtomNeb-py/blob/master/Notebooks.ipynb>`_\n\nRun *Jupyter Notebooks* on `Binder <https://mybinder.org/v2/gh/atomneb/AtomNeb-py/HEAD?labpath=Notebooks.ipynb>`_:\n\n.. image:: https://mybinder.org/badge_logo.svg\n :target: https://mybinder.org/v2/gh/atomneb/AtomNeb-py/HEAD?labpath=Notebooks.ipynb\n \n* The atomic data for **collisionally excited lines (CEL)** contain Energy Levels (Ej), Collision Strengths (\u03a9ij), and Transition Probabilities (Aij). We have four atomic datasets for them: `collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/collection>`_, `chianti52 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti52>`_, `chianti60 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti60>`_, and `chianti70 <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data/chianti70>`_. \n    \n    You need to load the **atomneb** library as follows:\n\n    .. code-block:: python\n\n        import atomneb\n        import numpy as np\n        import os\n        \n        base_dir = '.'\n        data_dir = os.path.join('atomic-data', 'chianti70')\n        \n        atom_elj_file = os.path.join(base_dir,data_dir, 'AtomElj.fits')\n        atom_omij_file = os.path.join(base_dir,data_dir, 'AtomOmij.fits')\n        atom_aij_file = os.path.join(base_dir,data_dir, 'AtomAij.fits')\n        elj_data_list = atomneb.read_elj_list(atom_elj_file)\n        omij_data_list = atomneb.read_omij_list(atom_omij_file)\n        aij_data_list = atomneb.read_aij_list(atom_aij_file)\n   \n    Now you have access to:\n     \n    - *Energy Levels* (Ej):\n    \n      .. code-block:: python\n \n        atom='o'\n        ion='iii'\n        oiii_elj_data = atomneb.read_elj(atom_elj_file, atom, ion, level_num=6)\n        print(oiii_elj_data['j_v'])\n        print(oiii_elj_data['ej'])\n    \n      which gives::\n    \n        0.00000      1.00000      2.00000      2.00000      0.00000      2.00000\n        0.00000      113.200      306.200      20273.30     43185.69     60324.80\n    \n    - *Collision Strengths* (\u03a9ij):\n\n      .. code-block:: python\n \n        atom='o'\n        ion='iii'\n        oiii_omij_data = atomneb.read_omij(atom_omij_file, atom, ion)\n        print(oiii_omij_data['level1'])\n        print(oiii_omij_data['level2'])\n        print(oiii_omij_data['strength'][0])\n    \n      which gives::\n        \n        0       1       1       1       1       ...\n        0       2       3       4       5       ...\n        100.0      158.50       251.20       398.10       631.0       ...\n    \n    - *Transition Probabilities* (Aij):\n\n      .. code-block:: python\n \n        atom='o'\n        ion='iii'\n        oiii_aij_data = atomneb.read_aij(atom_aij_file, atom, ion)\n        print(oiii_aij_data['aij'][0])\n    \n      which gives::\n        \n         0.0000   2.5969e-05       0.0000   2.3220e-06      ...\n    \n* The atomic data for **recombination lines (RC)** contain effective recombination coefficients (\u03b1eff) of emission lines from different collections: `RC Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, `SH95 Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, `PPB91 Collection <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, `PFSD12 He I data <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, `FSL13 N II data <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_, and `SSB17 O II data <https://github.com/atomneb/AtomNeb-py/tree/master/atomic-data-rc>`_.\n    \n    You need to load the **atomneb** libary:\n    \n    .. code-block:: python\n    \n        import atomneb\n        import numpy as np\n        import os\n        \n        base_dir = '.'\n        data_rc_dir = os.path.join('atomic-data-rc')\n    \n    Now you have access to effective recombination coefficients (\u03b1eff) of the following collections:\n     \n    - *RC Collection*:\n\n      .. code-block:: python\n    \n        atom_rc_file = os.path.join(base_dir,data_rc_dir, 'rc_collection.fits')\n        atom='c'\n        ion='iii'\n        cii_rc_data = atomneb.read_aeff_collection(atom_rc_file, atom, ion)\n        n_line = len(cii_rc_data['wavelength'])\n        for i in range(0, n_line):\n             print(cii_rc_data['wavelength'][i], cii_rc_data['a'][i], \n                   cii_rc_data['b'][i], cii_rc_data['c'][i], \n                   cii_rc_data['d'][i], cii_rc_data['f'][i])\n        \n      which gives::\n    \n        914.00000      0.69280000     0.021400000    -0.016300000     -0.24310000     -0.88000000\n        962.00000       1.0998000   -0.0042000000    -0.027900000     -0.22940000     -0.96560000\n        997.00000      0.78210000     -0.36840000   0.00030000000     -0.12170000     -0.78740000\n        ...\n        \n    - *SH95 Collection*:\n    \n      .. code-block:: python\n        \n        atom_rc_file = os.path.join(base_dir,data_rc_dir, 'rc_SH95.fits')\n        atom='h'\n        ion='ii'\n        hi_rc_data = atomneb.read_aeff_sh95(atom_rc_file, atom, ion)\n        print(hi_rc_data['aeff'][0])\n        \n      which gives::\n    \n        100.00000       500.00000       0.0000000   4.2140000e-27   1.7560000e-27   1.0350000e-27\n        ...\n        \n    - *PPB91 Collection*:\n    \n      .. code-block:: python\n    \n        atom_rc_file = os.path.join(base_dir,data_rc_dir, 'rc_PPB91.fits')\n        atom='c'\n        ion='iii'\n        cii_rc_data = atomneb.read_aeff_ppb91(atom_rc_file, atom, ion)\n        n_line = len(cii_rc_data['wavelength'])\n        for i in range(0, n_line):\n           print(cii_rc_data['ion'][i], cii_rc_data['case1'][i], cii_rc_data['wavelength'][i],\n                 cii_rc_data['a'][i], cii_rc_data['b'][i], cii_rc_data['c'][i],\n                 cii_rc_data['d'][i], cii_rc_data['br'][i], cii_rc_data['q'][i], cii_rc_data['y'][i])\n           \n      which gives::\n    \n        C2+A       9903.4600      0.69700000     -0.78400000       4.2050000      0.72000000       1.0000000       1.6210000\n        C2+A       4267.1500       1.0110000     -0.75400000       2.5870000      0.71900000      0.95000000       2.7950000\n        ...\n          \n    - *PFSD12 He I data*:\n\n      .. code-block:: python\n    \n        atom_rc_file = os.path.join(base_dir,data_rc_dir, 'rc_he_ii_PFSD12.fits')\n        atom='he'\n        ion='ii'\n        hei_rc_data = atomneb.read_aeff_he_i_pfsd12(atom_rc_file, atom, ion)\n        hei_rc_data_wave = atomneb.read_aeff_he_i_pfsd12(atom_rc_file, atom, ion, wavelength=True)\n        print(hei_rc_data['aeff'][0])\n           \n      which gives::\n    \n        5000.0000       10.000000      -25.379540      -25.058970      -25.948440      -24.651820      -25.637660     \n        ...\n        \n    - *FSL13 N II data*:\n    \n      .. code-block:: python\n    \n        atom_rc_file = os.path.join(base_dir,data_rc_dir, 'rc_n_iii_FSL13.fits')\n        atom='n'\n        ion='iii'\n        wavelength_range=[4400.0, 7100.0] \n        nii_rc_data = atomneb.read_aeff_n_ii_fsl13(atom_rc_file, atom, ion, wavelength_range)\n        nii_rc_data_wave = atomneb.read_aeff_n_ii_fsl13(atom_rc_file, atom, ion, wavelength_range, wavelength=True)\n        print(nii_rc_data['aeff'][0])\n        n_line = len(hei_rc_data_wave['wavelength'])\n        for i in range(0, n_line):\n           print(nii_rc_data_wave['wavelength'][i], nii_rc_data_wave['tr'][i], nii_rc_data_wave['trans'][i])\n        \n      which gives::\n    \n        255.000      79.5000      47.3000      12.5000      6.20000      4.00000      2.86000\n        258.000      54.4000      29.7000      7.92000      4.11000      2.72000      2.00000\n        310.000      48.1000      23.7000      5.19000      2.55000      1.65000      1.21000\n        434.000      50.3000      23.2000      4.71000      2.26000      1.45000      1.05000\n          \n        6413.23 6g - 4f2p6g G[9/2]o4 - 2p4f F[7/2]e3\n        6556.32 6g - 4f2p6g G[9/2]o5 - 2p4f G[7/2]e4\n        6456.97 6g - 4f2p6g G[9/2]o5 - 2p4f F[7/2]e4\n        6446.53 6g - 4f2p6g F[7/2]o3 - 2p4f D[5/2]e2\n        6445.34 6g - 4f2p6g F[7/2]o4 - 2p4f D[5/2]e3\n        ...\n        \n    - *SSB17 O II data*: You first need to unpack rc_o_iii_SSB17_orl_case_b.fits.tar.gz, e.g.:: \n\n        tar -xvf rc_o_iii_SSB17_orl_case_b.fits.tar.gz\n\n      If you need to have access to the full dataset (entire wavelengths, case A and B)::\n\n        tar -xvf rc_o_iii_SSB17.fits.tar.gz\n\n      Please note that using the entire atomic data will make your program very slow and you may need to have a higher memory on your system. Without the above comment, as default, the cose uses rc_o_iii_SSB17_orl_case_b.fits. You can also unpack them using tarfile shown below:\n\n      .. code-block:: python\n    \n        import atomneb\n        import numpy as np\n        import os\n        import tarfile\n        \n        base_dir = '.'\n        data_rc_dir = os.path.join('atomic-data-rc')\n        atom_rc_file = os.path.join(base_dir,data_rc_dir, 'rc_o_iii_SSB17_orl_case_b.fits')\n\n        atom_rc_file_tar_gz = os.path.join(base_dir,data_rc_dir, 'rc_o_iii_SSB17_orl_case_b.fits.tar.gz')\n        atom_rc_path = os.path.join(base_dir,data_rc_dir)\n        tar = tarfile.open(atom_rc_file_tar_gz, \"r:gz\")\n        tar.extractall(path=atom_rc_path)\n        tar.close()\n        \n        atom = 'o'\n        ion = 'iii' # O II\n        case1 = 'B'\n        wavelength_range=[5320.0, 5330.0]\n        oii_rc_data = atomneb.read_aeff_o_ii_ssb17(atom_rc_file, atom, ion, case1, wavelength_range)\n        oii_rc_data_wave = atomneb.read_aeff_o_ii_ssb17(atom_rc_file, atom, ion, case1, wavelength_range, wavelength=True)\n        print(oii_rc_data['aeff'][0])\n        n_line = len(oii_rc_data_wave['wavelength'])\n        for i in range(0, n_line):\n           print(oii_rc_data_wave['wavelength'][i], oii_rc_data_wave['lower_term'][i], oii_rc_data_wave['upper_term'][i])\n        \n      which gives::\n    \n        1.64100e-30  1.60000e-30  1.56400e-30  1.54100e-30  1.52100e-30  1.50900e-30\n        ...\n          \n        5327.17 2s22p2(1S)3p 2Po\n        5325.42 2s22p2(1S)3p 2Po\n        5327.18 2s22p2(1D)3d 2Ge\n        5326.84 2s22p2(1D)3d 2Ge\n        ...\n\n\nDocumentation\n=============\n\nFor more information on how to use the API functions from the AtomNeb Python package, please read the `API Documentation  <https://atomneb.github.io/AtomNeb-py/doc>`_ published on `atomneb.github.io/AtomNeb-py <https://atomneb.github.io/AtomNeb-py>`_.\n\n\nReferences\n==========\n\n* Danehkar, A. (2020). AtomNeb Python Package, an addendum to AtomNeb: IDL Library for Atomic Data of Ionized Nebulae. *J. Open Source Softw.*, **5**, 2797. doi:`10.21105/joss.02797 <https://doi.org/10.21105/joss.02797>`_ ads:`2020JOSS....5.2797D <https://ui.adsabs.harvard.edu/abs/2020JOSS....5.2797D/abstract>`_.\n\n* Danehkar, A. (2019). AtomNeb: IDL Library for Atomic Data of Ionized Nebulae. *J. Open Source Softw.*, **4**, 898. doi:`10.21105/joss.00898 <https://doi.org/10.21105/joss.00898>`_ ads:`2019JOSS....4..898D <https://ui.adsabs.harvard.edu/abs/2019JOSS....4..898D/abstract>`_.\n\n\nCitation\n========\n\nUsing the **AtomNeb** Python package in a scholarly publication? Please cite these papers:\n\n.. code-block:: bibtex\n\n   @article{Danehkar2020,\n     author = {{Danehkar}, Ashkbiz},\n     title = {AtomNeb Python Package, an addendum to AtomNeb: IDL Library \n              for Atomic Data of Ionized Nebulae},\n     journal = {Journal of Open Source Software},\n     volume = {5},\n     number = {55},\n     pages = {2797},\n     year = {2020},\n     doi = {10.21105/joss.02797}\n   }\n\nand if you use the `AtomNeb <https://github.com/atomneb/AtomNeb-idl>`_ IDL library:\n\n.. code-block:: bibtex\n\n   @article{Danehkar2019,\n     author = {{Danehkar}, Ashkbiz},\n     title = {AtomNeb: IDL Library for Atomic Data of Ionized Nebulae},\n     journal = {Journal of Open Source Software},\n     volume = {4},\n     number = {35},\n     pages = {898},\n     year = {2019},\n     doi = {10.21105/joss.00898}\n   }\n\nLearn More\n==========\n\n==================  =============================================\n**Documentation**   https://atomneb-py.readthedocs.io/\n**Repository**      https://github.com/atomneb/AtomNeb-py\n**Issues & Ideas**  https://github.com/atomneb/AtomNeb-py/issues\n**Conda-Forge**     https://anaconda.org/conda-forge/atomneb\n**PyPI**            https://pypi.org/project/atomneb/\n**DOI**             `10.21105/joss.02797 <https://doi.org/10.21105/joss.02797>`_\n**Archive**         `10.5281/zenodo.4287565 <https://doi.org/10.5281/zenodo.4287565>`_\n==================  =============================================\n",
    "bugtrack_url": null,
    "license": "http://www.gnu.org/licenses/gpl.html",
    "summary": "atomneb: Python Package for Atomic Data of Ionized Nebulae",
    "version": "0.3.4",
    "project_urls": {
        "Download": "https://github.com/atomneb/AtomNeb-py",
        "Homepage": "https://atomneb.github.io/AtomNeb-py/"
    },
    "split_keywords": [
        "atomneb",
        "chianti atomic database",
        "atomic datasets",
        "recombination lines",
        "collisionally excited lines",
        "recombination coefficients"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "28b11bac92a554f9b93454f62dd840c1464db0e78a2b72da04ee6cce391a92de",
                "md5": "c99b5fd1902f8b9cc60599d7107a1b23",
                "sha256": "ce7d2265a3745c86bf1484a37770d7157da8098d4f3176a3b334b20566447e6f"
            },
            "downloads": -1,
            "filename": "atomneb-0.3.4-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c99b5fd1902f8b9cc60599d7107a1b23",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 43822,
            "upload_time": "2023-12-22T19:19:55",
            "upload_time_iso_8601": "2023-12-22T19:19:55.167916Z",
            "url": "https://files.pythonhosted.org/packages/28/b1/1bac92a554f9b93454f62dd840c1464db0e78a2b72da04ee6cce391a92de/atomneb-0.3.4-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2477dc71840e87d8825775b8ac16a59cc1f089e218fd435981d5e6c20798a050",
                "md5": "f9a4596d6db695371ce3b80e854f58f1",
                "sha256": "1d019fc35b602c8b664c278aa90bea83c6ad49cfa6211a268c0017439541bd99"
            },
            "downloads": -1,
            "filename": "atomneb-0.3.4.tar.gz",
            "has_sig": false,
            "md5_digest": "f9a4596d6db695371ce3b80e854f58f1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 36192,
            "upload_time": "2023-12-22T19:19:57",
            "upload_time_iso_8601": "2023-12-22T19:19:57.130197Z",
            "url": "https://files.pythonhosted.org/packages/24/77/dc71840e87d8825775b8ac16a59cc1f089e218fd435981d5e6c20798a050/atomneb-0.3.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-22 19:19:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "atomneb",
    "github_project": "AtomNeb-py",
    "travis_ci": true,
    "coveralls": true,
    "github_actions": false,
    "appveyor": true,
    "lcname": "atomneb"
}
        
Elapsed time: 0.15071s