Lake Modeling Module

Note: An updated version of this module is available as part of the Macrosystems EDDIE project. Please visit the Climate Change Effects on Lake Temperatures module to view and download module files. We recommend using the updated Macrosystems EDDIE version of the module, as the Lake Modeling module materials have not been maintained with R code and software updates.

This page was initially developed by Carey, C.C., S. Aditya, K. Subratie, and R. Figueiredo. 1 May 2016. Project EDDIE: Modeling Climate Change Effects on Lakes Using Distributed Computing. Project EDDIE Module 4, Version 1. Module development was supported by NSF DEB 1245707 and ACI 1234983.


Lakes around the globe are experiencing the effects of climate change. In this module, students will learn how to use a lake model to explore the effects of altered weather on lakes, and then develop their own climate scenarios to test hypotheses about how lakes may change in the future. Once the students have mastered running one climate scenario for their lake, they will learn how to use distributed computing software to scale up and run hundreds of different climate scenarios for their lakes. The overarching goal of this module is for students to explore new modeling and computing tools while learning fundamental concepts about how climate change will affect lakes. Project EDDIE modules are designed with an A-B-C structure to make them flexible and adaptable to a range of student levels and course structures.

Learning Goals

  • Set up and run the General Lake Model (GLM) in the R statistical environment to simulate lake thermal structure.
  • Understand the structure and function of GLM configuration files, driver data, and output files.
  • Modify the input meteorological data for one GLM model to simulate the effects of different climate scenarios on lake thermal structure.
  • Interpret model output from GLM simulations to understand how changing climate will alter lake thermal characteristics.
  • Use the GRAPLEr R package to set up hundreds of model simulations with varying input meteorological data, and run those simulations using distributed computing.
  • Explore the application of distributed computing for modeling climate change effects on lakes.

Context for Use

This entire module can be completed in one 3-4 hour lab period or three 60 minute lecture periods for senior undergraduate students or graduate students. Activities A and B could be completed with upper level students in two 60 minute lecture periods, with Activity C as a separate add-on activity. We found that teaching this module in one longer lab section with short breaks was more conducive for introductory students than multiple 1-hour lecture periods.

This module has been used in senior undergraduate and graduate Freshwater Ecology and Limnology courses (Parts A and B for undergraduate courses; Parts A, B, and C for graduate-level courses). Module materials can be tailored to increase or decrease the background information depending on students' quantitative skills. It is helpful for the instructor to have a working knowledge of R and GLM to help troubleshoot and respond to student questions. We note that this module has been successfully taught to senior ecology undergraduate students who have never used R programming software before: depending on the number of students, having additional instructors available to answer questions is useful (we used a 6:1 student:teacher ratio).

Description and Teaching Materials

Quick overview of the activities in this module

See the teaching materials files, provided below, for a step-by-step description for carrying out this module. A student handout, describing Activities A, B, and C, and instructor answer key are also provided.

  • Activity A: Students plot water temperatures from a lake model.
  • Activity B: Students develop a climate scenario, generate hypotheses, and model how the lake responds.
  • Activity C: Students use distributed computing to run hundreds of lake model simulations.

Why this matters:

Lakes around the globe are experiencing the effects of climate change. Because it is difficult to predict how lakes will respond to the many different aspects of climate change (e.g., altered temperature, precipitation, wind, etc.), many researchers are using models to manipulate climate scenarios and simulate lake responses. Lake models provide a powerful tool for exploring the sensitivity of lake thermal structure characteristics to weather. In this module, you will learn how to set up a lake model and "force" the model with climate scenarios of your own design to examine how lakes may change in the future. While it is relatively easy to run one lake model on your own computer, it becomes more challenging to run hundreds of models because of the time-consuming nature of a high computational workload. To overcome this problem, we have developed an R package called GRAPLEr, which allows you to submit hundreds of model simulations through an interface in the R statistical environment, run those models efficiently and quickly using distributed computing tools, and then retrieve the model output. The GRAPLEr allows you to harness cyberinfrastructure tools commonly used in computer science to improve the speed of computing that are rarely used in ecology and freshwater sciences. Ultimately, using the GRAPLEr and similar tools will allow us to improve our understanding of climate change effects of lakes.

Workflow for this module:

  1. Have students install R software on their laptops before class (send them "How to Download R Tutorial" file, available below).
  2. Give students their handout when they arrive to class (see files below).
  3. Instructor gives brief PowerPoint presentation on climate change effects on the thermal structure of lakes, an overview of the GLM model, and the GRAPLEr software.
  4. After the presentation, the students divide into teams, set up the GLM files and R packages on their computer to run a default lake model and explore the output (Activity A).
  5. The instructor then introduces Activity B.
  6. Students then create hypotheses about how certain aspects of climate change may affect lakes (e.g., altered precipitation), develop a climate change scenario for their model lake to test their hypotheses, force a model lake with their scenario, and analyze the output to determine how their scenario alters lake thermal structure (Activity B).
  7. After the students have analyzed the model output, they create some figures with their partners to present their model simulation and output to the rest of the class.
  8. The instructor then moderates a discussion of the scenarios and output presented in Activity B and introduces Activity C.
  9. The students go through a demonstration of the GRAPLEr R package and then design and carry out their own simulation "experiment" with their partners. If time permits, the students create additional figures from their experiment results and share them with the class, with the instructor moderating the discussion (Activity C).

Teaching Materials:

Teaching Notes and Tips

Important Note to Instructors:

All of the R packages used in this module are constantly undergoing updates and edits, so these module instructions will need to be periodically updated to account for changes in the code. If you find any errors, please contact the module developers. Visit our website: for the most recent version of the R packages for this module.

See the Instructor's Manual (Microsoft Word 2007 (.docx) 1.4MB Dec28 16) and Instructor's PowerPoint (PowerPoint 2007 (.pptx) 2.2MB Dec28 16) for notes and tips for carrying out this exercise.


In Activity A, students plot water temperatures from a lake model.

In Activity B, students develop a climate scenario, generate hypotheses, and model how the lake responds

In Activity C, students use distributed computing to run hundreds of lake model simulations.

Notes, tips, and an answer key are provided in the following files:

References and Resources

Optional pre-class readings

  • Hipsey, M.R., L.C. Bruce, and Hamilton, D.P. 2014. GLM - General Lake Model: Model overview and user information. AED Report #26, The University of Western Australia, Perth, Australia. 42 pp.
  • Subratie, K., S. Aditya, R. Figueiredo, C.C. Carey, and P. Hanson. 2015. GRAPLEr: A distributed collaborative environment for lake ecosystem modeling that integrates overlay networks, high-throughput computing, and web services. PRAGMA Workshop on International Clouds for Data Science (PRAGMA-ICDS'15). arXiv e-prints 1509.08955, 8 p.

Tools used in this module

  • Hipsey, M.R., L.C. Bruce, and D.P. Hamilton. 2013. GLM General Lake Model. Model Overview and User Information. The University of Western Australia Technical Manual, Perth, Australia.
  • Read, J.S., and L.A. Winslow. 2016. glmtools R package. v.0.11.0.
  • Subratie, K., S. Aditya, S.S. Mahesula, R. Figueiredo, C.C. Carey, and P. Hanson. 2015. GRAPLEr R package. v.2.0.
  • Winslow, L.A., and J.S. Read. GLMr R package. v.3.1.10.

Data provider citation

  • Winslow, L.A. and J.S. Read. GLMr R package default files. GLMr: A General Lake Model (GLM) base package.