File size: 4,651 Bytes
eca4864
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
---
frameworks: PyTorch
language:
- en
license: apache-2.0
tags:
- OneScience
- Earth Science
- Weather Forecast
- Short-to-Medium-Range Weather Forecast
- ERA5
- FourCastNet
- SFNO
tasks: []
datasets:
- OneScience/ERA5
---
<p align="center">
  <strong>
    <span style="font-size: 30px;">FourCastNet_v2</span>
  </strong>
</p>

# Model Introduction

FourCastNet v2 is a global weather forecast model based on the Spherical Fourier Neural Operator (SFNO), proposed by NVIDIA and its collaborators.

Paper: Spherical Fourier Neural Operators: Learning Stable Dynamics on the Sphere

https://arxiv.org/abs/2306.03838

# Model Description

The key architectural change from v1 is replacing the Adaptive Fourier Neural Operator (AFNO) with the Spherical Fourier Neural Operator (SFNO).

# Use Cases

| Scenario | Description |
| :---: | :--- |
| Global weather forecast training | Train an SFNO-style FourCastNet v2 model with 73-channel ERA5 HDF5 data. |
| Local quick validation | Use synthetic ERA5 files to check the training, inference, and result-visualization pipeline. |
| ModelScope / OneCode execution | Download the standalone model package, install dependencies, and run the scripts directly. |
| Multi-GPU training | Launch PyTorch DDP with `torchrun`. |

# Usage Guide

## 1. OneCode Usage

Experience intelligent one-click AI4S programming through the OneCode online environment:

[Click to Experience Intelligent One-Click AI4S Programming](https://web-2069360198568017922-iaaj.ksai.scnet.cn:58043/home)

## 2. Manual Installation and Usage

**Hardware Requirements**

- A GPU or DCU is recommended.
- CPU can be used for import and small-scale connectivity verification; full training and inference will be slow.
- DCU users must install DTK in advance. DTK 25.04.2 or above, or the OneScience recommended version matching your cluster, is recommended.

### Download the Model Package

```bash
hf download OneScience-Group/FourCastNet_v2 --local-dir ./FourCastNet_v2
cd FourCastNet_v2
```

### Install the Runtime Environment

**DCU Environment**

```bash
# Please activate DTK and CONDA first
conda create -n onescience311 python=3.11 -y
conda activate onescience311
# uv installation is supported
pip install onescience[earth-dcu] -i http://mirrors.onescience.ai:3141/pypi/simple/  --trusted-host mirrors.onescience.ai
```

**GPU Environment**
```bash
# Please activate CONDA first
conda create -n onescience311 python=3.11 -y libstdcxx-ng=12 libgcc-ng=12 gcc_linux-64=12 gxx_linux-64=12
conda activate onescience311
# uv installation is supported
pip install onescience[earth-gpu] -i http://mirrors.onescience.ai:3141/pypi/simple/  --trusted-host mirrors.onescience.ai
```

### Training Data Introduction

The OneScience community provides an ERA5 data slice that can be downloaded as follows:

```bash
hf download --repo-type dataset OneScience-Group/ERA5 --local-dir ./data
```

Real HDF5 annual files must contain `fields`, variable attributes, `time_step`, `global_means`, and `global_stds`. When real data is unavailable, first generate synthetic files for pipeline validation:

```bash
python scripts/fake_data.py
```

### Training

Single GPU:

```bash
python scripts/train.py
```

Multi-GPU:

```bash
torchrun --nproc_per_node=8 scripts/train.py
```

The default checkpoint is saved to `data/checkpoint/one_step/model_bak.pt`.

### Fine-tuning

Single GPU:

```bash
python scripts/train.py --stage finetune
```

Multi-GPU:

```bash
torchrun --nproc_per_node=8 scripts/train.py --stage finetune
```

The checkpoint is saved to `data/checkpoint/<stage>/model_bak.pt` by default.

### Training Weights

This repository provides weights trained on ERA5 reanalysis data in the `weight/` folder. The weight files will be uploaded soon and are expected to be available in the near future.

### Inference

```bash
python scripts/inference.py
```

Prediction results are written to `result/output/` by default.

### Evaluation and Visualization

```bash
python scripts/result.py
```

The default output includes latitude-weighted RMSE/ACC metrics and `result/figures/t2m_forecast.png`.

# Official OneScience Resources

| Platform | OneScience Main Repository | Skills Repository |
| --- | --- | --- |
| Gitee | https://gitee.com/onescience-ai/onescience | https://gitee.com/onescience-ai/oneskills |
| GitHub | https://github.com/onescience-ai/OneScience | https://github.com/onescience-ai/oneskills |

# Citation and License

- The SFNO numerical implementation of FourCastNet v2 follows the design of NVIDIA Earth2MIP and related official implementations. The upstream code and model licenses and copyright notices must be retained.