Ctrl K

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.

77
mentions
2
contributors
339 commitsLast commit ≈ 1 week ago64 stars29 forks

Description

ETHOS.GLAES - Geospatial Land Availability for Energy Systems

Land eligibility analysis for energy infrastructure — which areas qualify, and why.

conda-forge version Tests Coverage Documentation DOI License

📖 Read the full documentation at ethosglaes.readthedocs.io.

ETHOS.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 ETHOS.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 workflow of ETHOS.GLAES is applicable to any context where a constrained indication of land is desired. Except in the context of Europe, ETHOS.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, ETHOS.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, ETHOS.GLAES affords a high degree of flexibility for very specific considerations, while still maintaining a consistent application method between studies.

ETHOS.GLAES is part of the Energy Transformation PatHway Optimization Suite (ETHOS) at ICE-2. It is built on top of ETHOS.GeoKit, which handles the underlying raster and vector operations.

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 analyses (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 ETHOS.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 importantly, 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.

Installation

Note

ETHOS.GLAES is currently only tested against Linux machines. Although it is possible to install ETHOS.GLAES on Windows and macOS machines, the calculations may produce different results.

Recommended installation

The recommended way to install ETHOS.GLAES is to use the conda package manager. This will ensure that all dependencies are installed correctly and that the package is compatible with your system.

Using the conda package manager of your choice (we recommend miniforge), you can install ETHOS.GLAES with the following command:

conda install -c conda-forge glaes

If you are installing ETHOS.GLAES into an environment using an environment.yml file, make sure to add the conda-forge channel to the file:

channels:
  - conda-forge
dependencies:
  - conda-forge::glaes

However, we highly recommend that you install the package into a new, empty environment, as the dependencies of ETHOS.GLAES may conflict with other packages you have installed. We are currently working on a new release which will be compatible with later versions of GDAL (>3.0).

Development Installation

ETHOS.GLAES is closely linked to ETHOS.GeoKit. If you intend to develop ETHOS.GLAES, it is also recommended to install ETHOS.GeoKit in development mode into the same environment.

  1. First clone a local copy of both repositories to your computer:
git clone https://github.com/FZJ-IEK3-VSA/glaes.git
git clone https://github.com/FZJ-IEK3-VSA/geokit.git
  1. Combine the dependencies of ETHOS.GLAES's requirements-no-geokit.yml and ETHOS.GeoKit's requirements.yml into a new requirements-combined.yml. ETHOS.GLAES ships a dedicated requirements-no-geokit.yml that intentionally omits the conda-forge geokit package, so it does not shadow the editable ETHOS.GeoKit you install from source in step 5.

  2. Create the new environment with all conda-forge dependencies:

conda env create --file requirements-combined.yml -n glaes_dev_env
  1. Activate the environment:
conda activate glaes_dev_env
  1. Install the local libraries:
pip install -e ./geokit --no-deps
pip install -e ./glaes --no-deps

Getting Started

A simple LE work flow using ETHOS.GLAES would go as follows:

Objective:

  • Determine land eligibility for photovoltaic (PV) modules in the Aachen administration region considering that...
    1. PV modules should not cover agricultural areas (because people need to eat)
    2. PV modules should not be within 200 meters of a major roadway (because they may get dirty)
    3. 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

  1. Basic Workflow
  2. Placement Algorithm

Citation

If you decide to use ETHOS.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}
}

Further reading

If you would like to see a much more detailed discussion on land eligibility analysis and see why a framework such as ETHOS.GLAES is not only helpful, but a requirement, please see:

The Background Paper

Examples of Land Eligibility evaluation and applications:

Example applications of external institutions:

Contributions and Support

All contributions are welcome:

  • If you have a question, want to report a bug, or have a feature request, please open an Issue. We will then take care of the issue as soon as possible.
  • If you want to contribute with additional features or code improvements, open a Pull request.

License

MIT License

Copyright (c) 2017-2026 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

We are the Institute of Climate and Energy Systems – Jülich Systems Analysis (ICE-2) at the Forschungszentrum Jülich. Our work focuses on independent, interdisciplinary research in energy, bioeconomy, infrastructure, and sustainability. We support a just, greenhouse gas–neutral transformation through open models and policy-relevant science.

Code of Conduct

Please respect our code of conduct.

Acknowledgments

This work received primary support from the Helmholtz Association through the Joint Initiative "Energy System 2050: A Contribution of the Research Field Energy" and the program "Energy System Design". Additionally, parts of this work were supported by the H2Atlas-Africa project (03EW0001), funded by the German Federal Ministry of Research, Technology, and Space (BMFTR).

Keywords
Programming languages
  • Python 99%
  • Other 1%
License
</>Source code
Packages
anaconda.org
github.com

Participating organisations

Forschungszentrum Jülich

Reference papers

Mentions

Contributors

CW
Christoph Winkler
Core developer
Forschungszentrum Jülich
SI
Shitab Ishmam
Core developer
Forschungszentrum Jülich

Helmholtz Program-oriented Funding IV