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 11 hours ago
JSON representation

Repository metadata

Geospatial Land Availability for Energy Systems

README.md

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 workflow 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 for very specific considerations, while still maintaining a consistent application method between studies.

DOI

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 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.


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...
    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

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 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 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
dependencies:
  - conda-forge::glaes

However, we highly recommend that you install the package into a new, empty environment, as the dependencies of 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

GLAES is closely linked to GeoKit. If you intend to develop GLAES, it is also recommended to install 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. Copy all dependencies of both requirements-dev.yml files into a new requirements-combined.yml.

  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

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:


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-2028 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.

Acknowledgment

This work was supported by the Helmholtz Association under the Joint Initiative "Energy System 2050 – A Contribution of the Research Field Energy".


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 19 days ago

Total Commits: 362
Total Committers: 16
Avg Commits per committer: 22.625
Development Distribution Score (DDS): 0.782

Commits in past year: 68
Committers in past year: 4
Avg Commits per committer in past year: 17.0
Development Distribution Score (DDS) in past year: 0.603

Name Email 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
t.pelser t****r@f****e 38
j.belina j****a@f****e 27
julian-belina 5****a 14
David Franzmann d****n@f****e 6
Sev y****u@e****m 6
Shitab Ishmam s****m@f****e 4
Junsong Du j****u@1****m 4
s.kebrich s****h@f****e 2
ra.maier r****r@f****e 1
noah80 n****0 1
Julian Schönau 6****e 1
Dilara Gulcin Caglayan d****n@f****e 1

Committer domains:


Issue and Pull Request metadata

Last synced: about 1 month ago

Total issues: 111
Total pull requests: 23
Average time to close issues: 2 months
Average time to close pull requests: 27 days
Total issue authors: 11
Total pull request authors: 8
Average comments per issue: 0.88
Average comments per pull request: 0.22
Merged pull request: 15
Bot issues: 0
Bot pull requests: 0

Past year issues: 95
Past year pull requests: 6
Past year average time to close issues: 9 days
Past year average time to close pull requests: 15 days
Past year issue authors: 5
Past year pull request authors: 3
Past year average comments per issue: 0.67
Past year average comments per pull request: 0.0
Past year merged pull request: 4
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/fzj-iek3-vsa/glaes

Top Issue Authors

  • julian-belina (82)
  • chrisjwin (12)
  • tpelser (5)
  • t-cronenberg (3)
  • sevberg (2)
  • swifmaneum (2)
  • shitabishmam (1)
  • samiyhanaqvi (1)
  • MatteoF86 (1)
  • euronion (1)
  • fneum (1)

Top Pull Request Authors

  • tpelser (12)
  • julian-belina (4)
  • OfficialCodexplosive (2)
  • jmutke (1)
  • sevberg (1)
  • coroa (1)
  • chrisjwin (1)
  • noah80 (1)

Top Issue Labels

  • next hackathon (32)
  • glaes beginner (17)
  • bug (13)
  • coding advanced (13)
  • Glaes Advanced (10)
  • High priority (10)
  • Middle priority (9)
  • discussion needed (9)
  • Coding beginner (8)
  • Low priority (7)
  • enhancement (5)
  • new feature (3)
  • coding intermediate (2)
  • check status (2)
  • TODO (1)
  • Further clarification required (1)

Top Pull Request Labels


Package metadata

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 about 1 year ago)
  • Last Synced: 2026-05-25T22:04:25.311Z (19 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 about 1 year ago)
  • Last Synced: 2026-05-25T22:04:25.816Z (19 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 over 3 years ago)
  • Last Synced: 2026-04-01T13:28:44.216Z (2 months 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

Dockerfile docker
  • sevberg/geokit latest build
.github/workflows/test_pull_dev.yml actions
  • actions/checkout v5 composite
  • conda-incubator/setup-miniconda v3 composite
  • vegardit/gha-setup-yq v1 composite
.github/workflows/test_push.yml actions
  • actions/checkout v5 composite
  • conda-incubator/setup-miniconda v3 composite
  • vegardit/gha-setup-yq v1 composite
.github/workflows/test_push_master_gitlab.yml actions
  • actions/checkout v4 composite
pyproject.toml pypi
.github/workflows/test_push_develop_gitlab.yml actions
  • actions/checkout v4 composite

Score: 16.165485978670855