School of Earth and Environment

Teaching Resources

Lecture 1: Introduction to MATLAB

Required readings:

  • Oreskes, N. and E. M. Conway (2013). "The collapse of western civilization: A view from the future." Daedalus 142(1): 40-58. [Link] (subscription required)
  • IPCC, 2018: Summary for Policymakers. In: Global warming of 1.5°C. [Link]
  • For further readings please check the SOEE5582M Module Handbook 2019/2020, p. 9 onwards available on Minerva under "Learning Resources."

Contents: This lecture contains an introduction to MATLAB with a general introduction to programming concepts. The slides for this lecture can be downloaded from Minerva.

For the rest of the time work through this L1:MATLAB Basics tutorial and complete at home if necessary.

Homework 1: Before lecture 2 you will also need to complete: Functions, Data and Plotting exercises.

Lecture 2: Social Metabolism and Environmental Accounting (part 1)

Required readings:

  • Haberl, H., M. Fischer-Kowalski, F. Krausmann, J. Martinez-Alier and V. Winiwarter (2011). "A socio-metabolic transition towards sustainability? Challenges for another Great Transformation." Sustainable Development 19(1): 1–14. [Link]
  • Jackson T 2019: Zero Carbon Sooner—The case for an early zero carbon target for the UK. CUSP Working Paper No 18. Guildford: University of Surrey. [Link]

Content: Lecture 2 (slides available on Minerva) is the first part of two on Social Metabolism and Environmental Accounting. In this lecture we will work with dynamic social, economic and environmental data for China. Follow the exercises here: L2: Scaling, indexation and growth rates using MATLAB

Homework 2: Before lecture 3 you will also need to complete: plotting, for loops, if statements and more exercises.

Lecture 3: Social Metabolism and Environmental Accounting (part 2)

Required readings: 

  • York, R., Rosa, E.A., Dietz, T., 2003. Footprints on the Earth: the environmental consequences of modernity. American Sociological Review 68: 279-300. [Link]
  • O’ Neill, D. W., A. L. Fanning, W. F. Lamb and J. K. Steinberger (2018). “A good life for all within planetary boundaries.” Nature Sustainability 1(2): 88-95. [Link]

Content: Lecture 3 (slides available on Minerva) is the second part of two on Social Metabolism and Environmental Accounting, looking at the links between environment and economy. In this lecture we will develop IPAT scenarios with dynamic social, economic and environmental data for China, and then focus on cross-country analysis, including visualisation, 2-variable correlation, Gini coefficients and STIRPAT analysis of socio-economic drivers or resource use. Follow the exercises here: L3: Cross-country analysis, correlation, Gini coefficient and STIRPAT analysis using MATLAB

Homework 3: Before lecture 4 you will need to complete Matrix Algebra Using Matlab exercises.

Lecture 4: Input-Output (part 1)

Required readings:

  • KITZES, J. 2013. An Introduction to Environmentally-Extended Input-Output Analysis. Resources, 2, 489. [Link]

Content: This lecture contains an introduction to Input Output analysis and its use in consumption-based accounting. The slides for this lecture can be downloaded from Minerva or can be found HERE).

For the rest of the time work through this L4: Introduction to Input-Output Analysis using MATLAB tutorial and complete at home (as homework) if necessary.

Lecture 5: Input-Output (part 2)

Required readings:

  • Peters, G. P., J. C. Minx, C. L. Weber and O. Edenhofer (2011). "Growth in emission transfers via international trade from 1990 to 2008." Proceedings of the National Academy of Sciences 108(21): 8903-8908. [Link]

Content: In lecture 5 (slides available on Minerva or HERE) you will work through more sophisticated consumption-based accounting techniques and develop some future scenarios. To do this, work through the L5: writing functions in MATLAB and developing IO scenarios tutorial.

Homework: In preparation for lecture 6, your homework is to familiarise yourselves with the NetLogo software (see below for more info). Make sure you read through the Introduction and Sample Model: Party sections of the online documentation and complete Tutorial #1: Models

Assignment 1

For the first assignment you have a choice between the first two topics covered in the course: Input-Output analysis and Environmental Accounting. The deadline for submission is 2pm on the 13th of March. Assignment details are on Minerva.


The second half of this course will introduce you to agent based modelling and system dynamics tools and techniques. These are both simulation modelling approaches, in contrast to the analytical modelling techniques we studied in the first half of the course.

Lecture 6: Agent Based Modelling with NetLogo (part 1)

Required readings:

  • Epstein, J.M., "Why Model?" Journal of Artificial Societies and Social Simulation 11 (2008) 12. [Link]
  • Macal, C. M., & North, M. J. (2010). Tutorial on agent-based modelling and simulation. Journal of Simulation, 4(3), 151-162. [Link] (subscription required)

Content: In this lecture (slides available in Minerva), we will spend a bit of time introducing simulation models and their uses, which is why one of the set readings is this paper by Joshua Epstein.

The remainder of this lecture, and the next, will introduce you to Agent Based Modelling (ABM) of socio-ecological systems and how to develop and simulate ABMs with the NetLogo software. In the first part of this ABM introduction we cover the theory and development of agent based modelling, before moving on to an introduction to NetLogo. By the end of this lecture you should understand when it is appropriate and useful to use ABM, and how NetLogo can be used to implement and simulate agent based models.

Homework: In preparation for lecture 7, your homework is to complete the Mushroom Hunt or Butterfly Hilltopping exercises (depending on how far you got) we started in the previous lecture and familiarise yourselves with the description of the PV Diffusion model description (ODD protocol). Both the exercises and the description of the PV Diffusion model can be found on Minerva.

About NetLogo

NetLogo is a freely available piece of open source software wich you can find HERE. NetLogo will run under Windows, Mac OS X and Linux; the only requirement is that a modern version of Java is installed (on Linux you'll need a recent version of OpenJDK or, if this does not work, Java from Oracle). 

NetLogo is in some ways similar to MatLab, it provides a complete development environment that supports a programming language (in this case the NetLogo language) as well as providing a visual interface for running simulation models and visualising results. The difference is that, while MatLab is built to support an enormous array of numerical computation techniques, NetLogo is specifically designed for agent based modelling. The syntax of the NetLogo language is hence quite different to MatLab, with a focus on asking agents to perform tasks and operation.

NetLogo has a detailed and very useful online user manual (HERE). This includes simple tutorials, and a programming guide that explains the programming language in detail. A NetLogo dictionary also lists every command with a description and examples. If you're doing this right, you should use the user manual all the time when you are coding. I usually have it open in a window right next to my model for quick reference.

Lecture 7: Agent Based Modelling with NetLogo (part 2)


  1. [Required] Grimm, V. et al. (2005). Pattern-oriented modeling of agent-based complex systems: Lessons from ecology. Science, 310(5750), 987-991. [Link] (subscription required)
  2. [Optional] Grimm, V. et al. (2006). A standard protocol for describing individual-based and agent-based models. Ecological Modelling, 198(1-2), 115-126. [Link]
  3. [Optional] Grimm, V. et al. (2010). The ODD protocol: A review and first update. Ecological Modelling, 221(23), 2760-2768. [Link]

Content: In this lecture we will cover the ODD (Overview, Design concepts, and Details) protocol that is used to document agent based models, and some further examples of how agent based models are used in Ecological Economics. You will then have the opportunity to implement an agent based model of household PV adoption where behaviour is influenced by social as well as economic factors.

Homework: The homework for lecture 8 is to work through the Vensim PLE tutorial until page 17 (incl.). You will find the tutorial (pdf file) on Minerva.

Lecture 8: System Dynamics Modelling with Vensim (part 1)

Required reading:

  • Meadows, D. (1999). Leverage Points Places to Intervene in a System. Hartland, Sustainability Institute: 1-19. [Link]

Content: In the lecture, we will run through some basic concepts and examples of system dynamics modelling. We will apply these concepts and performs some simulations in Vensim, based on the Lotka-Volterra (predator-prey) model. All materials needed are provided in the lecture slides (available from Minerva).

·      Lecture 9: System Dynamics Modelling with Vensim (part 2)

Required readings:



Assignment 2

For the second assignment you have a choice between the second two topics covered in the course: Agent Based Modelling and System Dynamics Modelling. The deadline for submission is 2pm on the 8th of May. Assignment details are on Minerva.