pvlib.irradiance.ghi_from_poa_driesse_2023(surface_tilt, surface_azimuth, solar_zenith, solar_azimuth, poa_global, dni_extra=None, airmass=None, albedo=0.25, xtol=0.01, full_output=False)[source]#

Estimate global horizontal irradiance (GHI) from global plane-of-array (POA) irradiance. This reverse transposition algorithm uses a bisection search together with the continuous Perez-Driesse transposition and continuous Erbs-Driesse decomposition models, as described in 1.

  • surface_tilt (numeric) – Panel tilt from horizontal. [degree]

  • surface_azimuth (numeric) – Panel azimuth from north. [degree]

  • solar_zenith (numeric) – Solar zenith angle. [degree]

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

  • poa_global (numeric) – Plane-of-array global irradiance, aka global tilted irradiance. [W/m^2]

  • dni_extra (None or numeric, default None) – Extraterrestrial direct normal irradiance. [W/m^2]

  • airmass (None or numeric, default None) – Relative airmass (not adjusted for pressure). [unitless]

  • albedo (numeric, default 0.25) – Ground surface albedo. [unitless]

  • xtol (numeric, default 0.01) – Convergence criterion. The estimated GHI will be within xtol of the true value. Must be positive. [W/m^2]

  • full_output (boolean, default False) – If full_output is False, only ghi is returned, otherwise the return value is (ghi, converged, niter). (see Returns section for details).


  • ghi (numeric) – Estimated GHI. [W/m^2]

  • converged (boolean, optional) – Present if full_output=True. Indicates which elements converged successfully.

  • niter (integer, optional) – Present if full_output=True. Indicates how many bisection iterations were done.


Since scipy.optimize.bisect() is not vectorized, high-resolution time series can be quite slow to process.



Driesse, A., Jensen, A., Perez, R., 2024. A Continuous form of the Perez diffuse sky model for forward and reverse transposition. Solar Energy vol. 267. DOI: 10.1016/j.solener.2023.112093

Examples using pvlib.irradiance.ghi_from_poa_driesse_2023#

Reverse transposition using one year of hourly data

Reverse transposition using one year of hourly data

Reverse transposition limitations

Reverse transposition limitations