Logo Lanfrica

dtieshuemck/solar-suitability-tool

Domaine:

environment and energygeospatial

Type de record:

softwaretools
Créateur:
dti
Hôte:
Africa Solar Energy Suitability Tool — 8-factor scoring model with interactive Streamlit map # Solar Energy Suitability Tool Interactive web application that evaluates ~5 000 global locations for utility-scale solar farm suitability using an 8-factor scoring model. ## Features - **8-factor scoring** -- Solar Irradiance, Terrain, Grid Proximity, Land Suitability, Temperature Penalty, Atmospheric Clarity, Water Availability, Country Risk - **Hard-constraint exclusion layer** -- automatically eliminates sites with steep slopes (>15 deg), extreme altitude (>3 000 m), permafrost, wetlands, water bodies, and dense urban zones - **Non-linear scoring curves** -- domain-informed piecewise/logarithmic functions instead of naive min-max normalization - **Multiplicative penalty system** -- catastrophically bad critical factors tank the overall score (not just reduce it linearly) - **Tier classification** -- Prime / Strong / Moderate / Marginal / Unsuitable - **Data confidence indicator** -- per-point quality score shown as marker opacity - **Interactive Folium map** -- click any point for detailed breakdown - **Radar chart + waterfall chart** -- visualize factor contributions on click - **Top 25 table** -- sortable, downloadable CSV export ## Quick Start ```bash cd solar-suitability-tool pip install -r requirements.txt streamlit run app.py ``` The app starts instantly with realistic synthetic data. No API keys required. ## Fetching Real Data Click **"Fetch Real NASA Data"** in the sidebar to pull actual 30-year climatology averages from the NASA POWER API and elevation from Open-Elevation. This takes approximately 30 minutes for ~5 000 grid points and caches the results to `data/raw_data.parquet`. ## Architecture ``` app.py Streamlit UI (map, sidebar, detail panel, top-N table) scoring.py 8 score_*() functions + composite scoring + penalties + tiers exclusions.py apply_exclusions(df) -- 7 hard constraints with reason codes data_pipeline.py Grid generation, API fetching, demo-data synthesis, caching land_classifier.py Land- …