The MET Pipeline Explorer takes a real forecast/observation case and reproduces
MET's grid_stat math — thresholds, contingency tables, partial sums, skill scores, FSS —
live in a browser tab, then checks every number against MET's own .stat output.
This page explains how, stage by stage, with real benchmarks.
Strip away the file formats and orchestration, and MET's gridded verification is three
operators wrapped around arithmetic: interpolate forecast onto the observation geometry,
threshold + mask, then accumulate partial sums and contingency counts — from which every
published score is simple algebra. The accumulation and algebra are cheap; a browser does them instantly.
The only genuinely hard part — decoding GRIB2 / prepBUFR — is done once, offline, exactly as MET's
own pb2nc / regrid_data_plane do it before verification runs.
Click any step to open its detail. Green = runs in the browser (and is proven live against MET); amber = reachable but heavy or data-gated; orange = must be pre-processed offline first.
The same kernel the explorer runs, measured on synthetic grids from the real case size (8k cells) up to 2048² (4.2 M cells). Single-threaded JavaScript, no WASM or GPU.
The numbers above are warm (steady state, after the JS engine has compiled the hot path). What a colleague actually feels on their very first click is the cold column — the first call before V8 optimizes. It settles to the warm number within a few interactions.
.stat, every stage is checked against the operational answer as it computes — the ultimate
provenance.