Climate risk modelling

Mathias Hauser, Robin Noyelle and Samuel Juhel

Spring Term 2026

together with Casimir Fisch and Louis Poulain-Auzéau

All relevant course information to be found on the webpage https://iac.ethz.ch/edu/courses/bachelor/vorbereitung/python-in-geosciences.html

This exercise is about the use of the python package CLIMADA. It was first designed by Chahan Kropf (ckropf@ethz.ch), later adapted by Alessio Ciullo and further improved by Samuel Juhel.

Introduction

What is climate risk modelling?

Extreme weather events such as tropical cyclones, wildfires, floods, droughts, heavy rains, heat-waves, etc…, (also called natural hazards) are “rare” by their nature. Computer models are therefore needed to help scientists, policy makers, and planners to understand, assess and adapt to the risks associated with such events, today and in the future.

In the context of natural hazards, risk is understood as the product of the hazardous event probability (i.e., how likely it is for the event to occur) and its severity (e.g., the monetary damage on houses or the number of deceased people). In particular, the basic building blocks of most computer models used to assess weather and climate risk are:

  • Hazard: probabilistic set of events. In such a set, each event is a map of the event’s intensity (e.g., the maximum windspeed per location in the case of a storm, the maximum flood depth in the case of a flood, etc.). Each event is associated to a specific probability (or frequency).

  • Exposure: a map of physical and non-physical objects that are impacted by the hazard. Examples include population per area, houses value, biodiversity level per area.

  • Vulnerability: a function that estimates how much a given exposure item is affected from a given hazard intensity (e.g. wood houses take more damage to wind than stone houses, poorer people might suffer more from a flood than richer).

An example of such computer models is CLIMADA.

What is CLIMADA?

CLIMADA is an event-based climate risk assessment tool written in Python. It is fully open source and open access, which means that anyone can use, contribute to or improve CLIMADA. The full code is available at Github. CLIMADA is primarily developed and maintened by the Weather and Climate Risks Group at ETH and its users community include public agencies (e.g., MeteoSwiss), private companies (e.g., Celsius Pro), other researchers (e.g., Frankfurt School of management, UN-university) and NGOs.

CLIMADA provides a framework for users to combine exposure, hazard and vulnerability to calculate risk. Users can create probabilistic impact data from event sets, look at how climate change affects these impacts, and see how effectively adaptation measures can change them. CLIMADA also allows for studies of individual events, historical event sets and forecasts. The model is highly customisable, meaning that users can work with pre-existing data provided for different hazards, population and economic exposure, or can provide their own data for parts or for all of the analysis. The pre-packaged data make CLIMADA particularly useful for users who focus on just one element of risk, since CLIMADA can ‘fill in the gaps’ for hazard, exposure or vulnerability in the rest of the analysis.

The model core is designed to give as much flexibility as possible when describing the elements of risk, meaning that CLIMADA isn’t limited to particular hazards, exposure types or impacts. We love to see the model applied to new problems and contexts. CLIMADA provides classes, methods and data for exposure, hazard and impact functions (also called vulnerability functions). CLIMADA provides several further features, such as a financial model and a framework to analyse adaptation measures, and additional classes and data for common uses, such as economic exposures or tropical storms.

Online resources

This seminar

In this seminar you will learn how to use CLIMADA to make simple risk analyses. We will explore some of the core functionalities of CLIMADA, together with a few key Python modules useful for handling geographical and scientific data.

The exercises are divided in two sets:

  • mandatory exercises for everyone, a guidance on how to use CLIMADA,

  • three elective exercises, of which you are expected to do at least one. You can do the elective exercises in any order.

All results are to be handed-in as jupyter notebooks ‘.ipynb’.

Before installation:

  • Have at least 10 GB of free storage space on your computer.

  • Never install CLIMADA in a (Microsoft) OneDrive.

  • Ensure a stable internet connection for the installation procedure. Do not use a metered, mobile connection!

  • Have miniforge installed.

Installation steps:

  1. Open a terminal. Follow steps 2-4 below, entering the commands in your command prompt, but do not include the ‘>’ character.

  2. Navigate to the course folder ip_python. Depending on where you created the folder you need to adapt the path, e.g.:

    > cd Documents/ETH/ip_python
    
  3. Create a new Conda environment named climada_env:

    > conda create -n climada_env -c conda-forge climada ipykernel
    
  4. If you use jupyter lab, select the climada_env kernel when you work on the CLIMADA notebooks. If you work in the terminal, you can activate the environment by:

    > conda activate climada_env
    

    You should now see (climada_env) appear in the beginning of your command prompt in the terminal. This means the environment is activated.

All the exercises below require you to work in a jupyter notebook. In order for CLIMADA to work, make sure to select the kernel climada_env before running your scripts.