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. Additionally, some national labs maintain their own software indexes: Sandia, NREL.

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 – 2018

https://pvpmc.sandia.gov

https://github.com/sandialabs/MATLAB_PV_LIB

Matlab

BSD 3

pvlib python

General purpose PV modeling

2013 – *

https://pvlib-python.readthedocs.io

https://github.com/pvlib/pvlib-python

Python

BSD 3

System Advisor Model (SAM)

Desktop app for PV, wind, CSP modeling, financial

2004 – *

https://sam.nrel.gov

https://github.com/NREL/SAM

C++

Mixed MIT/GPL 3

ssc

Compute modules for SAM

2004 – *

https://sam.nrel.gov

https://github.com/nrel/ssc

C, C++

Mixed MIT/GPL 3

RdTools

Technical analysis of PV timeseries data

2016 – *

https://rdtools.readthedocs.io

https://github.com/NREL/rdtools

Python

MIT

PVFree

API for obtaining PV modeling parameters

2015 – *

https://pvfree.azurewebsites.net

https://github.com/BreakingBytes/pvfree

Python

BSD 2

SolarUtils

Python wrappers of C solar position and spectral decomposition

2016

https://sunpower.github.io/SolarUtils/

https://github.com/SunPower/SolarUtils

Python

BSD 3

Pecos

Performance monitoring

2016 – *

https://pecos.readthedocs.io

https://github.com/sandialabs/pecos

Python

BSD 3

Solpy

General purpose PV modeling

2011 – 2015

https://solpy.readthedocs.io

https://github.com/nrcharles/solpy

Python

LGPL 2.1

PVMismatch

IV curve calculator for mismatched cells

2012 – *

https://sunpower.github.io/PVMismatch/

https://github.com/SunPower/PVMismatch

Python

BSD 3

photovoltaic

General purpose PV modeling

2017 – *

https://github.com/pvedu/photovoltaic

https://github.com/pvedu/photovoltaic

Python

GPL 3

feedinlib

PV timeseries modeling

2015 – *

https://feedinlib.readthedocs.io

https://github.com/oemof/feedinlib

Python

GPL 3

CASSYS

PV system modeling

2015 – *

https://github.com/CanadianSolar/CASSYS

https://github.com/CanadianSolar/CASSYS

Excel, C#

BSD 3

Bifacial PV View Factor model

Bifacial modeling

2017 – *

https://bifacialvf.readthedocs.io

https://github.com/NREL/bifacialvf

Python

BSD 3

solaR

General purpose PV modeling

2010 – *

https://jstatsoft.org/article/view/v050i09

https://github.com/oscarperpinan/solar

R

GPL 3

pvfactors

Diffuse shading and bifacial irradiance modeling

2016 – *

https://sunpower.github.io/pvfactors/

https://github.com/SunPower/pvfactors

Python

BSD 3

pvcaptest

Capacity testing per ASTM E2848

2017 – *

https://pvcaptest.readthedocs.io/

https://github.com/pvcaptest/pvcaptest

Python

MIT

SolarData

Accessing public solar datasets

2018 – 2021

https://github.com/dazhiyang/SolarData

https://github.com/dazhiyang/SolarData

R

GPL 2

SolCore

modelling solar cells and semiconductor materials

2017 – *

https://www.solcore.solar

https://github.com/qpv-research-group/solcore5

Python

LGPL 3

PVplr

analysis of Performance Loss Rates

2020 – *

https://doi.org/10.1109/PVSC45281.2020.9300807

https://cran.r-project.org/package=PVplr

R

BSD 3

PVAnalytics

PV data QA and analysis

2020 – *

https://pvanalytics.readthedocs.io

https://github.com/pvlib/pvanalytics

Python

MIT

twoaxistracking

Two-axis tracker shading

2021 – *

https://twoaxistracking.readthedocs.io

https://github.com/pvlib/twoaxistracking

Python

BSD 3

pvOps

Fusion of text-based data with PV production data

2021 – *

https://pvops.readthedocs.io

https://github.com/sandialabs/pvOps

Python

BSD 3

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