Equilibrium-Coordinate Neural Operator
Implementation & benchmark of arXiv:2607.09293 — Fifth-Order Well-Balanced Path-Conservative A-WENO Scheme for the Ripa Model
Source paper: Fifth-Order Well-Balanced Path-Conservative A-WENO Scheme for the Ripa Model arXiv:2607.09293 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Build a neural PDE surrogate that predicts changes in equilibrium variables rather than changes in conservative state variables. The network receives the local state and geometry, predicts an equilibrium-coordinate increment, and subtracts the network output evaluated at a reference equilibrium, forcing the reference state to have exactly zero learned residual.
Formulas
Mathematical statement
The paper rewrites the balance law as the quasi-conservative system \(\bm U_t+\bm K(\bm U)_x=\bm 0\), with \(\bm K(\bm U)=\bm F(\bm U)-\bm R(\bm U)\) and \(\bm R(\bm U)=\int_{\widehat{x}}^x B(\bm U(\xi,t))\bm U_\xi(\xi,t)\,d\xi\). Its equilibrium variables are \(\bm E^x(\bm U)=(q^x,\mathcal E^x,v,\theta,Z)^\top\) and \(\bm E^y(\bm U)=(q^y,\mathcal E^y,u,\theta,Z)^\top\), where \(q^x=hu\), \(q^y=hv\), \(h\) is depth, \(u,v\) are velocities, \(\theta\) is potential temperature, and \(Z\) is bottom topography. At the relevant steady states, the first four components are constant in the corresponding spatial direction, so \(\bm K_x=M^x\bm E^x_x\equiv0\) and \(\bm L_y=M^y\bm E^y_y\equiv0\). For a 1-D implementation use \(e(U)=(q,\mathcal E,\theta,Z)\), with \(q=hu\) and, for the standard Ripa equilibrium, \(\mathcal E=\frac12u^2+h\theta+\theta Z\). The neural residual is parameterized as \(\dot e_\phi=G_\phi(e,f)-G_\phi(e_{\rm eq},0)\), so the learned contribution vanishes exactly at the chosen equilibrium \(e_{\rm eq}\).
Implementation notes
(1) Integration point: use a Fourier neural operator, U-Net, graph network, or ConvLSTM that advances a spatial shallow-water or Ripa grid. At every cell, convert the conservative state \(U=(h,q,h\theta,Z)\) to equilibrium coordinates \(e=(q,\mathcal E,\theta,Z)\), using \(u=q/h\) and \(\mathcal E=\frac12u^2+h\theta+\theta Z\). Feed \(e\), topography, and external forcing to the network and predict an equilibrium-coordinate increment. (2) Pseudocode: e = encode(U); de = net(e, forcing); de_eq = net(encode(U_eq), zeros); e_next = e + dt*(de - de_eq); U_next = decode(e_next). Decode with h constrained positive, q=e.q, theta=softplus(e.theta), and U=(h,q,h*theta,Z). (3) The paper supplies the coordinate choice and the equilibrium-zero principle. Estimate U_eq analytically for still-water or moving-water data; network weights, spatial couplings, and any non-equilibrium forcing remain learned. Add a supervised physical-state loss and optionally lambda_eq * ||net(e_eq,0)||^2 as a floating-point safeguard, although subtraction should enforce the property already. (4) First experiment: train a small 1-D FNO on trajectories generated by a finite-volume shallow-water solver, with random perturbations around still-water equilibria. Compare against an equal-width conservative-variable FNO. Measure zero-perturbation equilibrium drift, long-horizon rollout error, and stability near shocks. Success means at least 10x lower equilibrium drift and lower rollout error or fewer divergent trajectories at equal parameter count and timestep.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Not reproduced ✗
Stage 2 · Practical benchmark result: Inconclusive
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 8/10
Built a self-contained PyTorch MVP of the equilibrium-coordinate encoder/decoder and anchored residual G(e,f)-G(e_eq,0), with a matched unanchored MLP baseline. Exact subtraction produced zero equilibrium residual across tested output scales, reference-noise drift scaled linearly as predicted, and the penalty sweep matched 1/(1+lambda). In the toy comparison, equilibrium drift was 0.009594 for the baseline versus 0 for the idea, while non-equilibrium rollout RMSE fell from 0.005802 to 0.001137 on average and from 0.008741 to 0.001150 at the final step.
- Agent confidence
- 8/10
- Baseline
- equilibrium max drift=0.009594; rollout RMSE mean=0.005802, final=0.008741
- Idea
- equilibrium max drift=0.0; rollout RMSE mean=0.001137, final=0.001150
- Mechanism predictions
- exact residual=0 across scales 0 to 5; reference-noise RMS normalized by sigma*sqrt(4)=[0.961,0.939,0.918,0.954,0.926]; penalty observed values matched 1/(1+lambda) within about 6e-6
Limitations: This is a pointwise toy MLP rather than a spatial FNO, U-Net, graph network, or finite-volume PDE solver. It does not test shocks, spatial coupling, conservative decoding with learned positive depth, long-horizon physical PDE rollouts, equal-FLOP scaling, or multiple random seeds.
How to run: python3 experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.09293)
No significant difference vs. the tuned baseline (+5.4%, p=0.5265, wins 3 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0003
- Idea mean
- 0.0003
- Effect (Δ)
- 0 (+5.4%; negative = idea better)
- Wins
- 3 / 8 paired seeds
- p-value
- 0.5265 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±19.5%
- Mechanism
- Not confirmed ✗
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
Only the registered built-in dynamics track was tested. The fixed bench has no PDE/spatial neural-operator track, so spatial coupling, shocks, finite-volume rollouts, conservative decoding, and long-horizon PDE stability were not tested.
How to run: python3 bench_experiment.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 9/10
The anchored equilibrium residual confirmed its mechanism on trained rnn_small systems: zero-input output was exactly zero for the idea while the baseline retained nonzero output. It did not improve the independent task metric: idea MSE was slightly higher and the paired permutation test was nonsignificant.
- Baseline
- 8-seed test MSE mean=0.0002885053863792564; best lr=0.01
- Idea
- 8-seed test MSE mean=0.0003041973950530519; best lr=0.01; paired delta=0.0000156920086737955; permutation p=0.52655
Benchmark result
No significant difference vs. the tuned baseline (+5.4%, p=0.5265, wins 3 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0003
- Idea mean
- 0.0003
- Effect (Δ)
- 0 (+5.4%; negative = idea better)
- Wins
- 3 / 8 paired seeds
- p-value
- 0.5265 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±19.5%
- Mechanism
- Not confirmed ✗
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
Only the registered built-in dynamics track was tested. The fixed bench has no PDE/spatial neural-operator track, so spatial coupling, shocks, finite-volume rollouts, conservative decoding, and long-horizon PDE stability were not tested.
How to run: python3 bench_experiment.py
Artifacts
- bench_experiment.py 4.0 KB View Raw
- bench_report.json 3.8 KB View Raw
- experiment.py 5.9 KB View Raw
- report.md 1.5 KB View
- report_bench_2026-08-31T001053.md 5.1 KB View
- results.json 1.7 KB View Raw