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 federated Das Catalog system. We hope it's useful to your research.
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]
print(dataset)
vX = dataset['time']['center']
vY = dataset['frequency']['center']
vZ = dataset['electric']['center']
import matplotlib.pyplot as pyplot
import matplotlib.colors as colors
fig, ax = pyplot.subplots()
scaleZ = colors.LogNorm(vmin=vZ.array.min(), vmax=vZ.array.max())
ax.pcolormesh(vX.array, vY.array, vZ.array, norm=scaleZ, cmap='jet')
pyplot.show()
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 README.md file included in with the sources. To get the source run:
git clone git@github.com:das-developers/das2C.gitor use the git clone method you prefer to download both das2py and das2C.
git clone git@github.com:das-developers/das2py.git
The das2py 2019 AGU poster provides a quick overview of server and data organization in das2py as well as sample code.
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.
das2py-server 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.
das2C is the portable C library that underpins das2py, das2D, das2dlm and provides stream efficent stream processing tools. 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.
das2dlm is an binary downloadable module for IDL. It is implemented in C and provides a stream format independent API. Das2dlm was created to support SPEDAS as a das2 client.
das2D provides a more natural interface for das2 data source readers written in the D supporting common D idioms such as ranges and stack-based meta-programming.
Autoplot: No list of das2 software is complete without mentioning this flexible and capable tool. Built using Java das2 display libraries, Autoplot provides fluid dataset navigation for many data sources including collections of CDF and ASCII files.
"das ist good" -- Ian Dury and the Blockheads