Vinaitheerthan Sundaram, Yi Ru, Bedřich Beneš, Lan Zhao, Carol X. Song, Taezoon Park, Gary R. Bertoline, Matthew Huber Rosen Center For Advanced Computing Department of Computer Graphics Technology Department of Earth and Atmospheric Sciences Purdue University An Integrated System for Near Real-Time 3D Visualization of NEXRAD Level II Data on TeraGrid Work supported by: National Science Foundation
Talk Outline • Motivation • What is NEXRAD II Data? Why is it necessary to interactively visualize in 3D? • Challenges • A review of existing systems and the challenges they don’t address in interactively visualizing the NEXRAD II Data • An end-to-end integrated system to interactively visualize NEXRAD II Data in 3D in near real-time • Components of the system: Data Access, Processing and Rendering • Parallelization and Scaling on the Teragrid • Performance Results • User Interface and Images generated by our Tool • Summary and Future Work
NEXRAD II Data • Next Generation Radar (NEXRAD) Level II Data (OR) Weather Surveillance Radar (WSR-88D) Level II Data • This data contains a very fine temporal and spatial resolution of three attributes: reflectivity, Doppler radial velocity and spectrum width • These attributes are vital to understanding, monitoring and predicting severe weather conditions • There are 131 Radar Stations in the country Figure 1. Doppler Radar Tower in Connecticut (left) and the Pulsed Doppler Radar inside (right) Acknowledgment: Figures are downloaded from websites www.CCSU.edu and www.answers.com.
NEXRAD II Data Generation • 3D structure in Radar Data • Radars go through a programmed set of movements, which involve a continuous rotation over 360° in azimuth and a simultaneous increase in elevation by 1° to 3° per complete sweep • Continuous NEXRAD Level II radar data stream • The radar data files vary in size from a few megabytes to tens of megabytes each, depending on the weather conditions. The files are compressed using modified bzip2 • The temporal resolution is 4-5 minutes in severe weather vs. 9-10 minutes in calm weather Figure 2. 3D Structure of Doppler Radar Data (Reflectivity )
Availability of NEXRAD II Data in Near Real-time • NEXRAD II Data is available on the TeraGrid through Purdue resource provider. This data is continuously received in near real-time from 121 NWS NEXRAD II Sites and 10 DOD Sites using LDM from Unidata • Opportunity! • The near real-time availability of high-resolution radar data provides an exciting opportunity for meteorologists if the data can be accessed and visualized in 3D in a timely manner. • Challenges • Large volume and real-time streaming (50 Megabytes/second) presents major computational and data management challenges.
Related Works • NEXRAD Data Visualization • Integrated Data Viewer (IDV) by Unidata • National Climate Data Center Java NEXRAD Viewer and Data Exporter • CRAFT Interactive Radar Analysis System ( Java Viewer ) • Vis5D & VisAD systems • Challenges in the State-of-the-art • Access Method • Usually downloaded through FTP/HTTP and don’t have a programmatic access to data • Data Format • Radar-native format compressed using modified bzip2 is not supported by many libraries including RSL ( Radar Software Library ). • Intensive Computation • Analyzing data over a long period or large geographical region or both requires computation that overwhelms even powerful computers. • Lack of interactive 3D visualizations • Despite the availability of 3D information in the new generation, the data is most commonly visualized as 2D images, simple 3D Point clouds or iso-surfaces.
Our End-to-End Integrated System • We built an end-to-end integrated system that retrieves radar data, processes it and remotely renders it in 3D in near real-time for ten’s of radar stations across the country. • Three important components: • Data Access • Download required files from SRB and uncompress using modified bzip2 • Data Processing • Read the radar files using RSL • Process the data from multiple sites • Convert them into render-able 3D volumes • Visualization/Data Rendering • Import the volumetric data from the disk. • Create 3D textures and slices and apply the texture-based volume-rendering techniques. • Utilize transfer functions to render the data on GPU. Figure 3. An Integrated System for visualizing NEXRAD Level II Data
Data Access API • We developed a library API called RadarSetLib that provides a programmatic access to retrieve any desired file available in SRB. • The important part of our API • buildDataList - retrieves all the matching file names for a particular station and a time period. • getOldestFileName - retrieves the oldest file name available for a given station. • getRadarFile - retrieves the radar file from SRB with or without uncompressing. • readRadar - retrieves the radar data file from SRB, uncompresses it, and then stores the converted data to a Radar structure in memory using RSL.
Sequential Processing of Radar Data • We use 3D-Texture based volume rendering for high-quality visualization • To ensure efficient volume rendering, all data is resample into a 3D rectilinear grid • Global spherical coordinates • RSL stores local coordinates (azimuth, elevation and range ) with the origin at location of each station. • To combine multiple stations, all local coordinates are converted to global spherical coordinates ( latitude, longitude and altitude ) • Interpolation based on time-stamps • Since different radars are operated at different tempos, the files are interpolated based on time-stamps. • Averaging redundant data samples • The areas where different radars intersect, the radar reflectivity values are averaged. Figure 4. 3D 256x256x128 grid structure and bounding box
Sequential Data Processing and Rendering Figure 5. The flow chart of data processing and rendering
Parallelization: Why and How? • Continuous NEXRAD Level II radar data stream • Each radar station generates radar data files on a continuous basis. • The file size vary from a few MB to tens of MB • The temporal resolution is 4-5 minutes to 9-10 minutes • There are over 100 radar stations across the country • How to scale? By exploiting the parallelism in Data access and Data Processing • Two Key Observations • The volumes can be generated for individual sites independently and can be merged at the end. For a particular station, the volume generated for a time interval is independent of other time intervals. • The data read from SRB can be done in parallel too.
TeraGrid Processing Site 1 Processing Site 2 Merge Main Job ....... Processing Site N Scaling on the Teragrid • Two type of jobs • Processing Job • retrieves the data from SRB, processes them and produces partial 3D volumes one for each interval. • Merging Job • combines the 3D volumes from all sites and creates the full 3D volume for each interval • Granularity of Parallelization • Depends on the processing power available • Either fine grained ( per site per interval ) or coarse grained ( per site ) • Used coarse grained in our experiments • DAGMan was used with the DAG shown in Figure 5. Figure 6: Parallel Processing on TeraGrid
Performance Results: Parallel Data Processing • Experimental Setup • Fixed Time ( 11am to 4pm on March 21, 2008 ) and Fixed 100 Sites from Continental USA • Uncompressed radar data varied from 200MB to 27GB for 1 to 100 sites. • The Sequential processing time increases from 0.78 to 46.87 minutes or 5909% increase for 1 to 100 sites. • The impact of scheduling time on total processing time decreases as the number of radar sites increase. • The increase in parallel processing time is due to merging time. • Speed up Parallel vs. Sequential: 77.5%, 249%, and 508.7% for 30, 50, and 100 sites respectively. Figure 7. Comparison of total processing time for sequential and parallel data processing solutions
Time to actually render Time to update 3D texture in GPU Time to read volume from disk Performance Results: Visualization • Two important observations • For a fixed sampling rate, when the resolution increases the frame rate decreases • From the plot, we see that the increase is the data rendering time is due to reading larger amount of data and updating the textures and not due to actual rendering. • For a fixed resolution, when the number of slices increases the frame rate decreases • The actual rendering time depends on the number of slices and therefore the frame rate is decreased. • The effect is more pronounced for low-resolution because the actual rendering time is significant compared to reading from disk or updating 3D textures. Table 1. Frames Per Second versus Sampling Rate (Number of slices) for different volume resolutions Figure 8. Data Rendering Time (in milliseconds) versus Volume Resolution for a fixed sampling rate
Contribution Summary and Future Work • Summary of our contribution • A fully interactive 3D visualization tool for NEXRAD Level II Data • A simple data access API to download any desired available radar data file from SRB in a usable format. • Parallel data processing using TeraGrid Condor resources to convert radar data streams into 3D volumes for rendering • A functional end-to-end system that retrieves data, process the data in parallel using Teragrid, remotely renders it in 3D in near real-time. • Future Work • Providing simultaneous remote access by multiple users • Visualization at a higher resolution • Caching and pre-processing to optimize for common case
An Integrated System for Near Real-Time 3D Visualization of NEXRAD Level II Data on TeraGrid Thank you for your attention! Q & A