bsrn.modeling.separation.yang4_separation#

bsrn.modeling.separation.yang4_separation(times, ghi, lat, lon, ghi_clear)[source]#

Yang4 irradiance separation: diffuse fraction k_d from k_t, AST, Z, Δk_tc, k_de, and Engerer2 60-min k. k_d^YANG4 = C + (1-C)/(1 + exp(β0 + β1*k_t + β2*AST + β3*Z + β4*Δk_tc + β6*k_d,60min^ENGERER2)) + β5*k_de. Uses YANG2 coefficient set (TABLE III) from 1-min SURFRAD data.

Caller must provide clear-sky GHI (e.g. from a clear-sky model or add_clearsky_columns). 调用方必须提供晴空 GHI(例如由晴空模型或 add_clearsky_columns 得到)。

Parameters:
  • times (pd.DatetimeIndex) – Timestamps. 时间戳。

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

  • lat (float) – Latitude. [degrees] 纬度。[度]

  • lon (float) – Longitude. [degrees] 经度。[度]

  • ghi_clear (array-like) – Clear-sky GHI. [W/m^2] Same length as times. Required. 晴空 GHI。[瓦/平方米] 与 times 等长。必填。

Returns:

out – DataFrame with index=times and columns k, dhi, bni (modeled). 索引为 times、列为 k/dhi/bni(模型结果)的 DataFrame。

Return type:

pd.DataFrame

Raises:

ValueError – If times is not a DatetimeIndex, lengths mismatch, or _engerer2_k_at_resolution() rejects inputs (e.g. missing ghi_clear). times 非 DatetimeIndex、长度不一致或 _engerer2_k_at_resolution() 拒绝输入(如缺 ghi_clear)时。

References