Skip to main content

Terrain-aware solar illumination modeling using DEMs and orbital sun geometry.

Project description

solshade is a Python toolkit for simulating solar radiation across landscapes, accounting for terrain shadows, solar angles, and orbital geometry. It’s designed for interdisciplinary research at the intersection of astronomy, glaciology, botany, and geology.


What does solshade do?

  • Computes per-pixel solar exposure over time from a DEM
  • Generates terrain-aware horizon maps to determine shadowing
  • Uses precise solar ephemerides (via Skyfield)
  • Calculates:
    • Total annual insolation
    • Date of maximum sunlight
    • Mean solar incidence angle
    • Terrain shading based on real orbital paths

Example Applications

  • Modeling plant growing seasons across topography
  • Studying microhabitats in extreme environments
  • Predicting snowmelt timing in complex terrain
  • Understanding glacial melt and shadowed regions

Project Status

This project is in early development.
Expect breaking changes, experiments, and rapid iteration.


License

MIT License — see LICENSE file.


Acknowledgments

Inspired by many interesting conversations with Anna O'Flynn, Anthony Zerafa & Chris Omelon at the McGill Arctic Research Station (MARS) on Axel Heiberg Island, 2025.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

solshade-0.1.0.tar.gz (31.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

solshade-0.1.0-py3-none-any.whl (33.5 kB view details)

Uploaded Python 3

File details

Details for the file solshade-0.1.0.tar.gz.

File metadata

  • Download URL: solshade-0.1.0.tar.gz
  • Upload date:
  • Size: 31.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for solshade-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8c50b43db05ac9c8a38422f5f2ac63d5a517573cc228f7858a9d3c2223b980a4
MD5 5ff434318ed2ad719b27e47bb8832d1a
BLAKE2b-256 db3fa48ae23f8bf687dbeefe074f58ed6b35c377d5e874996c5e7b9eaf1e2bff

See more details on using hashes here.

File details

Details for the file solshade-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: solshade-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 33.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for solshade-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ecd82e1e0fd1862315f910dad2e42dd91f16aebc74bb93b1d3a8901d1cd8669f
MD5 632647c9269c1bc6224737896d972075
BLAKE2b-256 0846a7fe58f755de20e04be356936d35ba0f0f45e48a564cc296685f62e4548d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page