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. See surface_tilt. [°]
surface_azimuth (numeric) – Panel azimuth. See surface_azimuth. [°]
dhi (numeric) – Diffuse horizontal irradiance, see dhi. [Wm⁻²]
dni (numeric) – Direct normal irradiance, see dni. [Wm⁻²]
dni_extra (numeric) – Extraterrestrial normal irradiance, see dni_extra. [Wm⁻²]
solar_zenith (numeric, optional) – Solar apparent (refraction-corrected) zenith angles. Must supply
solar_zenith
andsolar_azimuth
, or supplyprojection_ratio
. [°]solar_azimuth (numeric, optional) – Solar azimuth angles. Must supply
solar_zenith
andsolar_azimuth
, or supplyprojection_ratio
. See solar_azimuth. [°]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. [Wm⁻²]
diffuse_components (OrderedDict (array input) or DataFrame (Series input)) –
- Keys/columns are:
sky_diffuse: Total sky diffuse
isotropic
circumsolar
horizon (always zero, not accounted for by the Hay-Davies model)
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