Exploring the effects of rainstorm sequences on a river hydrograph

3.0 hrs
Run online
     Jupyter logo.png

    Brooke Hunter at University of Oregon.
    Celia Trunz at University of Arkansas.
    Lisa Luna at University of Potsdam.
    Tianyue Qu at University of Pittsburgh.
    Yuval Schmilovitz at The Hebrew University of Jerusalem.

Representing Picture.png
This lab is targeted at undergraduate students and illustrates how storm sequences interact with watershed properties to control infiltration and runoff.

Students will first use the PrecipitationDistribution landlab component to generate two month-long rainfall time series over the Hugo watershed: a higher intensity and a lower intensity scenario. Students will learn about rainfall intensity and storm parameters, and will use pandas to read a .csv and matplotlib to plot the rainfall time series.

Next, students will model what happens to the rain when it reaches the ground. Students will use the landlab component SoilInfiltrationGreenAmpt to model rainfall infiltration and will explore how hydraulic conductivity and hydraulic gradient affect the infiltration rate. The propagation of surface runoff will be simulated using the OverlandFlow component. Students will plot the resulting hydrographs and infiltration depths using matplotlib, and can explore how adjusting different parameters affects these outputs.

The lab includes assignment questions that prompt students to think about and explore how adjusting parameters for each aspect of the system - storm sequences and watershed properties - affects runoff and infiltration.

Classroom organization
Students can work through the lab exercise alone or in small groups.

Learning objectives
  • Communicate between two LandLab components with inputs and outputs
  • Set up a topographic elevation grid from an ascii file
  • Create plots using `matplotlib`
  • Read inputs from .csv file
  • Use pandas DataFrames
Key concepts
  • Concepts of rainfall intensity, storm depth, and hydraulic conductivity
  • Relationships between infiltration depth and hydraulic conductivity
  • Relationships between rainfall intensity distribution and hydrographs

Lab notes
For each section, read through the conceptual section first, then try running the python cells. Try adjusting different parameters on your own and see what happens to the outputs. Then answer the assignment questions at the end. Answering the questions will require you to adjust aspects of the code.

This lab can be run on the CSDMS JupyterHub. If you don't already have an account, follow the instructions to sign up at: If you're an educator using this lab in a class, you can get CSDMS JupyterHub accounts for students. For more information, please contact us through the CSDMS Help Desk: Run the lab Notebook by clicking the "start" link under the Run online heading at the top of this page.

If run locally, this lab requires the installation of the following python packages: landlab, numpy, random, matplotlib, and pandas

This lab builds on the “Coupled rainfall-runoff model with OverlandFlow” landlab tutorial and was created as part of the NSF-funded 2020 CSDMS ESPIn (Earth Surface Processes Institute) program.

  • Mark Piper, Benjamin Campforts, Irina Overeem, Nicole Gasparini, and Leilani Arthurs, 2020. Earth Surface Processes Institute (ESPIn) Course Material (Version v1.0). Zenodo.