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.
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's how you can get involved:
- Check out which Github repositories are easy to contribute to in the section below using our (hopefully) helpful traffic light system 🚦;
- Have a look at our list of "good first issues" – these are GitHub Issues which do not require extensive familiarity with our code and should help get you started;
- We're also implementing a contributions-welcome label to highlight issues we think are good for open source contribution. Note: this is a new tag, so not many issues use it yet! Feel free to ask to be assigned other issues, too, if something catches you eye, and we will be happy to clarify if it's community friendly.
- Before you submit a pull request, please ask to be assigned to the issue! Some issues are there for us to get back to and unfortunately might be completely inaccessible to OS contribution. Asking to be assigned first will prevent you from doing unnecessary work and lets everybody else know you're working on this already, so we don't get multiple PRs for the same issue;
- Once you're assigned to an issue, submit your PR and tag someone for a review! Our coding style is here;
- First time contributing? Here's a quick guide from firstcontributions to help you get started!
- 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;
- Already contributed? Add OCF to the skills or volunteering section of your LinkedIn!
- Use our code(!) by following the guidelines below.
[ 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.
We've set up this traffic light legend, so you can see how easy it is to get involved in each of our repositories.
You will usually see one of the corresponding badges on the repo's README.
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 and Peter Dudfield | 🟢 |
NWP consumer | Microservice for consuming NWP data. | Sol Cotton and Peter Dudfield | 🟢 |
Elexonpy | Python wrapper for UK Elexon data | Peter Dudfield | 🟢 |
open-data-pvnet | Solar Forecasting using PVNet on Open Data | Sukhil Patel and Peter Dudfield | 🟢 |
Machine Learning
Repo | Description | Main Developer | Easy to contribute? |
---|---|---|---|
ocf-data-sampler | Library for creating samples suitable for ML from weather and power datasets | James Fulton and Alex Udaltsova | 🟢 |
PVnet | PV net main repo | James Fulton, Sukhil Patel and Alex Udaltsova | 🔴 |
PVNet-summation | This project is used for training a model to sum the GSP predictions of PVNet into a national estimate | James Fulton and Felix Peretz | 🔴 |
pv-site-prediction | ML experiments and models for SBRI project | Zak Watts and Peter Dudfield | 🔴 |
UK PV National XG | National GSP PV forecasting using Gradient Boosted Methods. | Peter Dudfield and Sukhil Patel | 🔴 |
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
Repo | Description | Main Developer | Easy to contribute ? |
---|---|---|---|
pv-site-datamodel | Datamodel for PV sites | Peter Dudfield and Sol Cotton | 🟢 |
ocf-infrastructure | Infrastructure code for OCF's cloud environments | Sol Cotton and Peter Dudfield | 🟠 |
Satellite Consumer | Consumer for Satellite data | Sol Cotton and Peter Dudfield | 🟠 |
analysis-dashboard | This is a Streamlit app for the OCF team that reports database statistics | Peter Dudfield and Aditya Sawant | 🔴 |
Nowcasting Alerts Cron | Nowcasting Alerts cron Worker | Brad Fulford and Sol Cotton | 🔴 |
Repo | Description | Main Developer | Easy to contribute ? |
---|---|---|---|
nowcasting_datamodel | Datamodel for the nowcasting project | Peter Dudfield and James Fulton | 🟢 |
GSPConsumer | Collect GSP solar generation data from PVLive | Peter Dudfield and Sol Cotton | 🟠 |
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 and Brad Fulford | 🟠 |
pvnet_app | Application for running PVNet in production | James Fulton and Peter Dudfield | 🟠 |
quartz-frontend | Front End repo for the Nowcasting project. | Brad Fulford and Peter Dudfield | 🟠 |
uk-pv-national-gsp-api | API for hosting nowcasting solar predictions | Peter Dudfield and Brad Fulford | 🟠 |
pv-site-production | Production service for PV site level forecasts | Peter Dudfield and Zak Watts | 🔴 |
uk-pv-forecast-blend | Service to blend forecast together | Peter Dudfield and James Fulton | 🔴 |
Repo | Description | Main Developer | Easy to contribute ? |
---|---|---|---|
india-api | API India solar and wind data | Sol Cotton and Peter Dudfield | 🟢 |
india-forecast-app | Runs wind and PV forecasts for India and saves to database | Sukhil Patel and 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 | 🟢 |
Status API | Status API for Quartz ecosystem | Brad Fulford and Sol Cotton | 🟠 |
.github | Various Community Health Files | Peter Dudfield | 🔴 |
For a complete list of all of OCF's repositories tagged with "nowcasting", see this link