pvlib.bifacial.infinite_sheds.get_irradiance_poa(surface_tilt, surface_azimuth, solar_zenith, solar_azimuth, gcr, height, pitch, ghi, dhi, dni, albedo, model='isotropic', dni_extra=None, iam=1.0, npoints=100, vectorize=False)[source]#

Calculate plane-of-array (POA) irradiance on one side of a row of modules.

The infinite sheds model [1] assumes the PV system comprises parallel, evenly spaced rows on a level, horizontal surface. Rows can be on fixed racking or single axis trackers. The model calculates irradiance at a location far from the ends of any rows, in effect, assuming that the rows (sheds) are infinitely long.

POA irradiance components include direct, diffuse and global (total). Irradiance values are reduced to account for reflection of direct light, but are not adjusted for solar spectrum or reduced by a module’s bifaciality factor.

  • surface_tilt (numeric) – Tilt of the surface from horizontal. Must be between 0 and 180. For example, for a fixed tilt module mounted at 30 degrees from horizontal, use surface_tilt=30 to get front-side irradiance and surface_tilt=150 to get rear-side irradiance. [degree]

  • surface_azimuth (numeric) – Surface azimuth in decimal degrees east of north (e.g. North = 0, South = 180, East = 90, West = 270). [degree]

  • solar_zenith (numeric) – Refraction-corrected solar zenith. [degree]

  • solar_azimuth (numeric) – Solar azimuth. [degree]

  • gcr (float) – Ground coverage ratio, ratio of row slant length to row spacing. [unitless]

  • height (float) – Height of the center point of the row above the ground; must be in the same units as pitch.

  • pitch (float) – Distance between two rows; must be in the same units as height.

  • ghi (numeric) – Global horizontal irradiance. [W/m2]

  • dhi (numeric) – Diffuse horizontal irradiance. [W/m2]

  • dni (numeric) – Direct normal irradiance. [W/m2]

  • albedo (numeric) – Surface albedo. [unitless]

  • model (str, default 'isotropic') – Irradiance model - can be one of ‘isotropic’ or ‘haydavies’.

  • dni_extra (numeric, optional) – Extraterrestrial direct normal irradiance. Required when model='haydavies'. [W/m2]

  • iam (numeric, default 1.0) – Incidence angle modifier, the fraction of direct irradiance incident on the surface that is not reflected away. [unitless]

  • npoints (int, default 100) – Number of discretization points for calculating integrated view factors.

  • vectorize (bool, default False) – If True, vectorize the view factor calculation across surface_tilt. This increases speed with the cost of increased memory usage.


output (dict or DataFrame) – Output is a DataFrame when input ghi is a Series. See Notes for descriptions of content.


Input parameters height and pitch must have the same unit.

output always includes:

  • poa_global : total POA irradiance. [W/m^2]

  • poa_diffuse : total diffuse POA irradiance from all sources. [W/m^2]

  • poa_direct : total direct POA irradiance. [W/m^2]

  • poa_sky_diffuse : total sky diffuse irradiance on the plane of array. [W/m^2]

  • poa_ground_diffuse : total ground-reflected diffuse irradiance on the plane of array. [W/m^2]

  • shaded_fraction : fraction of row slant height from the bottom that is shaded from direct irradiance by adjacent rows. [unitless]



Mikofski, M., Darawali, R., Hamer, M., Neubert, A., and Newmiller, J. “Bifacial Performance Modeling in Large Arrays”. 2019 IEEE 46th Photovoltaic Specialists Conference (PVSC), 2019, pp. 1282-1287. DOI: 10.1109/PVSC40753.2019.8980572.

See also


Examples using pvlib.bifacial.infinite_sheds.get_irradiance_poa#

4.7 MW CdTe single-axis tracking (OEDI System 9068)

4.7 MW CdTe single-axis tracking (OEDI System 9068)