Skip to content

Commit 16556c5

Browse files
committed
get rid of diffuse_fraction
1 parent 216386e commit 16556c5

File tree

1 file changed

+11
-16
lines changed

1 file changed

+11
-16
lines changed

pvlib/bifacial/infinite_sheds.py

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,23 @@
99
from pvlib.irradiance import beam_component, aoi, haydavies
1010

1111

12-
def _poa_ground_shadows(poa_ground, f_gnd_beam, df, vf_gnd_sky):
12+
def _poa_ground_shadows(ghi, dhi, albedo, f_gnd_beam, vf_gnd_sky):
1313
"""
1414
Reduce ground-reflected irradiance to the tilted plane (poa_ground) to
1515
account for shadows on the ground.
1616
1717
Parameters
1818
----------
19-
poa_ground : numeric
20-
Ground reflected irradiance on the tilted surface, assuming full GHI
21-
illumination on all of the ground. [W/m^2]
19+
ghi : numeric
20+
Global horizontal irradiance, with no adjustments. [W/m^2]
21+
dhi : numeric
22+
Diffuse horizontal irradiance, with no adjustments. [W/m^2]
23+
albedo : numeric
24+
Ground albedo, the ratio of reflected to incident irradiance of the
25+
ground surface. [W/m^2]
2226
f_gnd_beam : numeric
2327
Fraction of the distance between rows that is illuminated (unshaded).
2428
[unitless]
25-
df : numeric
26-
Diffuse fraction, the ratio of DHI to GHI. [unitless]
2729
vf_gnd_sky : numeric
2830
View factor from the ground to the sky, integrated along the distance
2931
between rows. [unitless]
@@ -35,7 +37,7 @@ def _poa_ground_shadows(poa_ground, f_gnd_beam, df, vf_gnd_sky):
3537
ground. [W/m^2]
3638
3739
"""
38-
return poa_ground * (f_gnd_beam*(1 - df) + df*vf_gnd_sky)
40+
return albedo * (f_gnd_beam * (ghi - dhi) + vf_gnd_sky * dhi)
3941

4042

4143
def _poa_sky_diffuse_pv(dhi, gcr, surface_tilt):
@@ -339,18 +341,11 @@ def get_irradiance_poa(surface_tilt, surface_azimuth, solar_zenith,
339341
# and restricted views
340342
# this is a deviation from [1], because the row to ground view factor
341343
# is accounted for in a different manner
342-
ground_diffuse = ghi * albedo
343-
344-
# diffuse fraction
345-
diffuse_fraction = np.clip(dhi / ghi, 0., 1.)
346-
# make diffuse fraction 0 when ghi is small
347-
diffuse_fraction = np.where(ghi < 0.0001, 0., diffuse_fraction)
348-
349344
# Reduce ground-reflected irradiance because other rows in the array
350345
# block irradiance from reaching the ground.
351346
# [2], Eq. 9
352-
ground_diffuse = _poa_ground_shadows(
353-
ground_diffuse, f_gnd_beam, diffuse_fraction, vf_gnd_sky)
347+
ground_diffuse = _poa_ground_shadows(ghi, dhi, albedo, f_gnd_beam,
348+
vf_gnd_sky)
354349

355350
# Ground-reflected irradiance on the row surface accounting for
356351
# the view to the ground. This deviates from [1], Eq. 10, 11 and

0 commit comments

Comments
 (0)