PVAnalytics¶
PVAnalytics is a python library that supports analytics for PV systems. It provides functions for quality control, filtering, and feature labeling and other tools supporting the analysis of PV system-level data.
The source code for PVAnalytics is hosted on github.
Library Overview¶
The functions provided by PVAnalytics are organized in submodules based on their anticipated use. The list below provides a general overview; however, not all modules have functions at this time, see the API reference for current library status.
quality
contains submodules for different kinds of data quality checks.quality.irradiance
contains quality checks for irradiance measurements.quality.weather
contains quality checks for weather data (e.g. tests for physically plausible values of temperature, wind speed, humidity).quality.outliers
contains functions for identifying outliers.quality.gaps
contains functions for identifying gaps in the data (i.e. missing values, stuck values, and interpolation).quality.time
quality checks related to time (e.g. timestamp spacing, time shifts).quality.util
general purpose quality functions (e.g. simple range checks).
filtering
as the name implies, contains functions for data filtering.features
contains submodules with different methods for identifying and labeling salient features.features.clipping
functions for labeling inverter clipping.features.clearsky
functions for identifying periods of clear sky conditions.features.daytime
functions for identifying periods of day and night.features.orientation
functions for identifying orientation-related features in the data (e.g. days where the data looks like there is a functioning tracker). These functions are distinct from the functions in thesystem
module in that we are identifying features of data rather than properties of the system that produced the data.
system
identification of PV system characteristics from data (e.g. nameplate power, tilt, azimuth)translate
contains functions for translating data to other conditions (e.g. IV curve translators, temperature adjustment, irradiance adjustment)metrics
contains functions for computing PV system-level metrics (e.g. performance ratio)fitting
contains submodules for different types of models that can be fit to data (e.g. temperature models)dataclasses
contains classes for normalizing data (e.g. anIVCurve
class)
Dependencies¶
This project follows the guidelines laid out in NEP-29. It supports:
All minor versions of Python released 42 months prior to the project, and at minimum the two latest minor versions.
All minor versions of numpy released in the 24 months prior to the project, and at minimum the last three minor versions
The latest release of PVLib.
PVAnalytics depends on the following packages:
numpy>=1.15.0
pandas>=0.23.0,<1.1.0
pvlib>=0.8.0
scipy>=1.2.0
statsmodels>=0.9.0