slope-exclusion
A Python tool for creating slope-based exclusion masks to support renewable energy planning.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.9%) to scientific vocabulary
Repository
A Python tool for creating slope-based exclusion masks to support renewable energy planning.
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
SlopeEXCL - Slope-based Exclusion
SlopeEXCL generates .tif files to exclude areas unsuitable for wind and solar energy placements based on slope thresholds.
- Wind Turbines: Applies a uniform slope threshold across all aspects.
- Solar Panels: Allows distinct thresholds for south-facing and north-east-west-facing slopes.
The generated .tif files can be integrated as exclusion layers in renewable energy planning tools like GLAES. For example, in Glaes:
python
ec.excludeRasterType(os.path.join(data_path, 'exclude_slope_pv.tif'), value=1, prewarp=True)
Getting Started
Download of files is indicated by 📋.
Code execution is indicated by 👉.
Set up Python and install the required dependencies (rasterio, numpy, scipy, os, argparse).
📋 This repository requires a 3-arc-second resolution Digital Elevation Model (DEM) from HydroSHEDS. Place the downloaded DEM in the data folder and rename to "fulLdem_".
Clip the DEM
DEMs for entire continents are often too large to process efficiently. To avoid excessive file sizes, clip the DEM to your area of interest (e.g., a country).
📋 You can download country boundary GeoJson files from opendatasoft based on their ISO3 code. Place the .geojson file in the data folder and rename to "countryboundary_".
👉 Clip the DEM to your country using the provided script:
bash
python clip_raster_to_boundary.py --raster data/full_dem.tif --boundary data/country_boundary.geojson --output data/dem.tif
How to Run
👉 Execute the script from the terminal:
bash
python exclude_slope.py --type [solar|wind|both] --solar-nea [value] --solar-s [value] --wind-thresh [value] --output [filename]
Example with custom values:
bash
python exclude_slope.py --type both --solar-nea 6.28 --solar-s 33 --wind-thresh 8.53 --output exclusion.tif
To use the default values, omit the optional arguments:
bash
python exclude_slope.py --type both
The script will then use:
- --solar-nea: 6.28 (degrees)
- --solar-s: 33 (degrees)
- --wind-thresh: 8.53 (degrees)
- --sigma: 1
- --output: exclusion.tif
Repository Structure
exclude_slope.py: Python script for generating exclusion files.exclude_slope.ipynb: Jupyter notebook for running the same code interactively.data: Directory for raw input filedem.tif.output: Directory where generated.tiffiles will be saved.
Owner
- Name: Climate Compatible Growth
- Login: ClimateCompatibleGrowth
- Kind: organization
- Location: United Kingdom
- Website: www.climatecompatiblegrowth.com
- Twitter: ResearchCcg
- Repositories: 41
- Profile: https://github.com/ClimateCompatibleGrowth
Citation (citation)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Schirren" given-names: "Lukas" orcid: "https://orcid.org/0009-0009-4317-5680" title: "Slope-Exclusion" date-released: 2025-02-01 url: "https://github.com/ClimateCompatibleGrowth/Slope-Exclusion"
GitHub Events
Total
- Push event: 8
Last Year
- Push event: 8