|
1 | | -# ACE: AI2 Climate Emulator |
2 | | -This repo contains the inference code accompanying "ACE: A fast, skillful learned global atmospheric model for climate prediction" ([arxiv:2310.02074](https://arxiv.org/abs/2310.02074)). |
| 1 | +[](https://ai2-climate-emulator.readthedocs.io/en/latest/) |
| 2 | +[](https://pypi.org/project/fme/) |
3 | 3 |
|
4 | | -## DISCLAIMER |
5 | | -This is rapidly changing research software. We make no guarantees of maintaining backwards compatibility. |
| 4 | +<img src="ACE-logo.png" alt="Logo for the ACE Project" style="width: auto; height: 50px;"> |
6 | 5 |
|
7 | 6 | # Ai2 Climate Emulator |
8 | 7 |
|
9 | 8 | Ai2 Climate Emulator (ACE) is a fast machine learning model that simulates global atmospheric variability in a changing climate over time scales ranging from hours to centuries. |
10 | 9 |
|
11 | | -This repo contains code accompanying four papers describing ACE models: |
| 10 | +This repo contains code accompanying five papers describing ACE models: |
12 | 11 | - "ACE: A fast, skillful learned global atmospheric model for climate prediction" ([link](https://arxiv.org/abs/2310.02074)) |
13 | 12 | - "Application of the Ai2 Climate Emulator to E3SMv2's global atmosphere model, with a focus on precipitation fidelity" ([link](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2024JH000136)) |
14 | | -- "ACE2: Accurately learning subseasonal to decadal atmospheric variability and forced responses" ([link](https://arxiv.org/abs/2411.11268)) |
| 13 | +- "ACE2: Accurately learning subseasonal to decadal atmospheric variability and forced responses" ([link](https://www.nature.com/articles/s41612-025-01090-0)) |
15 | 14 | - "ACE2-SOM: Coupling to a slab ocean and learning the sensitivity of climate to changes in CO2" ([link](https://arxiv.org/abs/2412.04418)) |
| 15 | +- "Applying the ACE2 Emulator to SST Green's Functions for the E3SMv3 Global Atmosphere Model" ([link](https://arxiv.org/abs/2505.08742)) |
16 | 16 |
|
17 | | -### 1. Install |
| 17 | +## Installation |
18 | 18 |
|
19 | | -Clone this repository. Then assuming [conda](https://docs.conda.io/en/latest/) |
20 | | -is available, run |
21 | 19 | ``` |
22 | | -make create_environment |
| 20 | +pip install fme |
23 | 21 | ``` |
24 | | -to create a conda environment called `fme` with dependencies and source |
25 | | -code installed. Alternatively, a Docker image can be built with `make build_docker_image`. |
26 | | -You may verify installation by running `pytest fme/`. |
27 | 22 |
|
28 | | -### 2. Download data and checkpoint |
| 23 | +## Documentation |
29 | 24 |
|
30 | | -The checkpoint and a 1-year subsample of the validation data are available at |
31 | | -[this Zenodo repository](https://zenodo.org/doi/10.5281/zenodo.10791086). |
32 | | -Download these to your local filesystem. |
33 | | - |
34 | | -Alternatively, if interested in the complete dataset, this is available via a public |
35 | | -[requester pays](https://cloud.google.com/storage/docs/requester-pays) |
36 | | -Google Cloud Storage bucket. For example, the 10-year validation data (approx. 190GB) |
37 | | -can be downloaded with: |
38 | | -``` |
39 | | -gsutil -m -u YOUR_GCP_PROJECT cp -r gs://ai2cm-public-requester-pays/2023-11-29-ai2-climate-emulator-v1/data/repeating-climSST-1deg-netCDFs/validation . |
40 | | -``` |
41 | | -It is possible to download a portion of the dataset only, but it is necessary to have |
42 | | -enough data to span the desired prediction period. The checkpoint is also available on GCS at |
43 | | -`gs://ai2cm-public-requester-pays/2023-11-29-ai2-climate-emulator-v1/checkpoints/ace_ckpt.tar`. |
44 | | - |
45 | | -### 3. Update configuration and run |
46 | | -Update the paths in the [example config](examples/config-inference.yaml). Then in the |
47 | | -`fme` conda environment, run inference with: |
48 | | -``` |
49 | | -python -m fme.fcn_training.inference.inference examples/config-inference.yaml |
50 | | -``` |
51 | | - |
52 | | -## Configuration options |
53 | | -See the `InferenceConfig` class in [this file](fme/fme/fcn_training/inference/inference.py) for |
54 | | -description of configuration options. The [example config](examples/config-inference.yaml) |
55 | | -shows some useful defaults for performing a 400-step simulation (100 days, with the 6-hour time step). |
| 25 | +See complete documentation [here](https://ai2-climate-emulator.readthedocs.io/en/latest/) and a quickstart guide [here](https://ai2-climate-emulator.readthedocs.io/en/latest/quickstart.html). |
56 | 26 |
|
57 | 27 | ## Model checkpoints |
58 | 28 |
|
59 | | -## Analyzing output |
60 | | -Various climate performance metrics are computed online by the inference code. These can be viewed via |
61 | | -[wandb](https://wandb.ai) by setting `logging.log_to_wandb` to true and updating `logging.entity` |
62 | | -to your wandb entity. Additionally, raw output data is saved to netCDF by the inference code. |
63 | | - |
64 | | -## Available datasets |
65 | | -Two versions of the complete dataset described in [arxiv:2310.02074](https://arxiv.org/abs/2310.02074) |
66 | | -are available on a [requester pays](https://cloud.google.com/storage/docs/requester-pays) Google Cloud Storage bucket: |
67 | | -``` |
68 | | -gs://ai2cm-public-requester-pays/2023-11-29-ai2-climate-emulator-v1/data/repeating-climSST-1deg-zarrs |
69 | | -gs://ai2cm-public-requester-pays/2023-11-29-ai2-climate-emulator-v1/data/repeating-climSST-1deg-netCDFs |
70 | | -``` |
71 | | -The `zarr` format is convenient for ad-hoc analysis. The netCDF version contains our |
72 | | -train/validation split which was used for training and inference. |
| 29 | +Pretrained model checkpoints, and datasets to run them, are available in the [ACE Hugging Face](https://huggingface.co/collections/allenai/ace-67327d822f0f0d8e0e5e6ca4) collection. |
0 commit comments