Upload README.md
Browse files
README.md
CHANGED
|
@@ -1,19 +1,8 @@
|
|
| 1 |
-
--
|
| 2 |
-
license: mit
|
| 3 |
-
datasets:
|
| 4 |
-
- Kratos-AI/physics-problems
|
| 5 |
-
pipeline_tag: time-series-forecasting
|
| 6 |
-
tags:
|
| 7 |
-
- climate
|
| 8 |
-
---
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
# <p align=center> NeuralOM: Neural Ocean Model for Subseasonal-to-Seasonal Simulation</p>
|
| 13 |
|
| 14 |
<div align="center">
|
| 15 |
|
| 16 |
-
[](https://huggingface.co/YuanGao-YG/NeuralOM/tree/main)
|
| 18 |
|
| 19 |
</div>
|
|
@@ -22,17 +11,19 @@ tags:
|
|
| 22 |
</div>
|
| 23 |
|
| 24 |
---
|
| 25 |
-
>**NeuralOM: Neural Ocean Model for Subseasonal-to-Seasonal Simulation**<br> [Yuan Gao](https://scholar.google.com.hk/citations?hl=zh-CN&user=4JpRnU4AAAAJ&view_op=list_works&sortby=pubdate)<sup>† </sup>, [
|
| 26 |
-
(† Equal contribution, * Corresponding
|
| 27 |
|
| 28 |
|
| 29 |
-
> **Abstract:** *Long-term, high-fidelity simulation of slow-changing physical systems, such as the ocean and climate, presents a fundamental challenge in scientific computing. Traditional autoregressive machine learning models often fail in these tasks as minor errors accumulate and lead to rapid forecast degradation. To address this problem, we propose NeuralOM, a general neural operator framework designed for simulating complex, slow-changing dynamics. NeuralOM's core consists of two key innovations: (1) a Progressive Residual Correction Framework that decomposes the forecasting task into a series of fine-grained refinement steps, effectively suppressing long-term error accumulation; and (2) a Physics-Guided Graph Network whose built-in adaptive messaging mechanism explicitly models multi-scale physical interactions, such as gradient-driven flows and multiplicative couplings, thereby enhancing physical consistency while maintaining computational efficiency. We validate NeuralOM on the challenging task of global Subseasonal-to-Seasonal (S2S) ocean simulation. Extensive experiments demonstrate that NeuralOM not only surpasses state-of-the-art models in forecast accuracy and long-term stability, but also excels in simulating extreme events. For instance, at a 60-day lead time, NeuralOM achieves a 13.3% lower RMSE compared to the best-performing baseline, offering a stable, efficient, and physically-aware paradigm for data-driven scientific computing.
|
| 30 |
---
|
| 31 |
|
| 32 |
## News 🚀
|
|
|
|
|
|
|
| 33 |
* **2025.07.28**: Inference codes for global ocean forecasting are released.
|
| 34 |
* **2025.06.01**: Inference codes for global ocean simulation are released.
|
| 35 |
-
* **2025.05.27**: Paper is released on [
|
| 36 |
|
| 37 |
## Notes
|
| 38 |
|
|
@@ -102,8 +93,6 @@ sh inference_forecasting.sh
|
|
| 102 |
|
| 103 |
## Training
|
| 104 |
|
| 105 |
-
The training codes will be released after the paper is accepted.
|
| 106 |
-
|
| 107 |
**1. Prepare Data**
|
| 108 |
|
| 109 |
Preparing the train, valid, and test data as follows:
|
|
@@ -127,23 +116,59 @@ Preparing the train, valid, and test data as follows:
|
|
| 127 |
|--land_mask.h5
|
| 128 |
```
|
| 129 |
|
| 130 |
-
For data ranging from 1993 to 2020, each h5 file includes a key named 'fields' with the shape [T, C, H, W] (T=365/366, C=97, H=361, W=720)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 131 |
|
|
|
|
| 132 |
|
| 133 |
-
|
| 134 |
|
|
|
|
| 135 |
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
- **Single-node Multi-GPU Training**
|
| 140 |
|
| 141 |
-
|
| 142 |
-
- **Multi-node Multi-GPU Training**
|
| 143 |
|
| 144 |
-
|
| 145 |
|
|
|
|
| 146 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
|
| 148 |
## Performance
|
| 149 |
### Global Ocean Simulation
|
|
@@ -182,4 +207,13 @@ For data ranging from 1993 to 2020, each h5 file includes a key named 'fields' w
|
|
| 182 |
}
|
| 183 |
```
|
| 184 |
|
| 185 |
-
##
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# <p align=center> NeuralOM: Neural Ocean Model for Subseasonal-to-Seasonal Simulation</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
<div align="center">
|
| 4 |
|
| 5 |
+
[](https://arxiv.org/abs/2505.21020)
|
| 6 |
[](https://huggingface.co/YuanGao-YG/NeuralOM/tree/main)
|
| 7 |
|
| 8 |
</div>
|
|
|
|
| 11 |
</div>
|
| 12 |
|
| 13 |
---
|
| 14 |
+
>**NeuralOM: Neural Ocean Model for Subseasonal-to-Seasonal Simulation**<br> [Yuan Gao](https://scholar.google.com.hk/citations?hl=zh-CN&user=4JpRnU4AAAAJ&view_op=list_works&sortby=pubdate)<sup>† </sup>, [Hao Wu](https://alexander-wu.github.io/)<sup>† </sup><sup>‡ </sup>,[Fan Xu](https://scholar.google.com.hk/citations?hl=zh-CN&user=qfMSkBgAAAAJ&view_op=list_works&sortby=pubdate), [Yanfei Xiang](https://orcid.org/0000-0002-5755-4114), [Ruijian Gou](https://scholar.google.com.hk/citations?user=YU7AZzQAAAAJ&hl=zh-CN), [Ruiqi Shu](https://scholar.google.com.hk/citations?user=WKBB3r0AAAAJ&hl=zh-CN&oi=sra), [Qingsong Wen](https://sites.google.com/site/qingsongwen8/), [Xian Wu](https://scholar.google.com.hk/citations?hl=zh-CN&user=lslB5jkAAAAJ&view_op=list_works&sortby=pubdate)<sup>* </sup>, [Kun Wang](https://scholar.google.com.hk/citations?user=UnyqjWQAAAAJ&hl=zh-CN)<sup>* </sup>, [Xiaomeng Huang](http://faculty.dess.tsinghua.edu.cn/huangxiaomeng/en/index.htm)<sup>* </sup> <br>
|
| 15 |
+
(† Equal contribution, ‡ Project lead and technical guidance, * Corresponding author)<br>
|
| 16 |
|
| 17 |
|
| 18 |
+
> **Abstract:** *Long-term, high-fidelity simulation of slow-changing physical systems, such as the ocean and climate, presents a fundamental challenge in scientific computing. Traditional autoregressive machine learning models often fail in these tasks as minor errors accumulate and lead to rapid forecast degradation. To address this problem, we propose NeuralOM, a general neural operator framework designed for simulating complex, slow-changing dynamics. NeuralOM's core consists of two key innovations: (1) a Progressive Residual Correction Framework that decomposes the forecasting task into a series of fine-grained refinement steps, effectively suppressing long-term error accumulation; and (2) a Physics-Guided Graph Network whose built-in adaptive messaging mechanism explicitly models multi-scale physical interactions, such as gradient-driven flows and multiplicative couplings, thereby enhancing physical consistency while maintaining computational efficiency. We validate NeuralOM on the challenging task of global Subseasonal-to-Seasonal (S2S) ocean simulation. Extensive experiments demonstrate that NeuralOM not only surpasses state-of-the-art models in forecast accuracy and long-term stability, but also excels in simulating extreme events. For instance, at a 60-day lead time, NeuralOM achieves a 13.3% lower RMSE compared to the best-performing baseline, offering a stable, efficient, and physically-aware paradigm for data-driven scientific computing. Code link: https://github.com/YuanGao-YG/NeuralOM.*
|
| 19 |
---
|
| 20 |
|
| 21 |
## News 🚀
|
| 22 |
+
* **2026.01.22**: Training codes are released.
|
| 23 |
+
* **2025.11.08**: NeuralOM is accepted by [AAAI 2026](https://aaai.org/conference/aaai/aaai-26/).
|
| 24 |
* **2025.07.28**: Inference codes for global ocean forecasting are released.
|
| 25 |
* **2025.06.01**: Inference codes for global ocean simulation are released.
|
| 26 |
+
* **2025.05.27**: Paper is released on [arXiv](https://arxiv.org/abs/2505.21020).
|
| 27 |
|
| 28 |
## Notes
|
| 29 |
|
|
|
|
| 93 |
|
| 94 |
## Training
|
| 95 |
|
|
|
|
|
|
|
| 96 |
**1. Prepare Data**
|
| 97 |
|
| 98 |
Preparing the train, valid, and test data as follows:
|
|
|
|
| 116 |
|--land_mask.h5
|
| 117 |
```
|
| 118 |
|
| 119 |
+
For data ranging from 1993 to 2020, each h5 file includes a key named 'fields' with the shape [T, C, H, W] (T=365/366, C=97, H=361, W=720). The order of all variables is as follows:
|
| 120 |
+
|
| 121 |
+
```
|
| 122 |
+
var_idex = {
|
| 123 |
+
"SSS": 0, "S2": 1, "S5": 2, "S7": 3, "S11": 4, "S15": 5, "S21": 6, "S29": 7, "S40": 8, "S55": 9, "S77": 10, "S92": 11, "S109": 12,
|
| 124 |
+
"S130": 13, "S155": 14, "S186": 15, "S222": 16, "S266": 17, "S318": 18, "S380": 19, "S453": 20, "S541": 21, "S643": 22,
|
| 125 |
+
"U0": 23, "U2": 24, "U5": 25, "U7": 26, "U11": 27, "U15": 28, "U21": 29, "U29": 30, "U40": 31, "U55": 32, "U77": 33, "U92": 34, "U109": 35,
|
| 126 |
+
"U130": 36, "U155": 37, "U186": 38, "U222": 39, "U266": 40, "U318": 41, "U380": 42, "U453": 43, "U541": 44, "U643": 45,
|
| 127 |
+
"V0": 46, "V2": 47, "V5": 48, "V7": 49, "V11": 50, "V15": 51, "V21": 52, "V29": 53, "V40": 54, "V55": 55, "V77": 56, "V92": 57, "V109": 58,
|
| 128 |
+
"V130": 59, "V155": 60, "V186": 61, "V222": 62, "V266": 63, "V318": 64, "V380": 65, "V453": 66, "V541": 67, "V643": 68,
|
| 129 |
+
"SST": 69, "T2": 70, "T5": 71, "T7": 72, "T11": 73, "T15": 74, "T21": 75, "T29": 76, "T40": 77, "T55": 78, "T77": 79, "T92": 80, "T109": 81,
|
| 130 |
+
"T130": 82, "T155": 83, "T186": 84, "T222": 85, "T266": 86, "T318": 87, "T380": 88, "T453": 89, "T541": 90, "T643": 91,
|
| 131 |
+
"SSH": 92,
|
| 132 |
+
|
| 133 |
+
}
|
| 134 |
+
```
|
| 135 |
+
Regarding the meaning of abbreviated variables, for example, "SSS" means sea surface salinity and "S2" means salinity at depth 2 m.
|
| 136 |
+
|
| 137 |
+
|
| 138 |
+
**2. Multi-node Multi-GPU Training**
|
| 139 |
+
|
| 140 |
+
- **Training for the base model**
|
| 141 |
+
|
| 142 |
+
(1) 1-step pretraining
|
| 143 |
+
|
| 144 |
+
```
|
| 145 |
+
sh train_base_model.sh
|
| 146 |
+
```
|
| 147 |
+
|
| 148 |
+
(2) Modify `./train_base_model.sh` file and `./config/Model.yaml` file.
|
| 149 |
|
| 150 |
+
For instance, if you intent to finetune ckpt from 1-step ckpt (the start training time is 20250501-000000) with 2-step finetune for 10 eppchs, you can set `run_num='20250501-000000'`, `multi_steps_finetune=2`, `finetune_max_epochs=10`, `lr: 1E-6`. Please note that using a small learning rate (lr) to finetune model may contribute to convergence, you can adjust it according to your total batch size.
|
| 151 |
|
| 152 |
+
If you intent to finetune ckpt from 2-step ckpt (the start training time is 20250501-000000) with 3-step finetune for 10 eppchs, you can set `run_num='20250501-000000'`, `multi_steps_finetune=3`, `finetune_max_epochs=10`, `lr: 1E-6`. In our setup, we conduct 6-step finetuning as an example.
|
| 153 |
|
| 154 |
+
(3) Run the following script for multi-step finetuning:
|
| 155 |
|
| 156 |
+
```
|
| 157 |
+
sh train_base_model.sh
|
| 158 |
+
```
|
|
|
|
| 159 |
|
| 160 |
+
- **Training for the residual model**
|
|
|
|
| 161 |
|
| 162 |
+
(1) Modify `./train_residual_model.sh` file and `./config/Model.yaml` file.
|
| 163 |
|
| 164 |
+
For instance, if you intent to correct the base model (the start training time is 20250501-000000), you can set `run_num='20250501-000000'`, `lr: 1E-3`. And you can adjust the lr according to your total batch size.
|
| 165 |
|
| 166 |
+
(2) Run the following script:
|
| 167 |
+
|
| 168 |
+
```
|
| 169 |
+
sh train_residual_model.sh
|
| 170 |
+
```
|
| 171 |
+
|
| 172 |
|
| 173 |
## Performance
|
| 174 |
### Global Ocean Simulation
|
|
|
|
| 207 |
}
|
| 208 |
```
|
| 209 |
|
| 210 |
+
## Acknowledgement
|
| 211 |
+
|
| 212 |
+
We appreciate the following open-sourced repositories for their valuable code base:
|
| 213 |
+
|
| 214 |
+
[https://github.com/NVlabs/FourCastNet](https://github.com/NVlabs/FourCastNet)
|
| 215 |
+
|
| 216 |
+
[https://github.com/NVIDIA/physicsnemo](https://github.com/NVIDIA/physicsnemo)
|
| 217 |
+
|
| 218 |
+
|
| 219 |
+
#### If you have any questions, please contact [yuangao24@mails.tsinghua.edu.cn](mailto:yuangao24@mails.tsinghua.edu.cn), [wuhao2022@mail.ustc.edu.cn](mailto:wuhao2022@mail.ustc.edu.cn).
|