E3SMv3 emulator checkpoints for the E3SM AI group hackathon, 25 September 2026

Not fit for forcing or scenario experiments. Both checkpoints reproduce the E3SMv3 historical run well when the other half of the climate system is handed to them, but neither should be trusted to respond to a change in forcing. Use them to study how an emulator represents the climate, not what the climate does. Results from them show how the model represents forcing.

Folder Checkpoint Fit for Not fit for
E05-FT-S01/ E05-FT.aug26.atm.A3_B16_C1_L0_O5_W0_X0.S01, atmosphere, noise-conditioned SFNO (8 blocks × 384 channels), 1°, 6-hourly, SST prescribed Historical runs with prescribed SST; looking inside the network Any forcing experiment
E11-FT-S01/ E11-FT.aug26.ocn.A0_B16_C0_L0_O5_W0_X0.S01, ocean, Samudra U-Net, 1°, 5-daily, surface fluxes prescribed Replaying the historical run from reference fluxes; looking inside the network Any change to the fluxes

These are the checkpoints the latents in E3SM-Project/aigs-hack-sep26-latents were recorded from. E05-FT S01 is not the shipped atmosphere (S03).

Run an experiment yourself

The kit/ folder holds what a 2015 atmosphere run needs besides the checkpoint: the initial condition (2015-01-03 12:00), two months of forcing (the inputs only), and configs for the control and each intervention. One run uses about 4 GB of GPU memory.

$ pip install "fme @ git+https://github.com/E3SM-Project/ace@e3sm/exps/hist-v2026.8.0"
$ hf download E3SM-Project/aigs-hack-sep26-models --local-dir aigs-models && cd aigs-models
$ python -m fme.ace.inference kit/configs/atm-co2x1.25.yaml
Config Intervention
atm-ctrl.yaml none
atm-co2x1.25.yaml, atm-co2x0.8.yaml overwrite.multiply_scalar.global_mean_co2
atm-p4K.yaml overwrite.add_scalar.TS: 4.0
atm-aerofrz.yaml aerosol diagnostics swapped for their 1965 values (kit/forcing-aerofrz/)

Every config sets seed: 0. Keep it: the model is stochastic, and a shared seed is what makes two runs comparable node for node. Change the intervention by editing the overwrite block; make it longer with n_forward_steps (the forcing covers January and February 2015).

To record the latents as well, and to steer a layer along a feature, use the exporter in the kit (kit/export_fme_latents.py; it needs xaig 0.3 or later in the same environment):

$ python kit/export_fme_latents.py kit/configs/atm-ctrl.yaml --out my-run --steps 20 \
    --steer 0:sae_L00.npz:FEATURE:3      # push one SAE feature of layer 0 by +3 at every node

It reproduces the published latents bit for bit. kit/vectors/ holds the three steering vectors some of the published runs used; the dataset card gives the command for every run, says how the vectors were made, and how to make your own: a difference between two runs, a contrast within one (rain against no rain, land against ocean), a basis direction, or a probe.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support