firatozdemir commited on
Commit
f457036
·
verified ·
1 Parent(s): 52a4a2d

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +144 -3
README.md CHANGED
@@ -1,3 +1,144 @@
1
- ---
2
- license: mit
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ base_model: ESFM/ESFM_s_nm_pre
4
+ tags:
5
+ - weather-forecasting
6
+ - climate
7
+ - earth-system
8
+ - era5
9
+ - pytorch
10
+ ---
11
+
12
+ # Model Card for ESFM/ESFM_s_nm
13
+
14
+ Final released deterministic ESFM small checkpoint trained without the missing-data masking protocol. It is the dense-input ERA5 baseline and forecasts global atmospheric fields six hours ahead.
15
+
16
+ > **Checkpoint selection:** Six-hour deterministic forecasting from complete ERA5-style global inputs. This is also the deterministic base for the eight-member `ESFM_s_nm_ens` checkpoint.
17
+
18
+ ## Model Details
19
+
20
+ - **Developed by:** The ESFM research team, with the full contributor and author lists linked below.
21
+ - **Shared by:** [ESFM on Hugging Face](https://huggingface.co/ESFM)
22
+ - **Model type:** Final deterministic dense-input ERA5 checkpoint (ESFM_s,kd*); modified 3D Swin-UNet encoder-decoder
23
+ - **Model size:** Approximately 115 million parameters
24
+ - **Masking protocol:** No observation masking
25
+ - **Forecast lead time:** 6 hours
26
+ - **License:** MIT
27
+ - **Repository:** https://huggingface.co/ESFM/ESFM_s_nm
28
+
29
+ ### Model Sources
30
+
31
+ - **Code:** https://github.com/swiss-ai/ESFM
32
+ - **Paper:** https://arxiv.org/abs/2605.00850
33
+ - **Project page:** https://swiss-ai.github.io/ESFM/
34
+
35
+ The paper is currently available as an arXiv preprint.
36
+
37
+ ## Uses
38
+
39
+ ### Direct Use
40
+
41
+ Six-hour deterministic forecasting from complete ERA5-style global inputs. This is also the deterministic base for the eight-member `ESFM_s_nm_ens` checkpoint.
42
+
43
+ ### Downstream Use
44
+
45
+ Finetuning or rollout research where complete dense initial conditions are available.
46
+
47
+ ### Out-of-Scope Use
48
+
49
+ Not intended for inputs with missing variables, pressure levels, or spatial regions, nor for sparse station or satellite inputs. Use the matching specialized or masked checkpoint instead.
50
+
51
+ ## Bias, Risks, and Limitations
52
+
53
+ The model inherits ERA5 biases, trails larger specialist systems on clean dense benchmarks, and was not primarily optimized for long autoregressive rollouts. It is a research model, not an operational warning system.
54
+
55
+ All ESFM checkpoints are research artifacts. Users should validate forecasts for their variables, regions, seasons, lead times, missingness pattern, and decision context. Do not use the model as the sole basis for safety-critical decisions.
56
+
57
+ ## How to Get Started
58
+
59
+ The checkpoint is not packaged as a Hugging Face Transformers from_pretrained model. Construct the ESFM architecture with the matching repository config, then load the state dictionary. The released notebook contains the complete download, model-construction, normalization, and inference workflow.
60
+
61
+ ```bash
62
+ git clone https://github.com/swiss-ai/ESFM.git
63
+ cd ESFM
64
+ # Open notebooks/inference_ESFMs_on_ERA5.ipynb
65
+ ```
66
+
67
+ In the notebook, set:
68
+
69
+ ```python
70
+ EXPERIMENT_NAME = "ESFM_s_nm"
71
+ ```
72
+
73
+ To download the weights directly:
74
+
75
+ ```python
76
+ from huggingface_hub import hf_hub_download
77
+
78
+ model_name = "ESFM_s_nm"
79
+ weights_path = hf_hub_download(
80
+ repo_id=f"ESFM/{model_name}",
81
+ filename=f"{model_name}.safetensors",
82
+ )
83
+ print(weights_path)
84
+ ```
85
+
86
+ Set `EXPERIMENT_NAME = "ESFM_s_nm"` in `notebooks/inference_ESFMs_on_ERA5.ipynb`, or run `python inference.py --config configs/config_ESFM_s_nm.yaml` after configuring dataset paths.
87
+
88
+ ## Training Details
89
+
90
+ ### Training Data
91
+
92
+ WeatherBench2 ERA5 at 0.25-degree resolution, trained on 1979 through 2020 and evaluated in the manuscript on held-out windows in 2023 and 2024.
93
+
94
+ Dataset preprocessing and the exact variable registry are documented in the [ESFM repository](https://github.com/swiss-ai/ESFM) and [preprint](https://arxiv.org/abs/2605.00850).
95
+
96
+ ### Training Procedure
97
+
98
+ Initialized through 40,000-step encoder knowledge distillation and 100,000-step ERA5 training without masking as `ESFM_s_nm_pre`, then continued for 10,000 steps as `ESFM_s_nm`. This experiment was run on 16 GPUs.
99
+
100
+ - **Training objective:** Six-hour forecast learning, as specified above
101
+ - **Nominal architecture:** ESFM small, approximately 115M parameters
102
+ - **Software environment:** PyTorch/Lightning in the released NVIDIA PhysicsNeMo 25.03 container; lightning==2.5.1 is pinned in the Dockerfile
103
+ - **Training regime:** Lightning `precision="32-true"` with FP32 parameters and optimizer state; selected model forward operations use CUDA BF16 autocasting through `torch.autocast(dtype=torch.bfloat16)`.
104
+
105
+ ## Evaluation
106
+
107
+ The manuscript evaluates six-hour forecasts with latitude-weighted MAE and Pearson correlation and uses this checkpoint family as the dense-input comparison for masked ESFM. Detailed and evolving results remain in the linked preprint.
108
+
109
+ The manuscript uses held-out temporal data and reports task-appropriate metrics: latitude-weighted MAE and Pearson correlation for gridded deterministic forecasts, relative MAE for MODIS comparisons, station metrics for station models, and CRPS for ensembles. Detailed values are intentionally not copied into this card.
110
+
111
+ ## Technical Specifications
112
+
113
+ ESFM retains Aurora's 3D Swin-UNet backbone and adds variable-specific tokenization, axial attention across variables, perceiver aggregation across variables and pressure levels, learnable NaN tokens for missing patches, resolution-specific tokenizers where configured, and a decoder queried at target pressure levels. The small configuration uses a 256-dimensional embedding and approximately 115M parameters.
114
+
115
+ ## Environmental Impact
116
+
117
+ - **Hardware type:** NVIDIA GH200 systems with four GPUs per node. This experiment was run on four nodes, totaling 16 GPUs.
118
+ - **Total training time:** 20 hours
119
+ - **Compute location:** Training used CSCS Alps infrastructure.
120
+
121
+ ## Citation
122
+
123
+ ```bibtex
124
+ @misc{ozdemir2026esfm,
125
+ title={Earth System Foundation Model (ESFM): A unified framework for heterogeneous data integration and forecasting},
126
+ author={Firat Ozdemir and Yun Cheng and Salman Mohebi and Fanny Lehmann and Simon Adamov and Zhenyi Zhang and Leonardo Trentini and Dana Grund and Oliver Fuhrer and Torsten Hoefler and Siddhartha Mishra and Sebastian Schemm and Benedikt Soja and Mathieu Salzmann},
127
+ year={2026},
128
+ eprint={2605.00850},
129
+ archivePrefix={arXiv},
130
+ primaryClass={physics.ao-ph},
131
+ url={https://arxiv.org/abs/2605.00850}
132
+ }
133
+ ```
134
+
135
+ ## More Information
136
+
137
+ - [ESFM code and configurations](https://github.com/swiss-ai/ESFM)
138
+ - [Current ESFM preprint](https://arxiv.org/abs/2605.00850)
139
+ - [Data preprocessing scripts](https://github.com/swiss-ai/SwissClim_data_processing_scripts)
140
+ - [Project page](https://swiss-ai.github.io/ESFM/)
141
+
142
+ ## Model Card Contact
143
+
144
+ Firat Ozdemir: `firat.ozdemir@sdsc.ethz.ch`