2D Property Tables

Last updated: 2026  ·  US Army Corps of Engineers

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).

Notice the high-ground ridge running diagonally across this cell. Because the property table reduces the terrain to a one-dimensional elevation–volume curve, it captures how much ground is at each elevation but not where that ground is located. The solver does not see the ridge as a connected barrier — water will flow through it. Blocking features like levees and ridges are instead handled by face property tables, which sample the terrain along each cell boundary (see below).

Face Cross-Section Sampling

While cell property tables describe storage (volume vs. elevation), face property tables describe conveyance — the cross-sectional area available for flow across a cell boundary. HEC-RAS cuts a station-elevation profile along each face, then integrates the open area as a function of water surface elevation to build the area–elevation lookup curve used by the 2D solver.

Phase 1 — Terrain blocks rise to reveal the DEM surface.  Phase 2 — East–west face line appears between rows 4–5.  Phase 3 — Station-elevation profile draws progressively.  Phase 4 — Hold for readability.  Phase 5 — Profile morphs into the area–elevation CDF.  Phase 6 — Water surface rises over both panels.

Cell-to-Cell Water Transfer

The profile below shows a side view of two adjacent 2D cells connected through a shared face (levee). Water flows from the higher-WSEL cell to the lower one whenever the average water surface elevation at the face exceeds the levee crest.

Drag the vertical sliders on the left (Cell A) and right (Cell B) to set each cell's water surface elevation. The flow arrow, velocity, and area–elevation chart update in real time.

Face WSEL algorithm (ported from HEC-RAS C#): evaluates dry-cell checks, wet-disconnected, levee, backfill, and downhill (deep/intermediate/shallow) cases. The values panel on the right shows every intermediate variable in real time. FaceValues can be disjoint — each cell may see a different WSEL at the shared face (e.g. levee overtopping).

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.

Example: single-cell property table

Cell ID: 4821  (10×10 sub-cells, bin width = 0.5 m)

 Elev (m)  |  Plan Area (m²)  |  Volume (m³)
-----------+------------------+-------------
    10.00  |        0.00      |       0.00
    10.50  |       18.50      |       4.63
    11.00  |       37.25      |      23.10
    11.50  |       56.00      |      56.94
    12.00  |       74.75      |     105.75
    12.50  |       87.25      |     166.50
    13.00  |       93.50      |     234.06
    13.50  |       97.00      |     305.19
    14.00  |       99.25      |     378.38
    14.50  |      100.00      |     452.25
    15.00  |      100.00      |     502.25

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.