Skip to content

Latest commit

 

History

History
108 lines (84 loc) · 9.78 KB

File metadata and controls

108 lines (84 loc) · 9.78 KB

Nowcasting (Development)

This folder specifies all relevant components to run this project on AWS. All resources are specified in Terraform. By using Terraform anybody can run this script themselves.

Setup

Install the terraform cli: https://learn.hashicorp.com/tutorials/terraform/install-cli. Initialize terraform by running terraform init in this directory.

Configuration

The configuration options are specified in variables.tf.

Infrastructure

There are several components to the system:

☁️ NWP Consumer (ECS Task):

Gets the latest NWP data from the UK Met Office and saves the data to S3. This is run on ECS and is triggered by airflow. This is currently part of the nowcasting project. There are currently two different orders.

  • The first gets data for the next 12 hours with the following variables: dlwrf, dswrf, hcc, lcc, mcc, prate, r, sde, si10, t, vis .
  • The second gets data for the next 42 hours with the following variables: dswrf lcc sde t wdir10

More details:

🌍Satellite Consumer (ECS Task)

Gets the latest satellite data from the EUMETSAT and saves the data to S3. This is run on ECS and is triggered by airflow. This is currently part of the nowcasting project.

☀️ PV Consumer (ECS Task):

Gets the latest PV data from the Sheffield Solar API and save to the database. This is run on ECS and is triggered by airflow. This is currently part of the nowcasting project.

☀️ GSP Consumer (ECS Task):

Gets GSP solar generation data from PVlive from Sheffield Solar and save to the database. This is run on ECS and is triggered by airflow. This is currently part of the nowcasting project.

📈 Site Forecast Prediction (ECS Task)

Loads NWP and PV data, and then runs the forecast model. The results are saved to the database. This is run on ECS and is triggered by airflow.

📈 GSP Forecast Prediction (PVnet 2) (ECS Task)

Pvnet 2 is currently our best forecast from 0 to 8 hours. It is a complex CNN model that used Satellite and NWP. First GSP forecasts are made, and then a model is used to forecast the national PV generation.

National Forecast Prediction (XGBoost) (ECS Task)

National xg makes forecast from 0 to 36 hours. It is a XGBoost model that used Satellite and NWP data. It prdocues a National forecast with probabilistic forecasts.

Forecast Blend (ECS Task)

The Forecast blend service reads all of the above forecasts and blends them together apprioately.

🚀 UK API (Elastic Beanstalk App)

The API loads forecasts and true values from the database and present the data in an easy to read way. This is run on Elastic Beantstalk. We use Auth0 to authenticate this API.

🚀 Site API (Elastic Beanstalk App)

The API loads forecasts and true values from the database and present the data in an easy to read way. This is run on Elastic Beantstalk. We use Auth0 to authenticate this API.

Other components:

  • Databases: We have a few postgres database that store the PV and forecast data. These is run on RDS.
  • Site databases clean up: Once a day we run a service to remove any data that is more than ~3 days old.
  • Airflow is used to trigger the ECS tasks. They use the latest ECS Task definition. This is part of the ocf airflow project.
  • OCF Dashboard: This is use for internally looking at the forecasts. Also for managing sites and users.

The forecast is trained offline and the model weights are saved to s3. Python Code