Project: CI-enabled Water Modeling in GISolve


  • Yan Liu
  • Siva
  • Shaowen Wang
  • Sheng Ye


  • Integration of the THREW model into gisolve to enable CI-based computation
  • Online visualization of THREW model output


  • A virtual machine as development testbed:
  • TeraGrid resources


  • Visualize the result and create animation
    • Visualize the study watershed map
    • Visualize signatures on the map at one time step or visualize the mean annual value
    • Animation
  • Apply parallel computing for future applications in larger watersehds


2010 Spring

Week of 03/25 - 03/31
  • Fix makefile problem to make sure handleDBF.c works in LINUX environment
  • Check if the .dbf files generated can be used
  • Change the web page to accommodate code modification
    • Use YUI to accept and store shapefiles, precipitation input files, DEM and related files for interested watershed
    • Add dialog in the user interface to let user define how many REWs they want
    • Write script to run the REWinfo code to generate input file for geographic data
Week of 03/18 - 03/24
  • Debug THREW to fix the error happen in gcc but not in VC environment
  • Write handleDBF.c to create .dbf files for each time step
    • Copy the information in original .dbf file
    • Read in model results
    • Assign color for each variables need visualization at each time step based on the value
Week of 03/11 - 03/17
  • Write document for the model required input files, input parameters and output files
Week of 03/04 - 03/10
  • Change the user.h generation code to make sure the user.h will not mess up when there are more than one users
  • Change the REWinfo code to make sure it is ready for multi-users
  • Test the model, make sure it works right
Week of 02/26 - 03/03
  • Change the model code to make it suitable for different watersheds
    • number of REWs, name of input& output files
  • Test the code make sure it works right
  • Search to see if there are any widely accepted/used data format for visualization of temporal-spatial data

2009 Fall

Week of 11/23 - 12/05
  • Use YUI3 to dynamically load chart data according to time step and REW ID (Yanli will help)
  • Write server side php code to return chart data given REW ID and time step
  • Redraw the chart
  • Create a popup by YUI to display the chart
  • Use the Vermilion river map for open flash chart
  • Change the max and min value from predefined
Week of 11/07 - 11/14
  • Add pop-up chart to the user interface
    • Check out open flash chart
    • Check Open Layer to find out how to get value when click on the REW
    • Learn to use YUI dialog box, to make the pop-up box for charts, Yan's code can be a reference.
  • Change the max and min value from predefined
  • Ask Siva if the color we use at present makes sense
Week of 10/31 - 11/06
  • Continue developing the timestamp-based visualization of THREW output
    • Modify threw_output table and threw2db utility to add a column “color” and convert hr value to HTML color value as hex string of size 6
    • Find out whether geoserver can specifiy a 'filter' to select only one timestamp's data for viz purpose; otherwise, we need to dynamically create a viz view that contains <rew_id, pointset, color> only for one timestamp (not beautiful, but feasible)
    • Make sure the new version of THREW runs well on Linux platform
  • Prepare demo and presentation
Week of 10/19 - 10/30
  • Finish timestamp-based visualization of THREW results
    • Assign channel ID to point sets
    • Convert shape file into postgis to create table CHANNEL_GEOINFO <channelID,<point set> > and REW_GEOINFO <REW_ID, <point set> > table
    • Create a postgresql table, THREW_RESULT, to store THREW model output, including REW and Channel-associated information
    • Develop a utility, THREW2DB to import THREW computation results into table THREW_RESULT
    • Create a database view VIZ_CHANNEL to include <timestamp, channelID, geoinfo, V1, V2, ...>, and VIZ_REW to include <timestamp, REW_ID, geoinfo, V1, V2, ...>. There is a question: whether we should dynamically create a view for each timestamp or include timestamp as view's column
    • Develop coloring scheme for channel and rew viz
    • Develop user interface for THREW visualization
Week of 10/12 - 10/18
  • Plot channel and REW on geoserver
    • DEM generated two shape files, one for channels and the other for REWs. Generating overlay images on geoserver from these two shape files is trivial
  • Import shape file data into postgis (check out a tool called shp2postgis)
  • create two db tables in postgis: channel table <id, pointset> and REW table <id, pointset>
  • create time serie result data table: result table <channel_id, timestamp, v1, v2, v3>
  • create two db views: channel view that combines channel table and result table to provide sufficient information for visualizing channel (different color on different channel for the change of values); similarly, REW view
  • configure goeserver to create featuretype/datastore that creates the visualization image overlays (two overlays: one for channels and one for REWs)
Week of 10/05 - 10/11
  • Derive two tables from the input of REWGeoinfo: 1) polylines for channels; 2) polygones for REW boundary
  • Use googlemap/geoserver to draw the channel map with REW boundaries
Week of 09/28 - 10/04
  • THREW result validation on Linux VM
  • REWGeoinfo code porting from Windows to Linux
  • Design of base watershed map visualization
Week of 09/21 - 09/27
  • Sheng's presentation of the THREW model in CIGI group meeting on 09/21
  • Sheng modified rew.c and threw.h, which corrected the early convergence error. Result validation is needed
  • Discussion of THREW visualization: DEM → ArcGIS → REW files with geoinfo → REWGeoinfo → THREW model input → THREW → output; 1st step is to use REW files with geoinfo to create the base watershed map with channels and subwatershed boundaries
Week of 09/13 - 09/20
  • VM setup
  • THREW model code porting from Windows to Linux. Code execution led to early convergence error
  • Discussion of THREW visualization