pvlib.irradiance.get_ground_diffuse(surface_tilt, ghi, albedo=0.25, surface_type=None)[source]#

Estimate diffuse irradiance from ground reflections given irradiance, albedo, and surface tilt.

Function to determine the portion of irradiance on a tilted surface due to ground reflections. Any of the inputs may be DataFrames or scalars.

  • surface_tilt (numeric) – Surface tilt angles in decimal degrees. Tilt must be >=0 and <=180. The tilt angle is defined as degrees from horizontal (e.g. surface facing up = 0, surface facing horizon = 90).

  • ghi (numeric) – Global horizontal irradiance. [W/m^2]

  • albedo (numeric, default 0.25) – Ground reflectance, typically 0.1-0.4 for surfaces on Earth (land), may increase over snow, ice, etc. May also be known as the reflection coefficient. Must be >=0 and <=1. Will be overridden if surface_type is supplied.

  • surface_type (None or string, default None) – If not None, overrides albedo. String can be one of ‘urban’, ‘grass’, ‘fresh grass’, ‘snow’, ‘fresh snow’, ‘asphalt’, ‘concrete’, ‘aluminum’, ‘copper’, ‘fresh steel’, ‘dirty steel’, ‘sea’.


grounddiffuse (numeric) – Ground reflected irradiance. [W/m^2]



Loutzenhiser P.G. et. al. “Empirical validation of models to compute solar irradiance on inclined surfaces for building energy simulation” 2007, Solar Energy vol. 81. pp. 254-267.

The calculation is the last term of equations 3, 4, 7, 8, 10, 11, and 12.


albedos from: http://files.pvsyst.com/help/albedo.htm and http://en.wikipedia.org/wiki/Albedo and https://doi.org/10.1175/1520-0469(1972)029<0959:AOTSS>2.0.CO;2