pvperfsolar performance modeling

Reference / Near shading (row to row)

Model option

Shading-factor table, PVsyst application

The direct-light factor read from a table indexed by sun position, built by projecting the scene's mounting tables and objects

Inputs used: GCR (ground cover ratio), Collector band width, Plane tilt, Top inactive band, Bottom inactive band, Number of rows, Model row-to-row shading, Backtracking

Method

The option needs a scene. For each orientation, the neighbours of every mounting table are projected along the sun onto that table's plane for ten sun heights and nineteen azimuths. A neighbour casts its shadow with its modules' rectangle grown by its border on every side (scene.types.border). A rack's neighbours are every table toward its facing whose centre lies within ten collector widths of the rack, counted beyond the two half lengths along the row, and the nearest table on each side of its own row. A tracker's neighbours are the tables within ten collector widths on either side that overlap it along its axis, at most eight on each side. The scene's shading objects are projected the same way, each with its transmittance. On each table the shadows form one union: a point under a neighbour's shadow is shaded, and a point under objects only keeps the product of their transmittances (1). The shaded fraction of the field is the mean of the tables' fractions by module count over every table (2). The row of 0° sun height is computed at 2° and continued to 0° along the line through its 2° and 10° values, held between 0 and 1 (3). A direction behind the plane counts as shaded. The shaded fraction of the field is stored in a shading-factor table, and each timestep reads it by bilinear interpolation in sun height and azimuth. The sky factor is the shading-factor table integrated over the sky the plane sees (4), and the ground factor is its 0° row integrated over the ground the plane sees (5). For racks both are constant over the year; for trackers they are computed for every whole degree of rotation and read at the rotation of each timestep. A tree line lets part of the light through, with one transmittance in the leaf-on months and another in the leafless months, so a scene with a tree line has a second shading-factor table for the leafless months.

The math

  1. Shaded fraction of a table
  2. Shaded fraction of the field
  3. Row of 0° sun height
  4. Sky factor
  5. Ground factor
fT(e,γ)=1∣T∣∫T[1−(1−χ∪nSn)∏k(1−(1−τk) χOk)] dA(1)f_{\mathcal{T}}(e, \gamma) = \frac{1}{\lvert \mathcal{T} \rvert}\int_{\mathcal{T}} \Bigl[1 - \bigl(1 - \chi_{\cup_n \mathcal{S}_n}\bigr)\prod_k \bigl(1 - (1 - \tau_k)\,\chi_{\mathcal{O}_k}\bigr)\Bigr]\,dA \tag{1} Fsh(e,γ)=fT(e,γ)‾(2)F_{sh}(e, \gamma) = \overline{f_{\mathcal{T}}(e, \gamma)} \tag{2} Fsh(0,γ)=min⁡ ⁣(1, max⁡ ⁣(0, Fsh(2,γ)+28(Fsh(2,γ)−Fsh(10,γ))))(3)F_{sh}(0, \gamma) = \min\!\Bigl(1,\ \max\!\Bigl(0,\ F_{sh}(2, \gamma) + \tfrac{2}{8}\bigl(F_{sh}(2, \gamma) - F_{sh}(10, \gamma)\bigr)\Bigr)\Bigr) \tag{3} Fsky=1−∫skyFsh(e,γ)cos⁡θ dΩ∫skycos⁡θ dΩ(4)F_{sky} = 1 - \frac{\int_{sky} F_{sh}(e, \gamma)\cos\theta\,d\Omega}{\int_{sky} \cos\theta\,d\Omega} \tag{4} Fgnd=1−∫gndFsh(0,γ)cos⁡θ dΩ∫gndcos⁡θ dΩ(5)F_{gnd} = 1 - \frac{\int_{gnd} F_{sh}(0, \gamma)\cos\theta\,d\Omega}{\int_{gnd} \cos\theta\,d\Omega} \tag{5}

where

Symbol Meaning Unit
fT(e,γ)f_{\mathcal{T}}(e, \gamma) the shaded fraction of a mounting table at sun height ee and azimuth γ\gamma, both in degrees —
T\mathcal{T} the mounting table's modules' rectangle —
Sn\mathcal{S}_n the shadow neighbour nn casts on the mounting table's plane: its rectangle grown by its border —
Ok\mathcal{O}_k the shadow object kk casts on the mounting table's plane —
χA\chi_{A} 1 at a point of the set AA, 0 elsewhere —
τk\tau_k the transmittance of object kk: 0 for a solid object, a tree line's leaf-on or leafless value —
dAdA an element of the table's area —
Fsh(e,γ)F_{sh}(e, \gamma) the shaded fraction of the field at sun height ee and azimuth γ\gamma —
 ⋅ ‾\overline{\,\cdot\,} the mean over every mounting table of the orientation, weighted by module count —
FskyF_{sky} the fraction of the sky light the modules receive —
θ\theta the angle between the direction Ω\Omega and the perpendicular to the module plane degrees
dΩd\Omega an element of solid angle at elevation ee and azimuth γ\gamma, taken where cos⁡θ>0\cos\theta > 0 sr
FgndF_{gnd} the fraction of the ground-reflected light the modules receive —

References

  1. PVsyst 8 help, Shading factor table
  2. Analysis of PVsyst 8.1.5 outputs shows this convention in its results.

API

array.shading_model = pvsyst_table (with a scene)

Symbols follow the symbol registry.