bsrn.utils.calculations.calc_kb#

bsrn.utils.calculations.calc_kb(bni, zenith, bni_extra, min_mu0=0.065, max_beam_transmittance=1.0)[source]#

Calculates beam transmittance ($k_b$) following pvlib conventions [1] [2].

$k_b = B_n / E_{0n}$, floored at $mu_0 ge$ min_mu0 for consistency, clamped to [0, max_beam_transmittance].

Parameters:
  • bni (numeric or Series) – Measured beam normal irradiance ($B_n$). [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$ to allow; timestamps where $mu_0 <$ min_mu0 yield $k_b = 0$.

  • max_beam_transmittance (float, default 1.0) – Upper clamp for $k_b$.

Returns:

kb – Beam transmittance ($k_b$), clamped to [0, max_beam_transmittance]. [unitless]

Return type:

numeric or Series

References