pvlib.irradiance.perez_driesse#

pvlib.irradiance.perez_driesse(surface_tilt, surface_azimuth, dhi, dni, dni_extra, solar_zenith, solar_azimuth, airmass=None, return_components=False)[source]#

Determine diffuse irradiance from the sky on a tilted surface using the continuous Perez-Driesse model.

The Perez-Driesse model [1] is a reformulation of the 1990 Perez model [2] that provides continuity of the function and of its first derivatives. This is achieved by replacing the look-up table of coefficients with quadratic splines.

Parameters:
  • surface_tilt (numeric) – Surface tilt angle. See surface_tilt. [°]

  • surface_azimuth (numeric) – Surface azimuth angle. See surface_azimuth. [°]

  • dhi (numeric) – Diffuse horizontal irradiance, must be >=0. [Wm⁻²]

  • dni (numeric) – Direct normal irradiance, must be >=0. [Wm⁻²]

  • dni_extra (numeric) – Extraterrestrial normal irradiance. [Wm⁻²]

  • solar_zenith (numeric) – apparent (refraction-corrected) zenith angle. [°]

  • solar_azimuth (numeric) – Solar azimuth angle. See solar_azimuth. [°]

  • airmass (numeric, optional) – Relative (not pressure-corrected) airmass values. If airmass is a DataFrame it must be of the same size as all other DataFrame inputs. AM must be >=0 (careful using the 1/cos(z) model of AM generation). [unitless]

  • return_components (bool (optional, default=False)) – Flag used to decide whether to return the calculated diffuse components or not.

Returns:

  • numeric, dict, or DataFrame – Return type controlled by return_components argument. If return_components=False, poa_sky_diffuse is returned. If return_components=True, diffuse_components is returned.

  • poa_sky_diffuse (numeric) – The sky diffuse component of irradiance on a tilted plane. [Wm⁻²]

  • diffuse_components (dict (array input) or DataFrame (Series input)) –

    Keys/columns are:
    • poa_sky_diffuse: The sky diffuse component of irradiance on a tilted plane. [Wm⁻²]

    • poa_isotropic: The portion of sky diffuse irradiance on a tilted plane from the isotropic sky dome. [Wm⁻²]

    • poa_circumsolar: The portion of sky diffuse irradiance on a tilted plane from the circumsolar region. [Wm⁻²]

    • poa_horizon: The portion of sky diffuse irradiance on a tilted plane from the horizon. [Wm⁻²]

Notes

The Perez-Driesse model can be considered a plug-in replacement for the 1990 Perez model using the 'allsitescomposite1990' coefficient set. Deviations between the two are very small, as demonstrated in [1]. Other coefficient sets are not supported because the 1990 set is based on the largest and most diverse set of empirical data.

References

Examples using pvlib.irradiance.perez_driesse#

Modelling shading losses in modules with bypass diodes

Modelling shading losses in modules with bypass diodes