Rainfall–runoff board game: now virtual

Relatively little of the water in a river actually comes from rain directly falling onto it. Rather, rainfall travels across and under the landscape to reach the stream.

Learning Goals

  • Gain an intuition for how rainfall across a watershed turns into discharge out the river, becoming a hydrograph
  • Become acquainted with Python code and Jupyter notebooks
  • Become acquainted with the Landlab toolbox for Earth-surface modeling

Help US help YOU

The Earth-surface research group is evaluating the usefulness of this activity – now in virtual form – for learning about catchment-scale hydrology and how rainfall produces river hydrographs. We are assigning participation points for performing the pre- and post-quiz surveys. We would appreciate your honest assessment; your evaluation of your own knowledge and that of the activity will have no impact on your grade (beyond the points in this assignment). We appreciate your time as we work to find better ways to manage online activities and learning!

Background

In 2016 and 2019, Wickert used a board game with hex cells and counters (pennies work better than paper!) to teach about rainfall, runoff, and hydrographs. For 2020, Jabari Jones (Ph.D. candidate at UMN) converted this game into an online activity using the Python programming language, Landlab toolkit for Earth-surface modeling, and Jupyter, a tool for creating interactive and educational coding activities in a web browser.

Pre-activity survey (5 points)

The points awarded are solely for participation. The survey is included directly below. A link to the pre-activity survey is also available here.

The activity

Logistical items to check/know

  • Make sure that your browser opens the activity in Google CoLab; it is created to work properly with the settings and code packages available there. You do not need to (and, in fact, should not) download the notebook to your computer to run it.
  • Note that if you want to save your progress and return to it, you will have to save a copy of the Jupyter notebook in your own Google CoLab/Drive space.

Click on the link below to access the activity: Remember to complete the pre- and post-activity surveys for this assignment (10 points total)

Link to rainfall–runoff “board game”

How to use the Jupyter notebook

Jupyter notebooks provide an interactive way to link explanatory text and computer code. In order to run the different sections of the activity, which you should do in order, you will hit the “play” buttons next to each respective frame (in the top left corner of each frame). Note that if you change something higher up in the notebook, you may have to re-run the remaining code between that section and the final section(s).

All of the code is in Python, and uses the Landlab toolkit. Your job is to observe what the code does, and to make small changes to test how they impact this simple computer model of a real physical system. This is the same approach taken by scientists using research-grade code when trying to build intuition surrounding a complicated problem.

Questions (Helpful Tips)

At the end of the Jupyter notebook lies a set of four questions (see the Jupyter notebook for the actual questions). You will be submitting responses to these questions and copies of your plots to Canvas as the deliverable for this assignment. Here are the point values each question for this class and some helpful tips for each:

Don’t forget to complete the post-activity survey once you complete working with the notebook (this is worth 5 points!)

  1. Plotting (10 points). The Matplotlib gallery is a fantastic cookbook that I (Wickert) use whenever I have a concept in mind about a plot/graph to make and am not sure how to do it in code. It includes this “Simple plot”, which should be a good start.
  2. (10 points, 5 per parameter). These predictions may be the same or may differ from those that you included in the survey.
  3. (20 points, 10 per parameter).
    • Drainage density is set in the list of river_cells in code block 5. I have offered a couple commented-out (with #) examples that contain fewer river-channel cells.
    • Catchment size and shape can be set in code block 2, under #create a grid.
    • The subsurface water storage capacity is set by subsurface_array in code block 3. It is the number after the comma, and before the final paren, in the same units of water volume (thickness in the cell) that we use throughout.
    • Rainstorm: The depth of water initially applied to the landscape is set in code block 7. If you want to get fancy, you can change its spatial distribution by editing which cells within the grid have water. This may require slightly more coding than some other options.
    • You should feel free to edit other parameters as well; in any case, just explain what you changed and your rationale for doing so.
  4. (10 points). This is free-form, for you, based on what you have learned.

Post-activity survey (5 points)

The points awarded are solely for participation. A link to the post-activity survey is also available here.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.