Metadata-Version: 2.1
Name: eppaurora
Version: 0.0.1
Summary: Atomspheric ionization from auroral particle precipitation
Home-page: https://github.com/st-bender/pyeppaurora
Author: Stefan Bender
Author-email: stefan.bender@ntnu.no
License: GPLv2
Description: # Atmospheric ionization from particle precipitation
        
        [![builds](https://travis-ci.com/st-bender/pyeppaurora.svg?branch=master)](https://travis-ci.com/st-bender/pyeppaurora)
        [![codecov](https://codecov.io/gh/st-bender/pyeppaurora/badge.svg)](https://codecov.io/gh/st-bender/pyeppaurora)
        [![coveralls](https://coveralls.io/repos/github/st-bender/pyeppaurora/badge.svg)](https://coveralls.io/github/st-bender/pyeppaurora)
        [![scrutinizer](https://scrutinizer-ci.com/g/st-bender/pyeppaurora/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/st-bender/pyeppaurora/?branch=master)
        
        Bundles some of the parametrizations for middle and upper atmospheric
        ionization and recombination rates for precipitating
        auroral and radiation-belt electrons as well as protons.
        Includes also some recombination rate parametrizations to convert
        the ionization rates to electron densities in the upper atmosphere.
        See [References](#references) for a list of included parametrizations.
        
        :warning: This package is in **alpha** stage, that is, it may or
        may not work, and the interface might change in future versions.
        
        ## Install
        
        ### Requirements
        
        - `numpy` - required
        - `pytest` - optional, for testing
        
        ### eppaurora
        
        The latest development version of pyeppaurora can be installed
        with [`pip`](https://pip.pypa.io) directly from github
        (see <https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support>
        and <https://pip.pypa.io/en/stable/reference/pip_install/#git>):
        
        ```sh
        $ pip install [-e] git+https://github.com/st-bender/pyeppaurora.git
        ```
        
        The other option is to use a local clone:
        
        ```sh
        $ git clone https://github.com/st-bender/pyeppaurora.git
        $ cd pyeppaurora
        ```
        and then using `pip` (optionally using `-e`, see
        <https://pip.pypa.io/en/stable/reference/pip_install/#install-editable>):
        
        ```sh
        $ pip install [-e] .
        ```
        
        or using `setup.py`:
        
        ```sh
        $ python setup.py install
        ```
        
        Optionally, test the correct function of the module with
        
        ```sh
        $ py.test [-v]
        ```
        
        or even including the [doctests](https://docs.python.org/library/doctest.html)
        in this document:
        
        ```sh
        $ py.test [-v] --doctest-glob='*.md'
        ```
        
        ## Usage
        
        The python module itself is named `eppaurora` and is imported as usual.
        
        All functions should be `numpy`-compatible and work with scalars
        and appropriately shaped arrays.
        
        ```python
        >>> import eppaurora as aur
        >>> ediss = aur.rr1987(1., 1., 8e5, 5e-10)
        >>> ediss
        3.3693621076457477e-10
        >>> import numpy as np
        >>> energies = np.logspace(-1, 2, 4)
        >>> fluxes = np.ones_like(energies)
        >>> # ca. 100, 150, 200 km
        >>> scale_heights = np.array([6e5, 27e5, 40e5])
        >>> rhos = np.array([5e-10, 1.7e-12, 2.6e-13])
        >>> # energy dissipation "profiles"
        >>> # broadcast to the right shape
        >>> ediss_prof = aur.fang2008(
        ... 	energies[None, :], fluxes[None, :],
        ... 	scale_heights[:, None], rhos[:, None]
        ... )
        >>> ediss_prof
        array([[1.37708081e-49, 3.04153876e-09, 4.44256875e-07, 2.52699970e-08],
               [1.60060833e-09, 8.63248169e-08, 3.64564419e-09, 1.62591310e-10],
               [5.19369952e-08, 2.34089350e-08, 5.17379303e-10, 3.19504690e-11]])
        
        ```
        
        Basic class and method documentation is accessible via `pydoc`:
        
        ```sh
        $ pydoc eppaurora
        $ pydoc eppaurora.electrons
        $ pydoc eppaurora.protons
        $ pydoc eppaurora.recombination
        ```
        
        ## References
        
        ### Electron ionization
        
        [1]: Roble and Ridley, Ann. Geophys., 5A(6), 369--382, 1987  
        [2]: Fang et al., J. Geophys. Res. Space Phys., 113, A09311, 2008,
        doi: [10.1029/2008JA013384](https://doi.org/10.1029/2008JA013384)  
        [3]: Fang et al., Geophys. Res. Lett., 37, L22106, 2010,
        doi: [10.1029/2010GL045406](https://doi.org/10.1029/2010GL045406)  
        
        ### Proton ionization
        
        [4]: Fang et al., J. Geophys. Res. Space Phys., 118, 5369--5378, 2013,
        doi: [10.1002/jgra.50484](https://doi.org/10.1002/jgra.50484)
        
        ### Recombination rates
        
        [5]: Vickrey et al., J. Geophys. Res. Space Phys., 87, A7, 5184--5196,
        doi: [10.1029/ja087ia07p05184](https//doi.org/10.1029/ja087ia07p05184)  
        [6]: Gledhill, Radio Sci., 21, 3, 399-408,
        doi: [10.1029/rs021i003p00399](https://doi.org/10.1029/rs021i003p00399)  
        [7]: https://ssusi.jhuapl.edu/data_algorithms
        
        ## License
        
        This python interface is free software: you can redistribute it or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation, version 2 (GPLv2), see [local copy](./LICENSE)
        or [online version](http://www.gnu.org/licenses/gpl-2.0.html).
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Utilities
Description-Content-Type: text/markdown
Provides-Extra: tests
Provides-Extra: all
