pvlib.irradiance.haydavies#
- pvlib.irradiance.haydavies(surface_tilt, surface_azimuth, dhi, dni, dni_extra, solar_zenith=None, solar_azimuth=None, projection_ratio=None, return_components=False)[source]#
Determine diffuse irradiance from the sky on a tilted surface using the Hay and Davies (1980) model.
The Hay and Davies model determines the diffuse irradiance from the sky (ground reflected irradiance is not included in this algorithm) on a tilted surface using the surface tilt angle, surface azimuth angle, diffuse horizontal irradiance, direct normal irradiance, extraterrestrial irradiance, sun zenith angle, and sun azimuth angle.
- Parameters:
surface_tilt (numeric) – Panel tilt from the horizontal, in decimal degrees, see surface_tilt.
surface_azimuth (numeric) – Surface azimuth angles in decimal degrees. The azimuth convention is defined as degrees east of north (e.g. North=0, South=180, East=90, West=270).
dhi (numeric) – Diffuse horizontal irradiance. [Wm⁻²]
dni (numeric) – Direct normal irradiance, see dni. [Wm⁻²]
dni_extra (numeric) – Extraterrestrial normal irradiance. [Wm⁻²]
solar_zenith (numeric, optional) – Solar apparent (refraction-corrected) zenith angles in decimal degrees. Must supply
solar_zenith
andsolar_azimuth
or supplyprojection_ratio
.solar_azimuth (numeric, optional) – Solar azimuth angles in decimal degrees. Must supply
solar_zenith
andsolar_azimuth
or supplyprojection_ratio
.projection_ratio (numeric, optional) – Ratio of angle of incidence projection to solar zenith angle projection. Must supply
solar_zenith
andsolar_azimuth
or supplyprojection_ratio
.return_components (bool, default False) – If False,
sky_diffuse
is returned. If True,diffuse_components
is returned.
- Returns:
numeric, OrderedDict, or DataFrame – Return type controlled by
return_components
argument. If False,sky_diffuse
is returned. If True,diffuse_components
is returned.sky_diffuse (numeric) – The sky diffuse component of the solar radiation on a tilted surface.
diffuse_components (OrderedDict (array input) or DataFrame (Series input)) –
- Keys/columns are:
sky_diffuse: Total sky diffuse
isotropic
circumsolar
horizon
Notes
In the Hay and Davies (1980) model [1] [2], sky diffuse irradiance, \(I_d\), is as follows:
\[I_{d} = DHI \left( A\cdot R_b + (1 - A) \left(\frac{ 1 + \cos\beta}{2}\right ) \right ).\]\(DHI\) is the diffuse horizontal irradiance, \(A\) is the anisotropy index, which is the ratio of the direct normal irradiance to the extraterrestrial irradiation, \(R_b\) is the projection ratio, which is defined as the ratio of the cosine of the angle of incidence (AOI) to the cosine of the zenith angle, and finally \(\beta\) is the tilt angle of the array.
If supplying
projection_ratio
, consider constraining its values when the zenith angle approaches 90 degrees or the AOI projection is negative. See code for details.References