pvlib.irradiance.erbs_driesse#

pvlib.irradiance.erbs_driesse(ghi, zenith, datetime_or_doy=None, dni_extra=None, min_cos_zenith=0.065, max_zenith=87)[source]#

Estimate DNI and DHI from GHI using the continuous Erbs-Driesse model.

The Erbs-Driesse model [1] is a reformulation of the original Erbs model [2] that provides continuity of the function and its first derivative at the two transition points.

\[DHI = DF \times GHI\]

DNI is then estimated as

\[DNI = (GHI - DHI)/\cos(Z)\]

where Z is the zenith angle.

Parameters:
  • ghi (numeric) – Global horizontal irradiance. [Wm⁻²]

  • zenith (numeric) – True (not refraction-corrected) zenith angles in decimal degrees.

  • datetime_or_doy (int, float, array or pd.DatetimeIndex, optional) – Day of year or array of days of year e.g. pd.DatetimeIndex.dayofyear, or pd.DatetimeIndex. Either datetime_or_doy or dni_extra must be provided.

  • dni_extra (numeric, optional) – Extraterrestrial normal irradiance. dni_extra can be provided if available to avoid recalculating it inside this function. In this case datetime_or_doy is not required.

  • min_cos_zenith (numeric, default 0.065) – Minimum value of cos(zenith) to allow when calculating global clearness index kt. Equivalent to zenith = 86.273 degrees.

  • max_zenith (numeric, default 87) – Maximum value of zenith to allow in DNI calculation. DNI will be set to 0 for times with zenith values greater than max_zenith.

Returns:

data (OrderedDict or DataFrame) – Contains the following keys/columns:

  • dni: the modeled direct normal irradiance. [Wm⁻²]

  • dhi: the modeled diffuse horizontal irradiance in Wm⁻².

  • kt: Ratio of global to extraterrestrial irradiance on a horizontal plane.

Raises:

ValueError – If neither datetime_or_doy nor dni_extra is provided.

Notes

The diffuse fraction DHI/GHI of the Erbs-Driesse model deviates from the original Erbs model by less than 0.0005.

References

Examples using pvlib.irradiance.erbs_driesse#

Reverse transposition limitations

Reverse transposition limitations