Numerical models of the Earth’s atmosphere and oceans form one important class of scientific algorithms. The history files produced by these models are traces of their computations,and our VIS-5D (VISualization for 5-Dimensional data sets) system, freely available by anonymous ftp and running on graphics workstations, is widely used by scientists for interactively visualizing these history files. This system takes it name from the fact that model history files are 5-D rectangles of data, organized as 2-D arrays of 3-D spatial grids. The 2-D arrays are indexed by time and by model field (e.g., temperature, pressure, salinity, three components of wind or current velocity, etc). The data grids are transformed into graphical primitives that consist of 3-D vectors and polygons. On large workstations, we also use an efficient interactive volume rendering technique. The rendering of graphical primitives creates a virtual Earth environment behind the workstation screen. Users can reach into this virtual environment with a mouse to move slices through the data grids, to place seed points for wind trajectories, and to rotate and zoom their view. The array of icons on the left lets users select combinations of fields and rendering techniques, and control animation, iso levels, trajectories, color maps, etc.
Modern workstations can respond to these controls within the time of an animation step(usually between 1/30 and 1/5 second), giving users the sense of interacting with a small virtual atmosphere or ocean. In order for users to explore the 3-D geometry of their fields, and to explore cause and effect relations between different fields, they should be able to rotate images and change the combinations of fields displayed without interrupting the smooth animation of model dynamics. Thus we do not synchronize animation with the computation of graphical primitives, rather storing primitives in intermediate tables indexed by time and by field.
The size of a model history file is the product of five numbers and can be quite large. For example, a data set spanning 100 latitudes by 100 longitudes by 20 vertical levels by 100 time steps by 10 model fields contains 200 million grid points. In order to maximize data set size we compress grid data and derived graphics by scaling them linearly to one or two byte integers. In order to preserve fidelity, different scaling factors are used for each horizontal slice of each 3-D grid. With compression we can store one grid point, plus derived graphics, in 2.5 bytes of virtual memory. For history files that are too large for workstations the system splits into a graphics client on a workstation connected via network to a data server on a supercomputer.
Sometimes users need to see derived quantities, such as the vorticity or divergence of airflow, in order to understand the physics of a simulation. Users can write C and FORTRAN functions for deriving new diagnostic fields, and invoke them during a visualization session (they are dynamically linked with VIS-5D via sockets). In order to maximize data fidelity, floating point grid values in disk files, rather than compressed values, are used in these calculations.