glaes
Geospatial Land Availability for Energy Systems.
https://github.com/fzj-iek3-vsa/glaes
Category: Energy Systems
Sub Category: Energy System Modeling Frameworks
Keywords
energy geospatial geospatial-analysis python renewable-energy
Keywords from Contributors
gdal gdal-library general-purpose geospatial-data raster-data aggregation energy-system typical-periods
Last synced: about 19 hours ago
JSON representation
Repository metadata
Geospatial Land Availability for Energy Systems
- Host: GitHub
- URL: https://github.com/fzj-iek3-vsa/glaes
- Owner: FZJ-IEK3-VSA
- License: mit
- Created: 2017-12-20T16:19:36.000Z (over 8 years ago)
- Default Branch: dev
- Last Pushed: 2026-08-06T14:42:22.000Z (7 days ago)
- Last Synced: 2026-08-10T16:54:39.976Z (3 days ago)
- Topics: energy, geospatial, geospatial-analysis, python, renewable-energy
- Language: Python
- Homepage: https://ethosglaes.readthedocs.io/
- Size: 119 MB
- Stars: 64
- Watchers: 8
- Forks: 29
- Open Issues: 38
- Releases: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
README.md
ETHOS.GLAES - Geospatial Land Availability for Energy Systems
Land eligibility analysis for energy infrastructure — which areas qualify, and why.
📖 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.
- 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
-
Combine the dependencies of ETHOS.GLAES's
requirements-no-geokit.ymland ETHOS.GeoKit'srequirements.ymlinto a newrequirements-combined.yml. ETHOS.GLAES ships a dedicatedrequirements-no-geokit.ymlthat intentionally omits the conda-forgegeokitpackage, so it does not shadow the editable ETHOS.GeoKit you install from source in step 5. -
Create the new environment with all conda-forge dependencies:
conda env create --file requirements-combined.yml -n glaes_dev_env
- Activate the environment:
conda activate glaes_dev_env
- 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...
- PV modules should not cover agricultural areas (because people need to eat)
- PV modules should not be within 200 meters of a major roadway (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
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:
-
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:
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).
Owner metadata
- Name: Forschungszentrum Jülich - Jülich Systems Analysis
- Login: FZJ-IEK3-VSA
- Email:
- Kind: organization
- Description: Institute of Climate and Energy Systems (ICE)
- Website: https://www.fz-juelich.de/iek/iek-3/EN/Home/home_node.html
- Location: Forschungszentrum Jülich
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/28654423?v=4
- Repositories: 16
- Last ynced at: 2024-12-23T04:12:17.721Z
- Profile URL: https://github.com/FZJ-IEK3-VSA
GitHub Events
Total
- Release event: 1
- Delete event: 4
- Member event: 3
- Pull request event: 13
- Fork event: 1
- Issues event: 99
- Watch event: 7
- Issue comment event: 76
- Push event: 78
- Pull request review comment event: 1
- Pull request review event: 1
- Create event: 8
Last Year
- Delete event: 1
- Pull request event: 9
- Fork event: 1
- Issues event: 28
- Watch event: 2
- Issue comment event: 35
- Push event: 69
- Pull request review comment event: 1
- Pull request review event: 1
- Create event: 6
Committers metadata
Last synced: 3 days ago
Total Commits: 398
Total Committers: 19
Avg Commits per committer: 20.947
Development Distribution Score (DDS): 0.802
Commits in past year: 99
Committers in past year: 7
Avg Commits per committer in past year: 14.143
Development Distribution Score (DDS) in past year: 0.545
| Name | Commits | |
|---|---|---|
| Christoph Winkler | c****r@f****e | 79 |
| Stanley | s****h@f****e | 63 |
| Severin Ryberg | S****9@G****m | 61 |
| Severin | s****g@f****e | 54 |
| j.belina | j****a@f****e | 45 |
| t.pelser | t****r@f****e | 38 |
| julian-belina | 5****a | 17 |
| j.mutke | j****e@f****e | 11 |
| Sev | y****u@e****m | 6 |
| David Franzmann | d****n@f****e | 6 |
| Junsong Du | j****u@1****m | 4 |
| Shitab Ishmam | s****m@f****e | 4 |
| Julia Hoff | j****f@f****e | 2 |
| Tanja Cronenberg | t****g@f****e | 2 |
| s.kebrich | s****h@f****e | 2 |
| Julian Schönau | 6****e | 1 |
| noah80 | n****0 | 1 |
| Dilara Gulcin Caglayan | d****n@f****e | 1 |
| ra.maier | r****r@f****e | 1 |
Committer domains:
- fz-juelich.de: 13
- 163.com: 1
Issue and Pull Request metadata
Last synced: 3 days ago
Total issues: 115
Total pull requests: 26
Average time to close issues: 3 months
Average time to close pull requests: 27 days
Total issue authors: 11
Total pull request authors: 10
Average comments per issue: 0.93
Average comments per pull request: 0.27
Merged pull request: 17
Bot issues: 0
Bot pull requests: 0
Past year issues: 21
Past year pull requests: 9
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 20 days
Past year issue authors: 4
Past year pull request authors: 5
Past year average comments per issue: 0.86
Past year average comments per pull request: 0.22
Past year merged pull request: 6
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- julian-belina (83)
- chrisjwin (12)
- t-cronenberg (6)
- tpelser (5)
- sevberg (2)
- swifmaneum (2)
- shitabishmam (1)
- samiyhanaqvi (1)
- MatteoF86 (1)
- euronion (1)
- fneum (1)
Top Pull Request Authors
- tpelser (12)
- julian-belina (5)
- OfficialCodexplosive (2)
- jmutke (1)
- t-cronenberg (1)
- sevberg (1)
- coroa (1)
- Dhatri-V (1)
- chrisjwin (1)
- noah80 (1)
Top Issue Labels
- next hackathon (32)
- glaes beginner (19)
- bug (13)
- coding advanced (13)
- Glaes Advanced (10)
- High priority (10)
- Middle priority (9)
- Low priority (9)
- discussion needed (9)
- Coding beginner (8)
- enhancement (5)
- new feature (3)
- coding intermediate (2)
- good first issue (2)
- check status (2)
- TODO (1)
- Further clarification required (1)
Top Pull Request Labels
Package metadata
- Total packages: 3
-
Total downloads:
- conda: 6,756 total
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 29
proxy.golang.org: github.com/FZJ-IEK3-VSA/glaes
- Homepage:
- Documentation: https://pkg.go.dev/github.com/FZJ-IEK3-VSA/glaes#section-documentation
- Licenses: mit
- Latest release: v1.3.0 (published over 1 year ago)
- Last Synced: 2026-08-11T17:31:01.744Z (2 days ago)
- Versions: 14
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.999%
- Average: 8.173%
- Dependent repos count: 9.346%
proxy.golang.org: github.com/fzj-iek3-vsa/glaes
- Homepage:
- Documentation: https://pkg.go.dev/github.com/fzj-iek3-vsa/glaes#section-documentation
- Licenses: mit
- Latest release: v1.3.0 (published over 1 year ago)
- Last Synced: 2026-08-11T17:30:54.731Z (2 days ago)
- Versions: 14
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.999%
- Average: 8.173%
- Dependent repos count: 9.346%
conda-forge.org: glaes
- Homepage: https://github.com/FZJ-IEK3-VSA/glaes
- Licenses: MIT
- Latest release: 1.1.6 (published almost 4 years ago)
- Last Synced: 2026-08-08T06:10:21.994Z (5 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 6,756 Total
-
Rankings:
- Dependent repos count: 34.025%
- Forks count: 36.701%
- Average: 40.97%
- Stargazers count: 41.977%
- Dependent packages count: 51.175%
Dependencies
- sevberg/geokit latest build
- actions/checkout v5 composite
- conda-incubator/setup-miniconda v3 composite
- vegardit/gha-setup-yq v1 composite
- actions/checkout v5 composite
- conda-incubator/setup-miniconda v3 composite
- vegardit/gha-setup-yq v1 composite
- actions/checkout v4 composite
- actions/checkout v4 composite
Score: 16.387598070378402