Transcript Document

Tom Rink
Tom Whittaker
Paolo Antonelli
Kevin Baggett
Overview
Local
Hydra
NetCDF,
HDF
Remot
e
DODS
NetCDF, HDF
VisAD - Jython
VisAD
Java
Java3D
VisAD
●
Application Programming Interface (API) written in pure
Java.
●
Support for remote collaboration.
●
Abstractions for:
●
Data
●
Displays
●
Computations
●
User Interface
VisAD Data
●
●
General mathematical representation of data; can model most
any numerical data set.
Can adapt data to this model from wide range of file storage
formats: NetCDF, HDF-5, FITS, McIDAS and Vis5D.
●
Finite samples of continuous functions.
●
Supports mathematical operations and resampling of data.
●
Built-in Metadata:
●
Data schema (MathType)
●
Physical Units
●
Coordinate System transformations
●
Sampling topology
●
Error Estimates
●
●
2D or 3D interactive displays which support user direct
manipulation: user can manually change display
objects with changes propagated back to the linked
data object.
VisAD data and display class hierarchy includes both
local and remote implentations so local and remote
data look the same to applications. This is
accomplished using Java's RMI (Remote Method
Invocation) interface in VisAD core.
Jython
A pure Java implentation of Python
http://www.jython.org
●
Scripting environment (less code)
●
Like Python, has easy to read syntax.
●
●
●
Seamless access to Java classes (easy use of existing
Java libraries in Jython modules and classes).
No compile phase: Dynamic typing/loading. Generally
leads to less typing and decreased overall development
time.
This leads into
VisAD – Jython
“Marriage” between the VisAD API and Jython
●
●
Collection of Jython modules for the simplified creation of
VisAD data and interactive displays.
Jython is object-oriented so more complex applications, like
Hydra, can also be developed in this environment.
Hydra's To Do list:
●
●
●
Add support for Geostationary instruments, eg. GOES,
MSG, including animation over Time.
Integrate multiple instruments into a single display, eg.
overlay satellite swath with a flight track and
toggle/difference between them.
Remote collaboration: work together on a dataset over the
network.
●
Add more tools, image statistics etc.
●
Performance tuning.