VisAD

June, 2010

updated: June, 2013

Introduction

VisAD is a pure Java system for interactive and collaborative visualization and analysis of numerical data. It is described in detail in the:

VisAD Java Class Library Developers Guide

available from the VisAD web page at:

http://visad.ssec.wisc.edu

This README file primarily consists of installation instructions.

Dependencies

The only dependency not included with VisAD is Java3D. To use or compile VisAD you must have Java3D installed and accessible to your Java SDK. Please see https://java3d.dev.java.net for download and install instructions.

Downloading the VisAD Source Code

To download the VisAD source code, first make sure the current directory is a directory in your CLASSPATH (which we will refer to as '/parent_dir' through the rest of this README file). Then get:

ftp://ftp.ssec.wisc.edu/pub/visad/visad_src.jar

If you have previously downloaded the VisAD source you should run 'make clear' in your visad directory to clear out the old source files before you unpack the new source.

Unpack the jar file by running:

jar xvf visad_src.jar

Unpacking VisAD will create the following sub-directories:

examples                      // small VisAD application examples
visad                         // the core VisAD package
visad/ss                      // VisAD Spread Sheet
visad/formula                 // formula parser
visad/java3d                  // Java3D displays for VisAD
visad/java2d                  // Java2D displays for VisAD
visad/util                    // VisAD UI utilities
visad/collab                  // collaboration support
visad/cluster                 // data and displays distributed on clusters
visad/python                  // python scripts for VisAD
visad/browser                 // connecting applets to VisAD servers
visad/math                    // math (fft, histogram) operations
visad/matrix                  // JAMA (matlab) matrix operations
visad/data                    // VisAD data (file) format adapters
visad/data/units              // VisAD Units subsystem
visad/data/fits               // VisAD - FITS file adapter
visad/data/netcdf             // VisAD - netCDF file adapter
visad/data/netcdf/in          // netCDF file adapter input
visad/data/netcdf/out         // netCDF file adapter output
visad/data/netcdf/units       // units parser for netCDF adapter
visad/data/hdfeos             // VisAD - HDF-EOS file adapter
visad/data/hdfeos/hdfeosc     // native interface to HDF-EOS
visad/data/vis5d              // VisAD - Vis5D file adapter
visad/data/mcidas             // VisAD - McIDAS file adapter
visad/data/gif                // VisAD - GIF file adapter
visad/data/tiff               // VisAD - TIFF file adapter
visad/data/visad              // VisAD serialized object file adapter
visad/data/hdf5               // VisAD - HDF-5 file adapter
visad/data/hdf5/hdf5objects   // VisAD - HDF-5 file adapter
visad/data/amanda             // VisAD - F2000 file adapter (neutrino events)
visad/data/text               // VisAD - text file adapter
visad/data/in                 // VisAD - data input pipeline
visad/data/jai                // VisAD file adapter for images using JAI
visad/data/ij                 // VisAD file adapter for images using ImageJ
visad/data/gis                // VisAD - ArcGrid and USGS DEM file adapters
visad/data/dods               // VisAD - DODS object adapter
visad/data/bio                // VisAD - Bio-Formats adapter
visad/install                 // VisAD-in-a-box installer
visad/paoloa                  // GoesCollaboration application
visad/paoloa/spline           // spline fitting application
visad/aune                    // ShallowFluid application
visad/benjamin                // Galaxy application
visad/rabin                   // Rainfall estimation spread sheet
visad/bom                     // wind barb rendering for ABOM
visad/jmet                    // JMet - Java Meteorology package
visad/aeri                    // Aeri data visualization
visad/georef                  // specialized earth coordinates
visad/meteorology             // meteorology
visad/gifts                   // GIFTS
visad/sounder                 // atmospheric sounding package
nom/tam/fits                  // Java FITS file binding
nom/tam/util                  // Java FITS file binding
nom/tam/test                  // Java FITS file binding
ucar/multiarray               // Java netCDF file binding
ucar/util                     // Java netCDF file binding
ucar/netcdf                   // Java netCDF file binding
ucar/tests                    // Java netCDF file binding
edu/wisc/ssec/mcidas          // Java McIDAS file binding
edu/wisc/ssec/mcidas/adde     // Java McIDAS file binding
ncsa/hdf/hdf5lib              // Java HDF-5 file binding
ncsa/hdf/hdf5lib/exceptions   // Java HDF-5 file binding
gnu/regexp                    // GNU Regular Expressions for Java
gnu/regexp/util               // GNU Regular Expressions for Java
HTTPClient                    // Jakarta Commons HttpClient
loci/formats                  // LOCI Bio-Formats package
loci/formats/in               // Bio-Formats - read image formats
loci/formats/out              // Bio-Formats - write image formats
loci/formats/gui              // Bio-Formats - GUI components
loci/formats/codec            // Bio-Formats - codecs

These directories correspond to the packages in distributed with VisAD, except that the classes in examples are in the default package (i.e., they do not include a package statement).

Building VisAD

The source jar includes the VisAD source, the required dependencies source files, the source for the examples, and a simple And build file.

The build file should allow you to compile all the source files in-place, as well as run the Java rmic compiler to generate stubs:

ant build jar

This will create a jar that can be used to run any application requiring the VisAD library. For example, to run the examples make sure the visad.jar and the compiled examples are on your CLASSPATH:

java -cp visad.jar:examples DisplayTest

Downloading VisAD Classes in Jar Files

If you want to write applications for VisAD but don't want to compile VisAD from source, you can dowload a jar file that includes the VisAD classes. This file is:

ftp://ftp.ssec.wisc.edu/pub/visad/visad.jar

Once you've got visad.jar simply add:

/parent_dir/visad.jar;.

to your CLASSPATH. Then you can compile and run applications that import the VisAD classes. However, if your application uses the HDF-EOS or HDF-5 file format adapters, then you will need to compile the native code as described in Section 4 of this README file. The visad.jar file includes the classes from these packages:

visad                         // the core VisAD package
visad/ss                      // VisAD Spread Sheet
visad/formula                 // formula parser
visad/java3d                  // Java3D displays for VisAD
visad/java2d                  // Java2D displays for VisAD
visad/util                    // VisAD UI utilities
visad/collab                  // collaboration support
visad/cluster                 // data and displays distributed on clusters
visad/python                  // python scripts for VisAD
visad/browser                 // connecting applets to VisAD servers
visad/math                    // math (fft, histogram) operations
visad/matrix                  // JAMA (matlab) matrix operations
visad/data                    // VisAD data (file) format adapters
visad/data/units              // VisAD Units subsystem
visad/data/fits               // VisAD - FITS file adapter
visad/data/netcdf             // VisAD - netCDF file adapter
visad/data/netcdf/in          // netCDF file adapter input
visad/data/netcdf/out         // netCDF file adapter output
visad/data/netcdf/units       // units parser for netCDF adapter
visad/data/hdfeos             // VisAD - HDF-EOS file adapter
visad/data/hdfeos/hdfeosc     // native interface to HDF-EOS
visad/data/vis5d              // VisAD - Vis5D file adapter
visad/data/mcidas             // VisAD - McIDAS file adapter
visad/data/gif                // VisAD - GIF file adapter
visad/data/tiff               // VisAD - TIFF file adapter
visad/data/visad              // VisAD serialized object file adapter
visad/data/hdf5               // VisAD - HDF-5 file adapter
visad/data/hdf5/hdf5objects   // VisAD - HDF-5 file adapter
visad/data/amanda             // VisAD - F2000 file adapter (neutrino events)
visad/data/text               // VisAD - text file adapter
visad/data/in                 // VisAD - data input pipeline
visad/data/jai                // VisAD file adapter for images using JAI
visad/data/gis                // VisAD - ArcGrid and USGS DEM file adapters
visad/data/dods               // VisAD - DODS object adapter
visad/data/bio                // VisAD - Bio-Formats adapter
visad/install                 // VisAD-in-a-box installer
visad/paoloa                  // GoesCollaboration application
visad/paoloa/spline           // spline fitting application
visad/aune                    // ShallowFluid application
visad/benjamin                // Galaxy application
visad/rabin                   // Rainfall estimation spread sheet
visad/bom                     // wind barb rendering for ABOM
visad/jmet                    // JMet - Java Meteorology package
visad/aeri                    // Aeri data visualization
visad/georef                  // specialized earth coordinates
visad/meteorology             // meteorology
nom/tam/fits                  // Java FITS file binding
nom/tam/util                  // Java FITS file binding
nom/tam/test                  // Java FITS file binding
ucar/multiarray               // Java netCDF file binding
ucar/util                     // Java netCDF file binding
ucar/netcdf                   // Java netCDF file binding
ucar/tests                    // Java netCDF file binding
edu/wisc/ssec/mcidas          // Java McIDAS file binding
edu/wisc/ssec/mcidas/adde     // Java McIDAS file binding
ncsa/hdf/hdf5lib              // Java HDF-5 file binding
ncsa/hdf/hdf5lib/exceptions   // Java HDF-5 file binding
gnu/regexp                    // GNU Regular Expressions for Java
gnu/regexp/util               // GNU Regular Expressions for Java
HTTPClient                    // Jakarta Commons HttpClient
loci/formats                  // LOCI Bio-Formats package
loci/formats/in               // Bio-Formats - read image formats
loci/formats/out              // Bio-Formats - write image formats
loci/formats/gui              // Bio-Formats - GUI components
loci/formats/codec            // Bio-Formats - codecs

In order to run the examples with visad.jar, download:

ftp://ftp.ssec.wisc.edu/pub/visad/visad_examples.jar

Unpack this jar file by running:

jar xvf visad_examples.jar

Change to that directory and run the appropriate example application. Make sure that '.' is in your CLASSPATH.

Problems

If you have problems, send an email message to the VisAD mailing list at:

visad@unidata.ucar.edu

Join the list by filling out the subscribe form at:

http://www.unidata.ucar.edu/support/mailinglist/mailing-list-form.html

Please include any compiler or run time error messages in the text of email messages to the mailing list.