This core capability project’s objective is to increase the value of photovoltaic (PV) performance models by improving their functionality, demonstrating, and quantifying their validity, and offering a wide range of stakeholder engagement opportunities. In FY22-24, we developed new and improved modeling algorithms and functions to represent PV performance more accurately in a variety of environments and conditions. The “Model parameter toolkit” was developed and includes functions to translate between different module temperature models, incidence angle modifier models, and single-diode models. A new modeling capability named “PV Atlas” was also developed leveraging Sandia’s High Performance Computing resources. This capability allows us to investigate several questions and provide climate-specific best practices and geographic data files; all these are hosted on an interactive website on Sandia’s GitHub and can be used for training, system optimization, or to provide best practices for uncertainty reduction. For model validation, we published high-quality PV performance, and weather data; these data are well documented, filtered, and processed for quality and include examples on how to run PV simulations. We also developed well documented, standardized methods for validating PV models and ran independent model validation and 2 blind modeling intercomparisons engaging with 49 organizations from 17 countries. We co-led and contributed to a growing, well documented and maintained suite of open-source functions for PV modeling (i.e., the pvlib-python) and we outreached to the PV modeling stakeholders via the PVPMC workshops and web resources. In addition, this project supported US representation and leadership for the International Energy Agency (IEA) PVPS Task 13; specifically, members of our team led and supported 3 subtasks on: 1) Best practices for the optimization of bifacial photovoltaic tracking, 2) Extreme weather events and their multiple impact on PV power plants: Risks, failure mechanisms and mitigation strategies, and 3) Best practice guidelines for the use of economic and technical Key Performance Indicators (KPIs). This project resulted in the publications of 14 peer reviewed journal papers, 37 conference presentations, 6 SAND reports, 5 public datasets and 6 new webpages on the PVPMC website. It supported the release of 13 pvlib-python versions where 28 enhancements were from this PV Performance Modeling project. We co-organized 5 PVPMC workshops in FY22-24 with the participation of 214 unique institutions and around 700 participants. The PVPMC website was redesigned, and its reliability was improved; it receives over 50,000 visitors/year from 202 unique countries.
At the 2024 Photovoltaic (PV) Performance Modeling Workshop we collected user stories related to PV system monitoring, analytics, and operations and maintenance (O&M). In this context, user stories describe challenges with current practices and tools or imagining opportunities for improvements. From these user stories, we identified several near-term opportunities to improve photovoltaic system monitoring, analytics and O&M.
Single-axis solar trackers are typically simulated under the assumption that all modules on a given section of torque tube are at a single orientation. In reality, various mechanical effects can cause twisting along the torque tube length, creating variation in module orientation along the row. Simulation of the impact of this on photovoltaic system performance reveals that the performance loss resulting from torque tube twisting is significant at twists as small as fractions of a degree per module. The magnitude of the loss depends strongly on the design of the photovoltaic module, but does not vary significantly across climates. Additionally, simple tracker control setting tweaks were found to substantially reduce the loss for certain types of twist.
We outline a uniform taxonomy for photovoltaic (PV) system operations and maintenance (O&M) data. For example, such data include time-series of power, voltage, and meteorological measurements, records of instrument cleaning and calibration, records of O&M-related activities such as inspections, and records of events such as device failures. The described taxonomy provides structured models for all these data using consistent terms and classifications. A uniform taxonomy is enables analytics spanning across systems and portfolios of systems.
We outline a uniform taxonomy for photovoltaic (PV) system operations and maintenance (O&M) data. For example, such data include time-series of power, voltage, and meteorological measurements, records of instrument cleaning and calibration, records of O&M-related activities such as inspections, and records of events such as device failures. The described taxonomy provides structured models for all these data using consistent terms and classifications. A uniform taxonomy is enables analytics spanning across systems and portfolios of systems.
Single-axis solar trackers are typically simulated under the assumption that all modules on a given section of torque tube are at a single orientation. In reality, various mechanical effects can cause twisting along the torque tube length, creating variation in module orientation along the row. Simulation of the impact of this on photovoltaic system performance reveals that the performance loss resulting from torque tube twisting is significant at twists as small as fractions of a degree per module. The magnitude of the loss depends strongly on the design of the photovoltaic module, but does not vary significantly across climates. Additionally, simple tracker control setting tweaks were found to substantially reduce the loss for certain types of twist.
pvlib python is a community-developed, open-source software toolbox for simulating the performance of solar photovoltaic (PV) energy components and systems. It provides reference implementations of over 100 empirical and physics-based models from the peer-reviewed scientific literature, including solar position algorithms, irradiance models, thermal models, and PV electrical models. In addition to individual low-level model implementations, pvlib python provides high-level workflows that chain these models together like building blocks to form complete “weather-to-power” photovoltaic system models. It also provides functions to fetch and import a wide variety of weather datasets useful for PV modeling. pvlib python has been developed since 2013 and follows modern best practices for open-source python software, with comprehensive automated testing, standards-based packaging, and semantic versioning. Its source code is developed openly on GitHub and releases are distributed via the Python Package Index (PyPI) and the conda-forge repository. pvlib python’s source code is made freely available under the permissive BSD-3 license. Here we (the project’s core developers) present an update on pvlib python, describing capability and community development since our 2018 publication (Holmgren, Hansen, & Mikofski, 2018).
Access to accurate solar resource data is critical for numerous applications, including estimating the yield of solar energy systems, developing radiation models, and validating irradiance datasets. However, lack of standardization in data formats and access interfaces across providers constitutes a major barrier to entry for new users. pvlib python's iotools subpackage aims to solve this issue by providing standardized Python functions for reading local files and retrieving data from external providers. All functions follow a uniform pattern and return convenient data outputs, allowing users to seamlessly switch between data providers and explore alternative datasets. The pvlib package is community-developed on GitHub: https://github.com/pvlib/pvlib-python. As of pvlib python version 0.9.5, the iotools subpackage supports 12 different datasets, including ground measurement, reanalysis, and satellite-derived irradiance data. The supported ground measurement networks include the Baseline Surface Radiation Network (BSRN), NREL MIDC, SRML, SOLRAD, SURFRAD, and the US Climate Reference Network (CRN). Additionally, satellite-derived and reanalysis irradiance data from the following sources are supported: PVGIS (SARAH & ERA5), NSRDB PSM3, and CAMS Radiation Service (including McClear clear-sky irradiance).
We present methods to estimate parameters for models for the incidence angle modifier for simulating irradiance on a photovoltaic array. The incidence angle modifier quantifies the fraction of direct irradiance that is reflected away at the array’s face, as a function of the direct irradiance’s angle of incidence. Parameters can be estimated from data and the fitting method can be used to convert between models. We show that the model conversion procedure results in models that produce similar annual insolation on a fixed plane.
A method is presented to detect clear-sky periods for plane-of-array, time-averaged irradiance data that is based on the algorithm originally described by Reno and Hansen. We show this new method improves the state-of-the-art by providing accurate detection at longer data intervals, and by detecting clear periods in plane-of-array data, which is novel. We illustrate how accurate determination of clear-sky conditions helps to eliminate data noise and bias in the assessment of long-term performance of PV plants.
We propose a set of benchmark tests for current-voltage (IV) curve fitting algorithms. Benchmark tests enable transparent and repeatable comparisons among algorithms, allowing for measuring algorithm improvement over time. An absence of such tests contributes to the proliferation of fitting methods and inhibits achieving consensus on best practices. Benchmarks include simulated curves with known parameter solutions, with and without simulated measurement error. We implement the reference tests on an automated scoring platform and invite algorithm submissions in an open competition for accurate and performant algorithms.