File size: 4,116 Bytes
e91a975
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
frameworks: PyTorch
tasks: []
tags:
  - OneScience
  - Earth Science
  - Weather Forecast
  - ERA5
  - Deterministic Forecast
language:
  - zh
  - en
license: apache-2.0
datasets:
  - OneScience/ERA5
---
<p align="center">
  <strong>
    <span style="font-size: 30px;">AIFS_Single_v1</span>
  </strong>
</p>

# Model Introduction

AIFS Single v1.1 is the deterministic version of the AI-powered weather forecasting system developed by the European Centre for Medium-Range Weather Forecasts (ECMWF).

Paper: AIFS — ECMWF's data-driven forecasting system, arXiv:2406.01465

https://arxiv.org/abs/2406.01465

# Model Description

AIFS is built on a Graph Neural Network (GNN), pre-trained on ERA5 data and fine-tuned with NWP operational analysis data.

# Use Cases

| Scenario | Description |
| :---: | :--- |
| Weather Forecast Training | Train AIFS from scratch using ERA5 HDF5 data |
| Local Quick Validation | Use synthetic data to verify data loading, model training & inference, and inference result visualization. |
| ModelScope / OneCode Execution | Download as a standalone model package, install dependencies, and run scripts directly. |

# 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 is recommended.

### Download the Model Package

```bash
modelscope download --model OneScience/AIFS_Single_v1 --local_dir ./AIFS_Single_v1
cd AIFS_Single_v1
```

### Install the Runtime Environment

**DCU**
```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**
```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 ERA5 data for training (due to file size limits, the current repository contains a slice of the full dataset). Users can download it with the command below and confirm that the data path in `conf/config.yaml` is set correctly:

```bash
modelscope download --dataset OneScience/ERA5 --local_dir ./data
```

### Training

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

Training weights are saved to `weights/model_bak.ckpt`, and the normalization file computed before training is saved to `weights/era5_stats.npz`.

### Training Weights

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

### Inference

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

The number of forecast steps is controlled by `test_lead_time` in `conf/config.yaml` (in hours; default 24 = 1 day).
Inference results will be saved to the `output` directory.

### Evaluation and Visualization

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

Computes ACC / RMSE metrics and generates plots. Metrics are saved to `metrics/` and figures are saved to `plots/`.

# OneScience Official Information

| 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 & License

- This repository is a reproduction of the original AIFS Single v1.1 paper.