Skip to main content

Python interface for space weather indices

Project description

PySpaceWeather

Python interface for space weather indices

builds docs package wheel pyversions codecov coveralls scrutinizer

This python module interfaces the space weather indices available at https://celestrak.com/SpaceData/. It includes the geomagnetic Ap and Kp indices, both the 3h values and the daily sum/averages. The data also include the solar f10.7 cm radio fluxes, the observed values as well as the 1 AU adjusted values, daily values and the 81-day running means. The data sources and file format are described at http://celestrak.com/SpaceData/SpaceWx-format.php (see file_format.txt for a local copy of the format description).

: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://pyspaceweather.readthedocs.io.

Install

Requirements

  • numpy - required
  • pandas - required
  • requests - required for updating the data files
  • pytest, pytest-mock - optional, for testing

spaceweather

A pip package called spaceweather is available from the main package repository, and can be installed with:

$ pip install spaceweather

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/pyspaceweather.git

The other option is to use a local clone:

$ git clone https://github.com/st-bender/pyspaceweather.git
$ cd pyspaceweather

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 spaceweather and is imported as usual. This module provides mainly two functions sw_daily() for the daily data as available from the website, and ap_kp_3h() for the 3h Ap and Kp values. Both functions return pandas.DataFrames. The index data file can be updated on request by calling update_data(), when the data available in the packaged version are too old.

>>> import spaceweather as sw
>>> df_d = sw.sw_daily()
>>> df_d.loc["2000-01-01"].Apavg
30.0
>>> df_3h = sw.ap_kp_3h()
>>> df_3h.loc["2000-01-01 01:30:00"]
Ap    56.0
Kp     5.3
Name: 2000-01-01 01:30:00, dtype: float64
>>> # All 3h values for one day
>>> df_3h.loc["2000-01-01"]
                     Ap   Kp
2000-01-01 01:30:00  56  5.3
2000-01-01 04:30:00  39  4.7
2000-01-01 07:30:00  27  4.0
2000-01-01 10:30:00  18  3.3
2000-01-01 13:30:00  32  4.3
2000-01-01 16:30:00  15  3.0
2000-01-01 19:30:00  32  4.3
2000-01-01 22:30:00  22  3.7

Basic class and method documentation is accessible via pydoc:

$ pydoc spaceweather

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.

The original data can be found at https://celestrak.com/SpaceData/ and is included with kind permission from Dr. T.S. Kelso at celestrak, for details see the included COPYING.data file.

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

spaceweather-0.1.1.tar.gz (869.2 kB view details)

Uploaded Source

Built Distribution

spaceweather-0.1.1-py2.py3-none-any.whl (887.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file spaceweather-0.1.1.tar.gz.

File metadata

  • Download URL: spaceweather-0.1.1.tar.gz
  • Upload date:
  • Size: 869.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for spaceweather-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f7a58e006b164d0ecbd50d4390c55d5706b21ab964496cb0bcc62c504d5be898
MD5 9563cf45971f0441203150c61ce5a4e1
BLAKE2b-256 603532818a2a53478ee6a581f3d15758a47040ed8916490773fdc1928f20d316

See more details on using hashes here.

File details

Details for the file spaceweather-0.1.1-py2.py3-none-any.whl.

File metadata

  • Download URL: spaceweather-0.1.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 887.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for spaceweather-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 85b8abd11c9c7e9a7c3efdc23286e07ebd8d1bef4f6a668145ad6f8bd306e405
MD5 a702e7e900be12079b5b2b192603601e
BLAKE2b-256 3cbb13525ce1a0db4d9a98b9899475d1368aad82890eeade35e61c73e63b49c0

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