Git Product home page Git Product logo

fuxi's Introduction

FuXi

This is the official repository for the FuXi paper.

FuXi: A cascade machine learning forecasting system for 15-day global weather forecast

Published on npj Climate and Atmospheric Science: FuXi: a cascade machine learning forecasting system for 15-day global weather forecast

by Lei Chen, Xiaohui Zhong, Feng Zhang, Yuan Cheng, Yinghui Xu, Yuan Qi, Hao Li

Installation

Both Zenodo (https://doi.org/10.5281/zenodo.10401602) and Baidu disk (https://pan.baidu.com/s/1PDeb-nwUprYtu9AKGnWnNw?pwd=fuxi) contain the FuXi model, and sample input and output data, all of which are essential resources for this study. For inquiries regarding having any kind of collaboration, please contact Professor Li Hao at the email address: [email protected].

The downloaded files shall be organized as the following hierarchy:

├──FuXi_EC
│   ├── short
│   ├── short.onnx
│   ├── medium
│   ├── medium.onnx
│   ├── long
│   ├── long.onnx

Sample_Data
│   ├── output --> FuXi model generated output data, only T+6 forecasts, T is the forecast initialization time
│   ├── 20231012-06_input_grib.nc --> FuXi model input data generated using the grib files of ECMWF HRES data
│   ├── 20231012-06_input_netcdf.nc --> FuXi model input data generated using the netcf files of ECMWF HRES data
│   ├── hres_input_grib_raw.zip --> the grib files of ECMWF HRES data
│   ├── hres_input_netcdf_raw.zip --> the netcdf files of ECMWF HRES data
│   ├── make_hres_input_public_version.py --> the script used to generate input data from either the grib or netcdf files of ECMWF HRES data

  1. Install xarray
conda install -c conda-forge xarray dask netCDF4 bottleneck
  1. Install onnxruntime
pip install -r requirement.txt

Demo

python fuxi.py --model model_dir --input input_file --num_steps 20 20 20

Data preparation

The input.nc file contains preprocessed data from the origin ERA5 files. The file has a shape of (2, 70, 721, 1440), where the first dimension represents two time steps. The second dimension represents all variable and level combinations, named in the following exact order:

'Z50', 'Z100', 'Z150', 'Z200', 'Z250', 'Z300', 'Z400', 'Z500', 'Z600', 'Z700', 'Z850', 'Z925', 'Z1000', 
'T50', 'T100', 'T150', 'T200', 'T250', 'T300', 'T400', 'T500', 'T600', 'T700', 'T850', 'T925', 'T1000', 
'U50', 'U100', 'U150', 'U200', 'U250', 'U300', 'U400', 'U500', 'U600', 'U700', 'U850', 'U925', 'U1000', 
'V50', 'V100', 'V150', 'V200', 'V250', 'V300', 'V400', 'V500', 'V600', 'V700', 'V850', 'V925', 'V1000', 
'R50', 'R100', 'R150', 'R200', 'R250', 'R300', 'R400', 'R500', 'R600', 'R700', 'R850', 'R925', 'R1000', 
'T2M', 'U10', 'V10', 'MSL', 'TP'

The last five variables ('T2M', 'U10', 'V10', 'MSL', 'TP') are surface variables, while the remaining variables represent atmosphere variables with numbers representing pressure levels.

NOTE:

  • The variable 'Z' represents geopotential and not geopotential height.
  • The variable 'TP' represents total precipitation accumulated over a period of 6 hours.

fuxi's People

Contributors

tpys avatar x7zhong avatar

Stargazers

Tamplite Siphron Kents avatar Tom Armstrong avatar  avatar Jacob Bieker avatar Alex Merose avatar pancodaffee avatar Felix Wente avatar  avatar  avatar  avatar  avatar  avatar Jeff avatar  avatar  avatar zjj avatar Anboyu Guo avatar  avatar  avatar shyan avatar  avatar Reza avatar  avatar HengTian avatar Simon Zhao avatar Fedor Buzaev avatar  avatar PradaJay avatar Tung Nguyen avatar Aries Chen avatar  avatar  avatar weh avatar Song avatar wang guan song avatar Nicholas Geneva avatar Matthew avatar Niranjan Anandkumar avatar Stefan Cecelski avatar Minchan Jeong avatar  avatar  avatar Wanghan Xu avatar  avatar Bálint Szente-Varga avatar Dan Sukhorukov avatar  avatar  avatar Daniel Lassahn avatar Andreas Motl avatar Pankaj Kumar avatar Hao Lyu avatar  avatar  avatar Ma Guanlong avatar  avatar Mijie Pang avatar  avatar Fubin Zhang avatar  avatar sadamov avatar  avatar Joel Oskarsson avatar Shrimponthekeyboard avatar SongZijiang avatar  avatar  avatar  avatar ayu avatar Alice Martinez avatar Tianbao Li avatar  avatar HanwenZhang avatar  avatar sunze avatar  avatar  avatar Mingjoy avatar  avatar Jákup Svøðstein avatar Jinyu Guo avatar

Watchers

 avatar robin avatar

fuxi's Issues

Zenodo Link not working

Hi,

With the recent update of the README.md, it points to a Zenodo link to access the model code.
Searching Zenodo for that reference leads to no results, and the most recent release of Fuxi under Lei Chen does not include the code itself.

Hope this can be fixed soon

image

Do I need cuda to run the model?

I have AMD GPU and when I try to run the model I take this:

2024-06-24 22:50:13.147171619 [E:onnxruntime:Default, provider_bridge_ort.cc:1744 TryGetProviderInfo_CUDA] /onnxruntime_src/onnxruntime/core/session/provider_bridge_ort.cc:1426 onnxruntime::Provider& onnxruntime::ProviderLibrary::Get() [ONNXRuntimeError] : 1 : FAIL : Failed to load library libonnxruntime_providers_cuda.so with error: libcublasLt.so.11: cannot open shared object file: No such file or directory

Does it solvable? I read CUDA doesn't work on AMD

Predict the outcome

Hello, how do I convert this predicted data into an NC file that can view a variable, and this code is not published in this file

Further detail on Swin v2 configuration

Hi,

The paper provided to arxiv details very little of the configuration on the Swin Transformer V2 that was used.
It is clear that 48 layers were used with a input of 70, 90, 190, but the details regarding window size, number of heads, and depths are absent.
I think that these parameters would help to understand the behaviour of the model, and put the impressive results had in further context.
Would it be possible to detail what the Swin v2 configuration was?

What license is this project open-sourced under?

Hi, I noticed that this repository doesn't have an open-source license file. May I ask if this project is open-sourced? If so, under which license is it open-sourced? This includes any terms of use for the model.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.