pvanalytics.quality.irradiance.check_dni_limits_qcrad(dni, solar_zenith, dni_extra, limits=None)#

Test for physical limits on DNI using the QCRad criteria.

Test is applied to each DNI value. A DNI value passes if value > lower bound and value < upper bound. Lower bounds are constant for all tests. Upper bounds are calculated as

\[ub = min + mult * dni\_extra * cos( solar\_zenith)^{exp}\]
  • dni (Series) – Direct normal irradiance in \(W/m^2\)

  • solar_zenith (Series) – Solar zenith angle in degrees

  • dni_extra (Series) – Extraterrestrial normal irradiance in \(W/m^2\)

  • limits (dict, default QCRAD_LIMITS) – Must have keys ‘dni_ub’ and ‘dni_lb’. For ‘dni_ub’ value is a dict with keys {‘mult’, ‘exp’, ‘min’} and float values. For ‘dni_lb’ value is a float.


True where value passes limit test.

Return type



Copyright (c) 2019 SolarArbiter. See the file LICENSES/SOLARFORECASTARBITER_LICENSE at the top level directory of this distribution and at https://github.com/pvlib/pvanalytics/blob/master/LICENSES/SOLARFORECASTARBITER_LICENSE for more information.