In HEC-RAS 2D, every computational cell stores a set of
property tables — precomputed lookup curves that
relate water surface elevation to hydraulic properties such as
plan-view area, wetted volume, and hydraulic radius. Rather than
recomputing these integrals at every time step, the solver performs
a fast table lookup, dramatically reducing run times for
high-resolution meshes.
Property tables are generated once during mesh pre-processing.
A typical 2D area with 50,000 cells at 10×10 sub-cell resolution
precomputes 50 million elevation samples — work that pays off
across thousands of solver time steps.
What Are Sub-cell Samples?
Each computational cell is subdivided into a regular grid of
sub-cells (commonly 10×10 = 100 points). The underlying
terrain elevation (from the DEM) is sampled at every sub-cell
centroid. These 100 elevation values are then sorted and accumulated
to build the elevation–area–volume curve for that cell.
This approach captures terrain variability within a cell
that would otherwise be lost if only the cell-centroid elevation were
used. Narrow channels, road crests, and levee crowns that fall inside
a cell are preserved in the property table even when the mesh is
coarse.
Why It Matters
Volume conservation — storage computed from
sub-cell terrain is far more accurate than using a single
representative elevation per cell.
Solver stability — smooth, monotonically
increasing volume curves prevent numerical oscillations during
wetting and drying transitions.
Performance — O(1) table lookup replaces
repeated integration, enabling large 2D domains to run in
minutes rather than hours.
Terrain Sub-cell Sampling
The animation below shows how a single 2D cell is decomposed into
a 10×10 sub-cell grid, sampled across the terrain, and then
reorganized into an elevation histogram — the first step toward
building the full property table.
Phase 1 — Terrain blocks rise to reveal the DEM surface.
Phase 2 — Sub-cell grid is sampled (flash sweep).
Phase 3 — Blocks fly to their elevation bin.
Phase 4 — Axes and labels appear.
Phase 5 — Water surface rises over both panels.
Phase 6 — Histogram transitions to the cumulative distribution function (CDF).
Table Structure
Each cell's property table is stored as a list of
(elevation, area, volume) triplets. Elevations are spaced
at the sub-cell bin width (0.5 m by default), covering the full
range from the lowest sub-cell terrain point to the cell's maximum
inundation level.
During the simulation, the solver interpolates linearly between
table rows to find area and volume at any water surface elevation
(WSE). The inverse lookup (WSE given a target volume) uses the same
table traversed in reverse — essential for the implicit solver's
Newton iterations.
The plan area increases steeply between 10–12 m as low-lying
sub-cells are inundated, then plateaus near 100 m² once the entire
cell face is wet. Volume grows as the integral of area with respect
to depth.
Sub-cell resolution trade-offs
Coarser sub-grid (5×5) — faster pre-processing,
less memory, but coarser terrain representation.
Finer sub-grid (20×20) — sharper volume curves,
better wetting-front accuracy, at the cost of 4× more pre-compute.
The default 10×10 is the HEC-RAS recommended balance for most
engineering applications.