pvlib.shading.projected_solar_zenith_angle#
- pvlib.shading.projected_solar_zenith_angle(solar_zenith, solar_azimuth, axis_tilt, axis_azimuth)[source]#
Calculate projected solar zenith angle in degrees.
This solar zenith angle is projected onto the plane whose normal vector is defined by
axis_tilt
andaxis_azimuth
. The normal vector is in the direction ofaxis_azimuth
(clockwise from north) and tilted from horizontal byaxis_tilt
. See Figure 5 in [1]:Fig. 5, [1]: Solar coordinates projection onto tracker rotation plane.#
- Parameters:
solar_zenith (numeric) – Sun’s apparent zenith in degrees.
solar_azimuth (numeric) – Sun’s azimuth in degrees.
axis_tilt (numeric) – Axis tilt angle in degrees. From horizontal plane to array plane.
axis_azimuth (numeric) – Axis azimuth angle in degrees. North = 0°; East = 90°; South = 180°; West = 270°
- Returns:
Projected_solar_zenith (numeric) – In degrees.
Notes
This projection has a variety of applications in PV. For example:
Projecting the sun’s position onto the plane perpendicular to the axis of a single-axis tracker (i.e. the plane whose normal vector coincides with the tracker torque tube) yields the tracker rotation angle that maximizes direct irradiance capture. This tracking strategy is called true-tracking. Learn more about tracking in Single-axis tracking.
Self-shading in large PV arrays is often modeled by assuming a simplified 2-D array geometry where the sun’s position is projected onto the plane perpendicular to the PV rows. The projected zenith angle is then used for calculations regarding row-to-row shading.
Examples
Calculate the ideal true-tracking angle for a horizontal north-south single-axis tracker:
>>> rotation = projected_solar_zenith_angle(solar_zenith, solar_azimuth, >>> axis_tilt=0, axis_azimuth=180)
Calculate the projected zenith angle in a south-facing fixed tilt array (note: the
axis_azimuth
of a fixed-tilt row points along the length of the row):>>> psza = projected_solar_zenith_angle(solar_zenith, solar_azimuth, >>> axis_tilt=0, axis_azimuth=90)
References
Examples using pvlib.shading.projected_solar_zenith_angle
#

Shaded fraction of a horizontal single-axis tracker