pvlib.pvarray.huld#
- pvlib.pvarray.huld(effective_irradiance, temp_mod, pdc0, k=None, cell_type=None, k_version='pvgis5')[source]#
Power (DC) using the Huld model.
The Huld model [1] is used by PVGIS and is given by
\[ \begin{align}\begin{aligned}P_{dc} &= G' ( P_{dc0} + k_1 \log(G') + k_2 \log^2 (G') + k_3 T' + k_4 T' \log(G') + k_5 T' \log^2 (G') + k_6 T'^2)\\G' &= \frac{G_{poa eff}}{1000}\\T' &= T_{mod} - 25^{\circ}C\end{aligned}\end{align} \]- Parameters:
effective_irradiance (numeric) – The irradiance that is converted to photocurrent. [\(W/m^2\)]
temp_mod (numeric) – Module back-surface temperature. [C]
pdc0 (numeric) – Power of the modules at reference conditions 1000 \(W/m^2\) and \(25^{\circ}C\). [W]
k (tuple, optional) – Empirical coefficients used in the power model. Length 6. If
kis not provided,cell_typemust be specified.cell_type (str, optional) – If provided, must be one of
'cSi','CIS', or'CdTe'. Used to look up default values forkifkis not specified.k_version (str, optional) – Either
'pvgis5'(default) or'pvgis6'. Selects values forkifkis not specified. If'pvgis5', values are from PVGIS documentation and are labeled in [2] as “current”. If'pvgis6'values are from [2] labeled as “updated”.
- Returns:
pdc (numeric) – DC power. [W]
- Raises:
ValueError – If neither
knorcell_typeare specified.
Notes
The equation for \(P_{dc}\) is from [1]. The expression used in PVGIS documentation differs by factoring \(P_{dc0}\) out of the polynomial:
\[P_{dc} = G' P_{dc0} (1 + k'_1 \log(G') + k'_2 \log^2 (G') + k'_3 T' + k'_4 T' \log(G') + k'_5 T' \log^2 (G') + k'_6 T'^2)\]PVGIS documentation shows a table of default parameters \(k'\) for different cell types. The parameters \(k'\) differ from the parameters \(k\) for
huld()by the factorpdc0, that is,\[k = P_{dc0} k'\]With default values for \(k\), at very low irradiance, i.e., \(G' < 20 W/m^2\), \(P_{dc}\) may be negative due to the terms involving \(\log(G')\).
huld()is a component of the PV performance model implemented in PVGIS. Among other components, the full PVGIS model includes:the Faiman model for module temperature
pvlib.temperature.faiman()the Martin and Ruiz model for the incidence angle modifier (IAM)
pvlib.iam.martin_ruiz()a custom model for a spectral adjustment factor
The PVGIS API (see
pvlib.iotools.get_pvgis_hourly()) returns broadband plane-of-array irradiance (poa_global) and DC power (P).poa_globalis irradiance before applying the IAM and spectral adjustments. In contrast theeffective_irradianceforhuld()should have the IAM and spectral adjustments. Users comparing output ofhuld()to PVGIS’Pvalues should expect differences unlesseffective_irradianceis computed in the same way as done by PVGIS.References