Analysis of historic wind generation in the UK, relative to prevailing weather, demand and comparing to other generation sourcces.
UK Government: Renewable Energy Planning Database
Weather data from Stormglass: https://stormglass.io/ with API documentation here: https://docs.stormglass.io/
Also considered: https://www.meteomatics.com/en/weather-api/
https://renewables-map.robinhawkes.com/
National Grid: Live and supporting open source GitHub repo
- Azure subscription for permanent storage of data, storing secrets and observability.
- VS Code
- Docker (or equivalent)
- Git
- Your user ID on Azure.
az ad user list --display-name "Barry Smart"
Pull down the repo locally.
Open the repo in VS Code.
Open the folder in a dev container. This will give you the Python environment, Azure CLI and bicep tooling required to deploy and run the solution locally.
Log in to Azure:
az login
From the interactive prompt, select the tenent / subscription you want to deploy the Azure resources into.
If required, create a new resource group, for example:
az group create --name rg-uk-wind-generation --location uksouth
Before you log into Azure and deploy your resources, you will need:
- An API key for Stormglass (you can start using the service for free)
- Your user ID on Azure. You can get this through the Azure CLI, for example:
az ad user list --display-name "Barry Smart"
Now deploy the resources into this resource group:
az deployment group create --resource-group rg-uk-wind-generation --template-file azure/create-azure-resources.bicep
You will be interactively prompted for the details you gathered above:
- appNamePrefix: for example, you could respond
ukwgfor "UK Wind Generation". - environmentType: for example, you could respond
devto create resources tagged for development environment. - stormglassApiKey: provide the API string provided on the Stormglass.io web site for your personal API key.
- userId: your Azure Entra user ID as provided by the
az ad user list --display-name "Barry Smart"where "Barry Smart" is replaced with your own user name.