Function Repository Resource:

AverageAnnualSolarInsolation

Source Notebook

Get the average solar insolation based on a gridded dataset

Contributed by: Björn Zimmermann

ResourceFunction["AverageAnnualSolarInsolation"][]

gives the average annual solar insolation at $GeoLocation.

ResourceFunction["AverageAnnualSolarInsolation"][loc]

gives the average annual solar insolation at the geographic location loc.

ResourceFunction["AverageAnnualSolarInsolation"][GeoPosition[{lat,lon}]]

gives the average annual solar insolation at the position with latitude lat and longitude lon.

ResourceFunction["AverageAnnualSolarInsolation"][All]

gives the average annual solar insolation grid.

Details and Options

Solar insolation is a measure of how much sunlight is available at any particular location.
The rotation of the Earth around its axis is setting the diurnal daylight cycle. The rotation of the Earth around the Sun is causing an annual variations in daily possible sunlight hours due to the declination of the Earth's axis. Atmospheric processes like humidity circulation in the form of clouds etc are causing scattering and reflecting of the sunlight when passing through the atmosphere which does decrease the amount of energy which reaches the Earth's surface. Solar insolation is not uniform around the Earth therefore, but rather very dependent on the climatic conditions at a particular location.
Solar insolation is an important measure to understand weather and climate pattern as well as local plant growth pattern around the world. Is is also of particular importance for estimating the viability of energy production through solar panels at particular locations.
The Clouds and the Earth's Radiant Energy System (CERES) project provides satellite-based observations of Earth's radiation budget and clouds. It uses measurements from CERES instruments flying on several satellites along with data from many other instruments to generate a gridded solar insolation dataset, among other products.
The location loc can be specified as latitude and longitude {lat, lon}, GeoPosition[...], or as a named entity Entity[...].
For a specific location, AverageAnnualSolarInsolation returns by default a Quantity corresponding to the closest point in the underlying dataset.
The spatial resolution of the gridded dataset is 0.25° x 0.25°.

Examples

Basic Examples (2) 

Get average annual solar insolation at graticule:

In[1]:=
ResourceFunction["AverageAnnualSolarInsolation"][GeoPosition[{0, 0}]]
Out[1]=

Get average annual solar insolation at a location:

In[2]:=
ResourceFunction["AverageAnnualSolarInsolation"][
 Entity["City", {"Berlin", "Berlin", "Germany"}]]
Out[2]=

Scope (1) 

Plot the whole average solar insolation grid:

In[3]:=
insolColorPalette = Map[RGBColor, CompressedData["
1:eJxlmGePVVUUhif6B+y9xH+gsdf9FxR7T0z8LPZePvoRFXFERGKMMcYYOkOv
CgoIM5TpwwxTb51L7yB7rf2szTnrScjNfbhz7zn77L3evfYdr70x4/XL2tra
Llz8d/nFfz3dQmhL3CKsCe1Cj/PPC73mbxXWhpuEPuf7+wTn5/0Q6Td/m7Au
vCQMOK9/N+j80KBg/nZhfZgvDDn/qnDA+SuEYfP6fkOYKXjfuTvi/V3CiPlZ
wobw9VcR768SDjr/luD9nq5I9lcKG8Pdwqjzs7+JeH/0SCR7vb6N4SlhzPll
SyPeXyuMm9f72RTeFbzfvy/i/X3CRP5+YVOYI3h/4njE+2eFSfNXC5tDx4qI
9zr/J9PznxnwJ09E8F8Evv8BYcr554SpcIPwpfkPBD4/K3C/ur6mwjXCbPMr
OyJ8T7v5UycjU0HX4TzzNwoV8zyXB4VK+t0F5nX9VtLf/2z+Q6GSrueXwDyZ
+32kEq4TfjXf1xvx/vSpSCVd/2+Beav1oZpefzf/kFBN1/+H+ReEatB1/mdg
fc0VvF+9KlJN7xea1/pTTde3KLDez5yOVNM4LDZ/s1BL82CJ+ReFWhqfpeY/
FrKnLml9q6X1scz8mtWRWhq35eYH+iO1cL2wIlAnz56J1NJ4dph/RKg7r/Wz
nubFykDd/kSop/FfZX6eULf3vK5dE6nb9/KK5/7xgwORuj0/7uvc2Ujd5kex
njdsHhe/r2HrB/+o0Ej1bLM935eFi17YYv5ToZHG/y/z83+MNNL4/23Xi9fx
32p+3dpII7R/F9lq96G500jreJv58+cijTT+/9j60vtupvH/13mdd9vNPyY0
0zzabuP0itBMz22H+c+EZrqPnTZ+eP2d/8xrPjbT+O6yurd+XaQZFvwUyf7A
UKQZHhd223O4cD7STHnovY5Lp3n9vel0n51p3WwJynS6ny7zmtfTYYbQZc8Z
r3mY/efCdLruPfb89X6m03V4r7+3N8z5NnLJ5wXv9e/32TzC6+e81/f7U55d
8nnBe52H3TYf8ToPu20+4rUO9DjPPk7/f5t5nZ+9zmu977V5jWd/V/Zaj/ts
vuN1Pveb37A+Mm37Pv2d7LX+9dv6wLMfLHutNwPp97PXejDoPPtE1hle19OQ
8zrfh2z94dk/ap3cYX74gOD8ncKwrVc8+8qyX7QwMpzq4E7zh1oR79lvsu7x
bwreL14UGbF6gO/qjIykupD94UMR79m3Uj/wuk69Zz9LXcFrPfJ+yeLIwVS3
d5tn/1v2Rw5HDlp9wrMvLvsnhdFU57N/W/CefTR1Dr90ScT7vXsio1b/dH5Q
Z8acv0cYC08I2bMfL/t3hDGro3itV96zf9fnnP2+vRHv2ddTj/H3Ct4/LYxb
ncbTB5S91snx9PyzX74s4v3xY5Fxq/d4rasTztNPkAP4ZwTv3xMm0rzInv5D
n2f23fsjE5YbePoSfW7Zax2fTOOd/f3CpOUJ/n1hMo1r9lrfJ1MflT39DTmD
p7/R+86e/ob8wdPfkD94+hvtr7KnvyGX7DpTf0Mu4Xt7IlPp+7KnvyGv8PQ3
5BWe/obzCDz9DTmGp48hx/CrVkYqqd/Inv6GfMPT35BvePob7ROyp48h9/Af
CVXLPbvO1N+Qe3j6G82L7OljyEM8fQx5iH9YqKVcyJ7+hpwse3IST9/DOQue
vof8LHvyE08/pPXfe3IVT59EruLpk7TOe0/e4jWn6Veyp6/ifKfsyWE8/ZbW
8xHntW5z7tOyPox8xtOHFc+Jsief8fRh5DOePqx4rpQ9+YynPyueN2VPPuPp
z4rnUC3rz8jhstd6O2qevq14btWyvo0cLvvieVbL+jZyuOyL51wt6+fIYTz9
HDlc9uQtnj6PvC17chVPn3fsaMR7chVP/0eu4un/iudr2ZOfePq/4rlb9uSn
jVvqC4vncS3rC8nPsi+e07WsX1yxPOJ98fyuZf0iOVn2xXO9lvWR5CSePpKc
LHvyEE8fSR6WPXmIp78kD/H0PeRh2XOuh2efSB6WPbmHL+de2XN+h+eV3Psf
1EH5lw==
"]];
In[4]:=
col[x_] := Blend[insolColorPalette, x];
In[5]:=
ArrayPlot[ResourceFunction["AverageAnnualSolarInsolation"][All], ColorFunction -> col, PlotRangePadding -> None]
Out[5]=

Requirements

Wolfram Language 13.0 (December 2021) or above

Version History

  • 1.0.0 – 05 July 2023

Related Resources

License Information