pvanalytics.features.orientation.fixed_nrel(power_or_irradiance, daytime, r2_min=0.94, min_hours=5, peak_min=None)#

Flag days that match the profile of a fixed PV system on a sunny day.

This algorithm relies on the observation that the power profile of a fixed tilt PV system often resembles a quadratic polynomial on a sunny day, with a single peak when the sun is near the system azimuth.

A day is marked True when the \(r^2\) for a quadratic fit to the power data is greater than r2_min.

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

  • daytime (Series) – Boolean series with True for times that are during the day. For best results this mask should exclude early morning and evening as well as night. Data at these times may have problems with shadows that interfere with curve fitting.

  • r2_min (float, default 0.94) – Minimum \(r^2\) of a quadratic fit for a day to be marked True.

  • min_hours (float, default 5.0) – Minimum number of hours with data to attempt a fit on a day.

  • peak_min (float, default None) – The maximum power_or_irradiance value for a day must be greater than peak_min for a fit to be attempted. If the maximum for a day is less than peak_min then the day will be marked False.


True for values on days where power_or_irradiance matches the expected parabolic profile for a fixed PV system on a sunny day.

Return type



This algorithm is based on the PVFleets QA Analysis project. Copyright (c) 2020 Alliance for Sustainable Energy, LLC.

Examples using pvanalytics.features.orientation.fixed_nrel#

Flag Sunny Days for a Fixed-Tilt System

Flag Sunny Days for a Fixed-Tilt System