Shading Agrivoltaic systems (Determination of PAR - Photosynthetically active radiation)

89 views
Skip to first unread message

Meeth Shah

unread,
Jul 28, 2023, 7:13:07 AM7/28/23
to pvlib-python
Hello Folks,
I hope you all are doing well.

I was wondering if we have any inputs from PVlib for shading effect. I mean, is it possible to determine the photosynthetically active radiation (PAR) beneath the panels or to know the temperature beneath the panels due to the shading effect?

Thanks a lot

cwh...@sandia.gov

unread,
Jul 28, 2023, 12:30:20 PM7/28/23
to pvlib-python
Hello Meeth,

pvlib doesn't have convenient functions set up to calculate irradiance on the ground beneath a row of panels. But I think one could do parts of that calculation using functions (some public, some private) in pvlib.bifacial.infinite_sheds and pvlib.bifacial.utils.

For example, assume you have GHI, DHI and DNI. You can compute the fraction Fsky(x) of the sky dome visible at a point x on the ground between two rows using pvlib.bifacial.utils.vf_ground_sky_2d (or it's average over the segment between two rows, using vf_ground_sky_2d_integ). You can use pvlib.bifacial.utils._unshaded_ground_fraction to calculate the fraction of the segment between the rows that has direct irradiance. If you want to know if a particular point x is shaded, you'll want to do your own trigonometry as the pvlib functions are set up to support the infinite sheds approach and aren't convenient to use for a specific point. Then (assuming the sky diffuse irradiance is isotropic), the irradiance on the ground is approximately

DNI * cos(solar zenith) + Fsky(x) * DHI  if the point is unshaded
Fsky(x) * DHI if the point is shaded.

I say approximately because this approach doesn't account for reflections from objects to the ground, only irradiance from the sun (direct) and sky dome (diffuse).

Adjusting the irradiance data you have to contain only the PAR is not a task that anything in pvlib can help with.

Cliff
Reply all
Reply to author
Forward
0 new messages