Completed long-run evidence

3D channel saturation case study

Static figures from a completed long-run. The panels show the model input context, including initial-state fields, plus the true water saturation, the prediction, and the signed error at selected timesteps for a held-out case.

Representative held-out case

3D channel saturation case study input fields for Representative held-out case
Held-out input fields. Continuous rock properties (e.g. permeability, porosity) are shown in the normalised space used by the model (z-score or min-max, depending on the family) — values are not in physical units. Binary fields (well masks, channel indicators) keep their native 0/1 range. See each panel title for which field is shown and at what depth.
3D channel saturation case study true predicted and error panels for Representative held-out case
True, predicted, and signed-error water saturation panels through prediction time for the same held-out case. Values are denormalised to physical units (see the unit in the panel title).

Leaderboard

18 results
    Pres (bar)Sat (frac) 
#TargetModelLossEpochsrel-L²MREMAErel-L²MREMAEParams
1pressureUNet3DRelLp5000.00070.00050.163858---20.8M
2pressureUNet3DRelLp2000.00070.00060.181097---20.8M
3pressureSegResNetRelLp5000.00080.00060.180418---18.8M
4combinedUNet3DRelLp5000.00090.00060.2067610.12780.07580.01582520.8M
5combinedUNet3DRelLp2000.00100.00070.2311140.13200.08990.01801520.8M
6combinedSegResNetRelLp5000.00110.00080.2588670.14260.08670.01848418.8M
7pressureSwinUNETRRelLp5000.00120.00090.280578---15.7M
8combinedSwinUNETRRelLp5000.00150.00110.3548360.16450.09960.02127815.7M
9pressureFNO3DRelLp5000.00210.00150.491382---9.0M
10combinedFNO3DRelLp5000.00220.00170.5396200.22230.14420.0311669.0M
11pressureFNO3DRelLp2000.00240.00180.582078---9.0M
12combinedFNO3DRelLp2000.00260.00200.6400250.23080.17860.0364669.0M
13saturationFNO3DRelLp200---0.23120.16480.0344809.0M
14saturationFNO3DRelLp500---0.23100.15710.0333969.0M
15saturationSegResNetRelLp500---0.14350.07790.01751318.8M
16saturationSwinUNETRRelLp500---0.16370.08900.01991715.7M
17saturationUNet3DRelLp200---0.13230.08070.01717920.8M
18saturationUNet3DRelLp500---0.12980.07090.01552820.8M

Metrics Over Time

Combined target variant (multiple fields predicted jointly). Predictions at 10 selected timesteps: [1, 2, 3, 6, 8, 10, 12, 14, 17, 20].

SAT

Pressure

Paper Metrics Comparison

Metrics from the shared paper-metric module (utils/paper_metrics.py) evaluated on the held-out test split. Loss column distinguishes the training recipe; lower is better.

Targetpressure

#ModelLossEpochsdelta_ppressure_mre_t1pressure_mre_t2pressure_mre_pinit
1UNet3DRelLp5000.00720.72820.72060.0512
2SegResNetRelLp5000.00790.80060.79230.0564
3UNet3DRelLp2000.00800.80350.79520.0566
4SwinUNETRRelLp5000.01231.24401.23120.0877
5FNO3DRelLp5000.02162.17882.15650.1536
6FNO3DRelLp2000.02552.58022.55390.1819

Targetsaturation

#ModelLossEpochsdelta_Ssaturation_mape
1UNet3DRelLp5000.07091.5528
2SegResNetRelLp5000.07791.7513
3UNet3DRelLp2000.08071.7179
4SwinUNETRRelLp5000.08901.9917
5FNO3DRelLp5000.15713.3396
6FNO3DRelLp2000.16483.4480

Targetcombined

#ModelLossEpochsdelta_Ssaturation_mapedelta_ppressure_mre_t1pressure_mre_t2pressure_mre_pinit
1UNet3DRelLp5000.07581.58250.00910.91800.90850.0646
2SegResNetRelLp5000.08671.84840.01141.14941.13750.0809
3UNet3DRelLp2000.08991.80150.01021.02611.01550.0722
4SwinUNETRRelLp5000.09962.12780.01561.57371.55750.1109
5FNO3DRelLp5000.14423.11660.02372.39372.36910.1686
6FNO3DRelLp2000.17863.64660.02812.83812.80900.2000

About This Benchmark

This benchmark is based on the 3D Recurrent R-U-Net dataset introduced by Tang et al. (2021). It features two-phase flow simulations on 3D channelized reservoir models with a 40x40x20 grid. The channel models represent geological formations with meandering high-permeability sand bodies embedded in low-permeability shale — a common and challenging geological setting for subsurface flow prediction.

The original dataset contains 2923 satisfying simulation cases stored in a single HDF5 file. Each case provides a binary channel indicator field (logk), along with water saturation and pressure fields over 21 timesteps. Following Tang et al.'s methodology, predictions are made on a hand-picked subset of 10 specific timesteps: [1, 2, 3, 6, 8, 10, 12, 14, 17, 20]. These timesteps are sampled densely at early time (where pressure and saturation transients are fast) and sparsely at later times (where the fields evolve slowly).

The data is split sequentially (no randomization): 80% train (~2338 cases), 10% validation (~292 cases), and 10% test (~293 cases).

Important methodological note: Tang et al.'s original work uses test data for validation (i.e., model selection), which inflates reported accuracy. Our benchmark properly separates validation and test sets, meaning our reported metrics are on truly held-out data and may appear slightly worse than Tang's published numbers. This is a fairer comparison.

Input features consist of 2 channels: the permeability indicator field (logk) and the initial condition (saturation at t=0 for saturation prediction, pressure at t=0 for pressure prediction). For combined prediction, 3 input channels are used (logk, sat_t0, pres_t0).

Dataset details

Total cases
2923
train
2338
val
292
test
293
method
Sequential (no randomization)
Timestep indices
[1, 2, 3, 6, 8, 10, 12, 14, 17, 20]

Input features

Permeability (logk)Initial Condition

Paper metrics explained

delta_S
mean(|S_pred - S_true|)
Mean absolute error of water saturation over all cells and test samples. Tang et al. report delta_S = 5.7% (but on validation=test data).
delta_p
mean(|p_pred - p_true|)
Mean absolute error of pressure over all cells and test samples. Tang et al. report delta_p = 0.7% (but on validation=test data).

Training Configuration

Configuration for the best-performing model (UNet3D).

Training
Epochs500
Learning Rate0.0001
Weight Decay0.01
Max Grad Norm1
Batch Size64
Loss FunctionRelLpLossOptimized (p=2, reduction=mean)
SchedulerStepLR (step_size=50, gamma=0.95)
Model Architecture
in channels3
out channels20
base channels32
kernel size3
depth3
num time steps1
squashed outputfalse
flatten outputtrue