Calculating PV Degradation Rates Using Open-Source Software

Got sensor drift, inverter clipping or data shifts due to maintenance events? RdTools, a new freeware toolkit, can handle any of these scenarios. It calculates robust degradation rates despite common performance data quality challenges.

The degradation rate (Rd) quantifies the rate at which PV systems or modules lose performance over time. Rd values not only drive the results of long-term energy production estimates for financial projections and other studies, but also help provide consumers and investors with an indicator of PV system quality and durability. In conjunction with taking other quality assurance steps, project stakeholders can also use the Rd to guide product selection and determine whether PV products or installations meet warranty terms. Accurate Rd data are therefore essential to the solar industry’s long-term success.

Here we provide an introduction to RdTools, a free and publicly available software package intended to help users evaluate Rd more easily and quickly. One of the benefits of this open-source toolkit for calculating degradation rates is that it can accommodate common challenges associated with real-world performance data, including sensor drift, clipped power curves or data shifts due to maintenance events. Since accurate methods for calculating PV degradation rates are important for manufacturers, insurers, engineers, utilities, installers, investors, businesses and consumers alike, many solar industry stakeholders may find RdTools useful.

Developing RdTools

Like module efficiency, Rd values are expressed as a percentage. However, module efficiency and module degradation rates represent very different values. Rd is relative to a baseline of 100% initial production. As an example, if a 22% efficient module degrades linearly at a rate of -0.6%/year, then its efficiency after 25 years would be 18.9%. In RdTools and in this article, a degradation rate with a negative number indicates a decrease in production.

Scientists and industry experts have long sought ways to consistently calculate accurate PV degradation rates. This is a challenging undertaking for a number of reasons. First of all, to establish a reliable basis of comparison, you must  account for performance transients when establishing the 100% performance baseline. PV module performance stabilizes over a period of days or months, depending on cell technology, and it is important to use the post-stabilization value as the starting point for Rd calculations. Depending on the module technology and the project construction schedule, project stakeholders may be able to account for stabilization effects by simply waiting until after the completion of system commissioning activities to establish the 100% performance baseline value.

Additional challenges arise post-commissioning and -stabilization. Since degradation is not necessarily linear, it is necessary to run analyses that tolerate nonlinearity. More important, a number of scenarios can impact the quality of the data used to calculate Rd values. These complicating factors include highly variable weather, data outliers, poorly maintained sensors, seasonal soiling or shading, and data shifts from maintenance events.

To address these challenges, researchers at the National Renewable Energy Laboratory (NREL)—notably Michael Deceglie, Chris Deline, Dirk Jordan and Ambarish Nag—developed RdTools in collaboration with Greg Kimball from SunPower and Adam Shinn from kWh Analytics. In addition to being relatively accurate and easy to use, RdTools provides project stakeholders with a consensus methodology for calculating PV degradation rates in the real world. To estimate the Rd for a PV system with RdTools, users need ambient temperature data, irradiance data from a sensor or reference cell, and 2 or more years’ worth of granular (hourly or better) performance data.

The developers not only used Sandia National Laboratories’ open-source PVLIB modeling software (see Resources), but also turned to Python, a freely available scientific computing language, to write RdTools. Users can run RdTools on any computer that has the open-source Python programming language installed. Interested parties can access, download and customize RdTools via the software development platform GitHub (


Article Discussion

Related Articles