Ocean-Intelligent-Forecasting / XiHe-GlobalOceanForecasting

38 stars 3 forks source link

Emergence of blocking artifacts in 1st layer temperature forecast #1

Open Cuiyingzhe opened 6 months ago

Cuiyingzhe commented 6 months ago

I really appreciate your efforts in sharing the pre-trained models and inference codes.

My inference procedure directly follows the README.md except that the --lead_day argument is set to be 1. For clarity, these steps are:

  1. Download input_data, models, output_data, src, pycdo.tar.gz
  2. Extract pycdo.tar.gz into $condabase/envs/pycdo and run conda activate pycdo
  3. Run python inference.py --lead_day 1 --save_path output_data
  4. Analyze NetCDF files under output_data (I believe they are composed of XiHe forecasts for 20190102)

The model is run on a single NVIDIA H800 GPU, the CUDA version is 12.0.

I'm taking my first look at the 1st layer of ocean temperature (thetao) forecast stored in 20190101_thetao.nc. The large-scale pattern seems reasonable (not shown), but some blocking artifacts emerge, remarkably in high latitudes (see figure).

Could you please help explain these artifacts? Thanks in advance.

Xihe

black-yt commented 6 months ago

I think this is due to the patch embedding and the downsampling in the transformer model and these blocky artifacts correspond to the tokens in the transformer. This problem occurs in many transformer-based models.