Files
pumpingStation/wiki/modes
Rene De Ren 6ab585bcc2 Docs + simulations refresh; align spill-flow keys with new position
- wiki/functional-description.md: rename Overfill Protection → High-volume
  Safety; tighten basin-ordering chain; relocate level-based mode
  diagrams under wiki/diagrams/modes/level-based/; document the new
  flow.predicted.overflow.default position (replaces the previous
  child='overflow' under position 'out'); add underflowVolume +
  predictedUnderflowVolume entries.
- wiki/modes/{levelbased,powerbased}.md: paragraph cleanups.
- wiki/diagrams: move level-linear basin diagram under modes/level-based/
  alongside a new level-log variant.
- simulations/run.js: add max_demand_gt expectation.
- simulations/scenarios/*: minor fixture updates.
- test/basic/nodeClass-config.test.js: new config-shape coverage.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 17:23:20 +02:00
..

Control modes

Each page describes one pumpingStation control mode and how it uses the shared basin model — specifically, how it uses the three control thresholds (minLevel, startLevel, maxLevel) and computes the demand it sends to the MGC.

The two safety thresholds (dryRunLevel and overflowLevel) are mode-independent and are enforced by the safety layer outside any mode. They never appear in a mode's policy.

Template

Every mode page follows the same structure:

  1. At a glance — one sentence + small fact table (inputs, output, status)
  2. Diagram — one or more, per tier (see below)
  3. Inputs — what signals the mode reads
  4. Threshold policy — how it uses / adjusts minLevel, startLevel, maxLevel
  5. Demand formula — pseudocode for Tier 1/2, objective function for Tier 3
  6. Edge cases — cold start, sensor dropout, interaction with safety layer
  7. Related — links to other modes + functional description

The three tiers classify modes by how dynamic the decision surface is:

Tier Curve Example modes Diagram type
1 — static Memoryless demand = f(x); single curve levelbased, manual Single-curve transfer function
2 — parameterised Shape fixed, curve moves with θ(t) flowbased, pressureBased, percentageBased, powerBased Transfer function + parameter overlay / family
3 — horizon-based Optimisation, no fixed curve hybrid-optimal, mpc, weather-aware Block diagram of signal flow + scenario time-series

Implementation status

Mode Tier Status Page
levelbased 1 implemented levelbased.md
manual 1 implemented (via Qd topic)
flowbased 2 🚧 code placeholder, template flowbased.md
pressureBased 2 🚧 code placeholder
percentageBased 2 🚧 code placeholder
powerBased 2 🚧 code placeholder, template powerbased.md
hybrid 3 🚧 code placeholder
mpc 3 🚧 not in code yet, template mpc.md