How climate change affects your hometown

Category: Best data-driven reporting (small and large newsrooms)

Country/area: Switzerland

Organisation: Swiss Radio & Television’s SRF Data (publication in German), Swissinfo.ch (publication in English and other languages)

Organisation size: Small

Publication date: 30/11/2019

Credit: Timo Grossenbacher, Aline Metzler, Felix Michel, Angelo Zehr (SRF), Alexandra Kohler (swissinfo)

Project description:

Due to its diversity of valleys, hills and high mountains, climate change manifests itself differently in the various regions of Switzerland. The Swiss government’s CH2018 Climate Scenarios for Switzerland illustrate how climate change could affect each region. In this highly personalized explanatory piece, users must pick a Swiss town or city to get a glimpse of its future. Based on whether the user is rather optimistic or pessimistic, the modelled climate effects are presented in terms of easily understandable concepts like “frost days”, both with auto-generated texts and simple line charts. There’s even a dark mode!

Impact reached:

As it wasn’t an investigative piece, the actual impact on the public is hard to measure. However, in terms of visitors, the project was a huge success, with more than five times more visitors than on our average performing articles. Also, the amount of comments on the piece is almost a record high for our articles, so that publication certainly stirred a debate.

Techniques/technologies used:

Based on the municipality entered and the scenario selected, users are shown thousands of different “robot texts”. Here’s how it works: We build up the texts, which refer directly to the own community, with templates which are located in a Google Doc (since often several journalists worked on the texts simultaneously). Important here are the numerous declensions (especially in German), these are additionally defined in a spreadsheet. Then we use ArchieML and translate.js to convert the GDocs and GSheets into JSON, which is then interpreted by the ReactJS code in the frontend and “declined” correctly. Good side effect of GSheets: Easy translatability to other languages (as used by Swissinfo). Certain parts of the text are simply played out based on the region the community belongs to and the scenario. For example, the sub titles, the texts on the regions and certain risks/opportunities in the pessimistic scenario. We use GSheets for these too. To switch between the two scenarios and thus from bright to dark and back, we use the theming functionality of the Emotion-JS-Library. Since our app is not delivered in an iFrame, we can also influence styles of srf.ch and swissinfo.ch with it. Data preprocessing: The entire climate data on the municipality level, including climatic indicators and region, stem from the Swiss National Centre for Climate Services (NCCS) and are in netCDF format. They are converted from the original netCDF data to JSON within R. These data are then dynamically loaded from the CDN as needed. This conversion process was released as open source on our open data portal.

What was the hardest part of this project?

The hardest part was certainly making sure that all the text building blocks nicely fit together and that all the possible combinations of data result in syntactically and semantically valid prose. Basically all of the building blocks are purely data-driven, so it was also crucial to make them “sound” natural. Our goal was to present the reader with a highly personalized but still enjoyable article – ideally so he or she would not even notice that the texts were fully auto generated. After all, we chose this high degree of personalization because we really think that the modelled impacts of climate change can only be fully grasped and understood on that micro-level. Also for this reason, we mainly used variables that people could actually relate to (summer days, snow days, etc., instead of mere temperature and humidity).

What can others learn from this project?

1. A collaboration suite like Google Drive with Sheets and Docs in combination with an automated deployment environment (in our case Webpack with React) allows to quickly build, adapt and translate personalized texts, especially if more than one journalist works on the project. Therefore, try to use as few hardcoded text blocks as possible in your code and source everything from an accessible, easy-to-use collaboration tool.

2. Personalization is king, especially when it comes to relatively abstract topics like climate scenarios. As soon as the data comes with geospatial attributes (in our case, a netCDF grid), the data can be aggregated / filtered on the municipal – and thus on a personal – level.

3. For this project, we worked closely together with the data providers, the Swiss National Centre for Climate Services (NCCS), as we didn’t want to aggregate or process the data in a wrong way. We always told them what we wanted to do with the data and asked them whether this was possible. This exchange is imperative when dealing with modelled and more complex data sets from science, so we’d recommend that in general.

Project links: