pvperfsolar performance modeling

Reference / Backtracking angle

Model option

Terrain-aware backtracking

Each tracker's own rotation from its neighbours' heights

Inputs used: Backtracking angle, Backtracking, Backtracking width, Collector band width

Method

Each tracker of a scene computes its own rotation. The true-tracking rotation comes from the tracker's axis (1). When the tracker's axis azimuth and axis tilt both lie within 0.05° of its orientation group's, the group's axis is used. For each neighbour, the slope of the line between the two axes (2) gives the shade test (3) and the backtracking rotation of the pair (4). The tracker takes the candidate with the most correction (5). Each neighbour on either side is evaluated at the lowest and the highest height difference along the stretch the two trackers share, and at the height difference where the neighbour lies on the sun's line when it falls between them. The shade test covers both directions, so the tracker neither receives shade nor casts it. A side with no neighbour adds no candidate: a tracker at the edge of the field still turns back so that its shadow misses the neighbour on its other side, and a tracker with no neighbour at all tracks the sun. On each side the method takes the nearest 8 tables whose centres lie within 10 of the tracker's collector widths across the axis and that overlap the tracker along it. Fixed racks among them add no candidate. The rotation stops of the Racking tab apply afterwards, then wind stow, then irradiance-optimised tracking. The widths are the backtracking widths of the Backtracking width step. Terrain-aware backtracking needs a scene with trackers and near shading by direct projection, which projects each tracker and each neighbour at its own rotation, or off. The plane-of-array irradiance of an orientation group is the module-weighted mean of its trackers' own transpositions, each tracker on its own axis at its own rotation. The rest of the group's calculation, the incidence angle included, uses the mean of their rotations.

The math

  1. True tracking
  2. Slope between the axes
  3. Shade test
  4. Backtracking rotation of the pair
  5. Rotation
ρT=atan2⁡ ⁣(cos⁡esin⁡(γs−Aax), cos⁡esin⁡τcos⁡(γs−Aax)+sin⁡ecos⁡τ)(1)\rho_T = \operatorname{atan2}\!\left(\cos e \sin(\gamma_s - A_{ax}),\ \cos e \sin\tau \cos(\gamma_s - A_{ax}) + \sin e \cos\tau\right) \tag{1} βc=−arctan⁡Δzxn(2)\beta_c = -\arctan\frac{\Delta z}{x_n} \tag{2} xc=∣cos⁡(ρT−βc)∣GCRncos⁡βc,GCRn=(W+Wn)/2∣xn∣(3)x_c = \frac{|\cos(\rho_T - \beta_c)|}{\text{GCR}_n \cos\beta_c},\qquad \text{GCR}_n = \frac{(W + W_n)/2}{|x_n|} \tag{3} ρc={−sign⁡(ρT)arccos⁡xcxc<10xc≥1,ρB=ρT+ρc(4)\rho_c = \begin{cases} -\operatorname{sign}(\rho_T)\arccos x_c & x_c < 1 \\ 0 & x_c \ge 1 \end{cases},\qquad \rho_B = \rho_T + \rho_c \tag{4} ρ=arg⁡min⁡c∈Csign⁡(ρT) c,C={ρT}∪{ρB(n,Δz):n, Δz∈{Δzmin,Δzmax,Δz∗}}(5)\rho = \arg\min_{c \in C} \operatorname{sign}(\rho_T)\,c,\qquad C = \{\rho_T\} \cup \{\rho_B(n, \Delta z) : n,\ \Delta z \in \{\Delta z_{min}, \Delta z_{max}, \Delta z^*\}\} \tag{5}

where

Symbol Meaning Unit
ρT\rho_T the true-tracking rotation degrees
ee the sun elevation degrees
γs\gamma_s the sun azimuth, clockwise from north degrees
AaxA_{ax} the axis azimuth of the tracker degrees
τ\tau the axis tilt of the tracker degrees
βc\beta_c the slope angle of the line from the tracker's axis to the neighbour's degrees
xnx_n the neighbour's signed distance across the axis, positive on the side Aax+90°A_{ax} + 90° scene units
Δz\Delta z the height of the neighbour's axis above the tracker's, square to the tracker's axis scene units
xcx_c the shade test: the pair shades at true tracking when it is below 1 —
GCRn\text{GCR}_n the ground cover ratio of the pair —
WW the tracker's backtracking width scene units
WnW_n the neighbour's backtracking width scene units
ρc\rho_c the backtracking correction degrees
ρB\rho_B the backtracking rotation of the pair degrees
ρ\rho the rotation the tracker takes, before the rotation stops degrees
CC the candidates: true tracking and each neighbour's pair rotation —
Δzmin,Δzmax\Delta z_{min}, \Delta z_{max} the lowest and highest height of the neighbour's axis along the shared stretch scene units
Δz∗\Delta z^* the height of the neighbour's axis at which it lies on the sun's line, xncos⁡ρT/sin⁡ρTx_n \cos\rho_T / \sin\rho_T, used when it falls between Δzmin\Delta z_{min} and Δzmax\Delta z_{max} scene units

References

  1. Anderson & Mikofski 2020, Slope-Aware Backtracking for Single-Axis Trackers, NREL/TP-5K00-76626

API

array.backtracking_angle = terrain_aware

Symbols follow the symbol registry.