370.062 Open Source Energy System Modeling
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2023S, VU, 2.0h, 3.0EC


  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VU Lecture and Exercise
  • Format: Presence

Learning outcomes

After successful completion of the course, students are able to understand the benefits of open source software/data, how to use open source tools and licenses, and are able to work with the IAMC (integrated-assessment community) data format to develop energy system models.

Lecture slides and recordings of several lectures from previous years are available at https://data.ece.iiasa.ac.at/teaching/ under an open-source license.

Subject of course

Lecture 1

We will discuss the principles of open-source and collaborative scientific programming for energy systems modelling and integrated assessment of climate change. Concepts include version control using GitHub, the principles of code review, documentation, unit tests and continuous integration.

Lecture 2

Integrated assessment models are a key tool for developing narratives and quantifying pathways to understand system transitions and impacts of policy measures. We will discuss different model types which can be used in this area, and we will review the role of numerical modelling of human and earth systems for policy-makers in the context of the IPCC reports and other global outlooks.

Lecture 3

We will use the pyam package, a Python package for visualizing and analyzing integrated assessment scenarios, for understanding climate change mitigation pathways used in the IPCC's Sixth Assessment Report (AR6, 2022).

Lecture 4

We will turn to developing a national-scale energy system model using the open-source pypsa modeling framework. After working through an example, students will implement a stylized model for scneario analyis.

Lecture 5

We will discuss how to extend the stylized national energy system model developed in lecture 4 into an integrated assessment model by including land use and agriculture, water use, and other aspects of sustainable development.

Teaching methods

  • Using Jupyter notebooks and the pyam package for scenario analysis
  • Using the open-source pypsa energy systems modelling framework
  • discussion of the written assigments

Mode of examination

Written and oral

Additional information

Die VO findet an folgenden Tagen statt:

7. März

14. März

28. März

18. April

9. Mai

16. Mai



Course dates

Mon10:00 - 11:0006.03.2023EI 2 Pichelmayer HS - ETIT Vorbesprechung
Tue14:00 - 17:0007.03.2023 - 27.06.2023EI 3A Hörsaal Vorlesung
Open Source Energy System Modeling - Single appointments
Mon06.03.202310:00 - 11:00EI 2 Pichelmayer HS - ETIT Vorbesprechung
Tue07.03.202314:00 - 17:00EI 3A Hörsaal Vorlesung
Tue14.03.202314:00 - 17:00EI 3A Hörsaal Vorlesung
Tue21.03.202314:00 - 17:00EI 3A Hörsaal Vorlesung
Tue28.03.202314:00 - 17:00EI 3A Hörsaal Vorlesung
Tue18.04.202314:00 - 17:00EI 3A Hörsaal Vorlesung
Tue25.04.202314:00 - 17:00EI 3A Hörsaal Vorlesung
Tue02.05.202314:00 - 17:00EI 3A Hörsaal Vorlesung
Tue09.05.202314:00 - 17:00EI 3A Hörsaal Vorlesung
Tue16.05.202314:00 - 17:00EI 3A Hörsaal Vorlesung
Tue23.05.202314:00 - 17:00EI 3A Hörsaal Vorlesung
Tue06.06.202314:00 - 17:00EI 3A Hörsaal Vorlesung
Tue13.06.202314:00 - 17:00EI 3A Hörsaal Vorlesung
Tue20.06.202314:00 - 17:00EI 3A Hörsaal Vorlesung
Tue27.06.202314:00 - 17:00EI 3A Hörsaal Vorlesung

Examination modalities


  • Submitted written assignments (50%)
  • Written and oral exam (30%)
  • Active participation in class (20%)


DayTimeDateRoomMode of examinationApplication timeApplication modeExam
Tue14:00 - 17:0027.05.2025EI 3A Hörsaal written&oral06.05.2025 13:30 - 27.05.2025 10:00TISSPrüfung

Course registration

Begin End Deregistration end
01.02.2023 00:00



Software resources

anaconda (Python and Jupyter installation framework) - www.anaconda.com

pyam documentation - software.ene.iiasa.ac.at/pyam

MESSAGEix framework - MESSAGEix.ene.ac.at

Resources for the IPCC Special Report on Global Warming of 1.5°C (SR15)

Full report - www.ipcc.ch/report/sr15/ (see Chapter 2 in particular)

Scenario Explorer - data.ene.iiasa.ac.at/iamc-1.5c-explorer

Assessment notebooks

Scientific literature

MESSAGEix framework documentation

Daniel Huppmann, Matthew Gidden, Oliver Fricko, Peter Kolp, Clara Orthofer, Michael Pimmer, Adriano Vinca, Alessio Mastrucci, Keywan Riahi, and Volker Krey. The MESSAGEix Integrated Assessment Model and the ix modeling platform. 2018, submitted. Electronic pre-print available at pure.iiasa.ac.at/15157/.

Previous knowledge

Students are expected to have a good understanding of the energy system and the policy questions concerning climate change mitigation and the transition to renewable energy sources. PhD students with an interest in numerical modelling and analytical methods are encouraged to join.

The frameworks used during the lectures and assignments are based on Jupyter Notebooks and Python. In-depth knowledge of Python is not required, but prior experience with at least one scientific programming language (Python, Julia, R, Matlab, Java, C, etc.) is expected.

Students that have not previously worked with Python should install the latest release from www.anaconda.com (Python 3.9 or higher) before the first lecture. Basic understanding of Python and learning to work with pandas DataFrames is highly recommended, see https://pandas.pydata.org/pandas-docs/stable/10min.html.