omni - module to read and process NASA OMNIWEB data

Tools to read and process omni data (Qin-Denton, etc.)

Authors: Steve Morley, Josef Koller Institution: Los Alamos National Laboratory Contact: smorley@lanl.gov

Copyright 2010-2014 Los Alamos National Security, LLC.

About omni

The omni module primarily manages the hourly OMNI2 and Qin-Denton data, which are sourced from the Virtual Radiation Belt Observatory (ViRBO), who maintain these data sources. The data can be kept up-to-date in SpacePy using the update() function in the spacepy.toolbox module.

The OMNI2 data combines data from a variety of satellites that sample the solar wind (notably ACE and Wind), and propagates the data to Earth’s bow shock nose. The Qin-Denton data is derived from the OMNI2 data and is designed for providing input to the Tsyganenko magnetic field models. The later Tsyganenko magnetic field models require subsidiary parameters (G- and W-parameters) that are pre-calculated in the Qin-Denton data. Further, the Qin-Denton data contains no data gaps – all gaps are filled (for details on the gap filling, see the paper by Qin et al..)

Advanced features

Higher resolution data, or custom data sources, can also be managed/accessed with this module, although this is considered an advanced use for this module. This is achieved using custom names for the dbase keyword in get_omni, which must be defined in the SpacePy configuration file (for a user-install on linux, this is ~/.spacepy/spacepy.rc; see SpacePy Configuration). An example of the formatting required is

qd1min: /usr/somedir/QinDenton/YYYY/QinDenton_YYYYMMDD_1min.txt

In this example the custom data source name is qd1min. Wildcard substitutions can be made for the year (YYYY), month (MM) and day (DD). Future updates will give more flexibility in data storage model, but currently we assume that all custom data sources follow a convention in which the data files are daily, and the files are organized into folders by year. The year, month and day must all be specified in the filename.

Currently there are some restrictions on the data format for custom data sources. The stored data must currently be stored as JSON-headed ASCII. If data conversions are required, then a valid dictionary of conversion functions must be supplied via the convert keyword argument. See readJSONheadedASCII() for details. Additionally, by default this will interpolate the data to the requested time ticks. To return only the actual recorded data values for the specified time range set the keyword argument interp to False.

get_omni(ticks[, dbase])

Returns Qin-Denton OMNI values, interpolated to any time-base from a default hourly resolution

omnirange([dbase])

Returns datetimes giving start and end times in the OMNI/Qin-Denton data