Completed long-run evidence

CO2 radial saturation case study

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

Representative held-out case

CO2 radial 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.
CO2 radial saturation case study true predicted and error panels for Representative held-out case
True, predicted, and signed-error gas 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

Loss
34 results
    Pres (bar)Sat (frac) 
#TargetModelLossEpochsrel-L²MREMAErel-L²MREMAEParams
1pressureUNet3DUFNODerivLoss5000.00300.00080.181463---20.8M
2pressureUNet2DRelLp5000.00310.00080.193750---16.3M
3pressureSegResNet2DRelLp5000.00320.00090.200384---14.2M
4pressureUNet2DRelLp5000.00320.00100.217995---29.0M
5combinedUNet2DRelLp5000.00340.00100.2327920.07085.96540.00171316.3M
6pressureUNet2DRelLp5000.00370.00100.235549---29.2M
7pressureUNet2DUFNODerivLoss5000.00370.00110.248648---29.0M
8pressureUNet2DUFNODerivLoss5000.00390.00110.250622---16.3M
9pressureUNet2DUFNODerivLoss5000.00390.00110.246458---16.3M
10pressureUNet3DRelLp5000.00400.00130.286640---20.8M
11pressureUNet3DRelLp5000.00420.00140.291506---20.8M
12combinedSegResNet2DRelLp5000.00420.00120.2712720.07177.00540.00195614.2M
13pressureUNet3DUFNODerivLoss5000.00450.00140.296649---20.8M
14pressureSwinUNETR2DRelLp5000.00500.00130.307502---15.2M
15pressureFNO2DUFNODerivLoss5000.00570.00150.350251---20.2M
16combinedSwinUNETR2DRelLp5000.00590.00170.3975290.09518.54060.00290015.2M
17pressureFNO2DRelLp5000.00640.00150.376695---9.0M
18combinedFNO2DRelLp5000.00680.00190.4334460.11529.90450.0031859.0M
19saturationFNO2DUFNODerivLoss500---0.11979.91070.00306720.2M
20saturationFNO2DRelLp500---0.10678.75350.0027239.0M
21saturationSegResNet2DRelLp500---0.07116.71890.00159614.2M
22saturationSwinUNETR2DRelLp500---0.08807.70300.00230415.2M
23saturationUNet2DRelLp500---0.06536.65510.00172616.3M
24saturationUNet2DRelLp500---0.08118.28270.00247129.2M
25saturationUNet2DRelLp500---0.08118.28270.00247129.2M
26saturationUNet2DUFNODerivLoss500---0.08296.28470.00218216.3M
27saturationUNet2DUFNODerivLoss500---0.08046.48450.00214116.3M
28saturationUNet2DRelLp500---0.07035.27980.00167529.0M
29saturationUNet2DRelLp500---0.07035.27980.00167529.0M
30saturationUNet2DUFNODerivLoss500---0.07056.54780.00176729.0M
31saturationUNet3DRelLp500---0.06576.11840.00171520.8M
32saturationUNet3DRelLp500---0.10055.66920.00166720.8M
33saturationUNet3DUFNODerivLoss500---0.09546.23120.00208320.8M
34saturationUNet3DUFNODerivLoss500---0.06344.01320.00115120.8M

Metrics Over Time

Combined target variant (multiple fields predicted jointly).

Pressure

SATURATION

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

#ModelLosspressure_mre_t1pressure_mre_t2
1UNet2DRelLp0.32700.2602
2SegResNet2DRelLp0.33990.2687
3SwinUNETR2DRelLp0.51430.4093
4UNet3DUFNODerivLoss0.51800.4067
5FNO2DRelLp0.59390.4715
6UNet2DRelLp0.80900.6334
7UNet2DUFNODerivLoss0.85220.6794
8UNet2DUFNODerivLoss0.97130.7676
9UNet2DUFNODerivLoss1.00550.7941
10UNet3DRelLp1.08490.8559
11UNet2DRelLp1.10470.8678
12UNet3DUFNODerivLoss1.87861.4621
13FNO2DUFNODerivLoss2.19711.7269
14UNet3DRelLp2.24141.8172

Targetsaturation

#ModelLosssaturation_mapesat_R2_plume
1UNet3DUFNODerivLoss1.31090.9922
2UNet3DRelLp1.54880.9927
3UNet2DRelLp1.58310.9923
4UNet2DRelLp1.58310.9923
5UNet2DUFNODerivLoss1.60920.9919
6UNet2DRelLp1.64250.9932
7SegResNet2DRelLp1.80330.9919
8UNet2DUFNODerivLoss1.85310.9891
9UNet2DUFNODerivLoss1.86850.9894
10UNet2DRelLp2.00920.9905
11UNet2DRelLp2.00920.9905
12UNet3DUFNODerivLoss2.02920.9851
13UNet3DRelLp2.16140.9821
14SwinUNETR2DRelLp2.34320.9886
15FNO2DRelLp2.99990.9835
16FNO2DUFNODerivLoss3.11270.9772

Targetcombined

#ModelLosspressure_mre_t1pressure_mre_t2saturation_mapesat_R2_plume
1UNet2DRelLp1.07040.83951.71550.9922
2SegResNet2DRelLp1.11560.86501.91050.9921
3SwinUNETR2DRelLp1.64131.27002.62070.9872
4FNO2DRelLp1.74091.36293.31790.9814

About This Benchmark

This benchmark is based on the U-FNO dataset introduced by Wen et al. (2022) for accelerating multiphase CO2-water flow simulations relevant to carbon capture and storage (CCS). The domain is a 2D radial-symmetric cross-section (96 radial cells x 200 vertical cells) representing a deep saline aquifer with CO2 injection.

The simulations model supercritical CO2 injection into a heterogeneous aquifer, capturing the interplay between viscous, gravitational, and capillary forces that govern CO2 plume migration and pressure buildup. The radial symmetry reduces the 3D problem to a computationally efficient 2D representation while preserving the essential physics of single-well injection.

Each simulation produces 24 prediction timesteps capturing the evolution of pressure buildup and gas (CO2) saturation. The input features include the permeability and porosity fields of the aquifer rock, along with injection parameters that control the CO2 injection rate and duration.

This dataset is particularly relevant for risk assessment in CCS projects, where rapid evaluation of thousands of geological scenarios is needed to quantify uncertainty in plume extent and pressure response.

Input features

PermeabilityPorosityInjection Parameters

Paper metrics explained

pres_MRE
mean(|p_pred - p_true| / |p_true|)
Mean Relative Error for pressure buildup, averaged over all cells and test samples.
sat_MPE
mean(|sg_pred - sg_true|)
Mean Pointwise Error for gas saturation. Uses absolute (not relative) error because saturation values near zero make relative error ill-defined.
R2_plume
1 - SS_res / SS_tot (on sg > 0 cells)
R-squared coefficient of determination computed only on cells where the CO2 plume is present (sg > 0), measuring how well the model captures plume geometry.

Training Configuration

Configuration for the best-performing model (UNet3D).

Training
Epochs500
Learning Rate0.0001
Weight Decay0.01
Max Grad Norm1
Batch Size2
Loss FunctionUFNODerivLoss (p=2, reduction=mean, beta=0.5)
SchedulerCosineAnnealingLR (step_size=50, gamma=0.95, T_max=500, eta_min=0.00001)
Model Architecture
in channels12
out channels1
base channels32
kernel size3
depth3
num time steps1
squashed outputfalse
flatten outputtrue