|
Download README.md from OneScience-Group/Spherical_DYffusion: direct link, hf CLI and curl.
- Browser
- Download file 4.92 kB
-
https://huggingface.co/OneScience-Group/Spherical_DYffusion/resolve/main/README.md
- Command line
-
hf download hf://OneScience-Group/Spherical_DYffusion/README.md
-
curl -L -o README.md https://huggingface.co/OneScience-Group/Spherical_DYffusion/resolve/main/README.md
4.92 kB
| frameworks: PyTorch | |
| language: | |
| - en | |
| license: apache-2.0 | |
| tags: | |
| - OneScience | |
| - Earth Science | |
| - Climate Simulation | |
| - Probabilistic Forecasting | |
| - FV3GFS | |
| - Spherical DYffusion | |
| tasks: [] | |
| datasets: | |
| - FV3GFS | |
| <p align="center"> | |
| <strong> | |
| <span style="font-size: 30px;">Spherical DYffusion</span> | |
| </strong> | |
| </p> | |
| # Model Introduction | |
| Spherical DYffusion was proposed by Salva Ruhling Cachay and collaborators for probabilistic simulation of a global climate model. | |
| Paper: Probabilistic Emulation of a Global Climate Model with Spherical DYffusion | |
| https://arxiv.org/abs/2406.14798 | |
| # Model Description | |
| The original method models spherical dynamics with an SFNO and uses the DYffusion interpolator and forecaster in a two-stage training procedure for probabilistic ensemble simulation. This repository contains a compact local implementation that preserves the project's tensor and data contracts for smoke testing; it is not a full paper-scale SFNO/DYffusion implementation. | |
| # Use Cases | |
| | Scenario | Description | | |
| | :---: | :--- | | |
| | Local pipeline validation | Use synthetic 37-channel global-grid data to check training, inference, and visualization. | | |
| | FV3GFS protocol checks | Validate NetCDF variables, spatial dimensions, and consecutive time frames. | | |
| | ModelScope / OneCode execution | Download the standalone model package and run the compact local pipeline. | | |
| | Multi-GPU training | Launch PyTorch DistributedDataParallel 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/Spherical_DYffusion --local-dir ./Spherical_DYffusion | |
| cd Spherical_DYffusion | |
| ``` | |
| ### 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 | |
| ``` | |
| ### Generate Synthetic Data | |
| Generate a deterministic NetCDF FV3GFS-contract fixture at `data/data/synthetic_fv3gfs.nc`: | |
| ```bash | |
| python scripts/fake_data.py | |
| ``` | |
| The fixture contains 37 protocol variables, including surface pressure and temperature, eight vertical levels of temperature, total water, and wind components, plus `DSWRFtoa`, `HGTsfc`, and `ocean_fraction`. It is intended only for protocol checks. The local training pipeline creates its own learnable `data/data/virtual_fv3gfs.npz` fixture. | |
| ### Training | |
| Single GPU: | |
| ```bash | |
| python scripts/train.py | |
| ``` | |
| Multi-GPU: | |
| ```bash | |
| torchrun --nproc_per_node=8 scripts/train.py | |
| ``` | |
| Training starts from random initialization and saves `data/checkpoint/model_bak.pt` and `data/checkpoint/last.pt`. | |
| The complete local smoke workflow can also be run with: | |
| ```bash | |
| python scripts/local_pipeline.py all | |
| ``` | |
| ### Training Weights | |
| This repository provides a `weight/` directory for FV3GFS-compatible checkpoints. The weight files will be uploaded soon and are expected to be available in the near future. | |
| ### Inference | |
| Inference reads `data/checkpoint/model_bak.pt` and writes `output/inference/prediction.npz`: | |
| ```bash | |
| python scripts/inference.py | |
| ``` | |
| ### Evaluation and Visualization | |
| ```bash | |
| python scripts/result.py | |
| ``` | |
| The script computes per-variable and overall diagnostics and writes `output/visualization/diagnostic_dashboard.png` and `output/visualization/variable_metrics.png`, with machine-readable summaries under `output/metrics/`. | |
| # 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 | |
| - This repository is a compact local reproduction of the original Spherical DYffusion paper and does not claim to reproduce the paper-scale training setup or metrics. | |