User manual — chapter list

Replaying estimated states

Once the estimated-state lake exists (see 11-estimating-gb-history.md), three surfaces consume it: the desktop app, the web console, and DataExplorer. All of them carry the estimate's fit quality alongside the state - a frame of estimated history is never shown without the quality of the fit that produced it.

The desktop app

Start the bridge server first (13-the-gda-bridge.md), then launch the app and pick the Live bridge entry in the model picker. The entry appears whenever a bridge endpoint is configured - the default (ws://127.0.0.1:8770/ws/bridge) is set in %LOCALAPPDATA%\GridSim\settings.json (BridgeEndpoint; blank it to hide the entry).

In bridge mode the transport bar shows three pickers:

  • Zone - which case to stream: the six DNO zones, GB full, or GB spine - GSP-level (the estimation target; pick this for estimated replay).
  • Start - a historical anchor preset (2 days back ... 30 days back). Known limitation: the no-forward-inference horizon was widened to 169 hours (7 days + 1 hour), so the shorter presets (2 days ... 1 week) now fall inside it and the server rejects them (HORIZON REJECTION on the status pill). Pick 2 weeks ago or 30 days ago until the presets are reworked.
  • SRC - the reconstruction the stream replays:
    • PRESOLVED - the demand-scaled re-solve lake; per-bus state varies each tick, deterministically derived from the model.
    • ESTIMATED - the measurement-fitted WLS lake; every frame was fitted to that period's real telemetry and carries a per-frame quality block.
    • LIVE - a static-network solve with only the system scalars moving.

Switching any picker restarts the stream on the same connection.

The chi-square status pill

On an ESTIMATED stream the bridge status pill shows, per frame:

ESTIMATED  *  gb-spine  *  chi-square PASS  *  J=201.3  n=948  removed=1
  • chi-square PASS/FAIL - whether that period's fit was consistent with its declared measurement uncertainties (pill green on PASS, red on FAIL). A FAIL frame still displays, but treat its numbers as uncorroborated until you know why the test failed (see 10-state-estimation.md).
  • J - the weighted sum of squared residuals, the number the chi-square gate judges.
  • n - how many measurements the period's fit consumed.
  • removed - bad-data removals in that period (omitted when zero). Persistent removals at the same location across periods are a measurement or model defect, not noise - the closure report's outlier league tracks exactly this.

Launch arguments

Pre-select bridge mode from the command line - useful for scripted demos:

dotnet run --project src/GridSim.Wpf -- --zone gb-spine --back 14 --bridge-source estimated

--zone matches a case name substring, --back N picks the N-days-back start preset, --bridge-source presolved|estimated|live pre-selects SRC.

The web console

Configure the bridge endpoint (the GridSim:BridgeEndpoint configuration key

  • e.g. via appsettings.json or the GridSim__BridgeEndpoint environment variable), start the web app, and the home screen shows an Estimated bridge card ("GDA lake * WLS-estimated states (chi-square-gated)") alongside the Live bridge card. It opens:
/dashboard/bridge:gb-spine@estimated

The URL scheme is bridge:<case>[@<source>] - the optional @source suffix picks the reconstruction: presolved (the default when omitted), estimated, or live. Any bridge case works, e.g. /dashboard/bridge:gb-full@presolved.

DataExplorer

The lake's quality series are charted in GDA's DataExplorer. From D:\Work\GDA\v1:

python DataExplorer/server.py

then open http://localhost:8077 (change with --port). The State estimation group carries two charts, both defaulting to the last 7 days and scrollable across the whole backfilled range:

  • Estimation quality (gb-spine) - per-period objective J against the chi-square gate (left axis), iterations and bad-data removals (right axis). J above the gate = inconsistent fit; watch for J tracking the gate closely (sigma pressure) or removal spikes (a defective source).
  • Solve vs estimate divergence (gb-spine) - max deltaVm (pu) and deltaVa (deg) on the left axis, max deltaflow (MW) on the right: where the deterministic solve route and the measurement-fitted route disagree. Persistent divergence localises model or dispatch error.

See also