VisAD is a Java component library for interactive and collaborative visualization and analysis of numerical data. The name VisAD is an acronym for "Visualization for Algorithm Development". The system combines: Ugo Taddei's VisAD Tutorial is a great way to start learning about VisAD.

VisAD was written by programmers at the SSEC Visualization Project at the University of Wisconsin-Madison Space Science and Engineering Center, by programmers at the Unidata Program Center, by programmers at the National Center for Supercomputer Applications, by programmers at the Australian Bureau of Meteorology, by programmers at the National Center for Atmospheric Research, and by programmers at the Canadian National Research Council.

Join the VisAD mailing list

There is a VisAD mailing list at ( works too). To subscribe to it send an email message to You can also subscribe or unsubscribe on the Unidata Mailing List web page.

Search Unidata's visad-list archive.

You cannot post to this list unless you are subscribed, and your posts must come from the same address that you subscribed as. If you are having trouble posting, then subscribe using the address that appears in the "from" field of messages you send. If you want to unsubscribe from your old address and do not remember it, then subscribe as your new address and send 'who visad' (or 'who visaddigest') to It will send you a list of subscribed addresses that you can search for your old address (and then send 'unsubscribe visad old@address' to

How to get VisAD


VisAD is freely available including complete source code, documentation and application examples from:

See the INSTALL and README_native files for installation instructions.

If you do not want to compile the VisAD source code, the compiled classes are also available as visad.jar (you may need to click on the jar file with the SHIFT key held down to get your browser to load it). If you want to run the example applications using visad.jar, see the "Building VisAD" Section INSTALL file.

Here's a link to a super-easy Windows Installer for VisAD, Jython, JRE and Java3D.


The first document to look at is Ugo Taddei's VisAD Tutorial. Thanks to Ugo and to Tom Whittaker for this great new tutorial.

Other tutorials include:

The VisAD Java Component Library Developers Guide provides a fairly complete description of VisAD (much thanks to Marius Schmidt for converting to PDF and other improvements). Here's the old html version.

The best way to learn any library is to study example applications that use the library, then to build your own application by modifying one or more of these existing applications. The Developers Guide describes numerous application examples that are distributed with the VisAD source code. If you have questions or problems, send email to the VisAD mailing list.

Other doumentation includes:

You may also be interested in the bibliography of articles about VisAD, the VisAD design history, or this on-line talk about VisAD.


VisAD requires Java which is freely available from Oracle's Java web page. Displays may be generated with either Java2D (included in Java) or Java3D, which is freely available from Oracle's Desktop Technologies web page.

If you want to use the VisAD Python scripting language then you will need to install Jython.

If you want to use the VisAD matrix operations in the visad.matrix package, then you will need to install Jama.

The VisAD visualization system uses the mature Java functionality of the JDK platform, including Java3D, Java2D and Java RMI. We at the SSEC Visualization Project of the University of Wisconsin believe that the JDK 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.


McIDAS-V is the 5th generation of McIDAS software, based on VisAD and Unidata's IDV. McIDAS-V includes HYDRA, the HYperspectral-viewer for Development of Research Applications, also based on VisAD, to enable scientists to explore hyperspectral data.

Here's the story of why the new version of McIDAS based on VisAD makes me so happy.

The VisAD Spread Sheet

The VisAD Spread Sheet is a handy way to visualize and compute with netCDF, HDF-5, 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.

Running VisAD in a Web Browser

The visad.browser package runs in Java applets and supports full interaction with VisAD displays running on servers. Run 'java Test68' in visad/examples and 'appletviewer viewer_applet.html' in visad/browser for an example. To use this in web browsers, see the README.browser file.

The VisAD Python Scripting Language

VisAD supports a simple Python-based scripting language for accessing its data analysis and visualization capabilities. See the VisAD Python Tutorial for more information.

Support for File Formats

VisAD includes support for accessing data in various file formats, including:

Hershey Fonts

VisAD is distributed with a number of Hershey fonts, but more are available as a ZIP file. To use any of these additional fonts, you should put the individual font file(s) into the visad/util directory and be sure to use the .jhf filename extension.

Running VisAD Using NexusRMI

You can compile and run VisAD using NexusRMI, an alternate implementation of RMI (Java's distributed object technology) based on the Nexus high-performance communication system. See the README.nexusrmi file for compilation and running instructions.

Unidata's Integrated Data Viewer using VisAD

The Unidata Program Center (part of UCAR and an authoring institution of VisAD) has released their Integrated Data Viewer (IDV). The IDV fuses data from a wide variety of environmental sources together in 2-D and 3-D earth views. It also includes a VisAD adapter for ArcInfo Shape files.

VisBio for Biological Visualization and Analysis

VisBio is a biological visualization tool built on VisAD and designed to allow easy visualization and analysis of 4-D multispectral data--that is, stacks of slices of biological data with multiple color values, animated across time.

Novel Displays for AERI Sounder Data

The program in the visad/aeri directory is the start of an application for a novel way to visualize AERI sounder data. To try it, create a data sub-directory in the visad/aeri directory, and download these ten .cdf files into visad/aeri/data (you may need to click on these files with the SHIFT key held down to get your browser to save them on your disk). These are files for five AERI instruments and five associated wind profilers, for 12 Jan 2000. Then run:

  java -mx256m visad.aeri.Aeri
Please ignore the warning messages from the file reader. And here's a screen shot of the Aeri application, showing an hour's advection of mixing ratio from five sounding locations in Oklahoma and Kansas.

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.

See the 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 combined VisAD, NCSA Habanero, and an adaptation of Java3D to the ImmersaDesk by Steve Pietrowicz and Chris Heistad of the NCSA Java3D Group.

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. See the README.paoloa file for more information.

Click here 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.

The JMET Interactive Meteorology System using VisAD

Check out the initial release of the JMET Interactive Meteorology System in the visad/jmet directory of the VisAD distribution. It provides interactive exploration of model output in netCDF files. In the future it will be a full functionality interactive meteorology system. JMET source is included in the VisAD source distribution.

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.

Australian Bureau of Meteorology Applet Demonstrating VisAD Map Projections

Check out Geoff Freeman's Applet that demonstrates how to support dynamic map projections using VisAD.

RAFT for statistics visualization using VisAD

Adele Cutler and Leo Breiman have developed RAFT (RAndom Forest Tool) for visualizing random forest analysis, using VisAD.

HidroSIG for GIS using VisAD

HidroSIG is a GIS that supports raster and vectorial maps with modules oriented to the hydrological analysis, time series, remote sensing and more. It has been made 100% in java using VisAD like its graphics library and using MySQL like its DBMS.

Collaborative Geographic Visualization from the Penn State GeoVISTA Center

The GeoVISTA Center of the Pennsylvania State University is creating collaborative visualizations using VisAD and the University of Jena's DEMViewer. The GeoVISTA Center's work includes novel and useful interfaces for studying cyclic temporal phenomena and a locally-developed networking tool called TalkServer to manage collaboration.

Access to geolocated satellite data from GVAR, GOES, GMS and Meteosat

VisAD now provides access to data from GVAR and GOES (U.S.), GMS (Japanese) and Meteosat (European) weather satellites. This links VisAD's CoordinateSystem mechanism with McIDAS satellite navigation to geolocate the images so that they can be overlaid with data from numerical models and other sources. Here's a shot from an animated global mosaic created from these satellites. See the visad/examples/ program for an example of how to use this capability.

Rainfall Estimation Custom SpreadSheet

The 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 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), then run:

  java visad.rabin.Rain

Hyper-spectral Data from NEST-I

The 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 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), then run:

  java visad.paoloa.Nasti
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.

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/ 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

Image Stretching Applet Example

Curtis Rueden has written an image stretching 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 algorithms.

VisAD Bibliography

VisAD Version 1.1 (written in C)

The earlier version VisAD, written in C, has been freely available for years and also has a web page.

To contact the authors...

Please send email to

Postal mail can be sent to:

Bill Hibbard
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 Launch Logo are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

VisAD Developers in Melbourne

(Bill Hibbard, Andrew Donaldson, Luke Matthews, Geoff Freeman, Rob Hackett, Jim Koutsovasilis, James Kelly)


We also have a home page for Vis5D.

And here is the original VisAD Home Page.