--- license: apache-2.0 language: - en tags: - OneScience - Earth-science - sea-surface-temperature - gap-filling frameworks: PyTorch ---
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](https://web-2069360198568017922-iaaj.ksai.scnet.cn:58043/home) ## 2. Download and Installation ```bash 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 ```bash 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: ```bash python scripts/train.py ``` For multi-GPU training, use: ```bash 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: ```text 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 ```bash python scripts/inference.py ``` This writes reconstructed means, variances, targets, missing masks, and dates to `result/output/predictions.npz`. ### Evaluation and Visualization ```bash 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 | Platform | OneScience | OneSkills | | --- | --- | --- | | Gitee | https://gitee.com/onescience-ai/onescience | https://gitee.com/onescience-ai/oneskills | | GitHub | https://github.com/onescience-ai/OneScience | https://github.com/onescience-ai/oneskills | # 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.