Skip to content
@openclimatefix

Open Climate Fix

Using open science to mitigate climate change

Open Climate Fix (OCF) is a non-profit company, focused on building AI tools for a greener grid. Every path to net zero has the electricity grid at its heart. At Open Climate Fix, we're delivering cutting-edge technology for industry to accelerate the energy transition.

How to get involved?

At OCF we are passionate that all the knowledge we produce remains open, to break down intellectual property barriers and subsequently reduce the “time to impact”. We therefore encourage external users to use our base code.

Here how you can get involved:

  • Submit pull requests;
  • Have a look at our List of "good first issues" – these are GitHub Issues which describe changes we'd like to make to the code. Our coding style is here;
  • Check out which Github repositories are easy to contribute to in the section below using our (hopefully) helpful traffic light system 🚦;
  • Sign up to our newsletter and follow us on Bluesky and LinkedIn to learn the latest about our work;
  • Use our datasets on Hugging Face or EUMETSAT satellite data and let us know if it was useful;
  • Use our ML models on Hugging Face and let us know if it was useful;
  • Spread the word with your networks;
  • Use our code(!) by following the guidelines below.

What if you use our code?

[ Click to expand ]

In order for us to understand the use of our models, and to demonstrate impact to future funders, it is invaluable for us to know who is using the code and, if possible, how.

We licence the code in this repository under a permissive MIT licence and if you are using the code or deriving from it, we request that you attribute the use of Open Climate Fix’s work in your product by adding the text below:

'original code by Open Climate Fix'

If you're a contributor, we'd love for you to share your work! We ask our community to refer to themselves as an Open Climate Fix Community Contributor, specifically across social media channels and on personal CVs or portfolios.

How easy is it to get involved

We've set up this traffic light legend, so you can see how easy it is to get involved in each of our repositories.

Level Details
ease of contribution: easy These projects are easy to run, standalone, and have easily readable code. There should be issues for everyone at different skill levels.
ease of contribution: medium These projects are accessible to contributors but might depend on your skill level. They might depend on another bit of code or need you to investigate a little bit.
ease of contribution: hard We would not recommend going into these projects. They haven't been made "nice" and it might take a lot of digging in the code to understand what's going on.

You will usually see one of the corresponding badges on the repo's README.

Overview of OCF's repositories

Click on the sections below to see the repo's.

Open Source Tools
Repo Description Main Developer Easy to contribute ?
Open-Source-Quartz-Solar-Forecast Open Source Solar Site Level Forecast Zak Watts 🟢
NWP consumer Microservice for consuming NWP data. Sol Cotton 🟢
Elexonpy Python wrapper for UK Elexon data Peter Dudfield 🟢
open-data-pvnet Solar Forecasting using PVNet on Open Data Sukhil Patel 🟢
Machine Learning

Main repositories for our ML experiments

Repo Description Main Developer Easy to contribute?
ocf-data-sampler Library for creating samples suitable for ML from weather and power datasets James Fulton 🟢
PVnet PV net main repo James Fulton 🔴
PVNet-summation This project is used for training a model to sum the GSP predictions of PVNet into a national estimate James Fulton 🔴
pv-site-prediction ML experiments and models for SBRI project Zak Watts 🔴
UK PV National XG National GSP PV forecasting using Gradient Boosted Methods. Peter Dudfield 🔴

PyTorch implementations of ML models from the literature

Repo Description Main Developer Easy to contribute ?
Graph Weather PyTorch implementation of Ryan Keisler's 2022 "Forecasting Global Weather with Graph Neural Networks" paper (https://arxiv.org/abs/2202.07575) Jacob Bieker 🟢
MetNet PyTorch Implementation of Google Research's MetNet (Sønderby et al. 2020), inspired from Thomas Capelle's metnet_pytorch. Jacob Bieker 🟢
Skillful Nowcasting Implementation of DeepMind's Skillful Nowcasting GAN (Ravuri et al. 2021) in PyTorch Lightning. Jacob Bieker 🟠
Perceiver Pytorch Implementation of DeepMind's Perceiver (Jaegle et al. 2021) and Perceiver IO (Jaegle et al. 2021) in Pytorch. Forked from lucidrains/perceiver-pytorch Jack Kelly 🔴
Operational Solar Forecasting

General

Repo Description Main Developer Easy to contribute ?
pv-site-datamodel Datamodel for PV sites Peter Dudfield 🟢
ocf-infrastructure Infrastructure code for OCF's cloud environments Sol Cotton 🟠
Satip Satip contains the code necessary for retrieving, transforming and storing EUMETSAT data Sol Cotton 🟠
analysis-dashboard This is a Streamlit app for the OCF team that reports database statistics Peter Dudfield 🔴
Nowcasting Alerts Cron Nowcasting Alerts cron Worker Brad Fulford 🔴

UK

Repo Description Main Developer Easy to contribute ?
nowcasting_datamodel Datamodel for the nowcasting project Peter Dudfield 🟢
GSPConsumer Collect GSP solar generation data from PVLive Peter Dudfield 🟠
PVConsumer Consumer PV data from various sources Peter Dudfield 🟠
PVoutput Python code for downloading PV data from PVOutput.org Jack Kelly 🟠
pv-site-api Site specific API for SBRI project Peter Dudfield 🟠
quartz-frontend Front End repo for the Nowcasting project. Brad Fulford 🟠
uk-pv-national-gsp-api API for hosting nowcasting solar predictions Peter Dudfield 🟠
pvnet_app Application for running PVNet in production Sukhil Patel 🔴
pv-site-production Production service for PV site level forecasts Peter Dudfield 🔴
uk-pv-forecast-blend Service to blend forecast together Peter Dudfield 🔴

India

Repo Description Main Developer Easy to contribute ?
india-api API India solar and wind data Sol Cotton 🟢
india-forecast-app Runs wind and PV forecasts for India and saves to database Peter Dudfield 🔴
Other repos
Repo Description Main Developer Easy to contribute ?
GFS Downloader NCEP GFS 0.25 Degree Global Forecast Grids Historical Archive: https://rda.ucar.edu/datasets/ds084.1/ Zak Watts 🟢
OCF Blocs2 Blosc2 codec used for OCF's Zarr compression Peter Dudfield 🟢
Solar and Storage Solar and Storage optimization code Peter Dudfield 🟢
.github Various Community Health Files Peter Dudfield 🔴

For a complete list of all of OCF's repositories tagged with "nowcasting", see this link

Pinned Loading

  1. open-source-quartz-solar-forecast open-source-quartz-solar-forecast Public

    Open Source Solar Site Level Forecast

    Jupyter Notebook 71 55

  2. metnet metnet Public

    PyTorch Implementation of Google Research's MetNet and MetNet-2

    Python 247 51

  3. graph_weather graph_weather Public

    PyTorch implementation of Ryan Keisler's 2022 "Forecasting Global Weather with Graph Neural Networks" paper (https://arxiv.org/abs/2202.07575)

    Python 210 52

  4. PVNet PVNet Public

    PVnet main repo

    Python 21 4

Repositories

Showing 10 of 97 repositories
  • metrics Public

    Toolkit to automatically collect OCF metrics and store them over time.

    openclimatefix/metrics’s past year of commit activity
    JavaScript 3 MIT 0 2 3 Updated Dec 27, 2024
  • open-data-pvnet Public

    Solar Forecasting using PVNet on Open Data

    openclimatefix/open-data-pvnet’s past year of commit activity
    Python 1 MIT 0 12 0 Updated Dec 27, 2024
  • dagster-dags Public

    Dags for running jobs on Leonardo

    openclimatefix/dagster-dags’s past year of commit activity
    Python 3 0 7 0 Updated Dec 25, 2024
  • ocf-data-sampler Public

    A repo for sampling from weather data for renewable energy prediction

    openclimatefix/ocf-data-sampler’s past year of commit activity
    Python 4 MIT 8 33 (5 issues need help) 6 Updated Dec 23, 2024
  • pvlive-consumer Public

    Collect GSP solar generation data from PVLive

    openclimatefix/pvlive-consumer’s past year of commit activity
    Python 0 MIT 4 3 (1 issue needs help) 2 Updated Dec 23, 2024
  • metnet Public

    PyTorch Implementation of Google Research's MetNet and MetNet-2

    openclimatefix/metnet’s past year of commit activity
    Python 247 MIT 51 28 (3 issues need help) 5 Updated Dec 23, 2024
  • uk-pv-national-xg Public

    National PV forecasting using Gradient Boosted Methods.

    openclimatefix/uk-pv-national-xg’s past year of commit activity
    Jupyter Notebook 4 3 7 (1 issue needs help) 5 Updated Dec 23, 2024
  • skillful_nowcasting Public

    Implementation of DeepMind's Deep Generative Model of Radar (DGMR) https://arxiv.org/abs/2104.00954

    openclimatefix/skillful_nowcasting’s past year of commit activity
    Python 224 MIT 59 22 (1 issue needs help) 3 Updated Dec 23, 2024
  • pvoutput Public

    Python code for downloading PV data from PVOutput.org

    openclimatefix/pvoutput’s past year of commit activity
    Python 34 Apache-2.0 17 29 6 Updated Dec 23, 2024
  • ocf-ml-metrics Public

    Collection of simple baseline models and metrics for standardized evaluation of OCF forecasting models

    openclimatefix/ocf-ml-metrics’s past year of commit activity
    Python 4 MIT 0 4 1 Updated Dec 23, 2024