Watershed Workflow Workshop

This workshop was developed for the IDEAS-Watersheds Phase 2 All Hands.

Facilitators: Saubhagya Rathore and Ethan Coon
Date: December 10, 2023
Location: Stanford University

1. Learning Objectives

At the end of the workshop, participants will be able to:

  • Describe the fundamental principles and components of Watershed Workflow (WW)
  • Perform watershed analysis and set up integrated hydrology models using WW
  • Generate stream-aligned mixed-polyhedral mesh
  • Manipulate WW objects to identify, debug, and resolve data inconsistencies and errors

2. Prerequisites

To maximize the learning experience from the workshop, participants are encouraged to have:

  • Essential Python skills and experience with Jupyter Notebook
  • Familiarity with the shapely package, particularly for debugging
  • Basic knowledge of watershed hydrology

3. Materials and Resources

3.1. Readings

3.2. Course files and containers

To save time during the workshop, participants are expected to have the following material downloaded and set up on their computers:

  • git clone https://github.com/environmental-modeling-workflows/workshop-watershed-workflow

  • cd workshop-watershed-workflow

  • . ./run_jupyter.sh

    OR

    docker run -it -v $(pwd):/home/jovyan/workdir:delegated -w /home/jovyan/workdir -p 8888:8888 metsi/watershed-workflow:ideas-allhands23

  • Open the link displayed in your browser

Some common gotchas here include:

  • For OSX, make sure you clone the repository in your home directory somewhere -- otherwise docker does not have OSX's permission to see it.
  • Be sure to close any local jupyter lab engines; these will conflict with the jupyer lab engine running in the container and your browser will get confused.

4. Workshop Outline

  • Introduction to Watershed Workflow:

Get an overview of WW, its significance in watershed modeling and analysis, and an understanding of its interface and basic functionalities.

  • Exploring Key Conceptual Objects:

Dive into WW components like RiverTree and SplitHucs critical to mixed-polyhedral meshing, understanding their roles in meshing.

In your jupyter notebook, navigate to notebooks/key_object_classes.ipynb

  • Hands-On Session: Generating Stream-Aligned Mixed-Polyhedral Mesh:

Apply your learning to generate a mixed-polyhedral mesh using the Coweeta watershed as a case study.

In your jupyter notebook, navigate to notebooks/mesh_mixed_element_coweeta.ipynb

  • Defining Regions and Labeled Sets:

Learn how to effectively manage surface and subsurface quantities by defining regions and labeled sets in WW, a key skill for nuanced watershed modeling.

  • Troubleshooting and Manipulating Key Objects:

Learn troubleshooting (debugging) and manipulating WW's key conceptual objects, enhancing your proficiency in handling complex watershed data.

  • Discussion and Feedbacks