OneScience-Group/DINCAE
<p align="center"><strong><span style="font-size: 30px;">DINCAE</span></strong></p>
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
Usage
1.OneCode
Try one-click AI4S programming in OneCode
2. Download and Installation
hf download OneScience-Group/DINCAE --local-dir ./DINCAE
cd DINCAEEnvironment 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.pyThe 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.pyFor 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.pyTraining 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.jsonTrained 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.pyThis writes reconstructed means, variances, targets, missing masks, and dates to result/output/predictions.npz.
Evaluation and Visualization
python scripts/result.pyEvaluation 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.
