pySPEDAS
pySPEDAS is an implementation of the SPEDAS framework in python.
The Space Physics Environment Data Analysis Software (SPEDAS) framework is written in IDL and contains data loading, data analysis and data plotting tools for various scientific missions (NASA, NOAA, etc.) and ground magnetometers.
Requirements
Python 3.7+ is required.
We recommend Anaconda which comes with a suite of packages useful for scientific data analysis.
Installation
pySPEDAS supports Windows, macOS and Linux. To get started, install the pyspedas
package using PyPI:
PyPI
pip install pyspedas --upgrade
Usage
To get started, import pyspedas and pytplot:
import pyspedas
from pytplot import tplot
You can load data into tplot variables by calling pyspedas.mission.instrument()
, e.g.,
To load and plot 1 day of THEMIS FGM data for probe 'd':
thm_fgm = pyspedas.themis.fgm(trange=['2015-10-16', '2015-10-17'], probe='d')
tplot(['thd_fgs_gse', 'thd_fgs_gsm'])
To load and plot 2 minutes of MMS burst mode FGM data:
mms_fgm = pyspedas.mms.fgm(trange=['2015-10-16/13:05:30', '2015-10-16/13:07:30'], data_rate='brst')
tplot(['mms1_fgm_b_gse_brst_l2', 'mms1_fgm_b_gsm_brst_l2'])
Note: by default, pySPEDAS loads all data contained in CDFs found within the requested time range; this can potentially load data outside of your requested trange. To remove the data outside of your requested trange, set the time_clip
keyword to True
To load and plot 6 hours of PSP SWEAP/SPAN-i data:
spi_vars = pyspedas.psp.spi(trange=['2018-11-5', '2018-11-5/06:00'], time_clip=True)
tplot(['DENS', 'VEL', 'T_TENSOR', 'TEMP'])
To download 5 days of STEREO magnetometer data (but not load them into tplot variables):
stereo_files = pyspedas.stereo.mag(trange=['2013-11-1', '2013-11-6'], downloadonly=True)
Standard Options
trange
: two-element list specifying the time range of interest. This keyword accepts a wide range of formatstime_clip
: if set, clip the variables to the exact time range specified by thetrange
keywordsuffix
: string specifying a suffix to append to the loaded variablesvarformat
: string specifying which CDF variables to load; accepts the wild cards * and ?varnames
: string specifying which CDF variables to load (exact names)get_support_data
: if set, load the support variables from the CDFsdownloadonly
: if set, download the files but do not load them into tplotno_update
: if set, only load the data from the local cachenotplot
: if set, load the variables into dictionaries containing numpy arrays (instead of creating the tplot variables)