NeuralGCM is a general purpose atmospheric model. It has its own differentiable numerical solver together with a neural network so that the model learns the difference between the ground truth in regridded ERA5 input and the prediction made by the numerical solver. As a result, forecasts made by the NeuralGCM model can approximate effects of physical processes even not resolved by the numerical solver, for example cloud and precipitation.
In the paper, the authors show four different models, deterministic model at 2.8°, 1.4° and 0.7° resolution and the ensemble model at 1.4° resolution. They all outperform previous state-of-the-art models.
- the deterministic model at 2.8° resolution generates prediction of temperatures over the 40 years between 1980 and 2020 with 1/3 of the average error in the forecast made by atmosphere-only models (AMIP) from the Climate Model Intercomparison Project
- the deterministic model at 1.4° resolution has 15–50% less error when predicting humidity and temperature data from 2020. It also predicts tropical cyclone patterns that matched the number and intensity of storms observed in the same areas that year(2020)
- the deterministic model at 0.7° resolution matches the performance of GraphCast for weather forecast accuracy up to 5 days.
- the ensemble model at 1.4° resolution generates ensemble with the accuracy better than that of ECMWF-ENS 95% of the time for 2–15 day forecasts.
At NCI, we prepared the environment for this model. To facilitate further evaluation, we also include the WeatherBench2 python package together with dask and GPU dashboard in case intensive IO and/or compute is required. We have two relevant notebooks:
- inference notebook to replicate the example shown in their official document using the deterministic model at 1.4° resolution.
- fine-tuning notebook to reduce the coordination transformation loss using the deterministic model at 2.8° resolution.
Use the Environment
$ module use /g/data/dk92/apps/Modules/modulefiles/ $ module load neuralgcm/24.07 $ python3 >>> import neuralgcm >>> neuralgcm.__version__ '1.0.0' >>> import weatherbench2 >>> weatherbench2.__version__ '0.1.0'
Run the tested notebook
- Go to ARE site: are.nci.org.au
- Fill out the JupyterLab request form
- Walltime (hours): 1
- Queue: analysis
- Compute Size: 1gpu
- Project: <xy01>
- Storage: gdata/dk92+gdata/rt52+scratch/<xy01>
- Click Advanced options and fill in the following fields
- Module directories: /g/data/dk92/apps/Modules/modulefiles/
- Modules: neuralgcm/24.07
- Jobfs size: 10GB
- Launch the session to run the tested notebook
Note on the tested notebook
- copy the tested notebook from either/all of the following paths to your own working directory. If your working directory is different from "/scratch/<xy01>", remember to change the storage directive in the JupyterLab request form accordingly.
- /g/data/dk92/notebooks/examples-aiml/neuralgcm/neuralgcm_inference_deterministic.ipynb
- /g/data/dk92/notebooks/examples-aiml/neuralgcm/neuralgcm_finetuning.ipynb
- both notebooks can run on a small dataset identical to what is used in the original document. If necessary, modify src="nci" in the notebook to compose the dataset with arbitrary timestamps from NCI ERA5 directly.