MCPcopy Index your code
hub / github.com/NatLabRockies/rdtools

github.com/NatLabRockies/rdtools @3.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 3.2.0 ↗ · + Follow
485 symbols 1,492 edges 34 files 233 documented · 48%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

For API documentation and full examples, please see the documentation.

RdTools currently is tested on Python 3.9+.

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, Kevin Anderson, Adam Shinn, Ambarish Nag, Mark Mikofski, Martin Springer, Jiyang Yan, Kirsten Perry, 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/NREL/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.

Core symbols most depended-on inside this repo

sensor_analysis
called by 31
rdtools/analysis_chains.py
soiling_srr
called by 22
rdtools/soiling.py
set_clearsky
called by 16
rdtools/analysis_chains.py
energy_from_power
called by 16
rdtools/normalization.py
plot
called by 14
rdtools/availability.py
interpolate
called by 14
rdtools/normalization.py
logic_clip_filter
called by 14
rdtools/filtering.py
degradation_year_on_year
called by 12
rdtools/degradation.py

Shape

Function 381
Method 79
Class 23
Route 2

Languages

Python100%

Modules by API surface

rdtools/test/analysis_chains_test.py81 symbols
versioneer.py50 symbols
rdtools/analysis_chains.py32 symbols
rdtools/soiling.py30 symbols
rdtools/test/soiling_test.py29 symbols
rdtools/_version.py24 symbols
rdtools/filtering.py22 symbols
rdtools/test/degradation_test.py20 symbols
rdtools/test/filtering_test.py19 symbols
rdtools/test/plotting_test.py18 symbols
rdtools/test/energy_from_power_test.py15 symbols
rdtools/test/availability_test.py15 symbols

For agents

$ claude mcp add rdtools \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact