Skip to content

JOSS-review: comparison to other tools #1912

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 15 commits into from
Nov 29, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 72 additions & 1 deletion paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,83 @@ @article{pvlibjoss2018

@inproceedings{Holmgren2018,
Author = {William F. Holmgren and Clifford W. Hansen and Joshua S. Stein and Mark A. Mikofski},
Booktitle = {IEEE 45th Photovoltaic Specialists Conference},
Booktitle = {45th Photovoltaic Specialists Conference},
Title = {Review of open source tools for PV modeling},
Year = {2018},
doi = {10.5281/zenodo.1401378}
}

@inproceedings{Andrews2014,
doi = {10.1109/pvsc.2014.6925501},
url = {https://doi.org/10.1109/pvsc.2014.6925501},
year = {2014},
month = jun,
publisher = {{IEEE}},
author = {Robert W. Andrews and Joshua S. Stein and Clifford Hansen and Daniel Riley},
title = {Introduction to the open source {PV} {LIB} for python Photovoltaic system modelling package},
booktitle = {40th Photovoltaic Specialist Conference}
}

@inproceedings{Mermoud1994,
title = {{PVSYST}: a user-friendly software for {PV}-systems simulation},
booktitle = {Twelfth European Photovoltaic Solar Energy Conference},
year = {1994},
author = {André Mermoud}
}

@inproceedings{Mikofski2018,
title = {Accurate Performance Predictions of Large PV Systems with Shading using Submodule Mismatch Calculation},
url = {http://dx.doi.org/10.1109/PVSC.2018.8547323},
DOI = {10.1109/pvsc.2018.8547323},
booktitle = {7th World Conference on Photovoltaic Energy Conversion (WCPEC)},
publisher = {IEEE},
author = {Mikofski, Mark A. and Lynn, Matthew and Byrne, James and Hamer, Mike and Neubert, Anja and Newmiller, Jeff},
year = {2018},
month = jun
}

@inproceedings{Passow2017,
title = {PlantPredict: Solar Performance Modeling Made Simple},
url = {http://dx.doi.org/10.1109/PVSC.2017.8366450},
DOI = {10.1109/pvsc.2017.8366450},
booktitle = {44th Photovoltaic Specialist Conference (PVSC)},
publisher = {IEEE},
author = {Passow, Kendra and Ngan, Lauren and Rich, Geoffrey and Lee, Mitch and Kaplan, Stephen},
year = {2017},
month = jun
}

@techreport{Gilman2018,
title = {SAM Photovoltaic Model Technical Reference 2016 Update},
url = {http://dx.doi.org/10.2172/1429291},
DOI = {10.2172/1429291},
institution = {Office of Scientific and Technical Information (OSTI)},
author = {Gilman, Paul and DiOrio, Nicholas A. and Freeman, Janine M. and Janzou, Steven and Dobos, Aron and Ryberg, David},
year = {2018},
month = mar
}

@misc{pysam,
doi = {10.11578/DC.20190903.1},
url = {https://www.osti.gov/doecode/biblio/29023},
author = {Gilman, Paul and Janzou, Steven and Guittet, Darice and Freeman, Janine and DiOrio, Nicholas and Blair, Nathan and Boyd, Matthew and Neises, Ty and Wagner, Michael},
language = {en},
title = {PySAM (Python Wrapper for System Advisor Model "SAM") [SWR-19-57]},
publisher = {National Renewable Energy Laboratory (NREL), Golden, CO (United States)},
year = {2019}
}

@inproceedings{Pai2016,
title = {Introducing CASSYS: An open-source software for simulation of grid-connected photovoltaic systems},
url = {http://dx.doi.org/10.1109/PVSC.2016.7749839},
DOI = {10.1109/pvsc.2016.7749839},
booktitle = {43rd Photovoltaic Specialists Conference},
publisher = {IEEE},
author = {Pai, Abhijeet and Thevenard, Didier},
year = {2016},
month = jun
}

@techreport{Augspurger2023,
author = {Tobias Augspurger and Eirini Malliaraki and Josh Hopkins and Dan Brown},
title = {The Open Source Sustainability Ecosystem},
Expand Down
26 changes: 20 additions & 6 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,26 +73,40 @@ of the global solar energy industry demands correspondingly more
capable models. Per the United States Department of Energy,
"the importance of accurate modeling is hard to overstate" [@seto2022].

Compared with other PV modeling tools, pvlib python stands out in several
Compared with other modern PV system modeling tools, pvlib python stands out in several
key aspects. One is its toolbox design, providing the user a
level of flexibility and customization beyond that of other tools. Rather than organizing
the user interface around pre-built modeling workflows, pvlib python
makes the individual "building blocks" of PV performance models accessible to
the user interface around pre-built modeling workflows as in other PV system
modeling tools (e.g. SAM [@Gilman2018], PVsyst [@Mermoud1994], SolarFarmer [@Mikofski2018],
PlantPredict [@Passow2017], and CASSYS [@Pai2016], to name a few software tools with
comparable breadth of PV system modeling capability), pvlib python
makes the individual "building blocks" of PV system performance models accessible to
the user. This allows the user to assemble their own model workflows, including
the ability of incorporating custom modeling steps. This flexibility
is essential for applications in both academia and industry.
is essential for applications in both academia and industry. To our knowledge,
the only other PV system modeling software with such a toolbox design is the
MATLAB version of pvlib [@Andrews2014], the code base from which pvlib python
was translated and since surpassed in capability and community uptake.

Another key aspect of pvlib python is that it is used via
a general-purpose programming language (Python), which
allows pvlib python functions to be combined with capabilities in other Python packages,
such as database query, data manipulation, numerical optimization,
plotting, and reporting packages.
plotting, and reporting packages. In contrast, most other PV system modeling
tools are used via some form of GUI. Some of these other tools are also accessible
from Python via web APIs or wrapper libraries (e.g. [@pysam]), but these
"black box" interfaces offer only limited ability to combine the PV models
with functionality from other Python packages.

A final key aspect of pvlib python is its open peer review approach and
foundation on published scientific research, allowing it to be developed by
a decentralized and diverse community of PV researchers and practitioners
without compromising its focus on transparent and reliable model
implementations.
implementations. This is in contrast to the inherent opaqueness of closed-source
commercial software, which prevents users from inspecting the source code
to ensure a model implementation's validity or traceability to a reference.
It is also in contrast to other open-source projects, which tend to be
be "walled garden" projects with few contributions from outside the host organization.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is pretty stark. Do you need examples of these? Your label implies that outside contributions are not wanted in these other projects, but it is also possible that they are wanted but just don't come.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I've revised this wording in the latest commit. Further improvements are very welcome!


These key aspects, along with sustained contributions from a passionate and
committed community, have led to pvlib python's widespread adoption across the PV
Expand Down