Run PEST++ in this browser.

Calibrate the Freyberg groundwater model with the real PEST++ 5.2.27, compiled to WebAssembly. PEST++ schedules MODFLOW 6 workers on this device and prints its output here as it runs.

PEST++ 5.2.27 / browser worker Local

Loading the model and the modules…

No server · Web Workers
Iteration Forward runs0 / — Active0 / — Phi Elapsed00:00.0
pest++ terminal · unmodified program output 0 lines

                

Objective function

Phi per iteration, log scale

Waiting

Multiplier recovery

Dashed rules mark the hidden truth

Gate of record, 2026-08-11. WASM pestpp-ies recovered [2.9655, 1, 0.3005] where native recovered [2.9568, 1, 0.3005], a largest parameter difference of 0.295%. Reproduce with npm run test:parity in gwlabdev/pestpp-wasm.

A port, not a rewrite.

No calibration code was written for this page. PEST++ is compiled from the pinned 5.2.27 sources with numbered patches and one added run manager, and a result only counts when it matches the native suite.

RunManagerAbstract::run()The seam. One pure virtual method behind which the algorithms never learn who executes the model. docs/host-contract.mdThe boundary. Consumers provide one async function from parameters to observations, and the GPL stays behind it. npm run test:parityThe gate. Hidden multipliers recovered within 0.5% of native PEST++ before anything ships.