A collection of python functions to compute insolation over tilted surfaces or complex terrain.

Intensity of illumination on a DEM of the Pyrenees with an hypothetical sun at 315° azimuth and 35° elevation.

Python implementation

At github:

At pypi:

Full documentation at:


pip install insolation

If you plan to use the cast shadows algorithm, doshade function, do also:

pip install numba

R implementation

Code and documentation at:

Archived versions at CRAN

R insol is no longer maintained at CRAN, some Mozilla browsers under certain linux versions complained about the SSL certificate of a page hosting a GEOTiff for a "not run" example and CRAN was way too impatient and demanding to continue a friendly (and free) cooperation.

Installation R

curl  -o insol_1.2.2.tar.gz
R CMD install insol_1.2.2.tar.gz

Uses of insol (insolation)

The insolation code is based on the work listed in the references. The algorithms to evaluate the sun position relative to complex terrain or tilted surfaces are based on Corripio (2003). The package has been used in a wide range of studies, such as solar energy, glaciology, snow avalanches, hydrology, botany, forest management, agriculture, animal behaviour, apiculture or climatology. Some recent papers using insol /insolation are listed below, a more comprehensive list can be obtained from google scholar and other scientific publications databases.


The algorithms used in insol/insolation are based on the following publications:

slope & land use
Terrain slope in a mountain valley in the Cantabrian Mountains, Spain. The green mask shows areas under 12° of inclination, which match the areas occupied by grazing pastures.