Other Application Examples
VisAD is a Java class library for interactive and collaborative
visualization and analysis of numerical data. It combines:
VisAD was written by programmers at the
SSEC Visualization Project
at the University of Wisconsin-Madison
Space Science and Engineering Center,
and by programmers at the
Unidata Program Office.
- The use of pure Java for platform independence and to support data sharing
and real-time collaboration among geographically distributed users. Support
for distributed computing is integrated at the lowest levels of the system
using Java RMI distributed objects.
- A general mathematical data model that can be adapted to virtually any
numerical data, that supports data sharing among different users, different
data sources and different scientific disciplines, and that provides
transparent access to data independent of storage format and location (i.e.,
memory, disk or remote). The data model has been adapted to netCDF, FITS,
HDF-EOS, McIDAS, Vis5D, GIF and JPEG file formats.
- A general display model that supports interactive 3-D, data fusion,
multiple data views, direct manipulation, collaboration, and virtual
reality. The display model has been adapted to Java3D and Java2D
and used in an ImmersaDesk virtual reality display.
- Data analysis and computation integrated with visualization to support
computational steering and other complex interaction modes.
- Support for two distinct communities: developers who create domain-
specific systems based on VisAD, and users of those domain-specific systems.
VisAD is designed to support a wide variety of user interfaces, ranging from
simple data browser applets to complex applications that allow groups of
scientists to collaboratively develop data analysis algorithms.
- Developer extensibility in as many ways as possible.
Join the VisAD mailing list
There is a VisAD mailing list. To subscribe to it send an email
as the first line of the message body. You can also subscribe to
visad-list-digest if you only want a daily summary of messages to
visad-list. To unsubscribe, send email to email@example.com
as the first line of the message body.
Unidata's visad-list archive.
How to get VisAD
VisAD is freely available including complete source code, documentation
and application examples from:
See the README
file for installation instructions.
The VisAD Java Class Library Developers Guide is the key document
for understanding how to use VisAD. It is available in the following
Other doumentation includes:
VisAD is also available as jar files containing compiled classes.
The classes of all VisAD packages are available as
a jar file (you may need to click on the jar file with the SHIFT key
held down to get your browser to load it). See the
file for installation instructions.
If you are in Europe
has offered to serve as a mirror site for our software. The
VisAD files are available from
The VisAD Spread Sheet
The VisAD Spread Sheet
is a handy way to visualize and compute with netCDF, FITS, GIF, JPEG, Vis5D,
McIDAS and HDF-EOS files, that does not require any programming. Of course,
the full flexibility of VisAD is only accessible to programmers using the class
library, but the Spread Sheet is a useful tool and a nice illustration of what
you can do programming with the VisAD class library.
VisAD requires Java 2 which is freely available from
Sun's Java 2 web page.
Displays may be generated with either Java2D (included in Java 2) or
Java3D, which is freely available from
Sun's Java3D web page.
Java3D requires OpenGL. You can freely download OpenGL for
Sparc Solaris and for
Windows 95. OpenGL is standard with Windows NT.
The VisAD visualization system uses the mature Java functionality of the
JDK 1.2 platform, including Java3D, Java2D and Java RMI. We at the SSEC
Visualization Project of the University of Wisconsin believe that the JDK 1.2
defines the evolution of the Internet as a new communications medium. Java3D
and Java2D define the state-of-the-art for computer image generation, and Java
RMI is a quantum leap for collaborative user interfaces and distributed computing.
Support for File Formats
VisAD includes support for accessing data in various file
Here's an interesting astronomical image from a FITS file displayed
- HDF-EOS - see the
file for instructions for installing the HDF-EOS native libraries
- Vis5D - you can dowload the
native method library (for Sparc Solaris) into your visad/data/vis5d directory
(remember to add .../visad/data/vis5d to your LD_LIBRARY_PATH)
- VisAD (serialized VisAD data objects)
Collaborative Milky Way Galaxy Designer
Here's a screen shot of a collaborative Milky Way galaxy
design application using VisAD:
The goal is to adjust parameters of the Milky Way galaxy to
get the H-alpha sky map (shown in a flat map projection and
on a sphere) to match observations made from Earth. Users
can drag the red point in the 3-D galaxy density display and
see a graph of density versus distance along a line between
the red point and the sun. This application serves as a good
example of how to build collaborative applications using VisAD
and is freely available including complete source code as part
of the VisADF distribution.
README.benjamin file for further instructions.
Collaboration Between an ImmersaDesk and a Workstation
We produced a demonstration of collaboration between an ImmersaDesk
and a workstation for the NCSA Alliance '98 conference. This
and an adaptation of Java3D to the ImmersaDesk by Steve Pietrowicz and
Chris Heistad of the
NCSA Java3D Group.
Check out this
mpeg movie of VisAD interaction in the ImmesaDesk.
This demonstration is based on the GoesCollaboration application
written using VisAD. GoesCollaboration serves as a good example of
how to build collaborative applications using VisAD. It is included
in the VisAD source distribution in the visad/paoloa directory.
However, the application needs two data files to run, data_obs_1.dat
and goesrtcf, available in this:
README.paoloa file for more information.
for a screen shot of this application.
Prototype Environmental Hydrology Workbench
Here's a screen shot and description of the
prototype environmental hydrology workbench demonstrated at
Supercomputing 98, and developed as part of the NCSA Environmental
Hydrology team effort. It uses VisAD and Globus.
Collaborative Computational Steering Example
The 2-D shallow fluid model lets you experiment with physical
and numerical parameters of the simulation and visualize the
consequences. It lets groups collaborate in these experiments.
It is included in the VisAD source distribution in the
visad/aune directory. See the
README.aune file for more information.
Digital Elevation Model Viewer for ArcGrid ASCII export files
Check out the
developed by Ugo Taddei of the Department of Geoinformatics, Geohydrology and
Modelling of the Institute of Geography of the University of Jena, Germany.
DEMViewer uses VisAD to interactively visualize hydrology information. There
are some cool images on its web page.
Rainfall Estimation Custom SpreadSheet
The Rain.java program in the visad/rabin directory is the start
of an application for estimating rainfall from satellite images.
It features links between cells for panning and zooming, for color
tables, and for a custom cursor for reading out pixel values. To
run the Rain program, download the data set in the
dallas_2.5km_v5d.v5d file (you may need to click on this file with
the SHIFT key held down to get your browser to save it on your disk),
java visad.rabin.Rain dallas_2.5km_v5d.v5d
Note this application requires the native library for reading v5d
files and so only runs on Sparc Solaris.
Hyper-spectral Data from NEST-I
The Nasti.java program in the visad/paoloa directory is the
start of an application for analyzing hyper-spectral data from
the NEST-I sensor. To try it, download a NEST-I data set in the
smc3ars1.nc file (you may need to click on this file with the
SHIFT key held down to get your browser to save it on your disk),
java visad.paoloa.Nasti smc3ars1.nc
Click and drag the right mouse button on the yellow cursor in the
image display to select a pixel for the spectral display. Click
and drag the right mouse button on the red cursor in the spectral
display to select a wave number for the image display.
Equinox: an Information Mining Example
Equinox is an information mining tool that utilizes machine
intelligence applied to natural language processing to significantly
enhance the innovative discovery process. Equinox uses VisAD.
Custom Texture Mapping Example
Lutz Laemmer has created an
extension of DataRenderer for customized texture mapping.
Interactive Earth Globe Example
Steve Emmerson has created an interactive globe display of Earth
topography and bathymetry using VisAD. It is included in the
VisAD source distribution as the visad/examples/Earth.java
class. You'll need to download
the netCDF topography file
into your visad/examples directory (you may need to click on this
file with the SHIFT key held down to get your browser to save it
on your disk), then run:
java -Xmx64m Earth lowresTerrain.nc
Image Stretching Applet Example
Curtis Rueden has written an
applet using VisAD.
Interactive Curve and Surface Fitting
The Spline and Spline2D applications distributed with VisAD in the
visad/paoloa/spline directory let you experiment with various
statistical curve and surface fitting algorithms. The red dots
are draggable, to experiment with the effect of noise on fitting
Year 2000 Statement of Compliance for VisAD
VisAD is Year 2000 compliant. It includes one class, DateTime,
for doing date and time computations, that uses 32-bit integer
years. Specifically, VisAD does not include any logic with
Article about VisAD in August 1998 Computer Graphics
gives a good overview of the VisAD system.
You may be interested in two papers presented at the January 1997
AMS IIPS conference:
The earlier version VisAD, written in C, has been freely available for
years and also has a
- Java and the World Wide Web: The Right Choice for Interactive Systems
- A Java and the World Wide Web Implementation of VisAD
To contact the authors...
Email can be sent to Bill Hibbard at firstname.lastname@example.org.
Postal mail can be sent to:
Space Science and Engineering Center
University of Wisconsin - Madison
1225 W. Dayton St.
Madison, WI 53706
If you create extension packages to VisAD we will be happy to add
links to your web page describing and serving your extensions.
VisAD is free software and as such we do not provide real support
for it. However, we will be happy to answer short questions and/or
help with minor problems (preferably by email).
Java, JDK, and Jump to Java: JDK 1.2 Launch Logo are trademarks or
registered trademarks of Sun Microsystems, Inc. in the U.S. and
We also have a home page for