Scientific Visualization of Water Quality in the Chesapeake Bay

Similar documents
Introduction to Visualization with VTK and ParaView

3D Interactive Information Visualization: Guidelines from experience and analysis of applications

Visualisatie BMT. Introduction, visualization, visualization pipeline. Arjan Kok Huub van de Wetering

Visualization with ParaView

MayaVi: A free tool for CFD data visualization

VisIt Visualization Tool

Visualization with ParaView. Greg Johnson

IDL. Get the answers you need from your data. IDL

Technical Report. An Interactive Iso-Surface Based 3D Weather Radar Data Visualization Package Using VisAD for WDSSII

The Visualization Pipeline

Zhenping Liu *, Yao Liang * Virginia Polytechnic Institute and State University. Xu Liang ** University of California, Berkeley

GRAVE: An Interactive Geometry Construction and Visualization Software System for the TORT Radiation Transport Code

Video in Logger Pro. There are many ways to create and use video clips and still images in Logger Pro.

Visualization Tools for Comprehensive Test Ban Treaty Research r n h F q

How To Develop An Image Guided Software Toolkit

Go to contents 18 3D Visualization of Building Services in Virtual Environment

SuperViz: An Interactive Visualization of Super-Peer P2P Network

Visualizing and Analyzing Massive Astronomical Datasets with Partiview

Visualization Technology for the K computer

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler

Teaching Methodology for 3D Animation

Visualization. For Novices. ( Ted Hall ) University of Michigan 3D Lab Digital Media Commons, Library

2. Spin Chemistry and the Vector Model

Johannes Sametinger. C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz A-4040 Linz, Austria

Exploratory Climate Data Visualization and Analysis

Table of Contents Find the story within your data

Adaptive Sampling and the Autonomous Ocean Sampling Network: Bringing Data Together With Skill

Facts about Visualization Pipelines, applicable to VisIt and ParaView

Program Visualization for Programming Education Case of Jeliot 3

Examples of Data Representation using Tables, Graphs and Charts

VisIVO, a VO-Enabled tool for Scientific Visualization and Data Analysis: Overview and Demo

Dong-Joo Kang* Dong-Kyun Kang** Balho H. Kim***

TIBCO Spotfire Web Player Release Notes

Formulas, Functions and Charts

Latin American and Caribbean Flood and Drought Monitor Tutorial Last Updated: November 2014

AVS/Express - an object-oriented visual development tool

A Pattern-Based Approach to. Automated Application Performance Analysis

Parallel Analysis and Visualization on Cray Compute Node Linux

Applying a circular load. Immediate and consolidation settlement. Deformed contours. Query points and query lines. Graph query.

VisCMD: Visualizing Cloud Modeling Data

WIRELESS TRAINING SOLUTIONS. by vlogic, Inc. L a b 0.3 Remote Access Labs

An Introduction to Point Pattern Analysis using CrimeStat

MEng, BSc Computer Science with Artificial Intelligence

Advanced discretisation techniques (a collection of first and second order schemes); Innovative algorithms and robust solvers for fast convergence.

Study of Large-Scale Data Visualization

Manage Software Development in LabVIEW with Professional Tools

MEng, BSc Applied Computer Science

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

TEACHING INTRODUCTORY COMPUTER GRAPHICS WITH THE PROCESSING LANGUAGE

James Ahrens, Berk Geveci, Charles Law. Technical Report

Why are we teaching you VisIt?

Learning Module 4 - Thermal Fluid Analysis Note: LM4 is still in progress. This version contains only 3 tutorials.

Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions

Step 2: Learn where the nearest divergent boundaries are located.

A Basic Summary of Image Formats

Figure 3.5: Exporting SWF Files

A Multiresolution Approach to Large Data Visualization

Interactive simulation of an ash cloud of the volcano Grímsvötn

FEAWEB ASP Issue: 1.0 Stakeholder Needs Issue Date: 03/29/ /07/ Initial Description Marco Bittencourt

TIBCO Spotfire Guided Analytics. Transferring Best Practice Analytics from Experts to Everyone

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Volume visualization I Elvins

Interactive Visualization of Magnetic Fields

DATA VISUALIZATION GABRIEL PARODI STUDY MATERIAL: PRINCIPLES OF GEOGRAPHIC INFORMATION SYSTEMS AN INTRODUCTORY TEXTBOOK CHAPTER 7

Multi-Touch Ring Encoder Software Development Kit User s Guide

An interactive 3D visualization system for displaying fieldmonitoring

The Scientific Data Mining Process

USER S GUIDE TO MODEL VIEWER, A PROGRAM FOR THREE-DIMENSIONAL VISUALIZATION OF GROUND-WATER MODEL RESULTS

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

Utilizing spatial information systems for non-spatial-data analysis

imc FAMOS 6.3 visualization signal analysis data processing test reporting Comprehensive data analysis and documentation imc productive testing

A 3D Visualization System for Real-Time Space Weather Simulator with a Glassless Stereoscope

CONVERGE Features, Capabilities and Applications

3D Visualization of Seismic Activity Associated with the Nazca and South American Plate Subduction Zone (Along Southwestern Chile) Using RockWorks

CHAPTER 1. Introduction to CAD/CAM/CAE Systems

MARS STUDENT IMAGING PROJECT

Tutorial for Tracker and Supporting Software By David Chandler

Extend Table Lens for High-Dimensional Data Visualization and Classification Mining

Authors: Masahiro Watanabe*, Motoi Okuda**, Teruo Matsuzawa*** Speaker: Masahiro Watanabe**

HPC & Visualization. Visualization and High-Performance Computing

A Conceptual Approach to Data Visualization for User Interface Design of Smart Grid Operation Tools

FDOU Project 26B Task 4 Our Florida Reefs Community Working Group Scenario Planning Results

Easy-to-Use CFD for Electronics Design. Thermal Design in Half the Time

Microsoft Mathematics for Educators:

Visualization of Adaptive Mesh Refinement Data with VisIt

2 SYSTEM DESCRIPTION TECHNIQUES

WP 6 User interface design and implementation. Deliverable 30. GIS query interface specification

Given a point cloud, polygon, or sampled parametric curve, we can use transformations for several purposes:

Interactive Level-Set Deformation On the GPU

N Q.3 Choose a level of accuracy appropriate to limitations on measurement when reporting quantities.

Basic 3D reconstruction in Imaris 7.6.1

Scientific Data Management and Dissemination

Data Visualization Study at Earth Simulator Center

Microsoft Office 2010 Packaging

Features. Emerson Solutions for Abnormal Situations

. Address the following issues in your solution:

Logi Ad Hoc Reporting System Administration Guide

Multiphase Flow - Appendices

Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches

Outline. Fundamentals. Rendering (of 3D data) Data mappings. Evaluation Interaction

Transcription:

Scientific Visualization of Water Quality in the Chesapeake Bay Robert Stein 1, Alan M. Shih 2, M. Pauline Baker 3 National Center for Supercomputing Applications University of Illinois at Urbana-Champaign Carl F. Cerco 4, Mark R. Noel 5 U. S. Army Engineer Research and Development Center Abstract This paper describes our experience in designing and building a tool for visualizing the results of the CE-QUAL-ICM Three-Dimensional Eutrophication Model, as applied to water quality in the Chesapeake Bay. This model outputs a highly multidimensional dataset over very many timesteps outstripping the capabilities of the visualization tools available to the research team. As part of the Army Engineer Research and Development Center (ERDC) Programming Environment and Training (PET) project, a special visualization tool was developed. This paper includes discussions on how the simulation data are handled efficiently, as well as how the issues of usability, flexibility and collaboration are addressed. Introduction The Chesapeake Bay is the largest and most productive estuary in the United States. With a surrounding population of about 15 million people, and a valuable place in the fishing industry, the Chesapeake Bay is a very important natural resource to the region. Population growth and the development of agriculture and industry in the area surrounding the bay have had a significant impact on this ecosystem. Scientists at the U. S. Army Engineer Research and Development Center (ERDC) and the Environmental Protection Agency (EPA) have developed a computational model to help them understand the effects of pollutants and contaminants on the water quality of the Chesapeake Bay. This computational system allows scientists to validate and predict the water quality in the bay through dozens of constituents produced by the simulation. Available commercial visualization tools are sometimes tedious to use for handling both the unique data format used by the computational model and the particular needs of the researchers. Therefore, a custom visualization tool was developed to accurately and efficiently deal with the data from this model, and to aid in analysis of the data by applying a set of visualization algorithms. Sample results are presented in this paper. Before the development of this tool scientists used standard X-Y line graphs and simple 2-dimensional slices to 1 Research Programmer, rstein@ncsa.uiuc.edu 2 Research Scientist, ashih@ncsa.uiuc.edu 3 Associate Director, baker@ncsa.uiuc.edu 4 Research Hydrologist, cerco@homer.wes.army.mil 5 Research Scientist, noel@tempest.wes.army.mil visualize the model prediction. A previous tool called S.C.I.R.T., the Site Characterization Interactive Research Toolkit, [6] was the first visualization tool which included 3-dimensional comparisons of model predictions and observed data. However this tool was limited in that it had no way of representing the vector data produced by the model. Requirements In developing a user-friendly visualization package tailored for the Chesapeake Bay water quality simulation project, we found that the user had several needs. First the tool needed to handle the specific data format of the simulation in a simple and efficient manner, and allow the user to apply a variety of visualization methods to the data. This implies the development and integration of various data conversion utility programs. Another purpose of this tool was the ability to use it for verifying the correctness of the computational model if needed. It should be able to view and analyze the computational domain as well as the physical domain, allowing the user to see areas that are possible errors in the computation. Next, the tool needed to be able to easily generate graphics for the user to include in various papers and presentations. Since members of the team studying this water quality problem were located at various sites across the country, the tool needed to support various methods of collaboration. Lastly, and most importantly, all of this functionality needed to be available to the user in an easily understood interface. Numerical Domain The numerical domain used in this simulation consists of 10196 grid cells. The computational model outputs more than 100 scalar variables, and more than 10 vector variables. A routine run of the computation covers a whole calendar year generating 365 timesteps, and larger runs have also been made projecting out 10 and 20 years into the future. The cells for the simulation are hexahedral in shape and are non-uniform in the x and y dimensions but all cells are uniformly spaced in depth. The grid itself is unstructured in nature, however, the cells are arranged by water columns (i.e. neighbors along the z-axis have the same dimensions in x and y). This is to accommodate the water depth variation at each location. Coordinates of the grid cell vertices are stored as latitudes and longitudes with the depth in meters. The coordinate system was converted into a Cartesian system in meters for the convenience of visualization. Dimensions in X and Y are relatively larger than the one in Z (depth) direction. It thus makes the domain a very thin plate. In order to visualize the data within this domain more 509

meaningfully, allowing the user to control the scaling in each direction was implemented. Scalar constituent values are stored at the cell centers. In order to support visualization methods that require a continuous scalar field, such as isosurfacing, these values were also interpolated to the vertices of each cell. Vector constituent fields are supplied from the model, but their values reflect face-centered fluxes entering and exiting the cells. This is complicated by the fact that entering and exiting faces of a particular cell do not necessarily have the same geometry. In order to extract a meaningful vector field on which visualization methods could be applied, the first step is to find the surface normal of each face. This value is then used to decompose each face vector into its components and sum all components across the cell to obtain a correct cell-centered vector value (Figure 1). In addition, each face-centered value was also normalized by the area of that face. Since the vector field was based on the flux through an individual cell's faces, cells with smaller surface area had vectors with very small magnitude relative to the larger cells, and were therefore difficult to see. Normalizing each vector by the area of the cell allows the scientist to quickly examine the vector field to ensure the correctness of the model. Figure 1. Cell Centered Vector Field in Physical Domain To facilitate visual detection of anomalies in the computational model, the user is allowed to toggle the display between computational and physical domains. The display of the computational domain is simply a grid with the same structure where each cell of the grid is of uniform shape and size. This is desirable since many of the domain cells in the rivers of the bay are very tiny and difficult to see in the physical domain. In the computational domain all cells are the same size so that errors, even in small river cells, are easy to detect (Figure 2). Unfortunately, there exists no standard way to interface the graphics window of a VTK based application with FLTK. A subclass of one of the FLTK windowing classes was therefore developed. It allows developers to include the VTK graphics, and track the user's mouse and button events in the FLTK GUI windows. This allows a developer to take the full advantage of both packages (Figure 7). Visualization We chose to use VTK (the Visualization Toolkit) for developing the visual representations for the application. VTK is an open-source, freely available software system for computer graphics, image processing, and visualization. It supports hundreds of algorithms in visualization and image processing fields. To facilitate the development of a dynamic and flexible visualization application, a general library API called the Visualization Generator (VisGen) was developed. The Visualization Generator is a high level component for the development of 3D graphics applications. The VisGen library sits on top of VTK allowing the user to dynamically build VTK graphics pipelines for the production of interactive 3D scientific visualizations. The design of the VisGen is such that the implementation details of VTK are hidden from the novice user, but are available to experienced users for integration into complex applications and working environments. The API of the VisGen is designed around a messagepassing scheme where messages pass from the application layer to the VisGen. As a result of these messages, the VisGen produces a set of graphical objects that are available to the application for rendering. Since these messages are simple strings, the API makes it very easy to use applications in a collaborative fashion where application states are shared between multiple users. In addition, this type of messaging also easily supports rapid prototyping of new data, remote visualization, and easy integration with components of the user interface. For example, in this application, the FLTK GUI simply generates messages which are processed by VisGen to generate the resulting graphics. The application supports a variety of visualization methods applied to both scalar and vector data. These methods include slicing planes, isosurfacing, a representation of the external shell of the domain, and vector fields (Figures 8, 11). The user is allowed to view the results of any of these methods in both the physical and computational domains. Graphical User Interface (GUI) As mentioned above, another important aspect in the design of this tool was that of the user interface. We based the current version of this interface on a library called the Fast Light Toolkit (FLTK) (Figure 6). FLTK provides a very comprehensive collection of widget classes, such as buttons and sliders, which allows users to build the GUI quickly and easily. It provides a visual programming environment called FLUID. This makes it very easy to design the GUI visually, and to integrate effectively with C++ code. Figure 2. Computation vs. Physical Domains 510

Figure 3. Vertex-Centered vs. Cell-Centered Slicing In addition, depending on whether the user specifies cell-centered or vertex-centered data as input to a particular method, an appropriate representation is chosen if possible. (Figure 3.) Due to the actual dimensions of the domain (the main stem of the bay is about 300 km long and 8-48 km wide) the computational grids are relatively coarse. Consequently, the grid sizes may exceed the actual scales of the flow features as each cell face can be larger than 100 square kilometers. Therefore, the use of streamlines for visualizing the vector data may not always return meaningful results. The user can also specify a variety of color maps to apply to the representations allowing them more freedom in the final appearance of the image. In addition, there exists the ability to do custom titling, and color bars denoting the mapping of data to screen color are automatically positioned on the screen as each new dataset is added. For example, Figure 9 shows 4 variables, each with their own color legend and Figure 10 is a close-up view near the mouth of the bay. We also experimented with building some functionality directly in OpenGL. Figure 4 shows an initial version of a tool to display the transport flux data. Though the tool provided the functionality of visualizing the vector data, the coding itself was far more complicated and laborious compared to the similar implementation using VTK. Collaboration The core members of the research team are located in multiple buildings at their site and they collaborate with members who reside in another state. With the proliferation of the Internet and broadband access, we focus our collaboration efforts around Web-capable solutions to achieve this goal. We experimented with sharing the visualization sessions across the network using existing conferencing software. On a notebook computer running Windows 98, NetMeeting was used while SGIMeeting was used on an SGI Octane running IRIX.. This visualization tool can be executed on the SGI and is shared between the PC and SGI workstations using existing software. Since conferencing software provides many salient features such as control authorization, which allows different participants to take control of the visualization tool, collaborative visualization can be achieved seamlessly and efficiently. Figure 5 demonstrates the synchronized collaboration of the visualization tool. (a) Windows 98 Environment using NetMeeting Software Figure 4. Initial prototype of vector data visualization implemented using OpenGL Because of the high level object-oriented nature of the VisGen library that we developed, the user can easily and intuitively add and remove different scalar and vector data fields for analysis. We call these DataNodes. Once a DataNode exists, the user can then apply any of the visualization methods available to this data. This generates a particular representation depending on the method, which is called a VisNode. The user is free to construct any combination of VisNodes and DataNodes to compose the image on the screen and can name each VisNode and DataNode as they like. (b) SGI IRIX 6.5 Environment using SGIMeeting Software Figure 5. Collaboration between Windows PC and SGI Workstations To support the user's need for graphics to use in publications and presentations, we included a variety of ways of exporting the current graphics window. First, and most simply, we provided the ability to save the current screen as a JPEG 511

compressed image. This works nicely so that saved images can be put directly on the web without further conversion. We also did some experiments where the application itself acted as a web server. This means that a remote web browser could connect to a special port on the machine running the CbayVisGen and receive the applications current image using standard Server Push mechanism. Of particular interest to the user was the ability to capture animations. This was made more difficult by the large number of timesteps in the computation, coupled with the large number of possible scalar and vector fields. Our tool incorporates this ability to play through animations and to capture QuickTime movies directly from the screen, for long numbers of timesteps and large resolutions. We have used the tool to capture animations at a resolution of greater than 1280 x 1024 with more than 365 timesteps. Lastly, the tool gives the user the ability to capture the current visualization as a VRML file capable of being viewed in a standard web browser. This lets the user rotate the model of the bay and get a better feel for the spatial relationships. The tool also has the ability to export a file to a high quality renderer called RenderMan. This software can give high quality, production level renderings of these images. Result The development of this tool has succesfully allowed the scientists to explore and interact with the output of their data model in a quick and easy manner. They have found this tool very useful in easily constructing visualizations for use in communicating their work to colleagues and sponsers, and in preparing graphics for different papers and sections of books they have written. This tool has also proven useful in debugging the model simulation. With this tool, the scientists were able to visualize the transport flux data from the model. This ability was not available in any previously used tools. This new feature allowed them to clarify some doubts they had about boundary conditions near the upper regions of the bay. This tool helped them to understand how this boundary condition was formulated and also how it affected the numerical model. Acknowledgement This work was carried out as part of the Programming Environment and Training component of the DoD High- Performance Computing Modernization Program. References 1. Homepage for The Fast Light Toolkit (FLTK) http://www.fltk.org 2. Homepage for The Visualization Toolkit (VTK) http://www.kitware.com/vtk.html 3. William J. Schroeder, Kenneth M. Martin, and William E. Lorenson. "The Design and Implementation of an Object- Oriented Toolkit for 3D Graphics and Visualization," In IEEE Visualization, pp. 93-100, 1996. 4. William J. Schroeder, Kenneth M. Martin, and William E. Lorenson. The Visualization Toolkit. Prentice Hall PTR, 1996. 5. Carl Cerco, and Thomas Cole. "Three-Dimensional Eutrophication Model of Chesapeake Bay," In Journal of Environmental Engineering, pp. 1006-1025, 1993. 6. Adam Forgang, Bernd Hamann, and C. F. Cerco, "Visualization of water quality data for the Chesapeake Bay," In IEEE Visualization, pp. 417-420, 1996. Summary In conclusion, we have developed a comprehensive scientific visualization tool to handle the understanding and analysis of water quality in the Chesapeake Bay. Some problematic issues in efficiently handling and processing the data format from the computational model were resolved through this work, Also, a sophisticated system for dynamically generating visualizations of the data has been implemented. In addition, the development of the VisGen library allows for high-level, flexible control of the VTK graphics pipeline. Coupled with an easy-touse interface to the application, this allows the user a lot of control over the graphical representation of the data. Once the user has a representation he/she is pleased with, a wide variety of options are provided for how this can be used in presentation, or for sharing with remote colleagues. Figure 6. Graphical User Interface using FLTK Toolkit 512

Figure 7. Binding Between FLTK and VTK allows the Development of a Comprehensive Package Figure 8. Combining a Slice Place of Salinity with Flow Vectors and an Isosurface of Dissolved Oxygen Figure 9. Complex Visual Composition of the Domain Figure 10. Close-up View near the Bay Mouth Figure 11. Slice and Isosurface Presentation 513