The study of the movement of ice sheets in Antarctica and Greenland has become important in the last few months as changes to these ice sheets are occurring at a much faster rate than previously thought. While there are many tools that can be used for the visualization of vector fields that represent flows, these tools often produce a static snapshot of the entire dataset, or rely extensively on animation. These techniques work well when studying flows limited around some well defined boundary (example: aircraft wing). It is not clear if these techniques scale well for continent-scale flow fields.
The goal of this project is to implement a visualization tool that can be used to study the patterns of ice flow in Antarctica and Greenland. The tools will combine some of the established techniques in flow visualization along with modern visual analytic and interaction schemes. This will allow scientists to look at different representations of the same ice velocity data, as well as compare different flow models (or observational data) of the same geographic area.
In order to offer a useful tool to analyze ice flow, multiple windowing options are offered in the visualization.
The controls and conveniences offered by each mode will be explained in detail further on.
Meanwhile, the possible windowing combinaitons are as follows:
The visualization starts with the Dataset Choice Box.
From here a user can select a dataset by:
Drag & drop
This action replaces the current dataset with the new desired one.
This action spawns a new visualization window, with a maximum of two windows.
Currently dataset available: Antarcitca Observation.
Originally the goal was to incorporate a number of datasets including a simulation of Antarcitca,
observations and simulation of Greenland.
However accuiring those datasets proved to be more challenging than oringally anticipated.
Is the orange button with an "i" in the center.
This button generates an image overlay that helps users understand and navigate IceBreaker.
Single & Double Visualization Windowing
The Single Visualization Window allows the user to see one data set at the resolution of the monitor.
Accordingly, the Double Visualization Window allows the user to see two data set at half the resolution of the monitor.
This allows the user to view different datasets, such as Antarctica and Greenland, concurrently.
In doing so a user can compare these two areas.
Each visualization window was designed to be an independent entity, as such the control scheme for a Single Visualization Window
applies to a Double Visualization Window.
Visualization Attribute Box
One function of this component allows the user to specified vizualization mode form the following choices:
This mode visualizes how fast a particle of ice would move through certain areas of Antarctica.
The color of the particles indicate the velocity of that particular particle.
This mode vizualizes how far ice flows given a starting point.
The arrows that depict this movement are essentially arrows.
The color used in these steamlines indicate the amount of time that has passed.
Similiarly to the arrows, the contours vizualizes how far ice flows.
However instead of a single point, contour modes tries to show how a plane of ice would move.
The contours and arrows are generated in a similar mannor.
However the contours generate a plane acorss the arrows at the specificed time frame.
Though this seemed to be a feasible idea, it was not very practical or useful.
Ideally the colors used in these steamlines indicate the amount of time that has passed.
Additionally, different attributes of the current visualization mode can be altered here.
This is done by using the slider the corresponds to a certain attribute.
These sliders were an adapation of the ControlP5 silder.
Visualization Area Controls
These controls apply to all modes of visualization.
Drags geographic area of the visualization.
Zoom in and out of geographic area
Click orange "X":
Kills that specific view of the data set
Particle Mode Specific
Left Drag on particle generator:
Moves the particle generator.
Arrow & Contour Mode Specific:
Right Drag on Visualization Area:
Allows the user to determine the starting point for the visualization.
Click "X" icon:
Kills the desired starting line
Visualization Window Legend
This component allows users to interpret the color scale.
In Particle Mode the color scale reprsents velocity.
In Arrow & Contour Mode the color scale reprsents time.
Visualization Transparency Control
After the datasets have been selected, a transparency controler will appear.
This allows the user to control the opacity of both the Geographic Map and Velocity Map.
The velocity map gives the user an overall view of the underlying velocity grid.
This allows them to easily choose potential areas of interest.
Sync'd Double Visualization Windowing
Sync'd Double Visualization Windowing allows the user to syncronize the left visualization window with the right visualization window.
This syncronization mirrors mousewheel and dragging between the two windows.
This is convient because it allows users to investigate in two different modes over the same area.
Or it allows users to compare a simualted data set on flow compared to an emperically collected data set.
The sync button can be found underneath the Transparency Control.
It only appears when two datasets are open.
While sync'd the following controls are mirrored for both visualization windows:
There are three datasets that go into the visualization program:
Satellite texture: this covers the entire Antarctic continent. The resolution of the satellite imagery is 500 meter per pixel, a total of 125 Megapixels. The dataset was pre-processed using a modified version of the MagicCarpet pyramid maker to generate a multi-level-of-detail representation of the data so it can be displayed efficiently at interactive speeds.
Ice stream velocity: this is a raster dataset consisting of a vector field where each cell indicates the velocity (direction and magnitude) of the ice at that cell. The resolution of this dataset was 1 Kilometer per cell. To be able to composite this dataset on top of the satellite texture, an image was constructed from the vector field to show the magnitude (but not direction) of the velocity at each cell in the grid. The color of a pixel represents the magnitude of the velocity (blue - slow, red - fast). This image was also preprocessed with the MagicCarpet pyramid maker.
Height map: this is used to determine whether a particle or streamline have reached the coast so that it can be terminated from the visualization. The resolution of the height map was also 1 Kilometer per cell.
The algorithm for the particles is very similar to the algorithm used in RainTable: the generators produce a number of particles at a specified rate (controller by slider). The particles are assigned an initial random position close to the generator. Each particle is simulated once every simulation iteration. The algorithm moves the particle N step (which could be exaggerated by the "time scale" slider) at every iteration. Increasing N increases the speed of the particles. However, unlike RainTable, an increase of N does not distort the actual flow model. This is because the program does N lookups on the velocity vector field as opposed to exaggerating the speed of the particle. However, the time scale slider can potentially distort the flow. Therefore, it's set to a moderate value (10 by default).
The streamline algorithms takes a curve drawn by the user, chops the curve into a number of points (determined by the "density" slider). We refer to these points as "source points". The program calculates streamlines that start from the sources points, and renders them on the screen.
The algorithm used to calculate the streamline is idential to the one used to determine the movement of particles. The streamlines are calculated
in the CPU, and later uploaded to the GPU as vertex arrays so that they can be subsequently rendered at interactive speeds.
Multi-level-of-detail image viewer:
The image viewer used to load the satellite texture works by determining the optimal detail level (given the current zoom on the dataset),
determines the viewable sections of the dataset, and loads the appropriate tile.
We would like to thank Eric Rignot of the Jet Propulsion Laboratory for providing ice velocity datasets, and Paul Morin of the
Antarctic Geospacial Information Center for providing Antarctica maps and satellite images.