class pvlib.tracking.SingleAxisTracker(**kwargs)[source]

Deprecated since version 0.9.0: The SingleAxisTracker class was deprecated in pvlib 0.9.0 and will be removed soon. Use PVSystem with SingleAxisTrackerMount instead.

A class for single-axis trackers that inherits the PV modeling methods from PVSystem. For details on calculating tracker rotation see pvlib.tracking.singleaxis().

  • axis_tilt (float, default 0) – The tilt of the axis of rotation (i.e, the y-axis defined by axis_azimuth) with respect to horizontal, in decimal degrees.

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

  • max_angle (float, default 90) – A value denoting the maximum rotation angle, in decimal degrees, of the one-axis tracker from its horizontal position (horizontal if axis_tilt = 0). A max_angle of 90 degrees allows the tracker to rotate to a vertical position to point the panel towards a horizon. max_angle of 180 degrees allows for full rotation.

  • backtrack (bool, default True) – Controls whether the tracker has the capability to “backtrack” to avoid row-to-row shading. False denotes no backtrack capability. True denotes backtrack capability.

  • gcr (float, default 2.0/7.0) – A value denoting the ground coverage ratio of a tracker system which utilizes backtracking; i.e. the ratio between the PV array surface area to total ground area. A tracker system with modules 2 meters wide, centered on the tracking axis, with 6 meters between the tracking axes has a gcr of 2/6=0.333. If gcr is not provided, a gcr of 2/7 is default. gcr must be <=1.

  • cross_axis_tilt (float, default 0.0) – The angle, relative to horizontal, of the line formed by the intersection between the slope containing the tracker axes and a plane perpendicular to the tracker axes. Cross-axis tilt should be specified using a right-handed convention. For example, trackers with axis azimuth of 180 degrees (heading south) will have a negative cross-axis tilt if the tracker axes plane slopes down to the east and positive cross-axis tilt if the tracker axes plane slopes up to the east. Use calc_cross_axis_tilt() to calculate cross_axis_tilt. [degrees]

  • **kwargs – Passed to PVSystem. If the arrays parameter is specified it must have only a single Array. Furthermore if a Array is provided it must have surface_tilt and surface_azimuth equal to None.

  • ValueError – If more than one Array is specified.

  • ValueError – If an Array is provided with a surface tilt or azimuth not None.



Initialize self.

adrinverter(v_dc, p_dc)

Deprecated since version 0.9.

calcparams_cec(effective_irradiance, temp_cell)

Use the calcparams_cec() function, the input parameters and self.module_parameters to calculate the module currents and resistances.

calcparams_desoto(effective_irradiance, …)

Use the calcparams_desoto() function, the input parameters and self.module_parameters to calculate the module currents and resistances.

calcparams_pvsyst(effective_irradiance, …)

Use the calcparams_pvsyst() function, the input parameters and self.module_parameters to calculate the module currents and resistances.


Calculates the equivalent resistance of the wires for each array using pvlib.pvsystem.dc_ohms_from_percent()

faiman_celltemp(poa_global, temp_air[, …])

Deprecated since version 0.9.

first_solar_spectral_loss(pw, airmass_absolute)

Use pvlib.atmosphere.first_solar_spectral_correction() to calculate the spectral loss modifier.

fuentes_celltemp(poa_global, temp_air, …)

Deprecated since version 0.9.

get_ac(model, p_dc[, v_dc])

Calculates AC power from p_dc using the inverter model indicated by model and self.inverter_parameters.

get_aoi(surface_tilt, surface_azimuth, …)

Get the angle of incidence on the system.

get_cell_temperature(poa_global, temp_air, …)

Determine cell temperature using the method specified by model.

get_iam(aoi[, iam_model])

Determine the incidence angle modifier using the method specified by iam_model.

get_irradiance(surface_tilt, …[, …])

Uses the irradiance.get_total_irradiance() function to calculate the plane of array irradiance components on a tilted surface defined by the input data and self.albedo.

i_from_v(resistance_shunt, …)

Wrapper around the pvlib.pvsystem.i_from_v() function.

noct_sam_celltemp(poa_global, temp_air, …)

Deprecated since version 0.9.

pvsyst_celltemp(poa_global, temp_air[, …])

Deprecated since version 0.9.


Deprecated since version 0.9.

pvwatts_dc(g_poa_effective, temp_cell)

Calcuates DC power according to the PVWatts model using pvlib.pvsystem.pvwatts_dc(), self.module_parameters[‘pdc0’], and self.module_parameters[‘gamma_pdc’].


Calculates DC power losses according the PVwatts model using pvlib.pvsystem.pvwatts_losses() and self.losses_parameters.

sapm(effective_irradiance, temp_cell)

Use the sapm() function, the input parameters, and self.module_parameters to calculate Voc, Isc, Ix, Ixx, Vmp, and Imp.

sapm_celltemp(poa_global, temp_air, wind_speed)

Deprecated since version 0.9.

sapm_effective_irradiance(poa_direct, …[, …])

Use the sapm_effective_irradiance() function, the input parameters, and self.module_parameters to calculate effective irradiance.


Use the sapm_spectral_loss() function, the input parameters, and self.module_parameters to calculate F1.


Scales the voltage, current, and power of the data DataFrame by self.modules_per_string and self.strings_per_inverter.

singleaxis(apparent_zenith, apparent_azimuth)

Get tracking data.

singlediode(photocurrent, …[, ivcurve_pnts])

Wrapper around the pvlib.pvsystem.singlediode() function.

snlinverter(v_dc, p_dc)

Deprecated since version 0.9.








The number of Arrays in the system.