pvlib-python icon indicating copy to clipboard operation
pvlib-python copied to clipboard

Consider updating `k` coefficients in `pvlib.pvarray.huld`

Open kandersolar opened this issue 7 months ago • 2 comments

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.

kandersolar avatar May 22 '25 21:05 kandersolar

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.

adriesse avatar May 25 '25 19:05 adriesse

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:

  1. Added a new function _infer_k_huld_eu_jrc that provides the updated coefficients for all three cell types (cSi, CIS, CdTe).

  2. Modified the huld function to accept a new parameter use_eu_jrc (default False) that allows users to choose between:

    • Original coefficients (default behavior)
    • Updated EU JRC coefficients
    • Custom coefficients via the k parameter
  3. Added comprehensive tests in test_huld_eu_jrc that 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

OmarBahamida avatar Jun 15 '25 21:06 OmarBahamida