| --- |
| license: mit |
| base_model: |
| - microsoft/aurora |
| tags: |
| - atmospheric-dynamics |
| - aurora-model |
| --- |
| |
| # Cerrora: A High-Resolution Regional Weather Model for Europe |
|
|
| This repository contains the trained checkpoints for Cerrora, an AI-based regional weather model for Europe |
| based on [Microsoft's Aurora](https://huggingface.co/microsoft/aurora). |
| The model is trained on the [Copernicus European Regional Reanalysis (CERRA)](https://doi.org/10.1002/qj.4764) dataset provided by ECMWF. |
| You can find the training and inference code, as well as information about how to use the checkpoints in our [GitHub repository](https://github.com/HPI-DeepLearning/Cerrora). |
| For more detailed information about the model, the training procedure, and the evaluation results, read our technical report (TODO: MISSING LINK). |
|
|
| In addition, this repository also contains a small preprocessed excerpt from the CERRA dataset and the IFS boundary conditions to facilitate easy |
| testing of the models. |
| Both CERRA and IFS-HRES are provided by ECMWF under the the Creative Commons Attribution 4.0 International license. |
| The full text of this license can be found [here](https://creativecommons.org/licenses/by/4.0/legalcode). |
| Compared to the original versions, our data is altered in some regards, for example we replace some variables with derived variables |
| for compatibility with the Aurora model. |
| This concerns the 10 meter wind, which is supplied as wind strength and direction in CERRA, and converted to u and v components. |
| We also calculate the specific humidity from the relative humidity supplied in CERRA |
| Additionally, we add a soil type static variable by interpolating the ERA5 soil type variable. |
| The scripts to replicate this preprocessing can be found in the GitHub repository. |
|
|
|
|
| ## Model Architecture |
|
|
| Aurora is a 1.3B parameter model consisting of an encoder that projects the input into a fixed-size latent, |
| a backbone to process the latent, and a decoder to recreate the original data shape. |
| The encoder and decoder use a Perceiver architecture, while the backbone is a Swin Transformer. |
| It is pretrained on a variety of weather and climate datasets, with the goal of providing a foundation model |
| that can be finetuned for diverse downstream tasks. |
| For more information, read the [Aurora paper](https://www.nature.com/articles/s41586-025-09005-y). |
| Cerrora is based on the 0.25° pretrained model with 6h lead time. |
| We mostly leave the model architecture unchanged, with the exception of the patch size, which we increase from 4 to 8. |
|
|
| ## Training Procedure |
|
|
| We adopt a two-stage training procedure consisting of a 6h pretraining stage, and a rollout finetuning stage. |
| In the first stage, the model is trained on CERRA data to forecast the weather state in 6 hours. |
| This done to adapt the model to the change in data domain and input resolution. |
| The 6h model is published as `cerrora-base.ckpt`. |
|
|
| In the second stage, we finetune the model to autoregressively roll out predictions for lead times up to 30 hours. |
| As we train a regional model, we face the issue that the CERRA input data lacks the global context necessary for performing longer forecasts. |
| We address this by using the IFS-HRES forecasts provided in the [WeatherBench2 GCP bucket](https://weatherbench2.readthedocs.io/en/latest/data-guide.html#ifs-hres) |
| as lateral boundary conditions. |
| The rollout trained model is published as `cerrora-rollout.ckpt`. |
|
|