← Course Home Module 9 · Paper 1 Deep Dive — Solar Power Forecasting
Module 9 · The Papers

Paper 1 Deep Dive — Solar Power Forecasting

Everything from Modules 0–8 now assembles into one coherent defense of du Plessis, Strauss & Rix (Applied Energy, 2021). This module walks the paper end to end at exam depth: the question, the design, the numbers, and — most importantly — how to read it critically out loud.

▶
Audio recap
A ~2-minute spoken summary of this module — great for revision on the go.

9.1 Problem & research objectives

PV power is intermittent, and grid operators must balance supply and demand continuously — forecasting is what keeps large solar shares grid-compatible (Module 0). The research gap: the overwhelming majority of published forecasting research uses small systems (< 100 kW); studies on large utility-scale plants (> 10 MW) are "considered to be a rarity" — the paper found only five. Yet it is precisely large plants where non-uniform behaviour (wind cooling, partial shading, uneven terrain) makes a single macro model questionable. Hence two objectives, close to verbatim:

  1. To investigate the use of aggregated low-level forecasts to obtain an enhanced forecasting accuracy;
  2. To determine the ability of state-of-the-art deep learning models to capture low-level PV system behaviour when trained on macro-level power data.
Deliberate scope choices — know these cold No weather-forecast inputs: only on-site historic measurements are used, since forecast data is not equally available at all locations and would introduce an external element of variability — staying independent keeps the focus on the stand-alone ability of the models and keeps the method location-independent. No new hybrid model: stand-alone SOTA models (FFNN, LSTM-RNN, GRU-RNN) are compared under equal effort, so conclusions generalise. CNNs excluded: literature reports high computational expense for hybrid CNN-LSTM solutions, and hybrids were out of scope by design.

9.2 The plant and data

The plant: a fixed-tilt, North-facing, 75 MW (DC) system of 312,500 modules feeding 84 inverters, on ~100 hectares in South Africa's arid Northern Cape — a solar goldmine with roughly 2600 kWh/m² of annual direct normal irradiance. The ground is flat and rows sit more than 3 m apart, so no inter-module shading occurs during primary production hours — remember this when generalisation to hilly plants (like the 100 MW Les Mées farm on rolling hills) comes up. Wind still matters: non-uniform aerodynamic cooling produces up to 3% inter-inverter output variation depending on wind direction — the paper's Exhibit A for non-homogeneous low-level dynamics.

Weather sensors (5 stations)Power data
Global Horizontal Irradiance (GHI) [W/m²], ambient temperature [°C], absolute air pressure [hPa], wind direction [0–360°], wind speed [m/s], relative humidity [%] (pressure, wind-dir & humidity from station WS5 only)Per-inverter power output [W] and total PV-system power output [W] at the grid connection point

Four years of data (2015-06-01 → 2019-05-31), split chronologically: 2 years training, 1 year validation, 1 year testing (Module 1's no-peeking rule). The raw 1-minute resolution is reduced to 5 minutes — less noise, still enough temporal pattern awareness.

9.3 Pipeline recap

cleaning: elimination / interpolation / imputation→ feature engineering: future solar angles β, Φ (pvlib); one-hot wind-dir (4) & month (12); normalization→ sliding windows 1/2/3/6/24 h, HISIMI+x→ FFNN / LSTM / GRU as MTR, 21 outputs→ 3-phase hyperparameter framework→ NRMSE / MAE / MAPE + bootstrap CIs

Each stage was built earlier in the course: cleaning and encoding in Module 4, the three architectures and multi-target regression (all 21 quarter-hour steps from 1–6 h in a single run) in Modules 3 and 5, the metrics and the 10,000-resample bootstrap in Module 7, and the 3-phase search plus inverter clustering in Module 8. Here they simply click together.

9.4 Final models table

FFNNLSTM-RNNGRU-RNN
Hidden layers332
Hidden units[64, 64, 64][16, 16, 16][64, 64]
Mini-batch size643264
Sliding window1 h3 h6 h
Historic input featuresPower, GHI, temperature

Three lessons hide in this table. First, power + GHI + temperature proved the most valuable inputs for all models; adding wind speed and pressure also delivered good results, while wind direction and humidity reduced accuracy — attributed to added model complexity. Second, the window-length contrast: the FFNN prefers a short 1 h history while the recurrent models digest 3 h and 6 h — RNNs can prioritise relevant historic information without being overwhelmed by the number of time steps (Module 5's whole selling point). Third, the winning models are small — no thousand-unit monsters survived the fair search.

9.5 Macro-level results

Table 5, distilled — averaged over the full test year and all 21 forecast steps:

All weatherFFNNLSTMGRU
NRMSE [%]8.198.238.12
MAPE [%]3.533.613.42

The weather-difficulty gradient is steep and consistent: NRMSE roughly 3–3.5% on clear days, ~5% clear-intermittent, ~10.5% intermittent, ~14.3–15% overcast. Accuracy also decreases with forecast horizon — both matter more than the model choice.

The nuances examiners fish for: the LSTM beats the FFNN on clear days (NRMSE 3.40 vs 3.52) and matches it on overcast and intermittent days — but loses badly on clear-intermittent days (5.38 / MAPE 2.45 vs the FFNN's 5.10 / 2.24), which is why "on average, the FFNN outperforms the LSTM". The GRU is the most accurate model for every weather type on average — the paper's macro-level champion.

Appendix A: is 8.12% actually good? Absolute percentages are meaningless without context, so the paper benchmarks its GRU against published studies using the same framework (historic on-site data only, intra-day). Versus Y. Wu et al. (day-time NRMSE 5.64–6.57 across three systems) the GRU delivers a comparable 5.77 day-time-only; versus N. Sodsong et al. (9.64% at 1 h) it wins clearly at 7.08%. Competitive with the state of the art — with no weather forecasts and a full-year test set.

9.6 Inverter-level results

The heart of the paper. Three FFNN variants are compared (Table 6): PV-system (macro), Inverter (84 individually-optimised models, summed) and Inverter-cluster (hyperparameters shared per Module 8's clustering, summed). Because the inverter sum lives at the inverter outputs while the reference power lives at the grid connection point — with medium/high-voltage transformer and line losses in between — a dedicated loss-correction deep FFNN (4 hidden layers × 256 units), trained on historic power data, emulates those losses and adapts the aggregated predictions.

FFNN, all weatherNRMSE [%]MAPE [%]
PV-system (macro)8.193.53
Inverter (individual)8.153.45
Inverter-cluster8.153.45

Three readings. (1) The gain is marginal — 8.19 → 8.15. (2) Inverter ≈ Inverter-cluster to the second decimal, the promised validation of the clustering shortcut. (3) The split by weather is the interesting part: inverter-level models win on intermittent days but macro wins on clear and overcast days. Why: on clear and overcast days the plant's exposure (in particular GHI) is homogeneous, so the macro model captures all the low-level dynamics adequately; higher intermittency means non-homogeneous PV-system behaviour — e.g. partial system shading — and that dissimilarity in low-level power dynamics is captured more effectively by low-level forecasts.

The GRU family (Table 8) sharpens the picture — and delivers the best overall result of the paper:

GRU, all weatherNRMSE [%]MAPE [%]
PV-system (macro)8.123.42
Inverter-cluster8.023.39

Unlike the FFNN, the GRU inverter-level model beats macro on clear days too (NRMSE 2.45 vs 2.67); macro remains better on overcast days. The GRU also shows a smaller macro-vs-inverter MAPE gap than the FFNN at 1 h and 3 h — evidence that the GRU macro model is already slightly more capable of accounting for inverter-level behaviour.

The bootstrap tells the horizon story (Tables 7 & 9) The low-level advantage lives at short horizons. FFNN average MAPE at 1 h: inverter 2.73 vs macro 2.92 — a clear win; at 6 h: 3.93 vs 3.94 — gone. GRU: 2.79 vs 2.88 at 1 h, 3.92 vs 3.99 at 6 h. Meanwhile the 95% CI widths grow with horizon, roughly 59.5 → 74.8 kW from 1 h to 6 h: forecasts further out are both less accurate and less certain. If asked "when would you deploy inverter-level forecasting?", the answer is: horizons ≤ 3 h, intermittent conditions.

One more inverter-level advantage is about data quality, not accuracy: the macro model trains on a single grid-connection-point series, so any data deficiency translates directly into the forecast. In the aggregated approach, one inverter's bad data makes only a small contribution to the total — and bad segments can be substituted with data from similar inverters (similar power dynamics) without affecting final accuracy. The low-level solution is the more robust one.

9.7 Conclusions & critical reading

The authors are unusually candid: given the original hypothesis, it was "underwhelming to see that the aggregated low-level forecasts did not deliver a much more significant increase in forecasting accuracy" — best GRU inverter-cluster NRMSE 8.02% vs 8.12% macro. But the flip side is the real finding: it is impressive that macro-level models emulate low-level PV dynamics this well. The recommendations follow: the low-level methodology is worth it for multi-megawatt plants with large ground coverage (where non-uniform exposure is amplified); researchers proposing DL forecasting for smaller < 10 MW plants "can be confident in the application of these models as macro-level solutions". Open question flagged by the authors themselves: does macro-level adequacy persist for plants larger than 75 MW, or with uneven surface topology?

Critical reading — strengths and probe-points Strengths to cite: a full-year test set covering all seasons and weather types; equal, documented 3-phase optimisation effort for every model (dodging its own four superiority pitfalls); 10,000-resample bootstrap CIs instead of bare point estimates; a validated clustering shortcut; and an honest, near-negative headline result.

Probe-points to raise (and defuse): single plant, single site — flat arid terrain with no inter-row shading, so generalisation to hilly plants like Les Mées is untested (the authors say so). No weather-forecast inputs — by design, for location-independence, but a real deployment would add them and might shift the macro-vs-low-level balance. Only three architectures — no CNNs, attention, or hybrids (a scoping choice, argued from computational cost). Clustering validated once, on this plant only. And the metrics: MAPE/NRMSE are normalised by rated capacity Pcap, not actual power — careful before calling that a flaw: dividing by actual output would explode near sunrise/sunset, and capacity-normalisation deliberately keeps errors in grid-scale context (a 3% error means 3% of 75 MW). Know both sides.

9.8 The elevator defense

Sixty seconds, no notes "Problem: PV forecasting research lives on sub-100 kW systems, yet grids depend on multi-megawatt plants whose segments behave non-uniformly — so do macro models trained on total output miss low-level dynamics? Design: on 4 years of data from a 75 MW, 84-inverter South African plant, the authors train FFNN, LSTM and GRU models at macro and inverter level under an identical 3-phase hyperparameter framework, make 84 low-level models affordable via Euclidean-distance K-means clustering with shared hyperparameters, correct the inverter sum for transformer losses with a dedicated FFNN, and evaluate with capacity-normalised metrics plus bootstrap CIs. Evidence: best macro GRU reaches 8.12% NRMSE; aggregated inverter-cluster GRU reaches 8.02% — gains concentrate at horizons ≤ 3 h and on intermittent days, and vanish by 6 h. Conclusion: the improvement is marginal — deep macro models have a sufficient ability to capture low-level PV behaviour. Limitation: one flat, arid site; no weather-forecast inputs; three architectures. Takeaway: below ~10 MW, use macro models with confidence; consider low-level aggregation only for large-footprint plants, short horizons, and variable skies."
Exam warm-up — hard oral questions
  1. Why is an honest "marginal improvement" result still publishable and valuable? (Hint: gap in >10 MW literature, the methodological framework, and the practitioner guarantee it licenses.)
  2. Why did inverter-level forecasts win on intermittent days but lose on overcast days? Build the answer around homogeneous vs non-homogeneous exposure.
  3. Defend the choice to exclude weather forecasts as inputs — then argue the opposite side.
  4. How does the paper avoid its own four pitfalls of claimed model superiority (metrics, benchmarks, test sets, effort)?
  5. Design the follow-up study on a hilly 100 MW plant: what would you keep, what must change, and what result would overturn this paper's conclusion?

Module 9 Quiz

12 questions — numbers, design justifications, and critical reading. This is the exam's home turf.

← Previous
Module 8: The Optimization Toolbox