Introduction to MATLAB for Geomorphology

Risa Madoff
University of North Dakota-Main Campus, based on a lab exercise for the Geomorphology course at UND taught by Jaakko Putkonen
Author Profile


This is a lab for a Geomorphology course intended to introduce students to modeling landform evolution by means of applying a common sediment transport law to the erosion of a hillslope over time. MATLAB is used to expose beginning students to using computer programming and mathematical concepts to quantify hillslope elevation change over time.

Learning Goals

Students approach the lab with varying degrees of interest and ability with computer modeling and with the subject of Geomorphology. Courses around the country approach the subject in different ways that depend on the backgrounds and interests of instructors, and modeling is not necessarily a component in all them. However, it is a common approach in research into landform evolution. Therefore, a two-part goal is to provide rudimentary skills and also show how they are applied in a current research area.

On a fundamental level, all students should learn of another way to quantify change on Earth's surface, specifically by modeling hillslope degradation and erosion. Together with that though another fundamental goal is exposure to the reasoning behind a computer model. Such exposure may be more limited when automated software programs are used to generate plots. Further, students are introduced to what a numerical or mathematical model does. In this way it is intended to provide a basis to further reflect on or inquire into how a model compares with real observable landforms and provide an opportunity to ask why it should work and where it appears not to work well. Specifically, the MATLAB exercise shows students how change in hillslope form in the landscape can be related in a systematic way to a sediment transport law, q = -κ (dz/dx), over a corresponding change in time. The exercise provides an introductory hands-on way of exposing them to how this concept is used in practice by geomorphologists.

Context for Use

The course is considered an upper level third year undergraduate course, although it can be taken for graduate credit. Basic scientific and math skills are expected. Calculus I, General Chemistry and College Physics have been recently added as prerequisites. Students are generally Geology or Geological Engineering majors as well as others, including Environmental Geoscience, Geography and Biology majors. Class sizes have ranged from 7 to 20 during any one semester. It is being taught at a university in a School of Geology and Geological Engineering in a College of Engineering and Mines where bachelors through doctoral degrees are offered, but it is suitable for any upper level college setting in a Geoscience department. Students taking the course have diverse academic backgrounds and majors and no prior experience with MATLAB is assumed.

The lab can run from 2-3 hours once a week. Depending on the abilities of the students, the lab can take 1 or 2 weeks. The first week is spent introducing students to menu and screen functions and with experimenting with basic MATLAB code and dealing with error messages. Also, the initial parts of the program are started and written. In the second week, students apply the script and make plots. Students have had prior exposure to applying the transport law to hillslope diffusion through an in-class activity and through using an excel spreadsheet. The concept of a rate of change as it applies to hillslope erosion reflected in a differential equation is the subject of this MATLAB activity, but the focus is on applying a fundamental concept that occurs through the course to a computer model. Therefore, as such, it can be adapted to other courses to model rates of change.

Description and Teaching Materials

The lab instructions that students receive are provided here as a Word.doc (Microsoft Word 43kB Oct11 15). For optimal progress through the lab, the lab session needs to be held in a room with enough computers for each student. Each computer needs access to a license for MATLAB software. There should be a means for the instructor to have a computer where the monitor can be projected on a central screen for all students to see examples. Ideally, explanations into the background for the transport equation will have been given during a class lecture and briefly reviewed during the lab. The instructor leads students through the steps in the lab and provides follow-up explanations into MATLAB syntax. After each step, pauses are taken for students to work through their own attempts and for the instructor and/or a TA to assist individual students. Even though the script is given in the instructions informally, implementing the syntax as a formal code poses challenges for most. The informal tone of the instructions are intended to reflect a natural thinking process, which then undergoes formalization by application of the MATLAB syntax.

Also included is a basic MATLAB script for the instructor that corresponds to the exercise instructions. If more time is permitted to work on the lab, instructors can decide to implement additional data and advanced instructions depending on the skills learned by the students. Follow-up questions can be added asking students to observe and quantify differences between the curves generated. For example, the questions: "how does topographic diffusivity affect hillslope degradation?" or "how do degradation rates compare between different time scales?" can be addressed. References to applications in research, (Hallet and Putkonen, 1994) and Putkonen et al. (2008), are provided below.

MATLAB code for Geomorphology Lab (Matlab File 992bytes Oct11 15)

Teaching Notes and Tips

The instructor should oversee that students are setting things up and working through errors, particularly for those with no prior exposure to computer syntax. They should also check on students' understanding of the role that the lines of code play in modeling hillslope diffusion. These two goals are paralleling each other. This lab in particular is typically run by the course instructor, rather than the graduate teaching assistant, and so it can be time intensive.

Because a major goal is to guide the students to a point where they experience a quantitative thinking approach beyond what they have from observing the plots or models in a textbook, an instructor who decides to implement the lab should ideally understand the role, function, and implementation of numerical models. The basic script appears simple and could be copy and pasted quite easily to draw a simple curve in seconds. However, adapting the lab in this way is not recommended, as it would shift the focus to looking at plots, rather than thinking through the reasoning needed to generate them.


Completion is a minimal goal of this lab. Students will vary in how much they have synthesized the computational aspect of hillslope diffusion and in their understanding of how the corresponding computer code expresses it. Since it is intended as a beginner's introduction to MATLAB, some students will need more direct assistance than others in writing the syntax appropriately. Assessment of their understanding of hillslope diffusion is done in other contexts, such as a classroom activity and an exam. More exposure to MATLAB syntax, hence more time, would be needed to assess the learning of programming concepts, where more syntax could be introduced and explained. For example, an advanced version would make use of a real elevation data set of a dated hillslope, and it would be plotted over the original reference profile and the modeled profile.

References and Resources

Hallet, B., and Putkonen, J., 1994, Surface dating of dynamic landforms: young boulders on aging moraines: Science, v. 265, no. 5174, p. 937-940.

Putkonen, J., Connolly, J., and Orloff, T., 2008, Landscape evolution degrades the geologic signature of past glaciations: Geomorphology, v. 97, no. 2, p. 208-217.