-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add manuscript files for 2023 JOSS publication (#1855)
* move 2018 files to subdirectory * initial files for 2023 manuscript * add joss build job * Apply suggestions from code review (@AdamRJensen) Co-authored-by: Adam R. Jensen <[email protected]> * Apply suggestions from code review (@cwhanse) Co-authored-by: Cliff Hansen <[email protected]> * typo and core developers * Apply suggestions from code review (@wholmgren) Co-authored-by: Will Holmgren <[email protected]> * 2015 -> 2013 * remove scripts * Apply suggestions from code review (@adriesse) Co-authored-by: Anton Driesse <[email protected]> * order authors by commit count since last paper https://github.com/pvlib/pvlib-python/graphs/contributors?from=2018-09-07&to=2023-09-18&type=c * s/foundation in/foundation on/ --------- Co-authored-by: Adam R. Jensen <[email protected]> Co-authored-by: Cliff Hansen <[email protected]> Co-authored-by: Will Holmgren <[email protected]> Co-authored-by: Anton Driesse <[email protected]> Co-authored-by: Mark Mikofski <[email protected]>
- Loading branch information
1 parent
cb4c135
commit 7fe065f
Showing
9 changed files
with
682 additions
and
200 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# temporary job to rebuild the PDF while coauthors review the manuscript. | ||
# TODO: delete before merging this PR | ||
|
||
on: [push] | ||
|
||
jobs: | ||
paper: | ||
runs-on: ubuntu-latest | ||
name: Paper Draft | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Build draft PDF | ||
uses: openjournals/openjournals-draft-action@master | ||
with: | ||
journal: joss | ||
# This should be the path to the paper within your repo. | ||
paper-path: paper/paper.md | ||
- name: Upload | ||
uses: actions/upload-artifact@v1 | ||
with: | ||
name: paper | ||
# This is the output path where Pandoc will write the compiled | ||
# PDF. Note, this should be the same directory as the input | ||
# paper.md | ||
path: paper/paper.pdf |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
@inproceedings{Andrews2014, | ||
Author = {R. W. Andrews and J. S. Stein and C. Hansen and D. Riley}, | ||
Booktitle = {2014 IEEE 40th Photovoltaic Specialist Conference (PVSC)}, | ||
doi = {10.1109/PVSC.2014.6925501}, | ||
Title = {Introduction to the open source PV LIB for python Photovoltaic system modelling package}, | ||
Year = {2014}} | ||
|
||
@online{DOESF2, | ||
author = {Department of Energy}, | ||
title = {Solar Forecasting 2}, | ||
year = 2018, | ||
url = {https://www.energy.gov/eere/solar/solar-forecasting-2}, | ||
urldate = {2018-08-02}} | ||
|
||
@article{Gagne2017, | ||
Author = {Gagne II, David John and McGovern, Amy and Haupt, Sue Ellen and Williams, John K.}, | ||
Journal = {Solar Energy}, | ||
Pages = {383- 393}, | ||
doi = {10.1016/j.solener.2017.04.031}, | ||
Title = {Evaluation of statistical learning configurations for gridded solar irradiance forecasting}, | ||
Volume = {150}, | ||
Year = {2017}} | ||
|
||
@inproceedings{Holmgren2015, | ||
Author = {W. F. Holmgren and R. W. Andrews and A. T. Lorenzo and J. S. Stein}, | ||
Booktitle = {2015 IEEE 42nd Photovoltaic Specialist Conference (PVSC)}, | ||
Month = {June}, | ||
Pages = {1-5}, | ||
Title = {PVLIB Python 2015}, | ||
Year = {2015}, | ||
doi = {10.1109/PVSC.2015.7356005}} | ||
|
||
@inproceedings{Holmgren2016, | ||
Author = {W. F. Holmgren and D. G. Groenendyk}, | ||
Booktitle = {2016 IEEE 43rd Photovoltaic Specialists Conference (PVSC)}, | ||
Month = {June}, | ||
Pages = {0972-0975}, | ||
Title = {An open source solar power forecasting tool using PVLIB-Python}, | ||
Year = {2016}, | ||
doi = {10.1109/PVSC.2016.7749755}} | ||
|
||
@inproceedings{Holmgren2017, | ||
Author = {William F. Holmgren and Antonio T. Lorenzo and Clifford Hansen}, | ||
Booktitle = {2017 IEEE 44th Photovoltaic Specialists Conference}, | ||
Title = {A Comparison of PV Power Forecasts Using PVLib-Python}, | ||
Year = {2017}, | ||
doi = {10.5281/zenodo.1400857}} | ||
|
||
@inproceedings{Holmgren2018, | ||
Author = {William F. Holmgren and Clifford W. Hansen and Joshua S. Stein and Mark A. Mikofski}, | ||
Booktitle = {2018 IEEE 45th Photovoltaic Specialists Conference}, | ||
Title = {Review of open source tools for PV modeling}, | ||
Year = {2018}, | ||
doi = {10.5281/zenodo.1401378}} | ||
|
||
@article{Louwen2017, | ||
Author = {Atse Louwen and Ruud E.I. Schropp and Wilfried G.J.H.M. van Sark and Andr{\'e} P.C. Faaij}, | ||
Journal = {Solar Energy}, | ||
Pages = {1339 - 1353}, | ||
Title = {Geospatial analysis of the energy yield and environmental footprint of different photovoltaic module technologies}, | ||
Volume = {155}, | ||
Year = {2017}, | ||
doi = {10.1016/j.solener.2017.07.056}} | ||
|
||
@inproceedings{Mikofski2016, | ||
Author = {M. Mikofski and A. Oumbe and C. Li and B. Bourne}, | ||
Booktitle = {2016 IEEE 43rd Photovoltaic Specialists Conference (PVSC)}, | ||
Month = {June}, | ||
Pages = {1357-1362}, | ||
Title = {Evaluation and correction of the impact of spectral variation of irradiance on PV performance}, | ||
Year = {2016}, | ||
doi = {10.1109/PVSC.2016.7749837}} | ||
|
||
@inproceedings{Mikofski2017, | ||
Author = {Mark A. Mikofski and Clifford W. Hansen and William F. Holmgren and Gregory M. Kimball}, | ||
Booktitle = {2017 IEEE 44th Photovoltaic Specialists Conference}, | ||
Title = {Use of Measured Aerosol Optical Depth and Precipitable Water to Model Clear Sky Irradiance}, | ||
Year = {2017}, | ||
doi = {10.5281/zenodo.1403238}} | ||
|
||
@article{Polo2016, | ||
Author = {J. Polo, S. Garcia-Bouhaben, M. C. Alonso-Garcia}, | ||
Journal = {Journal of Renewable and Sustainable Energy}, | ||
Title = {A comparative study of the impact of horizontal-to-tilted solar irradiance conversion in modelling small PV array performance}, | ||
Year = {2016}, | ||
doi = {10.1063/1.4964363}} | ||
|
||
@misc{pvlibZenodo, | ||
author = {pvlib python Contributors}, | ||
title = {pvlib python}, | ||
doi = {10.5281/zenodo.1246152}, | ||
howpublished = {\url{http://doi.org/10.5281/zenodo.1246152}}} | ||
|
||
@inproceedings{Stein2012, | ||
Author = {J. S. Stein}, | ||
Booktitle = {2012 38th IEEE Photovoltaic Specialists Conference}, | ||
Month = {June}, | ||
Pages = {003048-003052}, | ||
Title = {The photovoltaic Performance Modeling Collaborative (PVPMC)}, | ||
Year = {2012}, | ||
doi = {10.1109/PVSC.2012.6318225}} | ||
|
||
@inproceedings{Stein2016, | ||
Author = {J. S. Stein and W. F. Holmgren and J. Forbess and C. W. Hansen}, | ||
Booktitle = {2016 IEEE 43rd Photovoltaic Specialists Conference (PVSC)}, | ||
Month = {June}, | ||
Pages = {3425-3430}, | ||
Title = {PVLIB: Open source photovoltaic performance modeling functions for Matlab and Python}, | ||
Year = {2016}, | ||
doi = {10.1109/PVSC.2016.7750303}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
--- | ||
title: 'pvlib python: a python package for modeling solar energy systems' | ||
tags: | ||
- Python | ||
- solar energy | ||
- photovoltaics | ||
- renewable energy | ||
authors: | ||
- name: William F. Holmgren | ||
orcid: 0000-0001-6218-9767 | ||
affiliation: 1 | ||
- name: Clifford W. Hansen | ||
orcid: 0000-0002-8620-5378 | ||
affiliation: 2 | ||
- name: Mark A. Mikofski | ||
orcid: 0000-0001-8001-8582 | ||
affiliation: 3 | ||
affiliations: | ||
- name: Department of Hydrology and Atmospheric Sciences, University of Arizona | ||
index: 1 | ||
- name: Sandia National Laboratories | ||
index: 2 | ||
- name: DNV-GL | ||
index: 3 | ||
date: 2 August 2018 | ||
bibliography: paper.bib | ||
--- | ||
|
||
# Summary | ||
|
||
pvlib python is a community-supported open source tool that provides a | ||
set of functions and classes for simulating the performance of | ||
photovoltaic energy systems. pvlib python aims to provide reference | ||
implementations of models relevant to solar energy, including for | ||
example algorithms for solar position, clear sky irradiance, irradiance | ||
transposition, DC power, and DC-to-AC power conversion. pvlib python is | ||
an important component of a growing ecosystem of open source tools for | ||
solar energy [@Holmgren2018]. | ||
|
||
pvlib python is developed on GitHub by contributors from academia, | ||
national laboratories, and private industry. pvlib python is released | ||
with a BSD 3-clause license allowing permissive use with attribution. | ||
pvlib python is extensively tested for functional and algorithm | ||
consistency. Continuous integration services check each pull request on | ||
multiple platforms and Python versions. The pvlib python API is | ||
thoroughly documented and detailed tutorials are provided for many | ||
features. The documentation includes help for installation and | ||
guidelines for contributions. The documentation is hosted at | ||
readthedocs.org as of this writing. A Google group and StackOverflow tag | ||
provide venues for user discussion and help. | ||
|
||
The pvlib python API was designed to serve the various needs of the many | ||
subfields of solar power research and engineering. It is implemented in | ||
three layers: core functions, the ``Location`` and ``PVSystem`` classes, | ||
and the ``ModelChain`` class. The core API consists of a collection of | ||
functions that implement algorithms. These algorithms are typically | ||
implementations of models described in peer-reviewed publications. The | ||
functions provide maximum user flexibility, however many of the function | ||
arguments require an unwieldy number of parameters. The next API level | ||
contains the ``Location`` and ``PVSystem`` classes. These abstractions | ||
provide simple methods that wrap the core function API layer. The method | ||
API simplification is achieved by separating the data that represents | ||
the object (object attributes) from the data that the object methods | ||
operate on (method arguments). For example, a ``Location`` is | ||
represented by a latitude, longitude, elevation, timezone, and name, | ||
which are ``Location`` object attributes. Then a ``Location`` object | ||
method operates on a ``datetime`` to get the corresponding solar | ||
position. The methods combine these data sources when calling the | ||
function layer, then return the results to the user. The final level of | ||
API is the ``ModelChain`` class, designed to simplify and standardize | ||
the process of stitching together the many modeling steps necessary to | ||
convert a time series of weather data to AC solar power generation, | ||
given a PV system and a location. | ||
|
||
pvlib python was ported from the PVLib MATLAB toolbox in 2014 | ||
[@Stein2012, @Andrews2014]. Efforts to make the project more pythonic | ||
were undertaken in 2015 [@Holmgren2015]. Additional features continue to | ||
be added, see, for example [@Stein2016, @Holmgren2016] and the | ||
documentation's "What's New" section. | ||
|
||
pvlib python has been used in numerous studies, for example, of solar | ||
power forecasting [@Gagne2017, @Holmgren2017], development of solar | ||
irradiance models [@Polo2016], and estimation of photovoltaic energy | ||
potential [@Louwen2017]. Mikofski et. al. used pvlib python to study | ||
the accuracy of clear sky models with different aerosol optical depth | ||
and precipitable water data sources [@Mikofski2017] and to determine the | ||
effects of spectral mismatch on different PV devices [@Mikofski2016]. | ||
pvlib python is a foundational piece of an award, "An Open Source | ||
Evaluation Framework for Solar Forecasting," made under the Department | ||
of Energy Solar Forecasting 2 program [@DOESF2]. | ||
|
||
Plans for pvlib python development includes the implementation of new | ||
and existing models, addition of functionality to assist with | ||
input/output, and improvements to API consistency. | ||
|
||
The source code for each pvlib python version is archived with Zenodo | ||
[@pvlibZenodo]. | ||
|
||
# Acknowledgements | ||
|
||
The authors acknowledge and thank the code, documentation, and | ||
discussion contributors to the project. | ||
|
||
WH acknowledges support from the Department of Energy's Energy | ||
Efficiency and Renewable Energy Postdoctoral Fellowship Program | ||
(2014-2016), Tucson Electric Power, Arizona Public Service, and Public | ||
Service Company of New Mexico (2016-2018), and University of Arizona | ||
Institute for Energy Solutions (2017-2018). | ||
|
||
CH acknowledges support from the U.S. Department of Energy's Solar | ||
Energy Technology Office. | ||
|
||
WH and CH acknowledge support from the Department of Energy Solar | ||
Forecasting 2 program. | ||
|
||
MM acknowledges support from SunPower Corporation (2016-2017). | ||
|
||
Sandia National Laboratories is a multi-mission laboratory managed and | ||
operated by National Technology and Engineering Solutions of Sandia, | ||
LLC., a wholly owned subsidiary of Honeywell International, Inc., for | ||
the U.S. Department of Energy's National Nuclear Security Administration | ||
under contract DE-NA-0003525. | ||
|
||
# References |
Binary file not shown.
Binary file not shown.
Oops, something went wrong.