bsrn.utils.calculations.calc_kd#

bsrn.utils.calculations.calc_kd(dhi, zenith, bni_extra, min_mu0=0.065, max_diffuse_transmittance=2.0)[source]#

Calculates diffuse transmittance ($k_d$) following pvlib conventions [1] [2].

$k_d = D_h / (E_{0n} cdot max(mu_0,; text{min_mu0}))$

Parameters:
  • dhi (numeric or Series) – Measured diffuse horizontal irradiance ($D_h$). [W/m^2]

  • zenith (numeric or Series) – True (not refraction-corrected) solar zenith angle ($Z$). [degrees]

  • bni_extra (numeric or Series) – Extraterrestrial beam normal irradiance ($E_{0n}$). [W/m^2]

  • min_mu0 (float, default 0.065) – Minimum $mu_0$ for the denominator (equiv. ~86.3 deg).

  • max_diffuse_transmittance (float, default 2.0) – Upper clamp for $k_d$; 2.0 allows sub-hourly over-irradiance.

Returns:

kd – Diffuse transmittance ($k_d$), clamped to [0, max_diffuse_transmittance]. [unitless]

Return type:

numeric or Series

References