Project 2

Lake Shore Drive

Timeframe: 2/7/11 - 3/7/11

VTK 1.6.1
Qt 4.8.1 for Windows - Visual Studio 2008
Visual Studio 2008
CMake 2.8.3
C++ and C#

Installation Instructions (Windows)

If you have previously installed VTK-Qt to run Project 1, there are no changes to the setup.

Compiling Project 2

Run CMake
  • Set the source directory to the LakeVis source directory (C:\....\Desktop\LakeVis)
  • Set the binaries directory to "C:\....\Desktop\LakeVis\build)"
  • Click configure
  • Set CMAKE_INSTALL_PREFIX to "C:\LakeVis" - Make sure there are no spaces or other special characters in this field (like brackets).
  • Your CMake window should look like:

Click "Configure" again then "Generate"

You can now go to your LakeVis build directory, open LakeVis.sln.

In Visual Studio's Solution Explorer:
  • 1) Right click LakeVis
  • 2) Select "Set as Startup Project".

3) Press F5 to compile and run LakeVis.

If you want to run the binaries directly (\LakeVis\build\Debug\bin\LakeVis.exe) you will need to copy the Data folder from LakeVis into \LakeVis\build\Debug\.

The Data

The data used for this visualization was collected from the Great Lakes Observing System ( The data was collected using a file parser I had written in C#. The file parser converted a date in mm/dd/yy/hr format into the timestep used by the dataset. The parser then generated the URL to get the latitude, longitude, depth, temperature, and water velocity for the given timestep. This parser would download the data, parse it, and output a comma-delimited file. This file was then read into Paraview and converted into a .vtk file. This final file is what LakeVis reads in.

Wind data was collected from the National Oceanic and Atmospheric Administration Great Lakes Environmental Research Laboratory (

In this application, wind data is only available for the February 2, 2011 hourly dataset.

Satellite imagery from NASA Visible Earth. Selection from Fall Colors Around The Great Lakes - Wisconsin 3200x4000.

Video Overview

Using the Application


Pictured above is the main graphical interface for LakeVis. The application has two VTK windows. To the left is the primary viewing window. This window is constantly updated based on input by the user. The right window is the secondary window. This window can be used to store the dataset currently in the main window. The secondary window will not change dataset unless  the user selects "Copy data from main" Either window can by minimized/maximized by clicking and dragging on the border between the two windows.

Left mouse - rotate
Right mouse / mouse wheel - zoom
Shift- left mouse / middle mouse - translate

Control Panel

On the left side of the application going down:

Terrain Display:
  • Show Map - Show/hide a terrain map showing major cities and river inlets around Lake Michigan.
  • Opacity - Toggle the opacity of the lake bathymetry mesh.
Data Display:
  • None/Points/Cubes - Change how temperature points are rendered. Points are default. Cubes are better for viewing temperature data while zoomed in close.
  • Water Velocity Vectors - Toggle water vector arrows on/off.
  • Wind Velocity Vectors - Toggle Wind vectors on/off.
    • Arrows will only appear over Milwaukee, Chicago, Michigan City, South Haven, and Muskegon. Wind data is only available for the tri-hourly dataset.
    • Some cities for a given timestep will have no data due to unavailability.
  • Density - Toggle the density of water velocity arrows or cubes
  • Depth Scale - Change the depth scaling of the visualization to better separate the depth levels.
  • None/Anaglyphic/Interlaced - Toggle stereoscopic modes.

  • Show Legend - Show/hide legend. Useful to remove legend while in stereoscopic mode.
Clipping Planes:
  • There are two sliders per axis. The top slider is the max position of the clipping plane. The bottom slider is the min.
Color Scale:

  • The color scale allows the user to choose the 12 colors that are used to illustrate the temperature differences. Clicking on a color on the scale toolbar will open up a color selector.
  • On the right of the color scale menu is a "Scale to current visible range" this will re-scale the legend to the current min/max values currently visible.
Dataset Timeline Tabs:
  •    Allows the user to select from one of three datasets:
    • 2006 and 2010 by month
    • March 2009 by day
    • February 2, 2011 by hour (Day of the 'Great Chicago Blizzard of 2011')
  • Datasets are selected by clicking on the tabs.
  • Time scale is changed by moving the sliders.
  • Sliders update visualization respond only on mouse release.
Reset Buttons:
  • Restores the view of either left (main) or right (secondary) windows to the initial position.
Secondary Window (Right):
  • Copy Data From Main
    • Copies the dataset showing in the main (left) window into the secondary window.
  • Temp. difference
    • Displays the difference in temperature between the main and secondary datasets
    • (Main dataset) - (Secondary dataset)
    • The image below shows the difference in temperature between March 2010 and March 2006.
      • Overall the temperature of the lake is higher in 2010.
      • The temperature is noticeably higher  along the western and northwest coasts of the lake.

Interesting Finds

  • The increase in lake temperature from 2006 to 2010 mentioned above.
  • During the February 2, 2011 winter storm over the midwestern United States, there is a distinct south-southeast movement of surface water vectors. During this time wind directed was reported in going in a southwest direction. Half-way to the bottom of the lake, a similar pattern can be seen in the southern half of the Lake.  Any further depths result in swirling currents - likely a result of the upper velocities and the valleys at the lake floor.

  • As one would expect, the surface of the lake gradually gets warmer with the season. The deepest parts of the lake remain the coolest. As you examine the temperature by depth over time, you see this clear stratification of the lake.

  • If you take a vertical slice of the lake and examine the water flow vectors, there seems to be a sinusoidal pattern to the vectors from north to south. While this initially looked like a possible convection current, since Lake Michigan tends to be monomictic (surface and deep water only mixes once a year), this is likely just an effect of the varying depths at the lake floor.

  • If you look at the temperature of the lake between 2006 and 2010, not only is the overall temperature of the lake higher, but the warmer temperatures are going deeper into the lake.
October 2006
October 2010 

  • There also seems to be a connection between surface temperature and surface water vectors. The image below shows the water vectors changing directions upon entering a different region of temperature.

Known Limitations

  • Wind data is only available for the hourly (Feb 1, 2011) dataset and has several issues preventing the application from displaying the data correctly - this also throws vtk errors - although the app will still run.
  • Due to the large memory usage when running the full dataset, the cubes view tends to cause the application to crash.
    • Removing vtk files from the data folder may get around this (although this will throw non-terminating vtk error messages