Critical Depth Calculator
Compute rectangular critical depth yc = (q²/g)^{1/3}. Runs locally. Not a Froude wrap, not specific energy, not a hydraulic jump, and not Q=Av.
Enter values to calculate.
Live graph
Interactive plot
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · Rectangular yc = (q²/g)^{1/3} with unit-discharge invert; + O3 mpmath tabulated yc.
- Input interpretation
- Enter values to calculate.
- Result
- —
- Verified scope
- Rectangular yc = (q²/g)^{1/3} with unit-discharge invert; + O3 mpmath tabulated yc.
- Assurance
- Engineering
- Declared partition coverage
- PASS · 5/5 declared partitions (depth, solve, alias, awkward, invalid-domain) · Matrix
- Deferred
- Not trapezoid critical depth, not alternate depth, not Manning yn, and not Q=Av alone.
- Numerical scope
- O2: yc=(q²/g)^{1/3} vs a separate-module identity (≤2 ULP). Not trapezoid critical depth, not alternate depth, not Manning, and not Q=Av alone. ≤2 ULP vs O3 applies only to the published tabulated critical-depth vectors. Not trapezoid yc, not Manning, and not alternate depth.
- Known limitations
- Core CVP does not include live graph, viewport, or pointer interaction.
- Model
- Rectangular critical depth from unit discharge. Invert q. REST accepts Q and b as q=Q/b.
- Scope
- Rectangular critical depth: yc = (q²/g)^{1/3}; q = Q/b; default g=9.80665 m/s²
- Verification
- Engine tested · Source checked · v1.0.0 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · Rectangular yc = (q²/g)^{1/3} with unit-discharge invert; + O3 mpmath tabulated yc.· View Manifest · CVP overview · Specification
- Versions
- Calculation 1.0.0 · CVP protocol 1.0.0-proposed · Evidence 2026-09-26.o2-o3.iface
- Verification revision
- 2026-09-26.o2-o3.iface · 1/1 property · digest 5c7c205b89d1
- Legacy regression
- 17/17 tests · Production surface contract 5/5
- Trust layers
- Verification VERIFIED · Production CURRENT · Overall CVP state: VERIFIED under CVP 1.0.0-proposed
- Reference
- O1 model · O3 expected_values · O3 numerical_behavior · O2 expected_values · O2 numerical_behavior
- Interfaces
- PASS · UI (SSR) / REST / MCP
- Supplemental domain review
- Not performed
- Named expert review
- Not performed
- CVP suite
- 4/4 golden · 10/10 CVP boundary · 11/11 invalid · 1/1 property · 1/1 metamorphic · 8/8 O3 · 2/2 cross-interface · 5/5 CVP contract · Manifest
- Sources
- ISO 80000-4 — Mechanics
- Chow, V.T. Open-Channel Hydraulics
- Evidence
- 2 legacy golden · 10 legacy boundary · legacy regression suite · 4/4 oracle-backed golden · 11/11 invalid · Artifact integrity PASS
- Semantic contract
- PASS
Full verification
Formulas
Core equations used by this calculator.
How to use
Enter q
Unit discharge in m²/s. REST may send q or Q+b; the query layer uses q_m2_s.
Read yc
yc = (q²/g)^{1/3}. Invert q on the q tab when yc is known.
Optional g
Gravity defaults to 9.80665 m/s².
Example calculations
Common configurations with formula and result.
q=1 m²/s
Default g=9.80665 m/s²
Invert q
yc ≈ 0.46719 m
Critical Depth calculator specification
Version 1.0.0 · Engine tested
- Engine tested 17/17 tests · Production surface contract 5/5
- Named expert review Not performed
- Calculation version 1.0.0
- Definition
- Rectangular critical depth: yc = (q²/g)^{1/3} with q = Q/b and default g=9.80665 m/s². This page computes yc, not Fr = v/√(gL) and not E = y+v²/(2g).
- What it calculates
- Rectangular critical depth from unit discharge. Invert q. REST accepts Q and b as q=Q/b.
- Inputs
- mode?
- q|yc
- Q?
- b?
- g?
- Outputs
- yc
- q
- g
- vc
- mode
- model
- Formula
yc = (q² / g)^{1/3}- Assumptions
- Rectangular critical depth: yc = (q²/g)^{1/3}; q = Q/b; default g=9.80665 m/s²
- Critical speed vc = √(g yc) is reported, not an input; Fr=1 is the definition, not a Froude wrap
- Not a Froude wrap, not specific energy E, not a hydraulic jump, not Manning, not Q=Av
- Units
- SI; yc in m; q in m²/s; Q in m³/s; b in m; g in m/s²
- Boundary conditions
- missing q or yc when required → MISSING_REQUIRED_INPUT
- q, yc, Q, b, or g ≤ 0 → VALUE_MUST_BE_POSITIVE
- Fr/L, E/y, y1/y2, n, A, v, z → MIXED_INPUT_ENCODING
- froude, energy, or jump as mode → INVALID_MODE
- Example
- q=1 → yc=(1/g)^{1/3}
- Validation cases
3 published on this page · 17/17 tests · Production surface contract 5/5 · View evidence
- q=1 → yc=(1/9.80665)^{1/3}
- mode=unit_discharge yc=(1/g)^{1/3} → q=1
- q=1 Fr=1 → MIXED_INPUT_ENCODING
- Sources
- ISO 80000-4 — Mechanics — Length, speed, accelerationSupports: yc is a length; q is discharge per width; g is acceleration
- Chow, V.T. Open-Channel Hydraulics — Critical flowSupports: yc = (q²/g)^{1/3} for a rectangular channel at Fr=1
- ISO 80000-4 — Mechanics — Length, speed, acceleration
- Calculation version
- 1.0.0
Background
Interpretation and common distinctions.
Compute rectangular critical depth.
Supported and not supported
Supported — yc from q or Q+b · invert q · API physics.fluid.critical_depth
Not supported — Froude-only Fr=v/√(gL), specific energy E=y+v²/(2g), hydraulic jump sequent depths, Manning n, Q=Av
Agent / API notes
Capability id: physics.fluid.critical_depth · tool id: critical-depth · pin 1.0.0.
{ "q": 1 }
Modes: depth (default), unit_discharge. Errors: MISSING_REQUIRED_INPUT, INVALID_NUMBER, VALUE_MUST_BE_POSITIVE, MIXED_INPUT_ENCODING, INVALID_MODE.
Calculator URL stays /calc/physics/critical-depth. There is no /calc/fluid.
Related tools
Other calculators in this family: Alternate Depth Calculator, Bernoulli Equation Calculator, Broad-Crested Weir Calculator, Cavitation Number Calculator, Chezy Formula Calculator, Colebrook Friction Factor Calculator, Concentric Reducer Calculator, Critical Slope Calculator . Explore all Fluid Mechanics.
Frequently asked questions
Key distinctions behind the calculation.
Is this the Froude number?
No. Fr = v / √(g L) is /calc/physics/froude-number. This page returns yc. Sending Fr or L is MIXED_INPUT_ENCODING.
Is this trapezoidal critical depth?
No. Fr=1 on a trapezoid from Q, b, and z is /calc/physics/trapezoidal-critical-depth. Sending z is MIXED_INPUT_ENCODING.
Is this specific energy?
No. E = y + v²/(2g) is /calc/physics/specific-energy. Sending E or y is MIXED_INPUT_ENCODING.
Is this a hydraulic jump?
No. Sequent depths are /calc/physics/hydraulic-jump. Sending y1 or y2 is MIXED_INPUT_ENCODING.
Is this Q = A·v?
No. Volumetric flow from area and velocity is /calc/physics/flow-rate. Sending A is MIXED_INPUT_ENCODING. Use q or Q+b.
Where does this run?
Locally in the browser by default. REST and MCP call the same fluid-engine criticalDepth wrapper.