PartialObs-PDEBench

A public benchmark harness for PDE reconstruction under partial observations (sparse sensors, masks, noisy measurements). Includes standardized masks (M1–M3), multiple PDEs, baseline solvers, and a curated research map of diffusion/operator-learning approaches (2024–2025).

Maintainer: Ruichen Xu (Ph.D. candidate, Computational Applied Mathematics, Stony Brook University)
Personal page: ru1ch3n.github.io
Burgers Darcy Poisson Navier–Stokes M1–M3 masks Baselines Research map
Problem setting
\( y = M(u) + \epsilon \)

Given sparse/masked observations \(y\), reconstruct the full solution field \(u\).

Overview

This benchmark spec is under active development (内容在持续补充中).
🚧 Work in progress: the benchmark harness, datasets, and configs are still being finalized. This page describes the intended protocol and will be updated as implementations land.

PartialObs-PDEBench standardizes PDE reconstruction from partial observations. It is intended to support fair comparisons by fixing PDE testbeds, observation masks, and evaluation outputs.

Benchmark contract

  • Input: masked observations \(y\) and mask \(M\)
  • Output: reconstructed field \(\hat{u}\)
  • Primary objective: reconstruction error (and optionally physics residual, depending on method)

Reproducibility

  • Config-driven runs (Hydra-style)
  • Deterministic seeds
  • Saved config snapshots and metrics per run

Recent research (2024–2025)

Diffusion models have rapidly become a strong default for partial-observation PDE reconstruction: they naturally support arbitrary masks, noisy measurements, and uncertainty estimates. After DiffusionPDE (2024), several works generalized the idea for faster inference, function-space conditioning, and spatiotemporal inpainting.

Most recent: PRISMA (Dec 2025)

Embeds PDE residuals inside the denoiser using spectral residual attention. This replaces slow test-time gradient guidance with fast, gradient-free sampling.

Links
One-page summary
arxiv.org/abs/2512.01370

Other key papers after DiffusionPDE

  • FunDPS (2025): diffusion posterior sampling in function space (discretization-agnostic), fewer steps. summary
  • VideoPDE (2025): unified generative PDE solving by video inpainting diffusion over space-time. summary
  • DiffusionPDE (2024): canonical guided diffusion baseline for sparse observations. summary

How we classify methods

Deterministic surrogates

Fast, single forward pass after training. Often used as strong baselines, but typically require careful design to handle arbitrary sparse masks.

Generative inference (diffusion)

Inference is sampling-based (slower than a single forward pass), but supports mask flexibility and uncertainty. Recent works focus on making sampling faster and more physics-aware.

  • Guided sampling: DiffusionPDE → FunDPS → PRISMA
  • Spatiotemporal inpainting: VideoPDE
Full paper map: Open the research index →

PDE suite

Burgers (1D, time-dependent)

Canonical nonlinear PDE benchmark on trajectories \(u(x,t)\).

\( u_t + u\,u_x = \nu u_{xx} \)

Darcy (2D, elliptic)

Elliptic PDE with spatially varying coefficient/permeability \(a(x)\).

\( -\nabla\cdot(a(x)\nabla u) = f \)

Poisson (2D, elliptic)

Poisson equation solutions given forcing and boundary conditions (dataset-dependent).

\( -\Delta u = f \)

Navier–Stokes (2D vorticity)

Incompressible NS in vorticity form; benchmarks often use vorticity fields over time.

\( \partial_t \omega + u\cdot\nabla\omega = \nu \Delta \omega + f,\quad \nabla\cdot u=0 \)

Partial-observation masks (M1–M3)

M1: random points

Observe a random subset of grid points at a specified observation ratio.

M2: regular subsampling

Observe a regular lattice (e.g., every k-th point).

M3: block missing

Hide a contiguous block (inpainting-style missing region).

Baseline methods

Below are the baseline families supported by this benchmark. We group them by how they are trained/used.

Supervised reconstruction (train yourself)

U-Net

Encoder–decoder CNN with skip connections. Used as a strong convolutional baseline for reconstruction and inpainting-style tasks.

Reference
arxiv.org/abs/1505.04597

FNO (Fourier Neural Operator)

Neural operator that learns mappings between function spaces using global Fourier-domain convolutions. Often strong for PDE operator learning when trained on sufficient data.

Resources
arxiv.org/abs/2010.08895
github.com/neuraloperator/neuraloperator

CNO (Convolutional Neural Operator)

Operator learning with convolutional architectures inspired by U-Net, designed to better preserve operator structure and reduce aliasing.

Resources
arxiv.org/abs/2302.01178
github.com/camlab-ethz/ConvolutionalNeuralOperator

DeepONet

Branch/trunk operator network: the branch encodes the input function (observations), and the trunk encodes evaluation coordinates.

Resources
nature.com/articles/s42256-021-00302-5
arxiv.org/abs/1910.03193

Physics-based optimization (per-instance)

PINN

Physics-Informed Neural Network: optimize a neural network per instance using PDE residual + data mismatch. Typically slower than pretrained models but provides a physics-regularized baseline.

Resources
doi.org/10.1016/j.jcp.2018.10.045
github.com/maziarraissi/PINNs

Pretrained generative prior (inference-only)

DiffusionPDE

Uses a diffusion model as a generative prior for PDE solutions under partial observations. This benchmark calls the upstream inference pipeline and uses the official pretrained checkpoints (downloaded by the user).

Resources
arxiv.org/abs/2406.17763
github.com/jhhuangchloe/DiffusionPDE

Data

We recommend using DiffusionPDE datasets (distributed as `.npy` arrays) as a standardized benchmark source. This repository does not redistribute third-party datasets or pretrained weights.

Suggested workflow: clone DiffusionPDE into third_party/, download datasets/checkpoints, then run baseline configs in this repo.

Dataset generation (classical solvers)

To generate datasets from scratch, classical solvers commonly used in operator-learning benchmarks include:

Practical option: reuse upstream generator code (DiffusionPDE dataset_generation/, NeuralOperator examples) and export to .npy.

References