Version: [4048] Rain to Flood Analysis 3.0

## Changelog

### 3.0 — major correctness and workflow release

**Pour-point workflow.** Set one pour point and the upstream
catchment,
longest flow path and channel slope are all delineated from the DEM.
Delineation uses pointer jumping over the D8 flow graph — 1.44M cells
in
4.8 s. No catchment polygon is required anywhere in the plugin.

**Flood extent corrected.** Depression filling was seeded from the
array edge
after nodata had been replaced with the catchment mean elevation. On a
clipped catchment that constant ring acts as a dam: the entire lower
basin
was raised to a flat surface, HAND against it was ~0, and roughly 66%
of the
catchment flooded *regardless of discharge* — a 1.9× increase in Q
moved the
extent from 65.8% to 65.9%. Extents are now channel-scale and respond
to
discharge.

**Volume budget.** Mapped flood water can no longer exceed the runoff
the
storm produced. Depth comes from Manning's normal depth at regime
width
`W = 3√Q`; at small Q that width collapses while the valley it is
spread
across does not, so a trickle was being rendered as a metres-deep
flood. The
consistency check existed and warned every time, and nothing acted on
it.

**Channel slope.** Measured longitudinally as S1085 along the traced
main
stem, not from the DEM gradient magnitude — which has no sign, is
dominated
by the cross-section, and was returning ~30× the true slope. Velocity
goes as
√S, so that alone was inflating velocity about five-fold and driving
the
hazard classification.

**HAND.** Computed by walking each cell's own D8 flow path down to the
channel it drains into, rather than taking the geometrically nearest
stream
cell, which reached across divides and put 16% of cells at zero.

**Sub-basin routing.** Sub-basins are clipped to the analysis
catchment, so
basins draining elsewhere are no longer summed into the hydrograph.

**Method-range warnings.** The SCS lag equation reports when it is
being
extrapolated past its ~8 km² validity range, and when time to peak
exceeds
the design storm duration (the storm ends before the UH peaks, heavily
attenuating the result).

**Rainfall location check.** Warns when the rainfall point falls
outside the
delineated catchment.

**CN / LULC extent.** The CN tab takes an area of interest — layer
extent,
canvas extent, or a rectangle drawn on the map — instead of demanding
a
catchment polygon.

**Tabs 1 and 2.** Catchment boundary now optional. Slope is computed
before
any clip, so boundary cells keep real neighbours in Horn's method
instead of
taking their slope from missing data.

**Interface.** Rebuilt with a contrast-checked light theme (every
text/background pair verified against WCAG AA), new raster colour
ramps for
DEM, slope, CN, LULC and Manning's n, and QGIS 4 / PyQt6
compatibility.

yes

rahulpandey696

2026-09-20T10:26:37.226896+00:00

3.28.0

4.99.0

None

no

Version management

Plugin details