bsrn.utils.clear_sky_detection.brightsun_csd#

bsrn.utils.clear_sky_detection.brightsun_csd(zenith, ghi, ghi_clear, dhi, dhi_clear, times, return_diagnostics=False)[source]#

BrightSun2020CSDc clear-sky detection (tri-component). BrightSun2020CSDc 晴空检测(三分量) [1]

MATLAB mapping: BrightSun2020CSDc(zen, ghi, ghics, dif, difcs, LST). MATLAB 变量映射:zen -> zenith, ghics -> ghi_clear, dif -> dhi, difcs -> dhi_clear

The method proceeds in four stages matching the MATLAB routine: 该方法按四个阶段执行(与 MATLAB 例程一致):

  1. Initial Reno-style CSD guess for candidate clear periods. 初始 Reno 风格 CSD 猜测。

  2. Daily clear-sky optimisation scales GHI, DHI, BNI clear-sky curves independently (alpha bounds [0.7, 1.5] for GHI/BNI, [0.3, 1.5] for DHI). 每日晴空优化独立缩放 GHI、DHI、BNI 晴空曲线。

  3. Tri-component analysis on optimised curves. 基于优化曲线的三分量分析。

  4. Cascaded duration filters (90/30/10-min). 级联持续时间滤波器。

Parameters:
  • zenith (array-like) – Solar zenith angle. [degrees] 太阳天顶角。[度]

  • ghi (array-like) – Global horizontal irradiance. [W/m^2] 水平总辐照度。[瓦/平方米]

  • ghi_clear (array-like) – Clear-sky GHI. [W/m^2] 晴空水平总辐照度。[瓦/平方米]

  • dhi (array-like) – Diffuse horizontal irradiance. [W/m^2] 水平散射辐照度。[瓦/平方米]

  • dhi_clear (array-like) – Clear-sky DHI. [W/m^2] 晴空水平散射辐照度。[瓦/平方米]

  • times (array-like or pd.DatetimeIndex) – Time index (MATLAB LST equivalent). 时间索引。

  • return_diagnostics (bool, default False) – If True, include method diagnostics. 若为 True,返回方法诊断量。

Returns:

out – Columns: is_clearsky, cloud_flag (duration-filtered), method; diagnostics when requested. 列:is_clearskycloud_flag``(经滤波)、``method

Return type:

pd.DataFrame

Raises:

ValueError – When input lengths do not match. 输入长度不一致时。

References