The model works backwards from a set final discharge level. This is normally a treated water tank top water level (TWL), a reservoir level, or a receiving water level.
Once that anchor is set, add components to build up the whole treatment train — pipes, channels, weirs, baffles, filters, membranes, screens, pumps, the lot. Each card you add sits further upstream than the one below it.
Where there are multiple process trains you only need to work backwards through one. Components have a streams field so you can say "this card represents 1 of 4 filters" and the section flow scales accordingly.
Add as much detail as you can — pipe lengths, fitting counts, channel FFLs, weir crest levels — and the result gets more accurate. Each card carries a live diagnostic showing velocity, head loss, key levels, and any sanity warnings.
If you want a worked example, hit Use demo data below.
A row-by-row look at every component in the chain — the calculated water level at each one, alongside whatever reference levels you've set (weir crests, channel FFLs, filter floors, tank TWLs).
The number at the start of the chain is the water level your source would need to deliver to push the design flow through everything downstream. If your real source can't reach it, either the plant is losing too much head somewhere or you need a pump in the chain.
A visual of the hydraulic grade line through the plant — water level at every component, from the source side on the left to the discharge on the right. Components are evenly spaced; only the order matters, not the distance between them.
A step down in the line means a pump or membrane suction is restoring head at that point. A step up means head is being consumed — friction in a pipe, a weir, a filter, a TMP drop, that sort of thing.
Pick which of the other tabs (Build, Levels, Profile) you want included, then download as either a PDF or a CSV. The tab selection applies to both.
For PDF: your browser's print dialog opens — choose "Save as PDF" as the destination. To get a clean output with no URL/page-number bar, untick "Headers and footers" in the print dialog options.
Save state writes a JSON file containing every input and the current results. Reload it later (or share it with a colleague) and the plant is restored exactly.
A gravity hydraulic profile model for water treatment plants. You set a downstream discharge level, build the treatment train upstream of it, and the tool computes the water level needed at every point — pipes, channels, weirs, baffles, filters, membranes, pumps, everything.
Roughness, Manning, K-factors and filter-media defaults. Edit values to suit your local conventions.
Clear stored state and start fresh. This does not affect any JSON file you've already saved.