Available Models#
Weights for models are made available through our HuggingFace repository microsoft/aurora
.
We now describe the available models in turn.
Aurora 0.25° Pretrained#
Aurora 0.25° Pretrained is a version of Aurora trained on a wide variety of data.
Usage#
from aurora import AuroraPretrained
model = AuroraPretrained()
model.load_checkpoint()
Recommended Use#
Use this version of Aurora if no fine-tuned version exists for your specific data set.
For example, if you wish to make predictions for ERA5 at 0.25° resolution, this version is appropriate.
Note that 0.25° resolution means that the data has dimensions (721, 1440)
.
Also use Aurora 0.25° Pretrained if you plan to fine-tune Aurora for you specific application, even if your application operates at another resolution.
For optimal performance, the model requires the following variables and pressure levels:
Name |
Required |
---|---|
Surface-level variables |
|
Static variables |
|
Atmospheric variables |
|
Pressure levels (hPa) |
50, 100, 150, 200, 250, 300, 400, 500, 600, 700, 850, 925, 1000 |
Static Variables#
Aurora 0.25° Pretrained requires static variables from ERA5. For convenience, these are also available in the HuggingFace repository.
Aurora 0.25° Small Pretrained#
Aurora 0.25° Small Pretrained is, as the name suggests, a smaller version of Aurora 0.25° Pretrained.
Usage#
from aurora import AuroraSmallPretrained
model = AuroraSmallPretrained()
model.load_checkpoint()
Recommended Use#
Use this model for debugging purposes. We do not recommend any other use.
Aurora 0.25° Fine-Tuned#
Aurora 0.25° Fine-Tuned is Aurora 0.25° Pretrained fine-tuned on IFS HRES T0.
Usage#
from aurora import Aurora
model = Aurora()
model.load_checkpoint()
Recommended Use#
Use Aurora 0.25° Fine-Tuned if you aim to make predictions for IFS HRES T0. Aurora 0.25° Fine-Tuned is the best performing version of Aurora at 0.25° resolution.
Important: For optimal performance, it is crucial that you only use Aurora 0.25° Fine-Tuned for IFS HRES T0. Producing predictions for any other data set will likely give sensible predictions, but performance may not be optimal anymore. Note also that IFS HRES T0 is not the same as IFS HRES analysis.
For optimal performance, the model requires the following variables and pressure levels:
Name |
Required |
---|---|
Surface-level variables |
|
Static variables |
|
Atmospheric variables |
|
Pressure levels (hPa) |
50, 100, 150, 200, 250, 300, 400, 500, 600, 700, 850, 925, 1000 |
Static Variables#
Aurora 0.25° Fine-Tuned requires static variables from ERA5. For convenience, these are also available in the HuggingFace repository.
Notes#
If you require more realistic predictions are the expense of slightly higher MSE at longer lead times, you can try turning off LoRA.
Use LoRA? |
Effect |
---|---|
Yes |
Optimal long-term MSE, but slightly blurrier predictions |
No |
More realistic predictions, but slightly higher long-term MSE |
You can turn off LoRA as follows:
from aurora import Aurora
model = Aurora(use_lora=False) # Disable LoRA for more realistic samples.
model.load_checkpoint(strict=False)
Aurora 0.25° 12-Hour Pretrained#
Aurora 0.25° 12-Hour Pretrained is Aurora 0.25° Pretrained with a 12-hour lead time.
Usage#
from aurora import Aurora12hPretrained
model = Aurora12hPretrained()
model.load_checkpoint()
Recommended Use#
Use Aurora 0.25° 12-Hour Pretrained if you wish to make predictions with a 12-hour lead time.
For optimal performance, the model requires the following variables and pressure levels:
Name |
Required |
---|---|
Surface-level variables |
|
Static variables |
|
Atmospheric variables |
|
Pressure levels (hPa) |
50, 100, 150, 200, 250, 300, 400, 500, 600, 700, 850, 925, 1000 |
Static Variables#
Aurora 0.25° 12-Hour Pretrained requires static variables from ERA5. For convenience, these are also available in the HuggingFace repository.
Aurora 0.1° Fine-Tuned#
Aurora 0.1° Fine-Tuned is a high-resolution version of Aurora.
Usage#
from aurora import AuroraHighRes
model = AuroraHighRes()
model.load_checkpoint()
Recommended Use#
Use Aurora 0.1° Fine-Tuned if you aim to make predictions for IFS HRES analysis at 0.1° resolution.
Note that 0.1° resolution means that the data should have dimensions (1801, 3600)
.
Aurora 0.1° Fine-Tuned is the best performing version of Aurora at 0.1° resolution.
Important: For optimal performance, it is crucial that you only use Aurora 0.1° Fine-Tuned for IFS HRES analysis. Producing predictions for any other data set will likely give sensible predictions, but performance may be significantly affected. Note also that IFS HRES T0 is not the same as IFS HRES analysis.
For optimal performance, the model requires the following variables and pressure levels:
Name |
Required |
---|---|
Surface-level variables |
|
Static variables |
|
Atmospheric variables |
|
Pressure levels (hPa) |
50, 100, 150, 200, 250, 300, 400, 500, 600, 700, 850, 925, 1000 |
Static Variables#
Due to differences between implementations of regridding methods, it is recommended to use the exact static variables which we used during training.
It is also possible to use the static variables from IFS HRES analysis regridded to 0.1° resolution. However, these static variables will not be exactly equal to the ones we used, which might impact performance. If you download the static variables yourself, you must adjust the normalisation statistics. You can do that in the following way:
from aurora import AuroraHighRes
model = AuroraHighRes(
# Use manually downloaded and regridded static variables.
surf_stats={"z": (-3.270407e03, 6.540335e04)},
)
model.load_checkpoint()
The specific values above should work reasonably.
See the API for a description of surf_vars
.
Generally, the first value in the tuple should be min(static_z)
and the second value max(static_z) - min(static_z)
.
Notes#
Like for Aurora 0.25° Fine-Tuned, you can turn off LoRA to obtain more realistic predictions at the expensive of slightly higher long-term MSE:
from aurora import AuroraHighRes
model = AuroraHighRes(use_lora=False) # Disable LoRA for more realistic samples.
model.load_checkpoint(strict=False)
Aurora 0.4° Air Pollution#
Aurora 0.4° Air Pollution is Aurora 0.25° Pretrained fine-tuned on CAMS analysis data. This version of Aurora is capable of making air pollution forecasts.
Usage#
from aurora import AuroraAirPollution
model = AuroraAirPollution()
model.load_checkpoint()
Recommended Use#
Use Aurora 0.4° Air Pollution if you aim to make predictions for CAMS analysis.
Note that 0.4° resolution means that the data should have dimensions (451, 900)
.
Important: For optimal performance, it is crucial that you only run Aurora 0.4° Air Pollution on CAMS analysis data. Producing predictions for any other data set might give sensible predictions, but performance may not be optimal anymore.
For optimal performance, the model requires the following variables and pressure levels:
Name |
Required |
---|---|
Surface-level variables |
|
Static variables |
|
Atmospheric variables |
|
Pressure levels (hPa) |
50, 100, 150, 200, 250, 300, 400, 500, 600, 700, 850, 925, 1000 |
Static Variables#
Aurora 0.4° Air Pollution requires static variables from the HuggingFace repository.
Aurora 0.25° Wave#
Aurora 0.25° Wave is Aurora 0.25° Pretrained fine-tuned on HRES-WAM ocean wave data. This version of Aurora is capable of making ocean wave forecasts.
Usage#
from aurora import AuroraWave
model = AuroraWave()
model.load_checkpoint()
Recommended Use#
Use Aurora 0.25° Wave if you aim to make predictions for HRES-WAM analysis data combined with HRES T0.
Important: Some specific postprocessing applies to the HRES-WAM data. See Section C.5 of the Supplementary Information.
Important: For optimal performance, it is crucial that you only run Aurora 0.25° Wave on batches with all meteorological variables taken from HRES T0 and all ocean wave variables taken from HRES-WAM analysis. Producing predictions for any other combination might give sensible predictions, but performance may not be optimal anymore.
For optimal performance, the model requires the following variables and pressure levels:
Name |
Required |
---|---|
Surface-level variables |
|
Static variables |
|
Atmospheric variables |
|
Pressure levels (hPa) |
50, 100, 150, 200, 250, 300, 400, 500, 600, 700, 850, 925, 1000 |
Static Variables#
Aurora 0.25° Wave requires static variables from the HuggingFace repository.