This repository is the official implementation of Unicorn: U-Net for Sea Ice Forecasting with Convolutional Neural ODE and benchmark models with pytorch.
Unicorn is an innovative sea ice forecasting model that effectively captures the spatiotemporal dynamics of sea ice by integrating ConvNODE and time series decomposition within the U-Net framework, significantly enhancing predictions of sea ice concentration and extent over existing models.
Download data from one of the following links and unpack it into data_V2
.
Ancillary data needs to be preprocessed.
TB
- Out of the rioxarray file load 37V frequency data scaling pixel values multiplied with the scale factor of 0.1.
- Where there is missing pixels interpolate pixels using nearest neighbor.
- Average the daily dataset of TB to match the weekly temporal resolution of our main SIC dataset.
SIA
- Mask out land, and group sea ice pixels to two groups where sea ice aged 2 years or more is catergorized as multi-year ice and the rest first year ice.
- Use reprojection to change spatial coordinates and resolution size to match our main SIC dataset.
The model can be trained using the codes below, and the results can be viewed with the options -key "wandb key" -name "project name"
.
python unicorn_cv/main.py
python unet_cv/main.py
python dunet_cv/main.py
python nunet_cv/main.py
python CNN_cv/main.py
python ConvLSTM_cv/main.py
python sicnet_tsam_cv/main.py
python sicnet_cbam_cv/main.py
python ablation_study_data_cv/main.py
python ablation_study_DCMP_cv/main.py
python ablation_study_ConvNODE_cv/main.py