Google Summer Of Code 2024 - Weeks 5 and 6#

Some people say that if you do something for at least three consecutive weeks, it becomes a habit. Although it might sound a bit superficial, I think it has some truth to it… After six weeks of GSoC, I noticed that I have made a daily habit of checking what is happening in the pvlib GitHub repository, which could mean anything from checking the discussions to code contributions!

Something that many people don’t know before starting to contribute to open-source libraries (myself included) is that it sounds much more terrifying than it actually is. Don’t get me wrong, contributing functions and writing tests for them can be challenging, but there are many more ways to contribute.

For example, submitting an Example Gallery is an easy way for new users to contribute to pvlib. The Example Gallery is a list of scripts demonstrating how to use pvlib for a specific application. At the moment of writing, the following topics are covered:

  • ADR Model for PV Module Efficiency

  • Agrivoltaic Systems Modelling

  • Bifacial Modeling

  • Irradiance Decomposition

  • Irradiance Transposition

  • I-V Modeling

  • Reflections

  • Shading

  • Soiling

  • Solar Position

  • Solar Tracking

  • Spectrum

  • System Models

Essentially, the Example Gallery showcases the pvlib functionality and, in some cases, can give inspiration on how to perform a specific task.

As part of my GSoC, I contributed a script to the Example Gallery in which I demonstrated how to use an existing module temperature model of pvlib (i.e., the PVSyst model) to calculate the module temperature of a floating photovoltaic (FPV) panel.

The PVSyst model uses some heat loss coefficients to estimate the module temperature. However, the default heat loss coefficient values of the PVSyst model were specified for land-based PV systems and are not necessarily representative of FPV systems. Thus, a number of heat loss coefficients for FPV modules were used from the literature in order to calculate the module temperatures and compare them to the module temperature when using the default (land-based) heat loss coefficients. The outcome highlighted the necessity of choosing appropriate heat loss coefficients when using the PVSyst model to calculate the cell temperature for floating PV systems. A difference of up to 10.3 °C was obtained when using the default PVSyst coefficients versus using coefficients for systems where panels are in contact with water.

After some rounds of revisions, the submitted PR was merged into the main code and will become available in the next pvlib release.

Hopefully, this Gallery Example will provide some helpful insights to pvlib users regarding module temperature estimation for floating PV plants. Do you have any ideas on Gallery Examples? Reach out and it could be your first PR!

The progress of my project is described in this issue. Stay tuned for updates!