Skip to main content
License license
Publications DOI
Documentation Documentation Status
Build status GitHub Actions Testing Status

PVDeg: Python Package for Modeling Degradation in Photovoltaic Systems

PVDeg is an open-source Python package for modeling photovoltaic (PV) degradation, developed at the National Laboratory of the Rockies (NLR, formerly NREL) and supported by the Durable Module Materials (DuraMAT) consortium. It provides modular functions, materials databases, and calculation workflows for simulating degradation mechanisms (e.g., LeTID, hydrolysis, UV exposure) using weather data from the National Solar Radiation Database (NSRDB) and the Photovoltaic Geographical Information System (PVGIS). By integrating Monte Carlo uncertainty propagation and geospatial processing, PVDeg enables field-relevant predictions and uncertainty quantification of module reliability and lifetime.

Key Features

  • Core Degradation Functions: Dedicated functions for physical degradation mechanisms including moisture ingress, LeTID, UV exposure, and thermal stress
  • Scenario Class: Simplified workflow interface for complex multi-parameter degradation studies
  • Geospatial Analysis: Large-scale spatial analyses with parallel processing across geographic regions
  • Monte Carlo Framework: Uncertainty quantification through parameter distribution sampling
  • Material Databases: Curated degradation parameters, kinetic coefficients, and material properties
  • Weather Data Integration: Seamless access to NSRDB and PVGIS meteorological data
  • Standards Support: Contributions to IEC TS 63126 and other standardization efforts

Example Applications

PVDeg has been adopted in multiple studies across the PV reliability community:

  • Thermal Stability and IEC TS 63126 Compliance: Calculate effective standoff distances and generate public maps supporting the IEC TS 63126 standard
  • Light and Elevated Temperature Induced Degradation (LeTID): Integrated into international interlaboratory comparison studies and field-aged array analyses
  • Geospatial Performance Modeling: Coupled with GeoGridFusion to streamline weather-data storage and spatial queries for large-scale degradation simulations
  • Agrivoltaics and System-Level Modeling: Combined with PySAM to assess degradation-driven yield losses in dual-use agrivoltaic systems
  • Material-Property Parameterization: Studies of UV-induced polymer degradation and moisture-related failures in encapsulants and backsheets

Documentation

Full documentation is available at ReadTheDocs including:

Installation

PVDeg releases may be installed using pip and conda tools. Compatible with Python 3.10 and above.

Quick Install:

pip install pvdeg

With optional dependencies:

Group Install Command Purpose
sam pip install pvdeg[sam] PySAM support for system modeling
docs pip install pvdeg[docs] Sphinx documentation tools
test pip install pvdeg[test] Testing and validation tools
books pip install pvdeg[books] Jupyter Book publishing
all pip install pvdeg[all] All optional dependencies

Developer Installation:

git clone https://github.com/NatLabRockies/PVDegradationTools.git
cd PVDegradationTools
pip install -e .[all]

📖 For detailed installation instructions including conda environments, HPC setup, troubleshooting, and version compatibility, see the Installation Guide.

Tutorials

PVDeg provides comprehensive tutorials organized by topic. Choose your preferred environment:

Interactive tutorials with live execution: PVDeg Jupyter Book

  • Click the 🚀 rocket icon to launch notebooks in Google Colab
  • Development Preview: See latest changes at dev-preview

Binder

Run tutorials in your browser without installation: Binder

Local Installation

  1. Install PVDeg (see Installation)

  2. Clone the repository to access tutorial notebooks:

    git clone https://github.com/NatLabRockies/PVDegradationTools.git
    cd PVDegradationTools
    
  3. Start Jupyter:

    jupyter notebook
    
  4. Navigate to tutorials organized by category:

    • 01_basics/ - Introduction to PVDeg fundamentals
    • 02_degradation/ - Degradation mechanism modeling
    • 03_monte_carlo/ - Monte Carlo uncertainty analysis
    • 04_scenario/ - Scenario-based modeling workflows
    • 05_geospatial/ - Geospatial and HPC scenarios
    • 06_advanced/ - Advanced topics and API access
    • 10_workshop_demos/ - Workshop demonstrations
    • tools/ - Standalone analysis tools

📖 For more information on running and validating notebooks, see the documentation.

License

BSD 3-clause

Contributing

We welcome contributions to this software! Please see CONTRIBUTING.md for detailed instructions on:

  • Setting up your development environment
  • Installing and using pre-commit hooks
  • Code style guidelines
  • Testing and documentation requirements
  • Contributing to material property and degradation parameter databases
  • Submitting pull requests

Please read the copyright license agreement (cla-1.0.md), with instructions on signing it in sign-CLA.md.

All code, documentation, and discussion contributors are acknowledged for their contributions to the PVDeg project.

Getting support

If you suspect that you may have discovered a bug or if you'd like to change something about PVDeg, then please make an issue on our GitHub issues page.

Citing

If you use PVDeg in a published work, please cite both the software and the paper.

Software Citation:

Click the "Cite this repository" button in the right sidebar to get a formatted citation, or visit Zenodo for the DOI corresponding to your specific version:

DOI

On the Zenodo page, use the "Cite as" section in the right sidebar to copy the citation in your preferred format (BibTeX, APA, etc.).

JOSS Paper (In Review):

Daxini, R., Ovaitt, S., Springer, M., Ford, T., & Kempe, M. (2025). PVDeg: a python package for modeling degradation on solar photovoltaic systems. Journal of Open Source Software (In Review).

Acknowledgements

This work was authored in part by the National Laboratory of the Rockies for the U.S. Department of Energy (DOE), operated under Contract No. DE-AC36-08GO28308. Funding provided as part of the Durable Module Materials Consortium 2 (DuraMAT 2) funded by the by U.S. DOE Office of Critical Minerals and Energy Innovation (CMEI) Solar Energy Technologies Office (SETO), Agreement 38259. The views expressed in the article do not necessarily represent the views of the DOE or the U.S. Government. The U.S. Government retains and the publisher, by accepting the article for publication, acknowledges that the U.S. Government retains a nonexclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this work, or allow others to do so, for U.S. Government purposes

HPC disclaimer: A portion of This research was performed using computational resources sponsored by the U.S. Department of Energy's Office of Critical Minerals and Energy Innovation and located at the National Laboratory of the Rockies.

NLR Software Record: SWR-20-71 (Holsapple, Derek; Ayala Pelaez, Silvana; Kempe, Michael. "PV Degradation Tools", NLR Github 2020)

Metadata

Release files for pvdeg 0.7.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pvdeg 0.7.2
File Size Uploaded
pvdeg-0.7.2.tar.gz 31.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pvdeg 0.7.2
File Interpreter ABI Platform
pvdeg-0.7.2-py3-none-any.whl Python 3 none any Details

Total release size: 34.7 MB

Release files / pvdeg-0.7.2.tar.gz

Download URL pvdeg-0.7.2.tar.gz
Size 31.3 MB
Tags Source
SHA-256 checksum
How to use checksums
ee7a7e09dfd99055b817ff71190f6b677bcd2faebb52c21f23495f3c82c5766e
BLAKE2b-256 checksum
How to use checksums
afabff20a96dabb4ab0c54458e65e43c0e8a0cd7d8007ee687f3aea970a6b895
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / pvdeg-0.7.2-py3-none-any.whl

Download URL pvdeg-0.7.2-py3-none-any.whl
Size 3.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3f22b50b85505f3063e98ed9c657f220ca5f16a5c3f5222bf5508c92c4d56003
BLAKE2b-256 checksum
How to use checksums
06bdaaacd33a6625fcbc7233610a24edf52e65ed6ce44fd1c7a0d2bd7d747142
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release history Release notifications | RSS feed

0.7.4

2 release files

0.7.3

2 release files

This release

0.7.2 This release

2 release files

0.7.1

2 release files

0.7.0

1 release file

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page