The pyranometer that measures the solar campaign is leveled horizontally. The photovoltaic panel that will produce energy is tilted — with tilt from 10 to 25° in most projects in the Northeast of Brazil. The resource that interests the bank is the irradiance in the Panel plan (POA — Plane of Array), not measured horizontal irradiance (GHI — Global Horizontal Irradiance).

The difference is not trivial: depending on the latitude, the tilt, the diffuse sky fraction and the chosen model, POA can be 1 to 5% greater or less than GHI at the same location. A systematic error of 3% in the annual POA spreads directly to P50's AEP — and to the projected cash flow of the lender for 20 years. GHI→POA transposition is the technical step that converts the data measured into useful data for the generation model.

The decomposition of solar irradiance

GHI is not an atomic magnitude. It is the sum of two physically distinct components that reach the horizontal plane in completely different forms:

GHI = DNI × cos(θz) + DHI

DNI  — Direct Normal Irradiance  — direct beam normal to the sun (W/m²)
DHI  — Diffuse Horizontal Irradiance — diffuse irradiance from the sky dome (W/m²)
θz   — solar zenith angle (0° = sun overhead, 90° = horizon)

DNI is the collimated beam that comes directly from the solar disk. It is very sensitive to aerosols, water vapour and zenith angle — and it is the component that most varies hour by hour with the cloud cover. In days of clean sky in the Northeast, DNI can reach 900–950 W/m2, representing 80–85% of GHI.

DHI is all the irradiance that comes from the celestial vault outside of the solar disk — Rayleigh scattering, clouds, aerosols, reflections. On clear days in the Northeast, DHI is 100–150 W/m2; on cloudy days, it can be virtually the whole GHI. DHI has no preferential direction and comes from the whole half-sphere above the measuring point.

When the piranometer measures GHI, it records the sum of these two contributions. To calculate POA, it needs to dismember them — because each one affects the tilted panel differently.

Geometry of solar irradiance on inclined surface — DNI collimated, diffuse DHI and soil reflection add up to form POA DNI × cos(AOI) Direct beam DHI (diffuse sky) 1⁄2(1 + cos β) GHI × ρ × 1⁄2(1 - cos β) • soil reflection (albedo ρ) β POA = POA_dir + POA_dif + POA_ref Tilt β, azimuth γ, albedo ρ Model defines how to treat POA_dif
1 — Transposition geometry GHI→POA. The direct beam (DNI) reaches with angle of incidence AOI dependent on the solar position and tilt β. The diffuse component of the sky (DHI) is treated differently by the three models. Soil reflection depends on the albedo ρ (standard: 0.25) and the geometric factor 1⁄2(1−cos β).

The angle of incidence and the solar position

To calculate how much DNI reaches the panel, you need to know the angle of incidence (AOI) — the angle between the solar beam and the normal one on the panel surface. It is a function of the instantaneous solar geometry and the orientation of the panel:

cos(AOI) = cos(θz)×cos(β) + sin(θz)×sin(β)×cos(φsol − γ)

θz   — solar zenith angle (pvlib: apparent_zenith)
β    — panel tilt (°)
γ    — panel azimuth (°, N=0, E=90, S=180)
φsol — solar azimuth (°)

POA_dir = DNI × max(cos(AOI), 0)  — clamped at 0 (no rear-side incidence)

The zenith angle, the solar azimuth and the other solar position parameters are calculated hour by hour via NREL algorithm (pvlib Get_solarposition(method="nrel_numpy")), using the latitude, longitude and altitude of the measuring site. The accuracy of the NREL algorithm is better than 0.01° — is not a relevant source of uncertainty.

A point that appears in practice: the correct denominator for the clearness index kt (kt = GHI / GHI_extra_horizontal) is the extraterrestrial irradiance projected on the horizon — not the normal extraterrestrial irradiance (~1367 W/m2). Using the normal value as the denominator, kt results systematically low in moderate solar elevations, producing false alarms from covered sky. The correct projection is:

GHI_extra_h = E0 × max(cos(θz), 0)   (E0 ≈ 1367 W/m² Spencer model)
kt = GHI / GHI_extra_h                (valid only when GHI_extra_h > 0)

The three transposition models

The difference between the models is in how they treat the diffuse component of the sky (POA_dif). The direct POA and the reflected POA are equal in all three.

Isotropic — Liu & Jordan (1963)

The simplest model assumes that diffuse irradiance also comes from all the celestial vault — the sky has uniform brightness:

POA_dif_iso = DHI × (1 + cos β) / 2

# Sky View Factor: Upper Hemisphere Fraction Visible by Panel
# β=0° → factor=1,0 (panel sees the whole sky); β=90° → factor=0,5

The isotropic is the SOLANO default for resource analysis. It is conservative, well understood, without dependence on the irradiance history, and suitable for field campaigns where you do not always have measured DNI — only GHI and DHI estimated by decomposition model.

Hay & Davies (1980) — IEC 61724-1 standard for PR

The HD divides the diffuse irradiance into two fractions: circumsolar (concentrated around the solar disk, follows the geometry of the DNI) and isotropic (the rest of the sky). The division is controlled by anisotropy index f:

f = DNI / E0                       (anisotropy index, 0 ≤ f ≤ 1)

POA_dif_HD = DHI × [ f × cos(AOI)/max(cos(θz), 0.087)
                   + (1−f) × (1 + cos β)/2 ]

# f → 0 (overcast sky): isotropic shift model
# • f → 1 (clear sky): dominant circumsolar fraction, following the geometry of the sun

The IEC 61724-1 adopts Hay & Davies as the standard model for calculating PR precisely because in the clear sky regime — common in the Northeast — the circumsolar fraction is significant and the isotropic underestimate it. For a site with average annual kt of 0.60, the difference of POA annually between isotropic and HD is about 0.5–1.5%.

Perez (1990) — more precise, more inputs

The Perez decomposes the diffuse sky into three parts: circumsolar, brightness on the horizon and isotropic background. It uses empirical coefficients (F1, F2) derived from direct measurements of sky luminance at reference stations. Requires DNI_extra and relative air mass (airmass) as additional inputs:

POA_dif_Perez = DHI × [ F1 × cos(AOI)/max(cos(θz), 0.087)
                       + F2 × sin(β)
                       + (1−F1) × (1 + cos β)/2 ]

F1, F2 — coeficientes tabulados por faixa de brilho de horizonte e zenith
# Best precision in partially cloudy sky; difference vs HD < 1% in clear sky

The Perez is the model with the highest documented accuracy, but the difference from HD at high direct irradiation sites (such as the Northeast) is small — often <1% in the annual POA. It is recommended when you need the maximum accuracy possible in the calculation of PR or when the campaign includes direct measurement of sky luminance.

Comparison of transposition models
Model Diffuse treated as Extra inputs When to use
Isotropic (Liu-Jordan) Uniform sky None Resource analysis; when only GHI is available
Hay-Davies Circumsolar + isotropic DNI_extra, anisotropy index Standard IEC 61724-1; calculation of bankable PR
– Perez Circumsolar + horizon + isotropic DNI_extra, airmass Maximum accuracy; audit; PVsyst simulations

Tilt and azimuth sensitivity

The choice of tilt and azimuth directly impacts the annual POA. For sites in the Northeast (latitudes 5°–15°S), SOLANO performs a sensitivity scan:

The sensitivity of the annual POA to tilt — scan from 0 to 45° showing optimal 12° tilt to site at -10°S in the Northeast Great tilt = 12° 2143 kWh/m2 Tilt = 20° -1.1% POA GHI 2100 0° 10° 20° 30° 40° - panel inclination (°) 1850 1940 2000 2050 2100 2200 Annual POA (kWh/m2)
2 — Sensitivity of the annual POA to the tilt for a site at −10°S in the Northeast (GHI annual = 2100 kWh/m2, isotropic model, azimuth = 0° — geographic north). Tilt optimal . 12°; using tilt=20° (typically imposed by fixed tracker standard structure) costs ~1.1% of POA annual. The GHI=2100 kWh/m2 trace line shows that any reasonable positive tilt exceeds the horizontal piranometer.

A useful finger rule for pre-projecting in the Northeast: tilt great . . .latitude . . + 2° to 4° — because the dry season (higher resources) coincides with the northerly sun for southern latitudes. The great azimuth for the Southern Hemisphere is geographic north (azimuth = 0° in the convention N=0 used by SOLANO and pvlib — do not confuse with conventions that use S=0).

The sensitivity to azimuth is greater than that to tilt: a 15° error of azimuth (the slightly misaligned working hand) can cost 0.5–1.5% of POA. A 5° error of tilt impacts less than 0.2%. Both effects are calculated in the sensitivity analysis of SOLANO and appear in the campaign report.

From POA to AEP: the equation of the photovoltaic generator

With the calculated annual POA, the generation estimate uses three system parameters:

AEP  = P_nom × POA_annual × PR           (kWh/year)
SY   = POA_annual × PR                   (kWh/kWp — specific yield)
CF   = AEP / (P_nom × 8760) × 100       (%)

P_nom  — installed capacity (kWp)
POA    — annual plane-of-array irradiation (kWh/m²)
PR     — performance ratio (dimensionless, 0 to 1)
         includes temperature, inverter and cable losses, soiling, shading

The PR of 0.80 is a reasonable starting value for fixed systems in the Northeast with good maintenance. For systems with 1-axis trackers, PR tends to be slightly lower (0.76–0.79) for additional engine losses, but the gain in POA of 15–25% more than compensates.

A consistency check: for the Northeast, the expected fixed FV system CF is 20–26%. Values outside this range indicate modeling error (PR very high, POA underestimated, or incorrect installed power).

Uncertainty budget in the irradiation POA and P90

The solar irradiation P90 that the lender uses in the cash flow model results from the combination of four sources of uncertainty in square:

Annual POA Uncertainty Budget — P90 1-year versus 20-year irradiation with u_cal, u_soiling, u_adjust and u_iav components Uncertainty components (1σ): U_cal (Class A) 1,5% u_soiling 1,0% u_adjust 2,0% U_iav (1 year) 4,0% σ_total = RSS of the 4 components 1 year: 4.82% 20 years: 2.84% (u_iav √ 20) 1900 2000 2100 2200 Annual POA irradiation (kWh/m2) P50 = 2100 P90 1970 1 year P90 2024 20 years u_iav ÷ √20 → +54 kWh/m2
3 — Annual POA uncertainty budget (P50 = 2100 kWh/m2). The 4 components are combined by RSS; the interannual variability (u_iav) dominates 1 year but reduces in N for long horizons. P90 1 year = 1970 kWh/m2 (−6.2 %); P90 20 years = 2024 kWh/m2 (−3.6%) — the P90 long term converges toward P50 as IAV is diversified along the operating horizon.
σ_total = √(u_cal² + u_soiling² + u_adjust² + u_iav²)

u_cal     — ISO 9060 class: A→1.5%, B→3.0%, C→6.0%
u_soiling — soiling loss (default 1.0%; configurable)
u_adjust  — RMSE% / √n_months (long-term adjustment uncertainty)
u_iav_N   — interannual variability over N years: σ_iav_1yr / √N

P90 = P50 × (1 − 1,2816 × σ_total / 100)   (N-year horizon)

The component that weighs the most in the short term is the interannual variability (u_iav): the solar resource of the Northeast varies ±3–5% between consecutive years, depending on the latitude range and the position of the ITCZ. This component decreases with the horizon of analysis — at 20 years, the temporal diversification reduces u_iav in √20 √4,5×. Therefore the 20-year P90 is much closer to the P50 than the 1-year P90 — and it is the long-term P90 that the financial model of a FV park uses for the conservative scenario of AEP.

For instrument calibration, the distinction between classes ISO 9060 is relevant: a class B piranometer (u_cal=3.0%) versus class A (1.5%) represents a 1.5% difference in the calibration component — which is permanent, does not dilute with the horizon, and impacts the entire campaign analysis. NT.03 For the quality criteria of piranometers according to IEC 61724-1.

The long-term adjustment (u_adjust) depends on the quality of the adjustment made with the reference series (CERES, SARAH-3, SONDA station). The formula RMSE%/√n_months means that longer campaigns (more months of overlap with the reference) reduce this component. A 12-month campaign with RMSE%=5% produces u_adjust=5/√12=1.44%; the same with 4 months: 5/√4=2.5%. This is the technical reason why 12 months of campaign is the minimum to reduce u_adjust to bankable levels. NT.07.

SOLANO calculates the full budget in the uncertainty tab and includes it in the ABNT report, with the individual components, σ_total by horizon (1, 10, 20 years) and P50/P75/P90/P95/P99 irradiation, as detailed in NT.10The detection of progressive dirt — which directly affects u_soiling and can inflate the long-term adjustment — is discussed in NT.12.

Standards and References

  • IEC 61724-1 Ed. 2 — Photovoltaic system performance — Part 1: Monitoring (2021)
  • ISO 9060:2018 — Solar energy — Specification and classification of instruments for measuring hemispherical solar and direct solar radiation
  • Liu B.Y.H., Jordan R.C. — The interrelationship and characteristic distribution of direct, diffuse and total solar radiation, Solar Energy 4(3):1–19 (1960)
  • There's J.E., Davies J.A. — Calculations of the solar radiation incident on an inclined surface, Processings First Canadian Solar Radiation Data Workshop, 59–72 (1980)
  • Perez R. et al. — Modeling daylight availability and irradiance components from direct and global irradiance, Solar Energy 44(5):271–289 (1990)
  • Reda I., Andreas A. — Solar Position Algorithm for Solar Radiation Applications, NREL/TP-560-34302 (2003)
  • – Anderson K. et al. — pvlib python: a python package for modeling solar energy systems, Journal of Open Source Software (2023)