When Does Advection-Aware Graph Nowcasting Help? A Controlled Study of Distributed Solar Ramp Forecasting with a Self-Supervised Cloud-Motion Estimator
Organizations: Appsofa LLC
Abstract
Short-term forecasting of cloud-induced power ramps across a network of distributed photovoltaic (PV) or irradiance sensors is a recognised pain point for grid operators. A natural idea is to make the graph neural network (GNN) advection-aware: connect each site to the sites upwind of it, with edge time-lags set by the cloud-motion vector (CMV), so that a ramp is propagated forward before it physically arrives. Using a controlled synthetic testbed with a known wind field, we show that (i) with a realistic cross-correlation CMV estimate, an explicit advection graph does not beat a plain static or learned-adjacency spatiotemporal GNN; (ii) roughly half of the benefit available from a perfect CMV comes simply from providing an accurate motion vector as an input feature, not from graph structure; and (iii) advection helps only when the advective displacement over the forecast horizon, v*H, fits inside the sensor network. Motivated by (ii), we introduce a small self-supervised cloud-motion estimator -- a position-aware encoder trained only on a multi-lag optical-flow reconstruction objective with an annealed kernel -- that recovers the true wind vector to 2-4 degrees median angular error, 2-4x better than the classical cross-correlation method across every wind regime. Freezing this estimator and feeding its vector to the forecaster closes about 60% of the oracle-CMV RMSE gap at moderate wind (8-15% RMSE reduction over no advection), with no external wind data. We also report a negative result for a spatially-coherent probabilistic head. All claims are established on a single synthetic simulator; we discuss why real-network validation is the necessary next step and outline it.
Figures & tables
| wind speed (m/s) | |||
|---|---|---|---|
| model | 4 | 10 | 16 |
| per-site GRU | 0.066 | 0.148 | 0.154 |
| static-distance GCN | 0.034 | 0.089 | 0.130 |
| learned adjacency | 0.043 | 0.093 | 0.120 |
| hetero GNN (no adv.) | 0.032 | 0.087 | 0.127 |
| hetero GNN advection | 0.033 | 0.095 | 0.133 |
| wind | CMV | no adv. | adv. | RMSE |
|---|---|---|---|---|
| estimated | 0.086 | 0.096 | ||
| oracle | 0.077 | 0.066 | ||
| estimated | 0.133 | 0.128 | ||
| oracle | 0.124 | 0.103 |
| regime | learned (recon) | learned ( light sup.) | classical |
|---|---|---|---|
| steady, 4–16 m/s | 3.9–7.5 | 2.0–3.1 | 14–31 |
| variable, 4–16 m/s | 8.5–12.8 | 6.9–7.7 | 15–25 |
| wind (m/s) | no adv. | frozen CMV | oracle | CMV err. (deg) |
|---|---|---|---|---|
| 8 | 0.078 | 0.069 | 0.064 | 2.8 |
| 12 | 0.114 | 0.098 | 0.085 | 3.9 |
| 16 | 0.139 | 0.155 | 0.147 | 2.9 |
| 20 | 0.172 | 0.188 | 0.186 | 2.4 |