Modeling River Long Profiles

Andrew Darling
Colorado State University,
Author Profile


This project or multi-lab activity is designed to teach students about modeling landscape change caused by rivers over large time and spatial scales (e.g., the incision of Grand Canyon). Basic working knowledge of geomorphology of rivers is assumed but Matlab experience is not, so students will both build on Matlab ability and on how rivers can change as controlling variables are changed like uplift rate and the ability of rock to resist erosion. This is built on a 1-D stream power model-derived numerical code, where several variations in activities are available for exploration where structure and scaffolding decreases with increasing difficulty through the series. The detailed instructional write-up and all matlab scripts needed are here: Files for River profile modeling (Zip Archive 40kB Oct17 16)

Used this activity? Share your experiences and modifications

Learning Goals

For Matlab, working knowledge of reading a code, and modifying inputs as used to change graphical outputs are explored. More in-depth variations allow an increase in the difficulty by expecting students to modify code calculations and provide new means of plotting outputs. Typical concepts to learn include: use and identification of for loops, navigating an existing script to figure out what is being computed, plot commands, inventorying numerous variable arrays in a complex script.

For geomorphology, the relationship of stream profiles (the output) to driving forces of erosion (size of river, uplift rate) and resisting forces (like rock strength) are explored. Students should be able to connect changes in uplift rate to an expected response in the profile shape, for instance. Variables that are changed in the module are uplift rate, baselevel fall rate, erodibility and erosivity among other possible modifications.

Context for Use

This module is aimed towards geology-degree related senior undergraduates and graduate students who have some experience with geomorphology but little or no coding experience. The variations for teaching supplied in the documentation and codes can be used to increase or decrease the difficulty and relative proportion of learning geomorphology or learning about coding.

Description and Teaching Materials

See the attached file "Knickpoint Evolution 2016 SERC.doc" for a detailed set of activities.

The appropriate Matlab scripts are also attached to this webpage.

Teaching Notes and Tips

Teachers should work through these modules to determine what aspects are most useful. The code is complex, so it will tend to overwhelm students who are new to coding. Helping them learn to read a code for understanding can be time consuming but also rewarding. The more advanced, less scripted variations will require more ability on the part of the students and teacher to accomplish and deliver reasonable understanding from the project, so expertise in quantitative geomorphology may be needed beyond the basic introductory activities.


The assignment suggests descriptive responses - encouraging detailed well written responses provides a summative assessment of what students are learning that can be used to focus scaffolding as the project/lab periods progress.