feat(wasserfoerderung): FI 5.008 planner engine with per-pump pressures
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 22/100
Research direction
Start from FörderstreckePlanner on the branch feat/wasserfoerderung-plan-a and the friction table it uses, then compare it with FI 5.008 Tab. 3. The golden tests should reproduce Abb. 22 (0/540/920/1260 m) and Abb. 23 (0/458/579 m). Done means those tests pass, plus new tests for downhill overpressure, an infeasible steep segment, a route shorter than one hose, and a partial last segment. The review comment on #150 holds context not in the payload and should be read first.
Written by the indexing model from the issue text.
Description
Slice 1 of the Wasserförderung restart (#150). Domain only — no UI, no persistence, no sync. Analysis and rationale: see the review comment on #150.
Why
The planner on feat/wasserfoerderung-plan-a (FörderstreckePlanner) has problems in its hydraulics:
- Its friction table is optimistic compared with FI 5.008 Tab. 3: 1,0 vs. 1,2 bar/100 m at 800 l/min. At 8 bar / 1,5 bar it plans a 620 m flat leg where FI 5.008 Abb. 22 gives 540 m, so pumps end up ~15 % too far apart.
- On a descent
Cost()goes negative and the leg keeps extending. Nothing checks overpressure against the B hose's 16 bar. - It returns only counts and positions in metres. There are no per-pump pressures.
- The reserve is a unitless "3 % of budget" instead of a pressure in bar.
Scope
- Friction per FI 5.008 Tab. 3 (600/800/1000/1200 l/min), cited in the code.
- Inputs: Förderstrom, pump type / Ausgangsdruck (8 or 10 bar), min. Eingangsdruck, Sicherheitsreserve in bar, Warnschwelle, optional Einsatzstellenpumpe at the target.
- Input profile as Stützpunkte (Strecke m, Höhe m), interpolated to 20 m stations. Keep the branch's worst-interior-point crest check.
- Result per pump: role (Wasserentnahmestelle / Verstärkerpumpe / Einsatzstellenpumpe), station, Höhe, Eingangsdruck, Ausgangsdruck, section length / rise / B-20 count.
- Typed findings instead of exceptions where the plan is still usable: overpressure downhill, a segment that cannot be pumped at all, Restdruck at the target below the minimum, >1000 l/min → Doppelleitung.
- A partial last segment is charged pro rata, not as a full 20 m. Hose totals equal the sum of the sections.
Out of scope / open
- Offene Schaltreihe: model it correctly (every pump draws from a Faltbehälter) or leave it out. Re-checking only the last stretch is not enough.
- The DBV setting, reserve pump ratio and reserve hose rule need a cited source before they are shown as instructions.
Acceptance
- Golden tests reproduce FI 5.008 Abb. 22 (0/540/920/1260 m, 0/0/19,2/43,2 m, 8 bar, 800 l/min) and Abb. 23 (0/458/579 m, 0/14/19 m).
- Tests cover a downhill overpressure case, an infeasible steep segment, a route shorter than one hose, and a partial last segment.
🤖 Generated with Claude Code
- Dominant language
- C#
- Stars
- 1
- Forks
- 3
- Avg merge
- 4h 34m
- Merged PRs (30d)
- 182
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from CodeForFire/lagebuch
-
bug ux
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
CodeForFire/lagebuch#714 ·
Maintainers usually reply within 1 day
-
bug ux
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
CodeForFire/lagebuch#713 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
CodeForFire/lagebuch#405 ·
Maintainers usually reply within 1 day
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
CodeForFire/lagebuch#349 ·
Maintainers usually reply within 1 day
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
CodeForFire/lagebuch#348 ·
Maintainers usually reply within 1 day
All issues in CodeForFire/lagebuch
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
bug priority: P2
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
IridiumIO/CompactGUI#699 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bitfoundation/bitplatform#14070 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
Maintainers usually reply within 1 day