Skip to main content

Summary

When (POAI) is provided in the weather file, PlantPredict can reverse-decompose it into horizontal irradiance components (, , ) using the GTI-DIRINT algorithm. This is activated by the Frontside POAI toggle in Simulation Settings. When enabled, the standard GHI decomposition models (Erbs, Reindl, DIRINT) are bypassed—the horizontal components derived from the GTI-DIRINT algorithm feed into the normal pipeline for each DC field.

Inputs

NameSymbolUnitsDescription
Plane-of-Array IrradiancePOAIPOAIW/m²Measured total irradiance on tilted module surface from weather file
Extraterrestrial IrradianceDNIextraDNI_{extra}W/m²Solar irradiance at top of atmosphere
Solar Zenith Angleθz\theta_zdegreesAngle between sun and local vertical
Solar Azimuth Angleγs\gamma_sdegreesHorizontal angle of sun, clockwise from North
Atmospheric PressurePPhPaLocal atmospheric pressure
Albedoρ\rhoAverage ground reflectance (0–1)
Module Tiltβ\betadegreesAngle of module surface from horizontal (fixed-tilt only, 0° = horizontal, 90° = vertical)
Module Azimuthγ\gammadegreesDirection the module faces, clockwise from North (fixed-tilt only, 0° = N, 90° = E, 180° = S, 270° = W)
Tracker Axis Azimuthγaxis\gamma_{axis}degreesAzimuth orientation of tracker rotation axis from North (tracking only)
Tracker Axis Tiltβaxis\beta_{axis}degreesTilt of tracker rotation axis from horizontal (tracking only)
Minimum Rotation Limitαmin\alpha_{min}degreesMechanical limit for negative rotation (tracking only)
Maximum Rotation Limitαmax\alpha_{max}degreesMechanical limit for positive rotation (tracking only)
Stow Angleαstow\alpha_{stow}degreesRotation angle when sun is below horizon (tracking only)
Ground Coverage RatioGCRGCRRatio of collector width to row pitch (backtracking only)

Outputs

NameSymbolUnitsDescription
Global Horizontal IrradianceGHIGHIW/m²Total irradiance on horizontal surface
Direct Normal IrradianceDNIDNIW/m²Beam component perpendicular to sun’s rays
Diffuse Horizontal IrradianceDHIDHIW/m²Diffuse component on horizontal surface

Detailed Description

PlantPredict POAI Diffuse-Direct Decomposition model is based on the GTI-DIRINT algorithm described by Marion (2015), which derives horizontal irradiance components from measured POAI. The algorithm iteratively applies a tilted variation of the DISC-DIRINT decomposition model and checks its results by transposing back to the tilted plane, adjusting the clearness index KtK_t until the modeled POAI matches the measurement. Because POAI is typically measured by a sensor at a specific location in the power plant, its mounting configuration (tilt, azimuth, GCR, etc.) may not match any particular DC field—for example, DC fields can have different GCR or tracker settings. The algorithm therefore uses the mounting and tracking parameters defined at the weather-file level, which describe the sensor’s own configuration, rather than any DC field’s parameters. The derived GHI, DNI, and DHI are then re-transposed downstream for each DC field using that field’s actual parameters and the standard transposition models.

Algorithm Rationale

The DISC-DIRINT decomposition model was calibrated on horizontal irradiance data. Its central input is the clearness index: Kt=GHIDNIextracosθzK_t = \frac{GHI}{DNI_{extra} \cdot \cos\theta_z} which characterizes atmospheric transmittance through empirical relationships. Substituting GTI for GHI and AOI for θz\theta_z produces a “tilted” KtK_t that does not map cleanly to these relationships. A tilted surface sees a reduced fraction of the sky dome, receives ground-reflected irradiance that has no horizontal equivalent, and the beam projects through cosθAOI\cos\theta_{AOI} rather than cosθz\cos\theta_z. The mismatch grows with tilt angle. The iterative procedure compensates for this mismatch. For a given timestep, the other inputs to the DISC-DIRINT model—pressure-corrected airmass, extraterrestrial irradiance, and zenith angle—are independent of the surface orientation. KtK_t is the input that carries the orientation error. The iteration therefore targets KtK_t: starting with the measured POAI as an initial proxy GTIiGTI_i, the algorithm computes KtK_t from GTIiGTI_i, runs the full DISC-DIRINT decomposition to estimate DNI and DHI, then transposes those components back to the tilted plane using the Perez model. The difference between modeled and measured POAI reveals how far KtK_t was from its correct value, and is fed back into GTIiGTI_i to refine KtK_t on the next pass. The loop converges when the modeled POAI reproduces the measurement to within 1 W/m². The relaxation factor CC decreases with iteration count because DISC and DIRINT select coefficients from discrete lookup-table bins rather than continuous functions. A full-step correction (C=1C = 1) works well when far from the solution, but near convergence it can overshoot and oscillate across bin boundaries. Progressively damping the step size ensures stable convergence.

Mounting Angle Calculation

Before decomposition, the algorithm computes the (AOI) and surface tilt for each timestep using the weather file’s mounting configuration. For fixed-tilt systems, the tilt is used as-is and the AOI is calculated from the fixed tilt and azimuth combined with the solar position (see Incidence Angle). For single-axis trackers, the tracking angle is calculated using true tracking or backtracking (selected during weather file import), assuming horizontal ground, and the AOI is derived from the resulting tilt and azimuth.

Timestep Classification

The algorithm handles two cases separately based on AOI:
  • AOI < 90°: The beam component can reach the front surface. An iterative procedure solves for DNI and DHI.
  • AOI ≥ 90°: The beam cannot reach the front surface directly. A simplified non-iterative procedure is used.
Timesteps where POAI0POAI \leq 0 are zeroed out: GHI=DNI=DHI=0GHI = DNI = DHI = 0.

Case 1: AOI < 90° (Iterative)

The algorithm runs the full DISC-DIRINT decomposition using a tilted clearness index KtK_t derived from an intermediate variable GTIiGTI_i, initialized to the measured POAI. At each iteration, KtK_t and GTIiGTI_i are used to estimate DNI, DHI, and GHI, which are then transposed back to the tilted plane to produce a modeled POAI. The difference between modeled and measured POAI is multiplied by a relaxation factor and used to adjust GTIiGTI_i for the next iteration. The process converges when the difference falls within 1 W/m², or 30 iterations are reached. Each iteration performs the following steps: 1. Compute tilted clearness index: Kt=GTIiDNIextramax ⁣(0.065,cosθAOI)K_t = \frac{GTI_i}{DNI_{extra} \cdot \max\!\left(0.065,\, \cos\theta_{AOI}\right)} 2. Estimate DNI using DISC + DIRINT correction: The DISC model computes an initial DNI estimate from KtK_t using atmospheric transmittance factors (same formulation as in the GHI decomposition). The DIRINT correction coefficient CDIRINTC_{DIRINT} is then looked up from a four-dimensional table using the modified KtK'_t, temporal stability ΔKt\Delta K'_t, solar , and precipitable water (defaulted to unavailable): DNI=DNIDISC×CDIRINTDNI = DNI_{DISC} \times C_{DIRINT} 3. Derive DHI and GHI: DHI=KtDNIextramax(0.065,cosθz)DNImax(0.065,cosθz)DHI = K_t \cdot DNI_{extra} \cdot \max(0.065,\, \cos\theta_z) - DNI \cdot \max(0.065,\, \cos\theta_z) GHI=DNIcosθz+DHIGHI = DNI \cdot \cos\theta_z + DHI 4. Transpose back to the tilted plane and compare: If DNI ≥ 0 and DHI ≥ 0, the derived horizontal components are transposed to the tilted plane using the Perez model (for sky diffuse) and an isotropic model (for ground-reflected diffuse): Gground=GHIρ1cosβ2G_{ground} = GHI \cdot \rho \cdot \frac{1 - \cos\beta}{2} GTImodel=DNIcosθAOI+Gsky,tilt+GgroundGTI_{model} = DNI \cdot \cos\theta_{AOI} + G_{sky,tilt} + G_{ground} where Gsky,tiltG_{sky,tilt} is the Perez-transposed sky diffuse component. 5. Update and converge: The residual D=GTImodelPOAID = GTI_{model} - POAI is computed. The intermediate variable is updated with a damped Newton step: GTIiGTIiCDGTI_i \leftarrow GTI_i - C \cdot D where CC is a relaxation factor that decreases with iteration count to improve stability:
Iteration RangeRelaxation Factor CC
1–21.0
3–90.5
10–190.25
20–300.125
The algorithm converges when D1|D| \leq 1 W/m². If convergence is not reached within 30 iterations, the result with the smallest D|D| is used. The converged KtK'_t values for these timesteps are stored for use in Case 2.

Case 2: AOI ≥ 90° (Non-Iterative)

When the beam cannot reach the front surface, the measured POAI consists entirely of diffuse irradiance (sky and ground-reflected). The algorithm uses a simplified non-iterative approach: 1. Estimate KtK'_t from nearby timesteps: The modified clearness index is taken as the average KtK'_t from same-day timesteps (same morning/afternoon half) where 65°AOI80°65° \leq AOI \leq 80°. This provides a representative atmospheric state without requiring direct beam information. 2. Reverse KtK'_t to KtK_t and estimate DNI: Kt=Kt1.031exp ⁣(1.40.9+9.4/AM)+0.1K_t = \frac{K'_t}{1.031 \exp\!\left(-\frac{1.4}{0.9 + 9.4/AM'}\right) + 0.1} DNI is estimated using the DISC + DIRINT procedure. 3. Derive DHI from an isotropic diffuse model: Since the beam does not reach the front surface, the POAI is assumed to be entirely diffuse (sky + ground). Solving for DHI: DHI=2POAIDNIcosθzρ(1cosβ)1+cosβ+ρ(1cosβ)DHI = \frac{2 \cdot POAI - DNI \cdot \cos\theta_z \cdot \rho \cdot (1 - \cos\beta)}{1 + \cos\beta + \rho \cdot (1 - \cos\beta)} DHI is floored at zero. GHI is then computed from the .

Downstream Processing

The derived GHI, DNI, and DHI are written back to the weather data and processed through the standard transposition pipeline. Each DC field may have different mounting parameters than the weather file, so the horizontal components are re-transposed per DC field using the selected transposition model (Hay-Davies or Perez).

References

  • Perez, R., Ineichen, P., Moore, K., Kmiecik, M., Chain, C., George, R., & Vignola, F. (2002). A new operational model for satellite-derived irradiances: Description and validation. Solar Energy, 73(5), 307–317.
  • Marion, B. (2015). A model for deriving the direct normal and diffuse horizontal irradiance from the global tilted irradiance. Solar Energy, 122, 1037–1046.