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 for- kif- kis not specified.
- k_version (str, optional) – Either - 'pvgis5'(default) or- 'pvgis6'. Selects values for- kif- kis 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 - knor- cell_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 factor- pdc0, 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 the- effective_irradiancefor- huld()should have the IAM and spectral adjustments. Users comparing output of- huld()to PVGIS’- Pvalues should expect differences unless- effective_irradianceis computed in the same way as done by PVGIS.- References 
