Skip to content

Latest commit

 

History

History
342 lines (230 loc) · 7.63 KB

File metadata and controls

342 lines (230 loc) · 7.63 KB
.. currentmodule:: pvanalytics

API Reference

Quality

Energy

Functions for checking if an energy data stream is cumulative or not.

.. autosummary::
   :toctree: generated/

   quality.energy.cumulative_energy_simple_diff_check
   quality.energy.cumulative_energy_avg_diff_check

If the energy data stream passes the checks, then it is converted to non-cumulative energy data stream via simple or average differencing

.. autosummary::
   :toctree: generated/

   quality.energy.convert_cumulative_energy

Data Shifts

Functions for identifying shifts in data values in time series and for identifying periods with data shifts. For functions that identify shifts in time, see quality.time

.. autosummary::
   :toctree: generated/

   quality.data_shifts.detect_data_shifts
   quality.data_shifts.get_longest_shift_segment_dates

Irradiance

The check_*_limits_qcrad functions use the QCRad algorithm [1] to identify irradiance measurements that are beyond physical limits.

.. autosummary::
   :toctree: generated/

   quality.irradiance.check_ghi_limits_qcrad
   quality.irradiance.check_dhi_limits_qcrad
   quality.irradiance.check_dni_limits_qcrad

All three checks can be combined into a single function call.

.. autosummary::
   :toctree: generated/

   quality.irradiance.check_irradiance_limits_qcrad

Irradiance measurements can also be checked for consistency.

.. autosummary::
   :toctree: generated/

   quality.irradiance.check_irradiance_consistency_qcrad

GHI and POA irradiance can be validated against clearsky values to eliminate data that is unrealistically high.

.. autosummary::
   :toctree: generated/

   quality.irradiance.clearsky_limits

You may want to identify entire days that have unrealistically high or low insolation. The following function examines daily insolation, validating that it is within a reasonable range of the expected clearsky insolation for the same day.

.. autosummary::
   :toctree: generated/

   quality.irradiance.daily_insolation_limits

There is function for calculating the component sum for GHI, DHI, and DNI, and correcting for nighttime periods. Using this function, we can estimate one irradiance field using the two other irradiance fields. This can be useful for comparison, as well as to calculate missing data fields.

.. autosummary::
   :toctree: generated/

   quality.irradiance.calculate_component_sum_series

Gaps

Identify gaps in the data.

.. autosummary::
   :toctree: generated/

   quality.gaps.interpolation_diff

Data sometimes contains sequences of values that are "stale" or "stuck." These are contiguous spans of data where the value does not change within the precision given. The functions below can be used to detect stale values.

Note

If the data has been altered in some way (i.e. temperature that has been rounded to an integer value) before being passed to these functions you may see unexpectedly large amounts of stale data.

.. autosummary::
   :toctree: generated/

   quality.gaps.stale_values_diff
   quality.gaps.stale_values_round

The following functions identify days with incomplete data.

.. autosummary::
   :toctree: generated/

   quality.gaps.completeness_score
   quality.gaps.complete

Many data sets may have leading and trailing periods of days with sporadic or no data. The following functions can be used to remove those periods.

.. autosummary::
   :toctree: generated/

   quality.gaps.start_stop_dates
   quality.gaps.trim
   quality.gaps.trim_incomplete

Outliers

Functions for detecting outliers.

.. autosummary::
   :toctree: generated/

   quality.outliers.tukey
   quality.outliers.zscore
   quality.outliers.hampel

Time

Quality control related to time. This includes things like time-stamp spacing, time-shifts, and time zone validation.

.. autosummary::
   :toctree: generated/

   quality.time.spacing

Timestamp shifts, such as daylight savings, can be identified with the following functions.

.. autosummary::
   :toctree: generated/

   quality.time.shifts_ruptures
   quality.time.has_dst

Utilities

The :py:mod:`quality.util` module contains general-purpose/utility functions for building your own quality checks.

.. autosummary::
   :toctree: generated/

   quality.util.check_limits
   quality.util.daily_min

Weather

Quality checks for weather data.

.. autosummary::
   :toctree: generated/

   quality.weather.relative_humidity_limits
   quality.weather.temperature_limits
   quality.weather.wind_limits

In addition to validating temperature by comparing with limits, module temperature should be positively correlated with irradiance. Poor correlation could indicate that the sensor has become detached from the module, for example. Unlike other functions in the :py:mod:`quality` module which return Boolean masks over the input series, this function returns a single Boolean value indicating whether the entire series has passed (True) or failed (False) the quality check.

.. autosummary::
   :toctree: generated/

   quality.weather.module_temperature_check

References

[1]C. N. Long and Y. Shi, An Automated Quality Assessment and Control Algorithm for Surface Radiation Measurements, The Open Atmospheric Science Journal 2, pp. 23-37, 2008.

Features

Functions for detecting features in the data.

Clipping

Functions for identifying inverter clipping

.. autosummary::
   :toctree: generated/

   features.clipping.levels
   features.clipping.threshold
   features.clipping.geometric

Clearsky

.. autosummary::
   :toctree: generated/

   features.clearsky.reno

Orientation

System orientation refers to mounting type (fixed or tracker) and the azimuth and tilt of the mounting. A system's orientation can be determined by examining power or POA irradiance on days that are relatively sunny.

This module provides functions that operate on power or POA irradiance to identify system orientation on a daily basis. These functions can tell you whether a day's profile matches that of a fixed system or system with a single-axis tracker.

Care should be taken when interpreting function output since other factors such as malfunctioning trackers can interfere with identification.

.. autosummary::
   :toctree: generated/

   features.orientation.fixed_nrel
   features.orientation.tracking_nrel

Daytime

Functions that relate to determining day/night periods in a time series, and getting sunrise and sunset times based on the day-night mask outputs.

.. autosummary::
   :toctree: generated/

   features.daytime.power_or_irradiance
   features.daytime.get_sunrise
   features.daytime.get_sunset

Shading

Functions for labeling shadows.

.. autosummary::
   :toctree: generated/

   features.shading.fixed

System

This module contains functions and classes relating to PV system parameters such as nameplate power, tilt, azimuth, or whether the system is equipped with tracker.

Tracking

.. autosummary::
   :toctree: generated/

   system.Tracker
   system.is_tracking_envelope

Orientation

The following function can be used to infer system orientation from power or plane of array irradiance measurements.

.. autosummary::
   :toctree: generated/

   system.infer_orientation_daily_peak
   system.infer_orientation_fit_pvwatts

Metrics

Performance Ratio

The following functions can be used to calculate system performance metrics.

.. autosummary::
   :toctree: generated/

   metrics.performance_ratio_nrel

Variability

Functions to calculate variability statistics.

.. autosummary::
   :toctree: generated/

   metrics.variability_index