pvlib.tracking.calc_surface_orientation(tracker_theta, axis_tilt=0, axis_azimuth=0)[source]#

Calculate the surface tilt and azimuth angles for a given tracker rotation.

  • tracker_theta (numeric) – Tracker rotation angle as a right-handed rotation around the axis defined by axis_tilt and axis_azimuth. For example, with axis_tilt=0 and axis_azimuth=180, tracker_theta > 0 results in surface_azimuth to the West while tracker_theta < 0 results in surface_azimuth to the East. [degree]

  • axis_tilt (float, default 0) – The tilt of the axis of rotation with respect to horizontal. axis_tilt must be >= 0 and <= 90. [degree]

  • axis_azimuth (float, default 0) – A value denoting the compass direction along which the axis of rotation lies. Measured east of north. [degree]


dict or DataFrame – Contains keys 'surface_tilt' and 'surface_azimuth' representing the module orientation accounting for tracker rotation and axis orientation. [degree]



William F. Marion and Aron P. Dobos, “Rotation Angle for the Optimum Tracking of One-Axis Trackers”, Technical Report NREL/TP-6A20-58891, July 2013. DOI: 10.2172/1089596