Welcome to pyrfu’s documentation!#

License Python PyPi Format Wheel Status Downloads CI PyLintB CodeQL CodeCov Issues Commits Readthedocs Matrix Black Doi

The Python package pyrfu is a software based on the IRFU-MATLAB library to work with space data, particularly the Magnetospheric MultiScale (MMS) mission.

It is distributed under the open-source MIT license.

Quickstart#

Installing pyrfu with pip (more details here):

$ python -m pip install pyrfu
# or
$ python -m pip install --user pyrfu

Import pyrfu.mms package with routines specific to work with the Magnetospheric Multiscale mission (MMS)

from pyrfu import mms

Setup path to MMS data

mms.db_init("/Volumes/mms")

Load magnetic field and ion bulk velocity data

tint = ["2019-09-14T07:54:00.000", "2019-09-14T08:11:00.000"]
b_gsm = mms.get_data("b_gsm_fgm_srvy_l2", tint, 1)
v_gse_i = mms.get_data("vi_gse_fpi_fast_l2", tint, 1)

Import pyrfu.pyrf package with generic routines

from pyrfu import pyrf

Transform ion bulk velocity to geocentric solar magnetospheric (GSM) coordinates

v_gsm_i = pyrf.cotrans(v_gse_i, "gse>gsm")

Import pyrfu.plot package with plotting routines

from pyrfu import plot

Plot time series of magnetic field and ion bulk velocity

import matplotlib.pyplot as plt

f, axs = plt.subplots(2, sharex="all")
plot.plot_line(axs[0], b_gsm)
axs[0].set_ylabel("$B~[\\mathrm{nT}]$")
axs[0].legend(["$B_{x}$", "$B_{y}$", "$B_{z}$"], ncol=4)

plot.plot_line(axs[1], v_gsm_i)
axs[1].set_ylabel("$V_i~[\\mathrm{km}~\\mathrm{s}^{-1}]$")
axs[1].legend(["$V_{ix}$", "$V_{iy}$", "$V_{iz}$"], ncol=4)

Examples#

See here for a complete list of examples.

Go to developers doc