# Control modes Each page describes one `pumpingStation` control mode and how it uses the shared [basin model](../functional-description.md#basin-model) — specifically, how it sets 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** — reference to `../diagrams/modes/.drawio.svg` 3. **Inputs** — what signals the mode reads 4. **Threshold policy** — how it sets/adjusts `minLevel`, `startLevel`, `maxLevel` 5. **Demand formula** — how it turns inputs into a 0-100 % demand for the MGC 6. **Edge cases** — cold start, sensor dropout, interaction with safety layer 7. **Related** — links to other modes + functional description ## Implementation status | Mode | Status | Page | |---|---|---| | `levelbased` | ✅ implemented | [levelbased.md](levelbased.md) | | `flowbased` | 🚧 placeholder in code | — | | `pressureBased` | 🚧 placeholder in code | — | | `percentageBased` | 🚧 placeholder in code | — | | `powerBased` | 🚧 placeholder in code | — | | `hybrid` | 🚧 placeholder in code | — | | `manual` | ✅ implemented (Qd topic) | — |