Densifying Sparse Ocean Depth Observations¶
DepthDif explores conditional diffusion for reconstructing dense subsurface ocean temperature fields from sparse, masked observations.
The repository currently supports:
- EO-conditioned multi-band reconstruction (surface condition + deeper target bands)
- cross-source conditioning where EO surface SST can come from OSTIA while deeper targets remain Copernicus reanalysis
- latent diffusion workflow with autoencoder-based depth compression (see Autoencoder)
Project Links¶
Model Description¶
DepthDif is a conditional diffusion model: it reconstructs dense depth fields from corrupted submarine observations, conditioned on EO (surface) data plus sparse corrupted subsurface input. Synthetic sparse inputs are generated with continuous curved trajectory masks to mimic submarine movement; in the current dataset version, each track keeps one measurement every few pixels (random 2-8 pixel stride) until the configured corruption percentage is reached. It can inject coordinate/date context via FiLM conditioning and reconstruct the full target image. See the full model details in Model.
In the OSTIA setup, EO surface conditioning comes from mid-month OSTIA SST snapshots (15th, 12:00 UTC), while subsurface targets remain monthly Copernicus reanalysis.
Ambient diffusion (short): at step t, x_t = sqrt(alpha_bar_t) * x_0 + sqrt(1 - alpha_bar_t) * epsilon, epsilon ~ N(0, I).
For ambient-occlusion training with observed mask m and further-corrupted mask m' <= m, optimize
L on the original x support intersected with valid target support (x_valid_mask ∩ y_valid_mask) while conditioning on the stronger corruption m'.
Documentation Map¶
- Quick Start: environment setup + fastest train/infer path
- Production Datasets: OSTIA L4 + EN4 profile dataset specs and download workflows
- Data Source: source product, download, and raw variable tables
- Synthetic Dataset: preprocessing, synthetic corruption, and split behavior
- Model: architecture and diffusion conditioning flow
- Temporal Dimension Ideas: options and tradeoffs for extending from
B,C,H,WtoB,T,C,H,Won real dataset windows - Autoencoder + Latent Diffusion: AE architecture, latent task setup, launch commands, and constraints
- Data + Coordinate Injection: coordinate/date FiLM conditioning details
- Training: CLI usage, run outputs, logging, checkpoints
- Inference: script and direct
predict_stepworkflows - FUll settings documentation: per-file config keys, defaults, and explanations
- Sampling Diagnostics: denoising intermediates, MAE-vs-step, and schedule profiling
- Experiments: qualitative test results
- Model Settings: key config knobs, runtime mapping, and full settings reference
- Development: known issues, TODOs, and roadmap
- API Reference: auto-generated module reference via
mkdocstrings