Produce a falsifiable D+1 solar and wind forecast normalised by capacity while preserving the information vintage available at forecast time.
3 · What it produces
P10/P50/P90, D+1 GWh, abundance index and OOS metrics versus baselines.
The images come from demonstration runs included in the attached repository and are shown without dates to illustrate workflow structure, method and evidence.
4 · How it works
From data to output, with explicit controls.
Transferable pattern: Capacity-normalised point-in-time forecasting.
5 · Data, AI/ML/RPA and method
Data and features
Terna Public API primary and ENTSO-E fallback for observed generation/capacity; without credentials, a non-publishable Open-Meteo proxy using declared 100 m wind nodes, local power curves before weighted aggregation, ECMWF D+1; 1/24/168h lags, seasonality and clear-sky
Calculation / inference
Gradient Boosting on capacity factor; empirical intervals
Validation
time split and persistence; proxy separated from actuals and never matured as a real forecast; prospective ENTSO-E A69 baseline when available; nMAE/RMSE/bias/coverage/skill
Stack
Python, pandas, scikit-learn, requests, SQLite, Matplotlib
6 · Technical dossier
Operating conditions and declared limitations.
| Compute cadence | Daily 08:50 Europe/Rome |
|---|---|
| Planned publication | IT Tue 11:15 + Sun 11:30; EN Tue 17:00 + Sun 19:00 |
| Possible applications | load shifting, energy planning, storage and flexibility |
| Research use | vintage bias and skill versus physical/operator baselines |
| Required condition | V1 covers solar+wind only and does not certify RFNBO |
| Failure mode | mistaking the weather/capacity proxy for observed generation, missing forecast vintages or installed-capacity growth mistaken for skill |
Without an authenticated observed source, the workflow uses a weather/capacity proxy explicitly not publishable as real generation. It does not certify RFNBO or site-level power availability.
7 · Verification and further reading