pvanalytics.system.infer_orientation_daily_peak(power_or_poa, sunny, tilts, azimuths, solar_azimuth, solar_zenith, ghi, dhi, dni)#

Determine system azimuth and tilt from power or POA using solar azimuth at the daily peak.

The time of the daily peak is estimated by fitting a quadratic to to the data for each day in power_or_poa and finding the vertex of the fit. A brute force search is performed on clearsky POA irradiance for all pairs of candidate azimuths and tilts (azimuths and tilts) to find the pair that results in the closest azimuth to the azimuths calculated at the peak times from the curve fitting step. Closest is determined by minimizing the sum of squared difference between the solar azimuth at the peak time in power_or_poa and the solar azimuth at maximum clearsky POA irradiance.

The accuracy of the tilt and azimuth returned by this function will vary with the time-resolution of the clearsky and solar position data. For the best accuracy pass solar_azimuth, solar_zenith, and the clearsky data (ghi, dhi, and dni) with one-minute timestamp spacing. If solar_azimuth has timestamp spacing less than one minute it will be resampled and interpolated to estimate azimuth at each minute of the day. Regardless of the timestamp spacing these parameters must cover the same days as power_or_poa.

  • power_or_poa (Series) – Timezone localized series of power or POA irradiance measurements.

  • sunny (Series) – Boolean series with True for values during clearsky conditions.

  • tilts (array-like) – Candidate tilts in degrees.

  • azimuths (array-like) – Candidate azimuths in degrees.

  • solar_azimuth (Series) – Time series of solar azimuth.

  • solar_zenith (Series) – Time series of solar zenith.

  • ghi (Series) – Clear sky GHI.

  • dhi (Series) – Clear sky DHI.

  • dni (Series) – Clear sky DNI.


  • azimuth (float)

  • tilt (float)


Based on PVFleets QA project.