RdTools is an open-source library to support reproducible technical analysis of time series data from photovoltaic energy systems. The library aims to provide best practice analysis routines along with the building blocks for users to tailor their own analyses. Current applications include the evaluation of PV production over several years to obtain rates of performance degradation and soiling loss. RdTools can handle both high frequency (hourly or better) or low frequency (daily, weekly, etc.) datasets. Best results are obtained with higher frequency data.
RdTools can be installed automatically into Python from PyPI using the command line:
pip install rdtools
Optional extras are available:
pip install rdtools[notebooks] # Jupyter and notebook dependencies
pip install rdtools[test] # pytest, coverage, flake8
pip install rdtools[dev] # notebooks + test combined
Alternatively, RdTools uses pixi for reproducible
environment management. To get started with pixi, first
install pixi, then clone this
repository and run pixi install from its root:
git clone https://github.com/NatLabRockies/rdtools.git
cd rdtools
pixi install # default environment (rdtools + notebooks)
pixi run lab # launch Jupyter Lab
For development, use the dev environment which includes both notebook
and test dependencies:
pixi shell -e dev # activate the dev environment
pixi run -e dev test # run pytest with coverage
pixi run -e dev nbval # validate notebooks
pixi run -e dev lab # launch Jupyter Lab
For API documentation and full examples, please see the documentation.
RdTools currently is tested on Python 3.10+.
Citing RdTools
To cite RdTools, please use the following along with the version number and the specific DOI coresponding to that version from Zenodo:
- Michael G. Deceglie, Martin Springer, Kevin Anderson, Adam Shinn, Kirsten Perry, Ambarish Nag, Mark Mikofski, Jiyang Yan, Sandra Villamar, Will Vining, Gregory Kimball, Daniel Ruth, Noah Moyer, Quyen Nguyen, Dirk Jordan, Matthew Muller, and Chris Deline, RdTools, version {insert version}, Computer Software, https://github.com/NatLabRockies/rdtools. DOI:{insert DOI}
The underlying workflow of RdTools has been published in several places. If you use RdTools in a published work, you may also wish to cite the following as appropriate:
-
Dirk Jordan, Chris Deline, Sarah Kurtz, Gregory Kimball, Michael Anderson, "Robust PV Degradation Methodology and Application", IEEE Journal of Photovoltaics, 8(2) pp. 525-531, 2018, DOI: 10.1109/JPHOTOV.2017.2779779
-
Michael G. Deceglie, Leonardo Micheli and Matthew Muller, "Quantifying Soiling Loss Directly From PV Yield," in IEEE Journal of Photovoltaics, 8(2), pp. 547-551, 2018, DOI: 10.1109/JPHOTOV.2017.2784682
-
Kevin Anderson and Ryan Blumenthal, "Overcoming Communications Outages in Inverter Downtime Analysis", 2020 IEEE 47th Photovoltaic Specialists Conference (PVSC)" DOI: 10.1109/PVSC45281.2020.9300635
-
Kirsten Perry, Matthew Muller and Kevin Anderson, "Performance Comparison of Clipping Detection Techniques in AC Power Time Series," 2021 IEEE 48th Photovoltaic Specialists Conference (PVSC), pp. 1638-1643 2021, DOI: 10.1109/PVSC43889.2021.9518733.
References
The clear sky temperature calculation, clearsky_temperature.get_clearsky_tamb(), uses data
from images created by Jesse Allen, NASA’s Earth Observatory using data courtesy of the MODIS Land Group.
https://neo.sci.gsfc.nasa.gov/view.php?datasetId=MOD_LSTD_CLIM_M
https://neo.sci.gsfc.nasa.gov/view.php?datasetId=MOD_LSTN_CLIM_M
Other useful references which may also be consulted for degradation rate methodology include:
- D. C. Jordan, M. G. Deceglie, S. R. Kurtz, "PV degradation methodology comparison — A basis for a standard", in 43rd IEEE Photovoltaic Specialists Conference, Portland, OR, USA, 2016, DOI: 10.1109/PVSC.2016.7749593.
- Jordan DC, Kurtz SR, VanSant KT, Newmiller J, Compendium of Photovoltaic Degradation Rates, Progress in Photovoltaics: Research and Application, 2016, 24(7), 978 - 989.
- D. Jordan, S. Kurtz, PV Degradation Rates – an Analytical Review, Progress in Photovoltaics: Research and Application, 2013, 21(1), 12 - 29.
- E. Hasselbrink, M. Anderson, Z. Defreitas, M. Mikofski, Y.-C.Shen, S. Caldwell, A. Terao, D. Kavulak, Z. Campeau, D. DeGraaff, "Validation of the PVLife model using 3 million module-years of live site data", 39th IEEE Photovoltaic Specialists Conference, Tampa, FL, USA, 2013, p. 7 – 13, DOI: 10.1109/PVSC.2013.6744087.
Further Instructions and Updates
Check out the wiki for additional usage documentation, and for information on development goals and framework.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rdtools-3.2.1.tar.gz.
File metadata
- Download URL: rdtools-3.2.1.tar.gz
- Upload date:
- Size: 7.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3b19e8bd1c669404a0422d68515c3ca4479760494369a15bd22fb0662773110
|
|
| MD5 |
b1a4dd08f216f06184f9f3f40cb61fce
|
|
| BLAKE2b-256 |
266ddf9e1a83c339583e7a5fadb021e3a7a7d64776fabf51a5ee98c63d43244f
|
Provenance
The following attestation bundles were made for rdtools-3.2.1.tar.gz:
Publisher:
publish-to-pypi.yaml on NatLabRockies/rdtools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdtools-3.2.1.tar.gz -
Subject digest:
a3b19e8bd1c669404a0422d68515c3ca4479760494369a15bd22fb0662773110 - Sigstore transparency entry: 2118839936
- Sigstore integration time:
-
Permalink:
NatLabRockies/rdtools@b5eb6e2d76f18b07fbb61bc3901c2a3b06612073 -
Branch / Tag:
refs/tags/3.2.1 - Owner: https://github.com/NatLabRockies
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yaml@b5eb6e2d76f18b07fbb61bc3901c2a3b06612073 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rdtools-3.2.1-py3-none-any.whl.
File metadata
- Download URL: rdtools-3.2.1-py3-none-any.whl
- Upload date:
- Size: 1.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19f73e72a00cd82ddf1d83b0151e6e4378f4774bc9430a2fd4f8dc30ca555ca9
|
|
| MD5 |
ec9ff75d2f5f8289e4cec8e2114e2faa
|
|
| BLAKE2b-256 |
d1d418a82e3eecf04d3ad44cb90f7c89bcb26a5da08632b5c6f8cd57a70ce4a0
|
Provenance
The following attestation bundles were made for rdtools-3.2.1-py3-none-any.whl:
Publisher:
publish-to-pypi.yaml on NatLabRockies/rdtools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rdtools-3.2.1-py3-none-any.whl -
Subject digest:
19f73e72a00cd82ddf1d83b0151e6e4378f4774bc9430a2fd4f8dc30ca555ca9 - Sigstore transparency entry: 2118840968
- Sigstore integration time:
-
Permalink:
NatLabRockies/rdtools@b5eb6e2d76f18b07fbb61bc3901c2a3b06612073 -
Branch / Tag:
refs/tags/3.2.1 - Owner: https://github.com/NatLabRockies
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yaml@b5eb6e2d76f18b07fbb61bc3901c2a3b06612073 -
Trigger Event:
push
-
Statement type: