Skip to main content

Atomspheric ionization from auroral particle precipitation

Project description

Atmospheric ionization from particle precipitation

builds package wheel pyversions codecov coveralls scrutinizer

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 alpha stage, that is, it may or may not work, and the interface might change in future versions.

Install

Requirements

  • numpy - required
  • scipy - required for 2-D interpolation
  • pytest - optional, for testing

eppaurora

An experimental 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eppaurora-0.0.2.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

eppaurora-0.0.2-py2.py3-none-any.whl (20.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file eppaurora-0.0.2.tar.gz.

File metadata

  • Download URL: eppaurora-0.0.2.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.1

File hashes

Hashes for eppaurora-0.0.2.tar.gz
Algorithm Hash digest
SHA256 b88be9e63c3d262d1b3395240252fdbb7c010ea36c1e84279b14effe5f0c613a
MD5 f05db61d2155b54329a1761d0db4cc1f
BLAKE2b-256 203c55abd646fe8ebbe3c184ca646bf99ad3b57bba02abb74b079d1af7812fd9

See more details on using hashes here.

File details

Details for the file eppaurora-0.0.2-py2.py3-none-any.whl.

File metadata

  • Download URL: eppaurora-0.0.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.1

File hashes

Hashes for eppaurora-0.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f2b8e92d850c77e04d0e48d02f658a82ceaf7fb6d6626785ca987d0432000a94
MD5 a9e4bfe6749d0a2ccde68cfd7a706247
BLAKE2b-256 0c441c1ba7570ee6b64cc37572821c5a68832e0f41124f8a0d3047bce694d3fc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page