ETHOS.GLAES
GLAES is a framework for conducting land eligibility analyses and is designed to easily incorporate disparate geospatial information from a variety of sources into a unified solution.
Description
Geospatial Land Availability for Energy Systems (GLAES)
GLAES is a framework for conducting land eligibility analyses and is designed to easily incorporate disparate geospatial information from a variety of sources into a unified solution. Currently, the main purpose of GLAES is performing land eligibility (LE) analyses which, in short, are used to determine which areas within a region are deemed 'eligible' for some purpose (such as placing a wind turbine). Although initially intended to operate in the context of distributed renewable energy systems, such as onshore wind and open-field solar parks, the work flow of GLAES is applicable to any context where a constrained indication of land is desired. Except in the context of Europe, GLAES only provides a framework for conducting these types of analyses, and so the underlying data sources which are used will need to be provided. Fortunately, GLAES is built on top of the Geospatial Data Abstraction Library (GDAL) and so is capable of incorporating information from any geospatial dataset which GDAL can interpret; including common GIS formats such as .shp and .tif files. In this way, GLAES affords a high degree of flexibility such that very specific considerations, while still maintaining a consistent application method between studies.
Features
- Standardized approach to land eligibility analyses
- Applicable in any geographic region and at any resolution
- Can flexibly incorporate most geospatial datasets: including the common .shp and .tif formats
- Simple visualization and storage of results as common image or raster dataset
- Simple integration of results into other analysis (via numpy array)
European Priors
A number of precomputed (Prior) datasets which constitute the most commonly considered criteria used for LE analyses have been constructed for the European context.
These datasets are formatted to be used directly with the GLAES framework and, in doing so, drastically reduce the time requirements, data management, and overall complexity of conducting these analyses.
The Priors also have the added benefit of providing a common data source to all LE researchers, which further promotes consistency between independent LE evaluations.
Most important, usage of these datasets is just as easy as applying exclusions from other geospatial datasources.
Although the Prior datasets are not included when cloning this repository, they can be downloaded from Mendeley Data and installed by unzipping (or placing if downloaded one-by-one) the files in the repo directory glaes/data/priors.
Example
A simple LE work flow using GLAES would go as follows:
Objective:
- Determine land eligibility for photovoltaic (PV) modules in the Aachen administration region considering that...
- PV modules should not cover agricultural areas (because people need to eat)
- PV modules should not be within 200 meters of a major road way (because they may get dirty)
- PV modules should not be within 1000 meters of a settlement area (because they are too shiny)
ec = ExclusionCalculator(aachenRegion, srs=3035, pixelRes=100)
ec.excludePrior("agriculture_proximity", value=0)
ec.excludePrior("settlement_proximity", value=(None,1000))
ec.excludePrior("roads_main_proximity", value=(None,200))
ec.draw()
More Examples
Installation
Note
GLAES is currently only tested against Linux machines. Although it is possible to install GLAES on Windows and macOS machines, the calculations may produce different results.
Recommended installation
The recommended way to install GLAES is to use the conda-package manager. This will ensure that all dependancies are installed correctly and that the package is compatible with your system.
Using the conda package manager of your choice (we recommend mambaforge), you can install GLAES with the following command:
conda install -c conda-forge glaes
If you are installing GLAES into an environment using an environment.yml file, make sure to add the conda-forge channel to the file:
channels:
- conda-forge
- defaults
dependencies:
- conda-forge::glaes
However, we highly recommend that you install the package into a new, empty environment, as the dependancies of GLAES may conflict with other packages you have installed. We currently working on a new release which will be compatible with later versions of GDAL (>3.0).
Alternative installation
The primary dependancies of GLAES are:
- gdal>2.0.0,<3.0.0
- GeoKit >= 1.2.4
If you can install these modules on you own, then the glaes module should be easily installable with:
pip install git+https://github.com/FZJ-IEK3-VSA/glaes.git#egg=glaes
If, on the otherhand, you prefer an automated installation using Anaconda, then you should be able to follow these steps:
- First clone a local copy of the repository to your computer, and move into the created directory
git clone https://github.com/FZJ-IEK3-VSA/glaes.git
cd glaes
- (Alternative) If you want to use the 'dev' branch (or another branch) then use:
git checkout dev
- GLAES should be installable to a new environment with:
conda env create --file requirements.yml
- (Alternative) Or into an existing environment with:
conda env update --file requirements.yml -n <ENVIRONMENT-NAME>
- (Alternative) If you want to install GLAES in editable mode, and also with jupyter notebook and with testing functionalities use:
conda env create --file requirements-dev.yml
Associated papers
If you would like to see a much more detailed discussion on land eligibility analysis and see why a framework such as GLAES is not only helpful, but a requirement, please see:
The Background Paper
Examples of Land Eligibility evaluation and applications:
-
Uniformly constrained land eligibility for onshore European wind power
-
Linking the Power and Transport Sectors—Part 2: Modelling a Sector Coupling Scenario for Germany
Example applications of external institutions
Citation
If you decide to use GLAES anywhere in a published work, please kindly cite us using the following
@article{Ryberg2018,
author = {Ryberg, David and Robinius, Martin and Stolten, Detlef},
doi = {10.3390/en11051246},
issn = {1996-1073},
journal = {Energies},
month = {may},
number = {5},
pages = {1246},
title = {{Evaluating Land Eligibility Constraints of Renewable Energy Sources in Europe}},
url = {http://www.mdpi.com/1996-1073/11/5/1246},
volume = {11},
year = {2018}
}
License
MIT License
Copyright (c) 2017-2022 David Severin Ryberg (FZJ IEK-3), Jochen Linßen (FZJ IEK-3), Martin Robinius (FZJ IEK-3), Detlef Stolten (FZJ IEK-3)
You should have received a copy of the MIT License along with this program.
If not, see https://opensource.org/licenses/MIT
About Us
Acknowledgment
This work was supported by the Helmholtz Association under the Joint Initiative "Energy System 2050 – A Contribution of the Research Field Energy".
Participating organisations
Reference papers
Mentions
- 1.Author(s): Shitab Ishmam, Julian Belina, Christoph Winkler, Jann Michael Weinand, Noah Pflugradt, Heidi Heinrichs, Jochen LinßenPublished in 202610.2139/ssrn.6299208
- 2.Author(s): Odelin Talabă, Alexandra Vrînceanu, Monica Dumitraşcu, Ines Grigorescu, Bianca MitricăPublished in 202610.1016/j.jenvman.2026.128777
- 3.Author(s): Yasin Ferit Uguz, Atakan Bilgili, Melis UzarPublished in 202610.1016/j.apenergy.2026.127609
- 4.Author(s): Heidi Ursula Heinrichs, Jann M. Weinand, Sebastian Kebrich, Juan Camilo Gómez Trillos, Shuying Chen, Maxmilian Hoffmann, Tsamara Tsani, Ruihong Chen, Wenxuan Hu, Johannes Schmidt, Carolin Ulbrich, Vladyslav Mikhnych, Jochen Linßen, Russell McKennaPublished in 202610.1016/j.renene.2025.125080
- 5.Author(s): Jiaxin Xu, Jin Lin, Jiarong Li, Ruixiao Lin, Guangsheng PanPublished in 202510.1016/j.enconman.2025.119864
- 6.Author(s): Tristan Pelser, Jann Michael Weinand, Patrick Kuckertz, Detlef StoltenPublished in 202510.1016/j.patter.2025.101172
- 7.Author(s): Tsamara Tsani, Tristan Pelser, Romanos Ioannidis, Rachel Maier, Ruihong Chen, Stanley Risch, Felix Kullmann, Russell McKenna, Detlef Stolten, Jann Michael WeinandPublished in 202510.1038/s41467-025-59029-1
- 8.Author(s): C. Winkler, H. Heinrichs, S. Ishmam, B. Bayat, A. Lahnaoui, S. Agbo, E.U. Peña Sanchez, D. Franzmann, N. Oijeabou, C. Koerner, Y. Michael, B. Oloruntoba, C. Montzka, H. Vereecken, H. Hendricks Franssen, J. Brendt, S. Brauner, W. Kuckshinrichs, S. Venghaus, D. Kone, B. Korgo, K. Ogunjobi, J. Olwoch, V. Chiteculo, Z. Getenga, J. Linßen, D. StoltenPublished in 202510.1016/j.ijhydene.2025.02.015
- 9.Author(s): D. Franzmann, H. Heinrichs, D. StoltenPublished in 202510.1016/j.renene.2025.123199
- 10.Author(s): Adrien Rose, Gireesh Shrimali, Krista HalttunenPublished in 202510.1016/j.isci.2025.112811
- 11.Author(s): Jann Michael Weinand, Tristan Pelser, Max Kleinebrahm, Detlef StoltenPublished in 202510.1088/2515-7620/adb7bd
- 12.Author(s): Bachirou Djibo Boubé, Ramchandra Bhandari, Moussa Mounkaila Saley, Rabani AdamouPublished in 202510.1016/j.egyr.2025.01.032
- 13.Author(s): Maximilian Hoffmann, Bruno U. Schyska, Julian Bartels, Tristan Pelser, Johannes Behrens, Manuel Wetzel, Hans Christian Gils, Chuen-Fung Tang, Marius Tillmanns, Jan Stock, André Xhonneux, Leander Kotzur, Aaron Praktiknjo, Thomas Vogt, Patrick Jochem, Jochen Linßen, Jann M. Weinand, Detlef StoltenPublished in 202410.1016/j.adapen.2024.100190
- 14.Author(s): Luigi MocciaPublished in 202410.1016/j.segy.2024.100165
- 15.Author(s): Daniele Mosso, Luca Rajteri, Laura SavoldiPublished in 202410.3390/su16041644
- 16.Author(s): Elham Fakharizadehshirazi, Christine RöschPublished in 202410.3390/en17153766
- 17.Author(s): Adrien Rose, Gireesh Shrimali, Krista HalttunenPublished in 202410.2139/ssrn.4897758
- 18.Author(s): S. Ishmam, H. Heinrichs, C. Winkler, B. Bayat, A. Lahnaoui, S. Agbo, E.U. Pena Sanchez, D. Franzmann, N. Oijeabou, C. Koerner, Y. Michael, B. Oloruntoba, C. Montzka, H. Vereecken, H. Hendricks Franssen, J. Brendt, S. Brauner, W. Kuckshinrichs, S. Venghaus, D. Kone, B. Korgo, K. Ogunjobi, V. Chiteculo, J. Olwoch, Z. Getenga, J. Linßen, D. StoltenPublished in 202410.1016/j.ijhydene.2024.08.501
- 19.Author(s): Rachel Maier, Luna Lütz, Stanley Risch, Felix Kullmann, Jann Weinand, Detlef StoltenPublished in 202410.1016/j.rser.2024.114500
- 20.Author(s): Daniel Mosso, Luca Rajteri, Laura SavoldiPublished in 202410.20944/preprints202401.0345.v1
- 21.Author(s): C. Lohr, F. Peterssen, M. Schlemminger, A. Bensmann, R. Niepelt, R. Brendel, R. Hanke-RauschenbachPublished in 202410.1186/s13705-024-00489-6
- 22.Author(s): Claire Halloran, Alycia Leonard, Nicholas Salmon, Leander Müller, Stephanie HirmerPublished in 202410.1016/j.mex.2024.102660
- 23.Author(s): Avri Eitan, Itay Fischhendler, Alfons van MarrewijkPublished in 202310.1016/j.eist.2023.100696
- 24.Author(s): Clemens Lohr, Florian Peterssen, Marlon Schlemminger, Astrid Bensmann, Raphael Niepelt, Rolf Brendel, Richard Hanke-RauschenbachPublished in 202310.21203/rs.3.rs-3586294/v1
- 25.Author(s): K. Phillips, J.A. Moncada, H. Ergun, E. DelaruePublished in 202310.1016/j.apenergy.2023.121092
- 26.Author(s): V.M. Maestre, A. Ortiz, I. OrtizPublished in 202310.1016/j.ijhydene.2023.05.154
- 27.Author(s): A. Risco-Bravo, C. Varela, J. Bartels, E. ZondervanPublished in 202310.1016/j.rser.2023.113930
- 28.Author(s): Tristan Pelser, Jann Michael Weinand, Patrick Kuckertz, Russell McKenna, Jochen Linssen, Detlef StoltenPublished in 202310.1016/j.adapen.2023.100158
- 29.Author(s): Anthony Lopez, P. Stanley, Owen Roberts, Trieu Mai, Travis Williams, Pavlo Pinchuk, Grant Buster, Eric LantzPublished in 202310.2172/2203429
- 30.Author(s): Thomas Schöb, Felix Kullmann, Jochen Linßen, Detlef StoltenPublished in 202310.1016/j.ijhydene.2023.05.007
- 31.Author(s): Pablo Benalcazar, Aleksandra Komorowska, Jacek KamińskiPublished in 202310.1016/j.apenergy.2023.122044
- 32.Author(s): Leander A. Müller, Alycia Leonard, Philipp A. Trotter, Stephanie HirmerPublished in 202310.1016/j.apenergy.2023.121219
- 33.Author(s): Vanessa Miramontes-Viña, Noelia Romero-Castro, M. Ángeles López-CabarcosPublished in 202310.3934/environsci.2023017
- 34.Author(s): Stanley Risch, Rachel Maier, Junsong Du, Noah Pflugradt, Peter Stenzel, Leander Kotzur, Detlef StoltenPublished in 202210.3390/en15155536
- 35.Author(s): Dylan Harrison-Atlas, Anthony Lopez, Eric LantzPublished in 202210.1088/1748-9326/ac5f2c
- 36.Author(s): Gonzalo Parrado-Hernando, Antun Pfeifer, Fernando Frechoso, Luis Javier Miguel González, Neven DuićPublished in 202210.1016/j.energy.2022.124743
- 37.Author(s): Oliver Ruhnau, Anselm Eicke, Raffaele Sgarlato, Tim Tröndle, Lion HirthPublished in 202210.1007/s10640-022-00746-2
- 38.Author(s): Antoine Dubois, Damien ErnstPublished in 202210.1016/j.epsr.2022.108343
- 39.Author(s): V.M. Maestre, A. Ortiz, I. OrtizPublished in 202210.1016/j.est.2022.105889
- 40.Author(s): Eglė Tumelienė, Jūratė Sužiedelytė Visockienė, Vida MalienePublished in 202210.3390/su142114569
- 41.Author(s): C. Lohr, M. Schlemminger, F. Peterssen, A. Bensmann, R. Niepelt, R. Brendel, R. Hanke-RauschenbachPublished in 202210.1016/j.renene.2022.07.144
- 42.Author(s): Madeleine McPherson, Jacob Monroe, Jakub Jurasz, Andrew Rowe, Richard Hendriks, Lauren Stanislaw, Muhammad Awais, Madeleine Seatle, Robert Xu, Timothy Crownshaw, Mohammad Miri, Dustin Aldana, Moe Esfahlani, Reza Arjmand, Mohammadali Saffari, Tristan Cusi, Kanwarpreet Singh Toor, Joel GriecoPublished in 202210.1016/j.esr.2022.100961
- 43.Author(s): Martha Maria Frysztacki, Gereon Recht, Tom BrownPublished in 202210.1186/s42162-022-00187-7
- 44.Author(s): Jannis Langer, Michiel Zaaijer, Jaco Quist, Kornelis BlokPublished in 202210.1016/j.renene.2022.11.084
- 45.Author(s): Clemens Lohr, Marlon Schlemminger, Florian Peterssen, Astrid Bensmann, Raphael Niepelt, Rolf Brendel, Richard Hanke-RauschenbachPublished in 202210.2139/ssrn.4097575
- 46.Author(s): Martha Maria Frysztacki, Jonas Hörsch, Veit Hagenmeyer, Tom BrownPublished in 202110.1016/j.apenergy.2021.116726
- 47.Author(s): Kais Siala, Leonhard OderskyPublished in 202110.1016/j.softx.2021.100860
- 48.Author(s): Patil, Shruthi, Kotzur, Leander, Stolten, DetlefPublished in 202110.48550/arxiv.2111.11988
- 49.Author(s): Jan Frederick Unnewehr, Eddy Jalbout, Christopher Jung, Dirk Schindler, Anke WeidlichPublished in 202110.1016/j.renene.2021.08.056
- 50.Author(s): Nikhil Dilip Pawar, Heidi Ursula Heinrichs, Christoph Winkler, Philipp-Matthias Heuser, Severin D. Ryberg, Martin Robinius, Detlef StoltenPublished in 202110.1016/j.ijhydene.2021.05.203