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.
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:
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.
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.
| FFNN | LSTM-RNN | GRU-RNN | |
|---|---|---|---|
| Hidden layers | 3 | 3 | 2 |
| Hidden units | [64, 64, 64] | [16, 16, 16] | [64, 64] |
| Mini-batch size | 64 | 32 | 64 |
| Sliding window | 1 h | 3 h | 6 h |
| Historic input features | Power, 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.
Table 5, distilled — averaged over the full test year and all 21 forecast steps:
| All weather | FFNN | LSTM | GRU |
|---|---|---|---|
| NRMSE [%] | 8.19 | 8.23 | 8.12 |
| MAPE [%] | 3.53 | 3.61 | 3.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.
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 weather | NRMSE [%] | MAPE [%] |
|---|---|---|
| PV-system (macro) | 8.19 | 3.53 |
| Inverter (individual) | 8.15 | 3.45 |
| Inverter-cluster | 8.15 | 3.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 weather | NRMSE [%] | MAPE [%] |
|---|---|---|
| PV-system (macro) | 8.12 | 3.42 |
| Inverter-cluster | 8.02 | 3.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.
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.
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?