Consider updating `k` coefficients in `pvlib.pvarray.huld`
The EU JRC has published updated coefficients for what we call the huld model: https://doi.org/10.1002/pip.3926
We could update the coefficient values currently available in pvlib.pvarray.huld, or add these as new ones.
The paper also briefly describes the fitting procedure they used, although I'm not sure it's detailed enough to change the situation with #1979.
We could update the coefficient values currently available in
pvlib.pvarray.huld, or add these as new ones.
I would suggest adding them.
The paper also briefly describes the fitting procedure they used, although I'm not sure it's detailed enough to change the situation with #1979.
A difference is that we could ask the authors of this paper for more information, if we want to.
Also, both the matrix values and the fitted parameters are published, so it is possible to do some checks.
I've implemented the updated coefficients from the EU JRC paper (https://doi.org/10.1002/pip.3926) for the Huld model. Here's what I've done:
-
Added a new function
_infer_k_huld_eu_jrcthat provides the updated coefficients for all three cell types (cSi, CIS, CdTe). -
Modified the
huldfunction to accept a new parameteruse_eu_jrc(default False) that allows users to choose between:- Original coefficients (default behavior)
- Updated EU JRC coefficients
- Custom coefficients via the
kparameter
-
Added comprehensive tests in
test_huld_eu_jrcthat verify:- EU JRC coefficients give different results than original coefficients
- Coefficients are properly scaled by pdc0
- All cell types are supported
- Invalid cell types raise appropriate errors