Open Source Tools for PV Modeling

Solar power researchers and engineers are developing a growing number of open source software tools for energy modeling. This website aims to catalog these tools.

Please see the companion paper in the Proceedings of the WCPEC-7 (2018).

Also see the companion presentation at the 10th PVPMC Workshop and 2018 Systems Symposium, plus additional talks on open source PV software from DOE, NREL, and Sandia.

We welcome your contributions to this archive! To contribute or update information on a tool, please submit a pull request to the openpvtools GitHub repository.

Table of Open Source PV Tools. A * denotes that the project is under active development.
Name Purpose Years developed Documentation Website Development Website Primary Language License
PVLib Matlab General purpose PV modeling 2012? - * pvpmc.sandia.gov github.com/sandialabs/MATLAB_PV_LIB Matlab BSD 3
PVLib Python General purpose PV modeling 2013 - * pvlib-python.readthedocs.io github.com/pvlib/pvlib-python Python BSD 3
System Advisor Model Desktop app for PV, wind, CSP modeling, financial 2004 - * sam.nrel.gov github.com/NREL/SAM C++ Mixed MIT/GPL 3
ssc Compute modules for SAM 2004 - * sam.nrel.gov github.com/nrel/ssc C, C++ Mixed MIT/GPL 3
rdtools PV degradation 2017 - * github.com/NREL/rdtools github.com/NREL/rdtools Python MIT
PVFree API for obtaining PV modeling parameters 2015 - * pvfree.herokuapp.com github.com/BreakingBytes/pvfree Python BSD 2
SolarUtils Python wrappers of C solar position and spectral decomposition 2016 github.com/SunPower/SolarUtils github.com/SunPower/SolarUtils Python BSD 3
Pecos Performance monitoring 2016 - * pecos.readthedocs.io github.com/sandialabs/pecos Python BSD 3
Solpy General purpose PV modeling 2011-2015 solpy.readthedocs.io github.com/nrcharles/solpy Python LGPL 2.1
PVMismatch IV curve calculator for mismatched cells 2012 - * sunpower.github.io/PVMismatch/ github.com/SunPower/PVMismatch Python BSD 3
photovoltaic General purpose PV modeling 2017 - * github.com/trautsned/photovoltaic github.com/trautsned/photovoltaic Python GPL 3
feedinlib PV timeseries modeling 2015 - * github.com/oemof/feedinlib github.com/oemof/feedinlib Python GPL 3
CASSYS PV system modeling 2015 - * github.com/CanadianSolar/CASSYS github.com/CanadianSolar/CASSYS Excel, C# BSD 3
Bifacial PV View Factor model Bifacial modeling 2017 - * github.com/NREL/bifacialvf github.com/NREL/bifacialvf Python Unknown

Please see the linked sections to the left for discussion, or click the Next button below.