Lesson Plan: Coding with Python: Modeling the Ice Albedo Feedback

As an Undergraduate Earth Sciences, Mathematics teacher, you can use this set of computer-based tools to help you teach how to program in Python and build a computational model of the Earth’s climate system.

Ice Albedo Effect

This lesson plan includes discussions, activities, and a detailed guide of how to create a model to understand the role of the cryosphere in determining the climate of the planet and specifically the Ice Albedo Feedback.

This lesson plan focuses on important questions such as why did the Ice Ages occur? Or, how did the “Snowball Earth” – a time when the entire planet was covered in ice, come to occur? And what are the driving forces behind these phenomena? The resources of this lesson plan include material to help understand the dominant role of the Sun and its energy on the climate of the planet and how climate on Earth responds to the changes in the Solar Constant. It focuses on the ice-albedo feedback cycle, a phenomenon that influences this response strongly and allows for a better understanding of some of the mechanisms that explain Ice Ages and Snowball Earth like climate catastrophes.

Thus, the use of this lesson plan allows you to teach a climate science topic in Earth Sciences, Mathematics, and Computer Sciences.


Use this lesson plan to help your students find answers to:

  1. What is “Snowball Earth”?
  2. What is the role of the Sun in determining the average surface temperature of planet Earth?
  3. What is the Ice Albedo Feedback?
  4. Why do Ice Ages occur?
  5. How do you write a simple computational model in Python?

About Lesson Plan

Grade Level High school
Discipline Earth Sciences, Mathematics, Computer Sciences
Topic(s) in Discipline Ice Albedo Feedback, Ice Ages, Snowball Earth,

Milankovitch Cycles, Solar Constant,

Computational Modelling with Python

Climate Topic Climate and the Cryosphere,

Long term Cycles and Feedback Mechanisms,

Climate Variability Record, Planetary Climate

Location Global
Language(s) English
Access Online, Offline
Time Required
1-2 hours


Video micro-lectures

(6 min)

Two video micro-lectures that introduce concepts of “Snowball Earth” and the Ice Albedo Feedback by National Geographic and by Prof David Archer, The University of Chicago, respectively.

These can be accessed at:

Snowball Earth from National Geographic

The Ice Albedo Feedback Prof David Archer

Teaching Module

(35 min)

A set of tutorials to learn basic syntax in Python: ‘Introduction to Python: Beginners Guide and Tutorials’
Classroom/ Laboratory activity

(60 min)

A programming activity with a detailed step-by-step guide to building the Ice Albedo feedback model using Python.

These can be accessed as separate downloadable documents.

1 Introduction to the Lesson Plan A.     Introduce this lesson plan to your students by asking some important leading and deep questions such as:

·       Why do Ice Ages occur?

·       Why do they occur periodically?

·       Why did we have climate catastrophes such as the “Snowball Earth” when the entire planet was covered with ice?

·       How do we get out of such catastrophic events?

·       How resilient is life to have survived these climate catastrophes?


You may begin your lesson with providing the following background information to your students.


o   While there have been only two known Snowball Earth events in the entire history of the planet, Ice Ages are cyclic phenomena occurring roughly every 100,000 years. The Sun is the dominant source of energy on Earth and to the first degree, the Earth’s climate is determined by the energy we receive from the Sun. In terms of the incident solar power per unit area, called the Solar Constant, a higher solar constant would correspond to a hotter Earth while a lower one to lower temperatures.

o   In this lesson plan we focus on changes in the Solar Constant on long time scales of tens of thousands of years to understand its role in determining Earth’s climate. This kind of change is largely driven by Earth’s orbital parameters; its eccentricity, obliquity, and precession - the Milankovitch cycles. We then focus on the question of precisely how climate on Earth responds to the changes in the Solar Constant. The ice-albedo feedback cycle influences this response strongly.

o   Albedo is the reflectivity of a planet. A higher albedo or greater reflectivity of the planet surface leads to a decrease in the surface temperatures. As surface temperatures decrease and more ice is formed the albedo of the planet further increases due to ice being more reflective and consequently this leads to further decrease in surface temperatures. This is an example of a positive feedback and is known as the Ice Albedo feedback. In this lesson plan we study how equilibrium is achieved in such a cycle, analyze the process with different solar constants, and build an overall understanding of some of the mechanisms to understand Ice Ages.


We will understand these important concepts through a hands-on activity of creating an iterative ice albedo feedback model in Python.


B.     Play a short video ‘Snowball Earth’ by National Geographic as a basic introduction of what is Snowball Earth and emphasize that such climate catastrophes have occurred in Earth’s past.


This resource can be accessed at:



C.     Also introduce your students to the Ice Albedo feedback through a video micro-lecture by Prof David Archer, The University of Chicago as part of an online course on Global Warming Science.


This resource can be accessed at:


2 Prepare for Python Programming; By installing Jupyter Notebook Ask your students to install a Python programming environment on their computers. For beginners, we recommend using Jupyter Notebooks. This environment allows you to access tutorials and a programming space where students can simultaneously read instructions and try their hands at programming. To access Jupyter Notebooks, install the ‘Anaconda-Navigator’ from the following link. Once it is successfully installed on your computer, navigate to the homepage of the software, and click on ‘Install’ in the ‘Jupyter Notebook’ tab. Once installed, launch the notebook- the ‘Jupyter notebook Homepage’ will open as a webpage. Open a new ‘Python 3’ file to begin coding.


The Anaconda-Navigator installer can be accessed at:



3 Introduction to Programming with Python Use the link to the Python tutorial database to teach the basics of Python programming such as printing text, defining variables, simple arithmetic operations, import and use of the ‘numpy’ and ‘matplotlib’ libraries, defining arrays and lists, using indices with arrays and lists, and loops (specifically ‘for’ loops). These introductory skills will be required for the ensuing classroom/laboratory activity.


The Python tutorial database can be accessed at:



4 Classroom/Laboratory Activity Have your students begin with the classroom activity of developing the Ice-Albedo Feedback Model using Python. This exercise has been adopted from Prof David Archer's course titled “Global Warming II: Create your own models in python”, available on Coursera at https://www.coursera.org/learn/global-warming-model


A detailed step-by-step guide for this activity is provided here:


In pdf format: https://tropicsu.org/wp-content/uploads/2020/08/Tutorial-Ice-Albedo-Feedback-Model.pdf


Share the instruction manual for the exercise with each student. The manual walks you through the entire process of developing the model on Python. Download the notebook using the links provided. To open it, launch Jupyter notebook from the Anaconda-Navigator. From the homepage, go to ‘downloads’ folder from the directory and search for the manual. If you want the students to work their way through the exercise themselves, you may avoid sharing the manual with them. Instead, use it to motivate them in the right direction with hints.