Skip to end of metadata
Go to start of metadata

Note: to edit this page, you will need to have a Confluence account (click on "Sign Up") and then get added to the member list for the CDI Tech Stack Working Group (instructions are here). 

This page is co-sponsored by the new Data Themes Working Group of CDI, and by its Water Focus group in particular.


Please feel free to edit the page. If you have questions or topics for conversation, please post them as comments so we can all participate (or just follow along, for the wallflowers).

Note that there is a page on management of software development with things like version control, in which this group might also like to participate.

Algorithm Implementations for Hydrographic Networks



Suggested Presentation Topic

Methods of Simplifying Hydrographic Networks

Many of us take NHD or NHDPlus and essentially dumb it down to suit our application needs, usually eliminating unwanted features, merging others, and ensuring that certain features of interest are maintained. We hope to have a 1-hour webex before the end of October during which several of us give 10-minute presentations on how they have approached this. We hope to maintain time to have more detailed discussions. At the moment, a few speakers are interested. Please add your name here if you would are not on the list but would also like to present and we'll try to work it out.

  • Greg Schwarz on the SPARROW program approach
  • Mike Wieczorek on his work for the NAWQA
  • Roland Viger on the Geospatial Fabric approach
  • Daniel Wieferich on his work with National Fish Habitat Partnership
  • Larry Stanislawski on his work on cartographic and hydrologic generalization for the NHD


We should probably build a list of links to code repositories for different algorithms.

  • Interested people (this will go away soon, really just trying to gather some names for an email list. Once that's set up, this list will go away).
    • Roland Viger
    • Mike Wieczorek
    • Curtis Price
    • Al Rea
    • Pete Steeves
    • Craig Johnston
    • Cindy McKay
    • Steve Aichele
    • Norman Bliss
    • David Coyle
    • Daniella Birch
    • Daniel Wieferich
    • Kris Verdin
    • Larry Stanislawski
    • Daniel J Wieferich
    • Greg Schwarz
    • Florence Thompson
    • Tom Burley


  • Algorithms
    • Find identities of features upstream of arbitrary starting points

      • can this be done without recursion?
      • group upstream features
    • Accumulate some attribute downstream
    • Attribute subcatchments
    • Distance upstream for a given node (or point) from the "mouth"

    • Maximum distance downstream to a node from the top of the network

      • defining "top of the network" link/node, relative to given node
    • Label of streams according to the relationship to the longest path on the network. (Kind of like a reverse stream order, with 1 being the "main stem", 2 being direct tributaries to the main stem, etc.

      • more on this?

    • Label with the Pfafstetter subbasin numbering system adopted by Kris Verdin

    • Generalization


  • General topics
    • can recursion be eliminated?
    • can algorithm be implemented w/out actual spatial analysis (i.e., just work the attribute table)?
    • scaling issues
    • storage and distribution, gate keeping, versioning, conflation between different versions and scales

Other Tools


  • OSGEO stack 
    • components:  
      • gdal
      • rasterio
      • shapely
      • fiona
      • geopandas
      • etc.
    • Possible presenters: 
      • Sean Gillies
      • Rich Signell 
      • Colin Talbert
    • Examples


  1. I am definitely interested and feel this will be helpful.

  2. I am also very interested in this topic.  I look forward to sharing some experiences.

  3. Unknown User (

    Please keep me in the loop on this... I'm definitely interested.

  4. Thanks, Roland. Right up my alley.  I believe my contributions will be tied to enhancements of the StreamStats navigation tools and apps, but could easily expand beyond that.  StreamStats has a specialized tool that relies on hydrographic networks: "Estimate Flows Based on Similar Streamgaging Station".  I showcase it in many of my presentations as an advanced application of NHD.  Other examples I've mentioned in my presentations include:

    > Upload and compare custom point/linear events, such as fish sampling sites and water temperature reaches
    > Compute distance (i.e. to nearest upstream dam)
    > Sum (i.e. of all upstream/downstream public water supply site diversion pumping rates)
    > Point event attribute queries (i.e. total impounded area upstream)
    > Trends (altered flow impacts moving downstream)
    > Cross table referencing (i.e. relate dam locations to gage locations)
    > Linear event summaries (i.e. total length of all reaches that are bordered by impervious area)
  5. Hi everyone.  I wanted to share a manuscript that just hit the press.

    It is work that I helped develop and used often at my previous position with Michigan State University.  The associated ruby code is attached to the manuscript.  If you have any questions/comments I would be happy to talk.  


    Title: An approach for aggregating upstream catchment information to support research and management of fluvial systems across large landscapes

    SpringerPlus.2014, 3:589
    DOI: 10.1186/2193-1801-3-589


  6. Did this call happen in October of 2014, or is this something planned for October of 2015? Up at the top it says "we hope to have a 1-hour webex before the end of October". I added my name to the bulleted name list anyway.

    Mike Wieczorek suggested that I take a look at this page as we are interested in a means of navigating HUC 8 watersheds upstream (e.g., I have a site in this HUC 8 watershed, give me everything upstream). Seems like a need or dataset that probably has been discussed before, so we (Texas Water Science Center) wanted to see if it by chance already exists before we try to possibly reinvent it. Or, do tools exist (Python, other) that would allow you to create this? Thanks.

    1. Hi Tom,

      We're still hoping to have this call, so "Oct 2015".