Atomspheric ionization from auroral particle precipitation
Project description
PyEPPAurora
Atmospheric ionization from particle precipitation
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 for a list of included parametrizations.
:warning: This package is in beta stage, that is, it works for the most part and the interface should not change (much) in future versions.
Documentation is available at https://pyeppaurora.readthedocs.io.
Install
Requirements
numpy
- requiredscipy
- required for 2-D interpolationpytest
- optional, for testing
eppaurora
An installable pip
package called eppaurora
is available from the
main package repository, it can be installed with:
$ pip install eppaurora
The latest development version can be installed
with pip
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):
$ pip install [-e] git+https://github.com/st-bender/pyeppaurora.git
The other option is to use a local clone:
$ 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):
$ pip install [-e] .
or using setup.py
:
$ python setup.py install
Optionally, test the correct function of the module with
$ py.test [-v]
or even including the doctests in this document:
$ 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.
>>> 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
:
$ pydoc eppaurora
$ pydoc eppaurora.brems
$ 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
[3]: Fang et al., Geophys. Res. Lett., 37, L22106, 2010,
doi: 10.1029/2010GL045406
Ionization by secondary electrons from bremsstrahlung
[4]: Berger et al., Journal of Atmospheric and Terrestrial Physics, Volume 36, Issue 4, 591--617, April 1974, doi: 10.1016/0021-9169(74)90085-3
Proton ionization
[5]: Fang et al., J. Geophys. Res. Space Phys., 118, 5369--5378, 2013, doi: 10.1002/jgra.50484
Recombination rates
[6]: Vickrey et al., J. Geophys. Res. Space Phys., 87, A7, 5184--5196,
doi: 10.1029/ja087ia07p05184
[7]: Gledhill, Radio Sci., 21, 3, 399-408,
doi: 10.1029/rs021i003p00399
[8]: 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 or online version.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file eppaurora-0.1.0.tar.gz
.
File metadata
- Download URL: eppaurora-0.1.0.tar.gz
- Upload date:
- Size: 23.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 733ffdd6a60333dac9199313d7b24843e676ce2c3207404fad96f00e9ba2806b |
|
MD5 | decc609f794baecbab22b621df046cfb |
|
BLAKE2b-256 | 9a7fc0eca6669b0151f96c4ebced388f7f68f5b7cae216a9d587679cfcbdb14b |
File details
Details for the file eppaurora-0.1.0-py2.py3-none-any.whl
.
File metadata
- Download URL: eppaurora-0.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 21.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f438642884cf422a547fdea3d029b3e0dd1a326340ba80bfe96c7c4a3c9ecac7 |
|
MD5 | 9f5fcd7f47f97d1775a9e3197a26e43c |
|
BLAKE2b-256 | 5166423ea02f7b36c04882f17f5d82f4913a83bd430cf1776964516593c7acc4 |