Open Sustainable Technology

A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Browse accepted projects | Review proposed projects | Propose new project | Open Issues

Our Forests Tomorrow

Visualizing European forests future.

Last synced: about 10 hours ago
JSON representation

Repository metadata

Visualizing European forests future. Based on the EU-Trees4F study by Mauri et al.



# Our Forests Tomorrow: Visualizing European forests future


In February 2022 European researchers published the [Eu-Trees4F study](, comprised of a dataset that predicts the extent of 67 tree species in Europe, in 2035, 2065 and 2095, on a 10km grid, according to a whole range of bioclimatic parameters and on two different RCPs (intermediate 4.5 and BAU 8.5).

The amount of considered species, the precision of the simulation and the relatively high spatial resolution makes this dataset an absolute goldmine for forestry, research, biodiversity, but considering how the issue of forests has become salient in the public opinion, this could also be interesting to a really broad audience. Where I live in the West of France, people would be shocked to learn that our beloved beech trees, birch trees, aspens, will be likely gone within 45 years. But with a little help (in the form of assisted migration), the forests here could see new species thrive like Mediterranean oaks, willow trees, etc.

The goal of that project is to bring those findings to a large audience, building interactive product(s) such as a minisite and notebooks, and through media partners.

## What are we up to?

- The mini site prototype: [Our Forests Tomorrow](


- Based on that initial work, we ran several [technical/design experiments](
- Work on the way to develop a visual identity as well as high-fidelity designs for a final version of the minisite
- We developed two stories based on the initial study, currently drafted as Observable notebooks:
- [Jamón ibérico under threat from climate crisis](
- [Positive effects of climate change and warmer conditions for European trees](
- see [working document]( (private)

Internal use only/private documents:
- [Labs phase 1 ticket](
- [Labs phase 2 ticket](
- [Team week slides](
- [Pitch slides deck](
- [Figma wireframes + high fidelity designs](

## About the dataset

The original dataset consists of a series of GeoTIFF files covering mostly the European Union + some Eastern European countries. There is data for:
- 67 tree species
- 2 emissions scenarios (RCP 4.5 and 8.5)
- 2 modelled outputs (climatic ensemble mean and SDM ensemble mean)
- The 2005 baseline + 3 time steps (2035, 2065, 2095)
- Data is gridded on a 10km grid
- Data is scaled on a continuous scale running from 0 (species absent) to 1 (species extremely likely to be suitable)

Comparing with the 2005 baseline extent, the main visualisation goal is to assess what will happen in European regions:
- Is the species __stable__?
- Is the species likely to disappear/__decolonize__? (present in 2005, not present in the future timestep)
- Is the species newly __suitable__? (not present in 2005, but conditions allow thriving in the future timestep)
...for the three future timesteps, under the two emissions scenarios, for each of the 67 species.

Datasets currently used in the prototype minisite (only RCP P8.5):
- A stats JSON file that represents the number of cells falling into each of the stable/decolonize/suitable class, for each timestep, for each region and country. This is used to generate the small multiples charts for each region
- A static vector tileset (MVT), points sampled from the GeoTIFFs along an hex grid, containing the class for each timestep. Generated for 10km, 20km, 40km grids

Other datasets generated:
- GeoJSON files (point geometries) for each species with continuous values for each timestep under the two RCPs
- GeoJSON files (hexagon geometries) - needed to render in Mapbox GL which is not able to render hexes on the fly from points
- TopoJSON extents

## Run the minisite prototype locally

Clone this repo and:
yarn start

Owner metadata

GitHub Events

Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 216
Total Committers: 3
Avg Commits per committer: 72.0
Development Distribution Score (DDS): 0.269

Commits in past year: 47
Committers in past year: 2
Avg Commits per committer in past year: 23.5
Development Distribution Score (DDS) in past year: 0.064

Name Email Commits
Erik Escoffier e****k@s****o 158
Erik Escoffier m****e@e****z 55
Erik Escoffier e****k@d****g 3

Committer domains:

Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 4
Total pull requests: 3
Average time to close issues: 3 days
Average time to close pull requests: 4 days
Total issue authors: 2
Total pull request authors: 1
Average comments per issue: 1.0
Average comments per pull request: 0.33
Merged pull request: 3
Bot issues: 0
Bot pull requests: 0

Past year issues: 4
Past year pull requests: 3
Past year average time to close issues: 3 days
Past year average time to close pull requests: 4 days
Past year issue authors: 2
Past year pull request authors: 1
Past year average comments per issue: 1.0
Past year average comments per pull request: 0.33
Past year merged pull request: 3
Past year bot issues: 0
Past year bot pull requests: 0

More stats:

Top Issue Authors

  • batpad (2)
  • nerik (2)

Top Pull Request Authors

  • nerik (3)

Top Issue Labels

Top Pull Request Labels


package.json npm
  • @types/d3-force ^3.0.3 development
  • @types/d3-scale ^4.0.2 development
  • @types/d3-shape ^3.1.0 development
  • @types/styled-components ^5.1.26 development
  • cors ^2.8.5 development
  • csv-parse ^5.3.0 development
  • dotenv ^16.0.3 development
  • express ^4.18.1 development
  • mapshaper ^0.6.5 development
  • openai ^3.1.0 development
  • papaparse ^5.3.2 development
  • @floating-ui/react-dom-interactions ^0.9.2
  • @testing-library/jest-dom ^5.14.1
  • @testing-library/react ^13.0.0
  • @testing-library/user-event ^13.2.1
  • @turf/bbox ^6.5.0
  • @turf/bbox-polygon ^6.5.0
  • @turf/points-within-polygon ^6.5.0
  • @types/d3-array ^3.0.3
  • @types/geojson ^7946.0.10
  • @types/jest ^27.0.1
  • @types/node ^16.7.13
  • @types/react ^18.0.0
  • @types/react-dom ^18.0.0
  • d3-array ^3.2.0
  • d3-force ^3.0.0
  • d3-scale ^4.0.2
  • d3-shape ^3.1.0
  • i18next ^21.9.1
  • i18next-browser-languagedetector ^6.1.5
  • i18next-http-backend ^1.4.1
  • jotai ^1.8.2
  • mapbox-gl ^2.13.0
  • react ^18.2.0
  • react-dom ^18.2.0
  • react-i18next ^11.18.5
  • react-intersection-observer ^9.4.0
  • react-map-gl ^7.0.21
  • react-responsive ^9.0.2
  • react-scripts 5.0.1
  • react-use ^17.4.0
  • styled-components ^5.3.5
  • typescript ^4.4.2
  • web-vitals ^2.1.0
yarn.lock npm
  • 1338 dependencies

Score: 3.58351893845611