das2 logo spectrogram

das2py - A space physics data client for python

das2 servers and clients originated with the need to easily browse long time series datasets from the Radio and Plasma Wave Reciever (RPWS) on the Cassini mission to Saturn. Existing das2 Java applications such as Autoplot excel at this task, however python has become one of the most common data analysis tools in use by planetary and heliophysics scientists. This module provides access to all das2 server resources as well as the new Das2.3 Federated Catalog system. We hope it's useful to your research.

Find a server and load data in three lines of code

import das2

src = das2.get_source( 'site:/uiowa/galileo/pws/survey_electric/das2' )
dataset = src.get( {'time' : ('1997-05-07T15:00', '1997-05-07T17:00', 4.0)} )[0]

Access quantities by physical dimensions

print(dataset)

qX = dataset['time']['center']
qY = dataset['frequency']['center']
qZ = dataset['electric']['center']

Plot using the graphics package you already know

import matplotlib.pyplot as pyplot
import matplotlib.colors as colors

fig, ax = pyplot.subplots()
scaleZ = colors.LogNorm(vmin=qZ.value.min(), vmax=qZ.value.max())
ax.pcolormesh(qX.value, qY.value, qZ.value, norm=scaleZ, cmap='jet')
pyplot.show()
Galileo Enceludus Encounter Spectrogram

Installation

The preferred installation method uses Anaconda since das2py relies on native C code for efficent delivery of data to numpy arrays.

conda install matplotlib
conda install -c dasdevelopers das2py

At present the packages are hosted by the DasDevelopers Anaconda cloud organization. We may move to submitting conda-forge packages in the future.

Instructions for building and testing das2py from source code may be found in the INSTALL.txt file included with the source distribution. To get the source code run the command:

svn co https://saturn.physics.uiowa.edu/svn/das2/core/devel/libdas2
das2py is included with libdas2 in the bindings/python subdirectory.

Documentation

das2py sphinx documents provide an overview of das2.3 and serve as a reference for the functions in the pure python das2 module as well as the _das2 C extension.

Related Software

das2 pyServer is a CGI program that receives requests for data and runs the appropriate server side commands to generate the desired output stream at the desired time resolution. It's a caching middleware layer between full-resolution data readers and remote clients.

libdas2 is the portable C library that underpins both das2py and the das2 stream tools. It is primarily developed on Linux but also compiles for Mac OS X, Windows, and Android. The source code is available under the LGPL 2.1 license.

das2pro is a pure das2 data client written in IDL with support from the Czech Institute of Atmospheric Physics. das2pro is an IDL package so it only takes a single command in IDL 8.7.1 to install a test.

das2lab will be a MATLAB das2 client toolbox. Many reserchers at the University of Iowa rely on matlab to get thier work done. A native client is on the to-do list.

Autoplot No list of das2 software is complete without mentioning this flexible and capable tool. Built with Java das2 display libraries to provide graphics to Virtual Observatories, plotting many formats including CDF and ASCII files, it has been enhanced beyond to handle the needs of RBSP, Juno and other missions.

HAPI

HAPI servers (as well as many other HTTP GET based services) are supported by the das2 federated catalog system, but at present libdas2 cannot parse HAPI formatted data streams. Support for the HAPI header and stream format will be added to libdas2 (and thus das2py) in the future on a time scale determined by available resources.

---

"das ist good" -- Ian Dury and the Blockheads