Single-diode model parameter fits to module performance matrix and spec sheet data

210 views
Skip to first unread message

Mark Campanelli

unread,
Jan 15, 2024, 9:46:05 PM1/15/24
to pvlib-python
Hello pvlib community,

  PVfit has open-sourced some parameter fitting routines, in Python, for the single-diode equation and single-diode model.

https://github.com/markcampanelli/pvfit

  The 5-parameter single-diode equation is fit from an I-V curve at one operating condition (such as STC) and has been benchmarked in the unit tests and here. (Special thanks to Cliff Hansen and his team for providing these benchmark datasets.)

  PVfit also offers a "simple" 6-parameter single-diode model (for use across different operating conditions) that can be calibrated using either a performance matrix (such as IEC 61853-1) or a module's specification datasheet. These calibrated models can then be simulated for full I-V curves, maximum power, etc. under various operating conditions. I am still adding the unit tests here, but I have run these fits successfully against the IEC 61853-1 datasets and spec sheet info for nine different PV modules kindly provided by the PVPMC here. Fits tend to be good for x-Si modules, whereas HIT technologies can be challenging.

  I have also used PVfit-provided fits for the single-diode model with pvlib-python-provided models computing the effective-irradiance-ratio and cell-temperature inputs from MET data and then subsequently the AC conversion and derates. I hope to soon add a demo for this type of integration of PVfit with pvlib-python.

  I am also still ironing out some of the data structures and variable typing to try to make PVfit  usage as streamlined and intuitive as possible as I work towards a v1.0 release. For now, there are several tutorials in the various `demos/getting_started.py` modules, and the README should help get folks up and running. Feel free to reach out to me with feedback/questions at mark.ca...@gmail.com.

Thanks,

Mark Campanelli


Kim Lux

unread,
Feb 7, 2024, 4:49:10 PM2/7/24
to pvlib-python
Fantastic package and excellent documentation.   Thanks for sharing.

Mark Campanelli

unread,
Feb 8, 2024, 6:39:48 PM2/8/24
to pvlib-python
Kim,

  I very much appreciate your kind words and am happy you find PVfit useful :). I hope to have an integration guide for pvlib-python up soon. It will show how to simulate performance using PVfit's single-diode model with traditional MET-station data via the "effective irradiance" formulation of the Sandia Array Performance Model. At some I hope to resuscitate PVfit's readthedocs site too, but for now it's just the code examples.

  Many thanks again to Sandia and PVPMC for providing many IEC 61853 measurement datasets and running the performance modeling inter-comparisons, which have helped me validate/improve PVfit.

-Mark

Kim Lux

unread,
Feb 8, 2024, 8:33:06 PM2/8/24
to Mark Campanelli, pvlib-python
"It will show how to simulate performance using PVfit's single-diode model with traditional MET-station data via the "effective irradiance" formulation of the Sandia Array Performance Model"

I'm always amazed at the great work that people do on open source projects.   Is there anything that I/we can do to help you with this process ?  


--
You received this message because you are subscribed to the Google Groups "pvlib-python" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pvlib-python...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pvlib-python/dfc079e4-b543-403c-9708-3540d50d9e62n%40googlegroups.com.

Kim Lux

unread,
Feb 8, 2024, 9:25:33 PM2/8/24
to Mark Campanelli, pvlib-python

Mark Campanelli

unread,
Feb 11, 2024, 6:18:02 PM2/11/24
to Kim Lux, pvlib-python
Hi Kim,

  I hope to have the demo code for converting MET station measurements to F and T_degC pushed by tomorrow for both a GHI+DNI+DHI + T_amb case and for a Global POA + T_mod case. These should both also demonstrate using the Marion model to compensate for different AOI modifiers for the different irradiance components (using IEC 61853-2 AOI data). Kudos to pvlib-python for providing most of the algorithms involved.

  I do not yet have any examples using the Air Mass Modifier correction for the SAPM. (There’s a similar lack-of-information problem as one has when making spectral corrections for more direct, unmatched reference-device-based measurements of F.)

  I also want to add a maximum power point tracking algorithm to PVfit for mismatched devices.

  In terms of help, I would first like to be made aware of any problematic gaps and pain points on the DC single-diode model calibration and simulation side. I realize the documentation can always be better. Technically-wise, I’m most likely next going to start working with satellite-data-based “model tuning” in the reference frame of F and T_degC from a reference cell/module instead of MET station.

  Also, thanks for pointing out that report by IEA PVPS Task 13. Lots of good supplementary material in there on IEC 61853. Section 4.3 is a great summary of the reduced measurement matrices that are allowed in IEC 61853-1 under some conditions. That should be very helpful for a poster that I have in mind. What’s weird about these standards is all the gymnastics they go through for the semi-empirical I-V corrections and bilinear interpolations (that don’t extrapolate very well). The single-diode model isn’t right for every PV module, but, IMHO, when it works it’s way easier/safer to use than the alternative.

Mark Campanelli
Intelligent Measurement Systems LLC
Try PVfit today!

Anton Driesse

unread,
Feb 12, 2024, 11:55:46 AM2/12/24
to pvlib-...@googlegroups.com

I just wanted highlight what I thought was an interesting question, and see if it spawns further discussion...

Anton

On 2024-02-09 2:32, Kim Lux wrote:

I'm always amazed at the great work that people do on open source projects.   Is there anything that I/we can do to help you with this process ?  

-- 
PV Performance Labs Germany
Emmy-Noether-Str. 2
79110 Freiburg
Germany

+49-761-8973-5603 (Office, daytime)
+49-174-532-7677 (Mobile)

www.pvperformancelabs.com
Reply all
Reply to author
Forward
0 new messages