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

IEC 61853-3 Climate-specific energy rating

Open toddkarin opened this issue 6 months ago • 3 comments

IEC 61853-3 describes a standard process for making an energy rating score for a given set of module parameters. We would like to use this method to rank modules starting from a PAN file. Most of the functionality needed is already in pvlib, the work would just be to stitch together and provide some examples.

It is my opinion that the pvlib group should obtain the draft work for the 2025 version of the standard, and implement a version that works with this.

Is this something the pvlib team can take on?

@cwhanse

toddkarin avatar Jul 03 '25 13:07 toddkarin

Thanks for providing the feature request.

IEC 61853-3 basically describes a model chain, which would fit within pvlib's structure.

Is this something the pvlib team can take on?

Contributions are welcomed from all.

cwhanse avatar Jul 03 '25 13:07 cwhanse

It is my opinion that the pvlib group should obtain the draft work for the 2025 version of the standard

Making this happen would be welcome too!

kandersolar avatar Jul 07 '25 15:07 kandersolar

The draft (as of 8/2025) of IEC61853-3 specifies a procedure to calculate DC power from broadband POA irradiance, air temperature and wind speed in four steps:

  1. AOI modifier. Uses both iam.martin_ruiz for direct irradiance and iam.martin_ruiz_diffuse.
  2. spectral adjustment. Summation of spectral irradiance (after AOI) multiplied by spectral response. The summation is a bit different from the trapezoid integration in spectrum.calc_spectral_mismatch_field
  3. cell temperature. Uses temperature.faiman
  4. DC power. Interpolated/extrapolated on cell temperature and effective irradiance from input measurements at IEC-61853-specified conditions.

To faithfully implement this calculation, pvlib would need:

  1. a new spectral modifier calculation: Riemann sum. This is a left- or right-endpoint integration rule. Note that 61853-2 specifies the wavelengths and the method for computing the spectral response from measurements.
  2. a new DC power model to perform the interpolation/extrapolation. IEC61853-3 describes a bilinear interpolation/extrapolation procedure.

To provide a ModelChain method akin to ModelChain.with_pvwatts would require some work inside ModelChain methods. There's no provision for an AOI modifier on diffuse irradiance. Also, ModelChain takes steps that the IEC61853-3 method doesn't need, such as calculating AC power. Those results could always be ignored.

The point of IEC61853-3 is to return a single number, an "energy rating" computed by applying the model described above to data from a specific location. ModelChain wouldn't do that. Calculation of broadband POA irradiance is outside of IEC61853-3's scope.

I'm thinking that a ModelChain.with_61853 method may not fit well, and maybe a function implementing a dedicated work flow would be better.

cwhanse avatar Aug 11 '25 15:08 cwhanse