Skip to main content

Backwater Curves: Why the Water Rises Before a Structure

Put a weir, a gate, or a culvert in a canal and the water does not jump to its new depth at the structure—it eases into it over a distance, sometimes for hundreds of metres or more. That rising water surface upstream of an obstruction is a backwater curve, one family of gradually varied flow (GVF). This walkthrough shows how to trace it with FlowStudio’s gradually varied flow worksheet (SI units).

Open FlowStudio → https://flow.syncster.dev

What you are solving

In uniform flow the depth sits at normal depth yn and never changes along the reach. A control structure breaks that: it fixes the depth at one point to some other value, and the channel then blends from that control depth back toward normal depth. The blend is governed by the gradually varied flow equation:

dy/dx = (S0 − Sf) / (1 − Fr²)

Here S0 is the bed slope, Sf is the friction slope from Manning’s equation, and Fr is the Froude number. FlowStudio integrates this along the channel from an initial depth you supply, using Manning friction on a prismatic (rectangular or trapezoidal) section.

Two reference depths set the shape

Every GVF profile is read against two lines: normal depth yn (where Manning balances) and critical depth yc (where Fr = 1). On a mild slope (yn > yc), which covers most irrigation canals, the three profiles are:

  • M1 — the classic backwater curve. Depth is above yn, caused by a downstream weir, gate, or reservoir holding the water up. The surface rises smoothly upstream and approaches yn asymptotically.
  • M2 — a drawdown curve. Depth is between yn and yc, as the flow accelerates toward a free overfall or a steep reach.
  • M3 — supercritical. Depth is below yc, for example the fast jet just downstream of a sluice gate, rising until it meets a hydraulic jump.

Knowing which one you expect tells you where to start the integration and which way to march. If you have not yet found yn and yc for your channel, get them first from the rectangular or trapezoidal normal-depth worksheet.

Step 1 — Create the worksheet

Sign in if prompted, then create or open a project. Add a new worksheet and choose gradually varied flow. Open the sheet so you see the intro note (it states the GVF equation and available integration methods), the Section type selector, and the input fieldsets for geometry, initial conditions, and integration.

FlowStudio GVF worksheet — Figure 1
Figure 1. The freshly opened GVF worksheet — the “About this worksheet” note, the Rectangular/Trapezoidal selector, and the empty input grid.

Step 2 — Enter channel geometry and flow

Pick Rectangular or Trapezoidal (for a trapezoid, add side slope z, H:V). Then enter SI values: bottom width b, Manning n, bed slope S0 (m/m), and discharge Q (m³/s). For a reproducible mild-slope demo, try a rectangular canal: b = 5 m, n = 0.025, S0 = 0.0004, Q = 12 m³/s. For these values normal depth is roughly yn ≈ 2.6 m and critical depth yc ≈ 0.84 m—so yn > yc, a mild slope, and any pond-up behind a structure is an M1 curve.

FlowStudio GVF worksheet — Figure 2
Figure 2. Channel geometry and flow entered: b = 5 m, n = 0.025, S0 = 0.0004, Q = 12 m³/s, with control depth y0 = 3.0 m at x0 = 0.

Step 3 — Set the control depth as the initial condition

This is the step that makes a backwater curve. Under Initial conditions, put the structure at x0 = 0 and set y0 to the depth the structure imposes—for example a weir that holds the water at y0 = 3.0 m, above normal depth. Because a subcritical backwater is controlled from downstream, the profile must be integrated upstream: set Direction = Upstream (−x).

Rule of thumb for direction: subcritical flow (M1, M2) is controlled from downstream, so march upstream from the control; supercritical flow (M3, e.g. below a gate) is controlled from upstream, so march downstream.

FlowStudio GVF worksheet — Figure 3
Figure 3. Initial conditions and Integration: method = RK4, reach L = 2000 m, 48 steps, Direction = Upstream (−x), and the Compute profile button.

Step 4 — Choose a method and reach, then compute

Under Integration, keep Runge–Kutta 4 (fixed Δx) for a smooth, accurate curve (Midpoint, Euler, and a fixed-Δy Standard-step method are also available). Set a reach length L long enough to see the surface relax back toward yn—on a mild slope a backwater can stretch a long way, so try L = 2000 m with 40–80 steps—then click Compute profile.

Step 5 — Read the profile and the table

The long-section chart plots depth versus distance. Starting from the control depth at the structure, the M1 surface should sag gently toward normal depth as you move upstream, flattening out and running nearly parallel to the bed far from the structure. The results table lists each station’s x, depth y, bed/stage z, Froude number Fr, friction slope Sf, and the local slope dy/dx—handy for seeing the curve go asymptotic (dy/dx → 0 as y → yn).

FlowStudio GVF worksheet — Figure 4
Figure 4. The computed long-section profile: control depth at x = 0 relaxing toward normal depth upstream — the M1 backwater shape (yn ≈ 2.56 m, yc ≈ 0.84 m).
FlowStudio GVF worksheet — Figure 5
Figure 5. The results table (x, y, z, Fr, Sf, dy/dx); reference values read yn = 2.564 m and yc = 0.837 m.

Common pitfalls

  • Wrong direction. If a subcritical profile blows up or runs away instead of settling to yn, you are almost certainly marching the wrong way—subcritical is controlled from downstream, so integrate upstream.
  • Starting on the wrong side of yn/yc. The initial depth decides which profile you get. Above yn → M1; between yn and yc → M2; below yc → M3. Check your control depth against both reference lines first.
  • Near-critical stalling. The GVF equation is singular at Fr = 1 (the denominator 1 − Fr² → 0), so integration slows or stops near critical depth. A true transition through critical is a rapidly varied phenomenon (a jump or a control), not GVF—model it with the sluice-gate worksheet or a dedicated control instead of pushing GVF through yc.
  • Reach too short. If the profile has not yet flattened to yn at the end of L, lengthen the reach. Backwater lengths on flat canals are often surprisingly large.

Wrap-up

You’ve traced a backwater curve from a control depth back to normal depth using the same GVF closure FlowStudio integrates. Swap in your own b, z, n, S0, and Q, set the control depth your structure imposes, and read off how far upstream the influence reaches—the number that tells you whose fields get wetter when you raise a gate.

Run the sheet live at https://flow.syncster.dev.

Comments

Popular posts from this blog

Cursor AI Review: Is the AI Code Editor Worth It?

I've been using Cursor as my main code editor for a while now, and enough people have asked whether it's worth switching to that a proper review felt overdue. Short version: for me, yes — but with caveats. What is Cursor? Cursor is an AI-first code editor built as a fork of VS Code. That means every extension, theme, and keybinding you already use in VS Code works here, but with AI woven directly into the editing experience instead of bolted on as a plugin. It's made by Anysphere and can run models from OpenAI and Anthropic under the hood. What I like Tab completion is uncanny. Cursor predicts your next edit — not just the rest of the line, but the next change across the file. Once you get used to hitting Tab, going back to a plain editor feels slow. The Composer / Agent mode. You describe a change in plain language and it edits multiple files at once, showing you a diff to accept or reject. For refactors and boilerplate, this saves real time. It unde...

MacBook Pro M5 vs M5 Pro: Which One Should You Actually Buy?

Apple's latest 14-inch MacBook Pro comes in two very different flavors: the base M5 and the step-up M5 Pro . On paper they look similar — same gorgeous Liquid Retina XDR display, same design — but under the hood the gap is bigger than the names suggest. Here's a clear, no-hype breakdown, with concrete use cases so you can match the chip to your work. Quick spec comparison Spec M5 M5 Pro CPU 10-core (4 performance + 6 efficiency) Up to 18-core (6 performance + 12 efficiency) GPU 10-core Up to 20-core Neural Engine 16-core 16-core Memory bandwidth 153 GB/s 307 GB/s (roughly double) Unified memory 16 / 24 / 32 GB 24 / 48 / 64 GB Max storage Up to 4 TB SSD Up to 8 TB SSD Battery (video playback) Up to 24 hours Up to 22 hours Media engines Single encode/ProRes engine More encode/ProRes engines (higher configs) What actually changes between them More cores — the M5 Pro nearly doubles CPU cores and adds GPU cores, so sustained, multi-threaded work finishe...

Running a Server on a Mac Mini: Apple Silicon vs the Home-Server Field

The Mac Mini has quietly become one of the most interesting home-server boxes you can buy. It’s tiny, nearly silent, sips power, and Apple Silicon punches far above its weight. But is it actually the right machine to run your services on — or are you paying an Apple tax for a job a $400 mini PC does better? Let’s put it head-to-head. Why a Mac Mini makes a surprisingly good server Three things make Apple Silicon compelling as an always-on machine: Performance per watt. This is the headline. An M4 Mini idles at just a few watts and rarely pushes past ~35W under load, while delivering multicore performance that embarrasses machines drawing twice the power. Silence. Under typical server loads the fan is inaudible. If your “server” lives in a living room or bedroom, this matters more than any benchmark. Footprint. It’s the size of a coaster and runs cool, so it tucks anywhere. The honest catch It’s not all upside: macOS isn’t...