DINCAE

Model Introduction

DINCAE reconstructs daily sea-surface temperature obscured by clouds with a probabilistic convolutional autoencoder and provides pixel-wise reconstruction uncertainty.

Paper: DINCAE 1.0: a convolutional neural network with error estimates to reconstruct sea surface temperature satellite observations
https://doi.org/10.5194/gmd-13-1609-2020

Model Description

The method was proposed by research teams from the University of Liege and the National Institute of Biology in Slovenia. The paper trains and validates the method on AVHRR Pathfinder daily sea-surface temperature from 1985-2009. The model reconstructs cloud-obscured SST while estimating reconstruction-error variance.

Use Cases

Use Case Description
SST gap reconstruction Reconstruct cloud-obscured SST from current, previous-day, and next-day observations.
Probabilistic error estimation Jointly output reconstruction means and pixel-wise error variances.
Local engineering validation Validate training, inference, and evaluation with structured data at reduced spatial scale.
ModelScope/OneCode execution Validate structured data, training, inference, SST reconstruction metrics, and visualization in ModelScope or OneCode environments.
Multi-GPU training Validate distributed training and the checkpoint workflow through torchrun.

Usage

1.OneCode

Try one-click AI4S programming in OneCode

2. Download and Installation

hf download OneScience-Group/DINCAE --local-dir ./DINCAE
cd DINCAE

Environment Dependencies

Hardware Requirements

  • A GPU or DCU is recommended.
  • A CPU can be used for connectivity validation with the default small-sample configuration.
  • DCU users must install DTK in advance. DTK 25.04.2 or later, or the OneScience-recommended version matching the current cluster, is recommended.

Training Data

python scripts/fake_data.py

The paper data contain 5,266 daily 112×112 AVHRR SST time steps, with current, previous-day, and next-day observations, precision, coordinates, and seasonal inputs. The default uses eight structured synthetic 32×32 time steps for efficient CPU validation, while paper dimensions and parameters remain recorded under paper_model. The synthetic data validate engineering only and do not represent the real AVHRR distribution, training scale, or paper performance.

Training

For single-GPU training, use:

python scripts/train.py

For multi-GPU training, use:

torchrun --nproc_per_node=8 --nnodes=1 --rdzv_id=1000 --rdzv_backend=c10d --max_restarts=0 --master_addr="localhost" --master_port=29500 scripts/train.py

Training uses random cloud masks and masked Gaussian NLL; the default reduces grid size, samples, convolution widths, bottleneck size, and epochs while retaining the paper's 112×112 setup under paper_model. Formal experiments require complete AVHRR data and paper-scale training, with artifacts saved to:

result/checkpoints/dincae.pt
result/training/metrics.json

Trained Weights

The paper does not provide directly loadable official model weights, and this repository bundles no weights under weight/. The locally trained checkpoint is saved to result/checkpoints/dincae.pt and must not be represented as an official pretrained weight.

Inference

python scripts/inference.py

This writes reconstructed means, variances, targets, missing masks, and dates to result/output/predictions.npz.

Evaluation and Visualization

python scripts/result.py

Evaluation reports RMSE, centered RMSE (CRMSE), bias, standardized-residual calibration, and a DINEOF-like iterative rank-13 baseline. Outputs are result/evaluation/metrics.json and result/evaluation/comparison.png. Synthetic-data metrics demonstrate connectivity only and are not paper results.

Official OneScience Information

Citation and License

This repository is an independent engineering reproduction of the public DINCAE specifications.

Use of this repository's code, official model weights, and data remains subject to the licenses and terms of their respective projects.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support