solarpy.quality.bsrn_limits

Contents

solarpy.quality.bsrn_limits#

solarpy.quality.bsrn_limits(solar_zenith, dni_extra, limits)#

Calculate the BSRN upper and/or lower irradiance limit values.

The BSRN upper and lower bound limit checks were developed by Long & Shi (2008) [1], [2]. The upper limit follows the form:

upper = scale * DNI_extra * cos(solar_zenith) ^ exponent + offset

where scale, exponent, and offset are coefficients that depend on the variable and test level. A value is flagged if it lies outside [lower, upper].

Parameters:
  • solar_zenith (array-like of float) – Solar zenith angle [degrees].

  • dni_extra (array-like of float) – Extraterrestrial normal irradiance [W/m²].

  • limits (str or dict) –

    Either a named limit string or a dict with keys scale, exponent, offset, and lower.

    Named limits (Long & Shi, 2008):

    • "ghi-ppl" — Physically possible imits for GHI

    • "ghi-erl" — Extremely rare limits for GHI

    • "dni-ppl" — Physically possible limits for DNI

    • "dni-erl" — Extremely rare limits for DNI

    • "dhi-ppl" — Physically possible limits for DHI

    • "dhi-erl" — Extremely rare limits for DHI

Returns:

  • lower (float) – Lower limit value [W/m²].

  • upper (same type as input) – Upper limit values [W/m²].

See also

bsrn_limits_flag

Test irradiance values against these limits.

References