Skip to content

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 - public PyPI inference through the depth-recon package, including no-GLORYS ARGO/OSTIA week exports - latent diffusion workflow with autoencoder-based depth compression (see Autoencoder)

Analysis

Explore DepthDif visualizations

Open the analysis landing page for the one-week globe, temporal globe, spatial error dashboard, and temporal error dashboard.

Open Analysis

Model Description

depthdif_schema

DepthDif is a conditional diffusion model: it reconstructs dense GLORYS depth fields from sparse ARGO profile observations, conditioned on scenario-selected surface EO context (OSTIA SST for temperature/joint, SSS sos for salinity), ARGO observation support, GLORYS spatial support, plus coordinate/date context. See the full model details in Model.

In the GeoTIFF training workflow, EO surface conditioning comes from the scenario-selected surface raster, subsurface targets come from GLORYS, and sparse inputs come from ARGO/EN4 profiles after depth alignment. Salinity is a scenario-selected field: --scenario salinity trains salinity only, and --scenario joint trains temperature and salinity together.

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 and GLORYS spatial support (x_valid_mask ∩ y_valid_mask ∩ land_mask) while conditioning on the stronger corruption m'.

Documentation Map