PVRPM for SAM was originally developed by Sandia National Laboratories and National Renewable Energy Laboratory in SAM's LK scripting language. This feature was provided in SAM to give users with reliability data the ability to develop and run scenarios where the performance of the PV systems and their associated costs can be calculated with components that fail stochastically for more realistic modeling of these systems across their lifetimes. Funding for that version of the PVRPM model ended, leaving the model languishing. Fortunately, the Florida Solar Energy Center (FSEC), in collaboration with Sandia National Laboratories, has been able to build upon the initial implementation and create the next generation of PVRPM, moving the model into Python to enable bigger and better capabilities!
The pvrpm-python model is an iteration upon the logic behind the original PVRPM model. It uses SAM's Python interface to allow the entire program to run from the command line using Python instead of LK. This gives Python access to powerful data science and machine learning libraries to vastly improve PVRPM and add new features. The pvrpm-python model allows for stochastic modeling of multiple concurrent failure modes, repairs, and different monitoring methods to give a much more accurate simulation, alongside the ability to do studies on how monitoring and repair strategies affect LCOE. Each of these is represented by statistical distributions to give variability to the occurrence of these events, alongside thresholds that can require a certain number of failures before monitoring or repairs can occur. These features allow one to accurately model a PV system and conduct studies before building the system.
In addition to the features available in the original LK PVRPM, pvrpm-python has:
- Parallelized realizations
- 100× speedup to realization run time
- Multiple monitoring methods and distributions
- Concurrent failure modes
- Fractional failure modes
- More information in result files
- The ability to work on any OS with the latest PySAM version
- Command-line interface
- Expandable code base
- More distribution types
- Easier configuration management
- and much more!
The code is available to iterate upon, under the open-source license BSD 3-Clause.
How to install and use pvrpm-python:
pvrpm-python is installed using pip, a Python package manager. You can access the documentation here: https://pvrpm.readthedocs.io/en/latest/ that gives an overview of installing and using pvrpm-python, including examples.
The source code is available on GitHub at: https://github.com/FSEC-Photovoltaics/pvrpm-lcoe/, which contains information on installing the program. It also contains a pip wheel binary file to install manually.
Silva et al., (2022). PyPVRPM: Photovoltaic Reliability and Performance Model in Python. Journal of Open Source Software, 7(71), 4093, https://doi.org/10.21105/joss.04093
Freeman, Janine, Geoffrey T. Klise, Andy Walker, and Olga Labrova. 2018. Evaluating Energy Impacts and Costs from PV Component Failures: Preprint. Golden, CO: National Renewable Energy Laboratory. NREL/CP-6A20-72212. https://www.nrel.gov/docs/fy19osti/72212.pdf.
Feedback, comments, questions:
Any bugs, issues, or feature requests can be submitted under the issues tab on the GitHub repository linked above. The team at FSEC values any feedback and is excited to continually improve the model!
Previous version of PVRPM
Sandia National Laboratories (SNL) and National Renewable Energy Laboratory (NREL) have partnered to bring you this public Beta version of the PV Reliability Performance Model Version 2.0 (PV-RPM v2.0) that can be run from the LK scripting environment within SAM. This new feature is provided in SAM to allow users with reliability data the ability to develop and run scenarios where PV performance and costs are impacted from components that can fail stochastically.
The PV-RPM model was initially developed in 2010 by SNL as a proof-of-concept for better simulating the uncertainty when components experience faults or failures in a fielded PV system. As the events occur randomly, they can be represented as a probability distribution with specific parameters to define the severity of the event and when it may occur over a specific time-frame. Repairs or replacements are also represented with probability distributions, where the component remains in a failed state until the repair distribution is sampled and results in the component being returned to an operating state. In 2016, SNL partnered with NREL to move the PV-RPM algorithms from the proof-of-concept platform into SAM, via the LK scripting environment. Doing this allows users to see how the code works and gives them the ability to modify the code for their own purposes.
The code is available in SAM through an open-source license, with copyright asserted from the DOE Solar Energy Technologies Office on 12/16/2016. The copyright language can be found within each of the SAM LK script files.
For a link to a webinar introducing PVRPM and to other SAM photovoltaic webinars, see PV Videos.
An example of the type of analysis that can be completed using PVRPM can be found in:
Freeman, Klise, et al. Evaluating Energy Impacts and Costs from PV Component Failures. IEEE Photovoltaic Specialists Conference. June 2018.
To use the previous version of PVRPM:
Please download the zip file (ZIP 2.7 MB) and read the included user manual for instructions on how to use PV-RPM v2.0 Beta. The current Beta does NOT work with the latest version of SAM. Please download SAM version 2017.9.5 from the Downloads page to use PVRPM.
- This feature runs in Windows ONLY
- This feature is not maintained and is no longer supported by the SAM Support email address. Please upgrade to the FSEC version of the model and work with them on any questions, problems, or feature requests!