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 functions provided by PVAnalytics are organized in modules based
on their anticipated use. The structure/organization below is likely
to change as use cases are identified and refined and as package
content evolves. The functions in quality, filtering, and
features will take a series of data and return a series of booleans.
-
qualitycontains submodules for different kinds of data quality checks.irradianceprovides quality checks for irradiance measurements. This will initially contain an implementation of the QCRad algorithm, but any other quality tests for irradiance data should be added here.weatherhas quality checks for weather data (for example tests for physically plausible values of temperature, wind speed, humidity, etc.)outlierscontains different functions for identifying outliers in the data.gapscontains functions for identifying gaps in the data (i.e. missing values, stuck values, and interpolation).timequality checks related to time (e.g. timestamp spacing)utilgeneral purpose quality functions.
Other quality checks such as detecting timestamp errors will also be included in
quality. -
filteringas the name implies, contains functions for data filtering (e.g. day/night or solar position) -
featurescontains submodules with different methods for identifying and labeling salient features.clippingfunctions for labeling inverter clipping.clearskyfunctions for identifying periods of clear sky conditions.
-
systemidentification of PV system characteristics from data (e.g. nameplate power, orientation, azimuth) -
translatecontains functions for translating data to other conditions (e.g. IV curve translators, temperature adjustment, irradiance adjustment) -
metricscontains functions for computing PV system-level metrics -
fittingcontains submodules for different types of models that can be fit to data (e.g. temperature models) -
dataclassescontains classes for normalizing data (e.g. anIVCurveclass)