Skip to main content
RdTools logo

Master branch: Build Status

Development branch: Build Status

Code coverage: codecov

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

rdtools-3.2.1.tar.gz (7.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rdtools-3.2.1-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

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

Hashes for rdtools-3.2.1.tar.gz
Algorithm Hash digest
SHA256 a3b19e8bd1c669404a0422d68515c3ca4479760494369a15bd22fb0662773110
MD5 b1a4dd08f216f06184f9f3f40cb61fce
BLAKE2b-256 266ddf9e1a83c339583e7a5fadb021e3a7a7d64776fabf51a5ee98c63d43244f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rdtools-3.2.1.tar.gz:

Publisher: publish-to-pypi.yaml on NatLabRockies/rdtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for rdtools-3.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 19f73e72a00cd82ddf1d83b0151e6e4378f4774bc9430a2fd4f8dc30ca555ca9
MD5 ec9ff75d2f5f8289e4cec8e2114e2faa
BLAKE2b-256 d1d418a82e3eecf04d3ad44cb90f7c89bcb26a5da08632b5c6f8cd57a70ce4a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rdtools-3.2.1-py3-none-any.whl:

Publisher: publish-to-pypi.yaml on NatLabRockies/rdtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page