Open channel flow calculator
A channel with 3 m² of flow area, a hydraulic radius of 0.6 m, a slope of 0.001 and a roughness of 0.015 carries about four and a half cubic metres per second. Enter those four values to get the discharge and mean velocity. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Area
- 3
- Hydraulic radius
- 0.6
- Slope
- 0.001
- Roughness
- 0.015
- Flow rate
- 4.4991536946 m3/s
- Discharge
- 4.4991536946
- Mean velocity
- 1.4997178982
Open-channel flow is free-surface discharge in canals, culverts running part-full, natural streams, and storm sewers. The SI Manning formula used worldwide for uniform flow is Q = (1/n) A R to the two-thirds times the square root of S, with Q in cubic metres per second when area is in square metres, hydraulic radius in metres, slope dimensionless, and n the Manning roughness. This calculator accepts those four numbers and returns the volumetric flow rate together with mean velocity when the section is not dry.
What Manning's equation computes for open-channel discharge
Manning's equation is the empirical uniform-flow formula that relates mean velocity in an open channel to hydraulic radius, energy slope, and a roughness coefficient n that encodes bed and bank texture. In SI units the velocity is V = (1/n) R to the two-thirds times the square root of S, and the discharge is Q = A V, which expands to Q = (1/n) A R to the two-thirds S to the one-half. Area A is the flow cross-section in square metres.
Hydraulic radius R is the ratio of that area to the wetted perimeter — the length of the solid-fluid boundary, not the free surface — and must be supplied here as a length in metres; this calculator does not recompute R from geometry. S is the dimensionless energy slope, equal to the bed slope for uniform flow, written as a fraction such as 0.001 for one-tenth of one percent.
Manning n is a positive roughness coefficient: smooth concrete is often near 0.012, earth canals near 0.025, and vegetated or natural streams commonly 0.03 to 0.05. Search intent clusters around open channel flow calculator, Manning equation, canal discharge, and cubic metres per second from A, R, S, and n. People who already have a section and a slope want that product, not a pipe tool that multiplies area by a known mean speed, not a hydraulic-radius-only ratio, and not a weir formula.
This landing computes the SI Manning product only. It does not derive A or R from a named rectangle or trapezoid, convert US customary units where a 1.486 factor appears, look up n from a material table, or solve gradually varied flow with a water-surface profile. Keep units SI throughout so the returned flow rate is in cubic metres per second.
Input contract, SI Manning evaluation, and error behaviour
Area, hydraulic radius, and slope must be non-negative. A dry section with area zero, a vanishing hydraulic radius, or a flat reach with slope zero yields a flow rate of zero, which is a legitimate uniform-flow result. A negative area, radius, or slope is not a physical open-channel state and is rejected.
Roughness must be strictly positive. Magnitudes above one trillion are rejected as outside the supported range. Formula and method labels identify the SI Manning path.
There is no geometry helper and no unit conversion.
Where an open-channel Manning calculator is used, nearby tools, and pricing
Stormwater modelers check a uniform-flow estimate for a culvert or lined ditch before opening a full Saint-Venant solver. Teaching labs ask students to compute discharge for a rectangular flume as depth changes, combining A = b y and R = b y / (b + 2 y) with a given n and S, then compare against a measured weir or flume rating curve. Software tests for hydraulics libraries need a frozen SI expected Q so a refactor of a geometry module cannot silently change the Manning product.
Field notes that already list a surveyed section, a tape of the wetted boundary converted to R, a bed slope, and a handbook n can convert those four numbers into cubic metres per second without standing up a catchment model. This page is not a volumetric pipe-flow tool that multiplies area by a known mean speed, not a hydraulic-radius-only calculator, and not a broad-crested weir discharge formula.
Use the browser form when you want an immediate check while grading a homework set or comparing a hand calculation of the Manning product. Results are fully deterministic: identical inputs always produce the same flow rate and the same formula and method labels, with no language model, no outbound network, and no wall-clock dependence.
What you can do with it
Canal and irrigation uniform-flow checks
Convert a designed or surveyed flow area, hydraulic radius, bed slope, and Manning n into SI discharge in cubic metres per second before sizing a canal, lateral, or lined ditch.
Hydraulics homework and laboratory keys
Generate a deterministic Manning Q for rectangular and trapezoidal flume sections so students can check (1/n) A R to the two-thirds S to the one-half against hand calculations and rating curves.
FAQ
What happens if Manning n is zero or negative?
Manning's formula divides by n, so zero or negative roughness is not a physical coefficient and is not billed.
Which units does the open channel flow calculator use?
SI only: area in square metres, hydraulic radius in metres, slope as a fraction, n dimensionless. There is no 1.486 US customary factor and no unit conversion.
How is this different from Q = A·v or a weir discharge formula?
This landing evaluates SI Manning from A, R, S, and n. A pipe tool that multiplies area by a known mean speed, a hydraulic-radius-only ratio R = A/P, and a broad-crested weir formula are different search intents and different capabilities.
What Manning n should I use?
Typical handbook values are about 0.012 for smooth concrete, 0.025 for an earth canal and 0.03 to 0.05 for vegetated or natural streams. The calculator does not look n up from a material table, so enter the value you choose.
How do I get the hydraulic radius?
Divide the flow area by the wetted perimeter, which is the length of bed and banks in contact with the water, not the surface exposed to the air. Enter the result in metres, because the calculator does not derive it from the channel shape.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/phys/open-channel-flow \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"area":3,"hydraulic_radius":0.6,"slope":0.001,"roughness":0.015}'const res = await fetch("https://api.kit.forhosting.com/phys/open-channel-flow", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"area": 3,
"hydraulic_radius": 0.6,
"slope": 0.001,
"roughness": 0.015
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/open-channel-flow",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"area": 3,
"hydraulic_radius": 0.6,
"slope": 0.001,
"roughness": 0.015
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/open-channel-flow", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"area":3,"hydraulic_radius":0.6,"slope":0.001,"roughness":0.015}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"area":3,"hydraulic_radius":0.6,"slope":0.001,"roughness":0.015}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/open-channel-flow", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"area": 3,
"hydraulic_radius": 0.6,
"slope": 0.001,
"roughness": 0.015
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.open_channel_flow",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Limits
max_abs_area | 1000000000000 |
max_abs_hydraulic_radius | 1000000000000 |
max_abs_slope | 1000000000000 |
max_abs_roughness | 1000000000000 |
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Roughness that is zero or negative is rejected with invalid_input instead of a division-by-zero. Successful API calls are billed at $0.002; failed validation is not charged.
Input contract, SI Manning evaluation, and error behaviour
Send a JSON body with four required finite numbers: area, the cross-sectional flow area A in square metres; hydraulic_radius, R in metres; slope, the dimensionless energy or bed slope S; and roughness, Manning n. Every field may arrive as a JSON number or as a numeric string that parses to one; missing fields, empty strings, non-numeric text, NaN, and Infinity fail immediately with invalid_input naming the field, and failed validation is not billed. Optional aliases A, flow_area, cross_section, cross_section_area, and section_area are accepted for area; aliases R, radius, Rh, and hydraulic_r for hydraulic_radius; aliases S, bed_slope, energy_slope, channel_slope, and gradient for slope; aliases n, manning_n, manning, roughness_coefficient, and n_manning for roughness so forms and scripts can use textbook symbols. After validation the engine evaluates Q = (1/n) A R to the two-thirds S to the one-half, rounds both inputs and the result to twelve decimal places so the same request always yields the same JSON across JavaScript engines, echoes the four inputs, reports flow_rate and the synonym discharge in cubic metres per second, and includes mean_velocity when area is positive.
Where an open-channel Manning calculator is used, nearby tools, and pricing
Irrigation designers size canals from a target discharge by iterating depth until Manning Q matches the demand; this endpoint is the inner evaluation once area and hydraulic radius are known from a rectangular, trapezoidal, or irregular survey. Each successful request is one billable item at $0.002; failed validation does not consume balance.
Integration use cases
Stormwater models and library fixtures
Pin expected open-channel discharge in unit tests and notebooks for SI A, R, S, n tuples, including the zero-flow cases of a dry bed or a flat reach, without embedding a full geometry solver.
Technical questions
How do I calculate open-channel discharge with Manning's equation?
Send finite non-negative area (m²), hydraulic_radius (m), and slope (dimensionless), plus a strictly positive Manning roughness n. The API returns Q = (1/n) A R^(2/3) S^(1/2) as flow_rate in cubic metres per second.
What does the open channel flow calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.