Bioretention Infiltration, Over Time Skorobogatov et al. 2026 → SWMM5 · ICM · SWMM6
Ecological Engineering 230 (2026) 108020 · 4 years, 24 mesocosms

Infiltration went up, not down.

A four-year field study in Okotoks, Alberta watched 24 bioretention cells under repeated, sediment-laden runoff. The clogging decline everyone designs around never showed up. Mean infiltration climbed from 286 to 875 mm/h. This is what that means for the way you model LID in SWMM5, SuDS in ICM, and what a SWMM6 engine could finally represent.

Skorobogatov A, He J, Chu A, Valeo C, van Duin B. (2026).
“Bioretention system infiltration: Insights into temporal evolution and impacts of design parameters.” doi:10.1016/j.ecoleng.2026.108020

The cell, four layers
SURFACE SOIL / MEDIA STORAGE
Ponded water Media (Ksat) Roots Underdrain
+205%
Mean infiltration, event 1 → 72 (286 → 875 mm/h)
0.89η²
Media-type effect size — the dominant parameter
+6.81mm/h/event
LMM time slope — significant, positive
0/24cells
Configurations that significantly declined
Temporal evolution (Fig. 2a, reproduced from reported values)

The trend points the wrong way for clogging

Drag toggles to overlay each media's across-event mean. The rising line is the aggregate mean across all 24 cells.

Built only from values reported in the paper: first/last event means (286 / 875 mm/h), media means (CoC 70 = 287, CoC 40 = 479, CL = 1086 mm/h), and the LMM time slope (+6.814 mm/h per event). Not a re-simulation.

What they built

The experiment, in one breath

  • 24 lined mesocosms, 1.8 × 1.8 × 1.2 m (0.30 ponding / 0.60 media / 0.30 gravel + underdrain).
  • 3 media × 3 vegetation × 2 loadings, factorial design.
  • 72 simulated runoff events, 2017–2020, 5/10/15/25 mm, with 400 mg/L sediment added.
  • Infiltration = ponded-surface drawdown rate (single-ring analogy).
The reversal that matters for modelers

William et al. (2019) say 3 years is enough to detect clogging in filtration systems. Four years here, under higher-than-typical sediment, and clogging never became the failure mode. The authors' read: in well-vegetated cells, biological structure development outruns sediment occlusion.

The three design knobs

Media leads. Vegetation matters. Loading hides.

Effect sizes (partial η²) from the event-by-event factorial ANOVA, Table 3. The size of each bar is how much variance in infiltration that factor explained.

η² of 0.2 / 0.5 / 0.8 ≈ small / medium / large (Strunk & Mwavita 2020). Significant in: media 66/72 events, vegetation 36/72, IP ratio 21/72.

Media — η² 0.89CL (clay-loam + 40% wood chips) ran highest at 1086 mm/h, beating both sand mixes. Texture alone (sand %) is a poor predictor — the coarse organic offset the fines.
Vegetation — η² 0.59Herbaceous (886 mm/h) beat woody and turfgrass — likely the thick-rooted Carex atheroides. Turfgrass was the only loser. Counter to the "bigger plant = more infiltration" consensus.
IP ratio — η² 0.33Loading was not significant in the LMM, but IP 15 (779) still beat IP 30 (566), and its influence grew in year 4. Coarse inflow sediment (D50 0.693 mm) was bigger than the media pores, so it didn't seal them.
Four hypotheses, scored

How the paper's predictions held up

HypothesisResultModeling read
H1 — Media is the strongest main effectSupportedCalibrate Ksat first; it dominates.
H2 — Vegetated ≥ turfgrass over timeSupportedHerbaceous most; turf least.
H3 — Higher IP reduces / limits gainsPartialDescriptive trend; not significant in LMM.
H4 — Higher infiltration → more biology (CO₂)MixedHeld across media, broke across vegetation.
The signature view

One column, three models.

The mesocosm's physical layers are exactly the layer groups you fill in for a SWMM5 Bio-Retention Cell and an ICM SuDS bioretention control. Click a layer to see the paper's reality next to the parameters it drives.

Click a layer
SURFACE SOIL / MEDIA Ksat lives here STORAGE UNDERDRAIN

Lined mesocosm → all outflow leaves through the underdrain. In SWMM/ICM terms, that means storage Seepage = 0.

Why this mapping is exact

SWMM5's LID engine and ICM's SuDS controls share a lineage — both model a bioretention cell as a stack of moisture-accounting layers. The EPA SWMM5 [LID_CONTROLS] Bio-Retention Cell uses four layer lines (SURFACE, SOIL, STORAGE, DRAIN); ICM's SuDS bioretention structure exposes the same four conceptual layers in its dialog. That's why the same physical core sample drives both, and why the paper's results land directly on parameters you already edit.

SWMM5 · [LID_CONTROLS] Bio-Retention Cell

The clogging factor only points one way.

SWMM5 has exactly one parameter that changes LID performance over the run: the storage layer's clogging factor. It can drive infiltration down as treated volume accumulates. There is no companion knob to drive it up. This paper is four years of "up."

Interactive · clogging clock vs. observed maturation

Two curves, opposite directions

The orange curve is what SWMM5's clogging factor does to bottom seepage. The green curve is the surface infiltration the paper actually measured. SWMM5 can render the orange; it has no parameter for the green.

100

Clogging factor = number of storage void-volumes of captured runoff needed to clog the bottom completely. SWMM linearly reduces seepage from full to zero across that volume. Set it to 0 to disable — which is what this paper argues for under coarse-sediment, well-vegetated conditions.

The gap, preciselyThe mesocosms were lined with underdrains, so the measured "infiltration" is the surface → soil percolation, governed in SWMM by the SOIL layer Ksat. SWMM holds Ksat constant for the whole run. The one time-varying knob (clogging) acts on the storage bottom seepage — which in a lined cell is already zero. So SWMM5 literally cannot reproduce the headline result.
Conductivity slope ≠ agingThe SOIL conductivity slope (Par6) bends Ksat with moisture deficit, not with time. It's a wetting-front behavior, not a maturation term. Don't mistake it for the trajectory in this paper.
Practical move todayStop pre-loading a clogging factor "to be safe." For systems matching this regime, that bakes in a decline the field doesn't show. Calibrate Ksat to the media, set clogging to 0, and if you must age the cell, do it with scenarios (next tab) — not the clogging factor.
Live .inp generator

Build a paper-calibrated BC block.

Pick the media and vegetation from the study; the generator writes the four [LID_CONTROLS] layer lines with field-rate Ksat from the paper. Copy or download, drop into your model.

0

Default 0 — the paper's recommendation for this regime. Raise it only if you have fine sediment and weak vegetation.

[LID_CONTROLS] output
Compare media — side by side

Two recipes, parameter by parameter

Media is the study's dominant factor (η²=0.89). Put any two beside each other to see exactly which SOIL-line fields move, and by how much. Honors the unit toggle above.

Field layout reference

Where each BC layer field comes from

Layer lineFields (in order)The paper's lever
SURFACEStorHt · VegFrac · Rough · Slope · XslopeVegetation type sets VegFrac; berm = the 300 mm ponding zone.
SOILThick · Por · FC · WP · Ksat · Kcoeff · SuctMedia type lives here. The dominant η²=0.89 factor.
STORAGEHeight · Vratio · Seepage · ClogLined cell → Seepage 0. Clog is the only time-varying knob.
DRAINCoeff · Expon · Offset · Delay · Hopen · HcloseThe underdrain that carried all outflow in the study.

IP ratio isn't a BC layer field — it's catchment sizing. In SWMM it maps to [LID_USAGE] FromImperv (the % of upstream impervious runoff sent to the cell) and the LID area/width.

Reverse — read your own [LID_CONTROLS]

Paste a BC block; see what it's really doing

Drop in the layer lines from any Bio-Retention Cell already in your model. This reads each field back to plain English, finds the nearest media in the study, and flags whether the cell is set up to decline, hold steady, or — impossibly, today — climb.

InfoWorks ICM · SuDS controls

ICM can fake the trajectory — with scenarios.

ICM shares SWMM's layered SuDS model, so it inherits the same blind spot: no maturation term. But ICM has two things standalone SWMM5 doesn't — delta-based scenarios and a Ruby engine — and together they let you stage the paper's "Year 1 vs Year 4" without copying the model.

The layer correspondence

SWMM5 BC ↔ ICM SuDS bioretention

SWMM5 BCICM SuDS (conceptual)Carries
SURFACESurface layerBerm / depression storage, vegetation, roughness
SOILSoil / substrate layerSaturated conductivity, porosity, FC, WP, suction, decay
STORAGEStorage / sub-base layerDepth, void ratio, infiltration (exfiltration), clogging
DRAINUnderdrainCoefficient, exponent, offset

Conceptual mapping — confirm exact field labels in your ICM build. The structure is identical because both engines descend from the same EPA SuDS formulation.

Same limitationICM's SuDS conductivity is also a fixed input per run. There is no built-in "infiltration improves with maturation" process — so you stage it explicitly.
Workflow A · scenario staging

Year 1 vs Year 4 as two scenarios

ICM scenarios store only the differences from Base. So:

  • Base — as-built SuDS, soil conductivity at design / early-life value.
  • Scenario "Mature_Yr4" — override only each SuDS structure's saturated conductivity to the field value the paper observed (e.g. CL ≈ 1086 mm/h), leave everything else inherited.
  • Run both against the same rainfall; diff the surface flooding and underdrain hydrographs.
Why it's honestYou're not claiming the engine ages the cell — you're bracketing performance between the paper's start and end states, which is exactly what a designer needs for a sensitivity envelope.
Workflow B · Ruby sweep

Push the trajectory across every SuDS structure

Rather than edit cells by hand, drive the maturation curve from the LMM slope (+6.814 mm/h per event ≈ per loading) across the whole SuDS network, then export a run per year. The snippet is a pattern, not a drop-in — wire it to your object model and field names.

ICM Exchangeon_networkscenario-awarenon-destructive via commit
Ruby — SuDS conductivity sweep (pattern)
# ICM Exchange — stage the paper's maturation across SuDS bioretention cells.
# Maps Skorobogatov et al. (2026): media-driven Ksat, +6.814 mm/h per event (LMM).

net = WSApplication.current_network

# Field-observed means from the paper, by media tag (mm/h)
KSAT = { 'CoC70' => 287.0, 'CoC40' => 479.0, 'CL' => 1086.0 }
SLOPE = 6.814   # mm/h gain per loading event (LMM time estimate)
# NOTE: 6.814 is the POOLED time effect across all 24 cells, not a per-media rate.
# The paper did not report separate slopes by media, so applying one slope to every
# tag is a deliberate first-order bracket — calibrate per media against your own data.
year  = 4        # scenario year to stage
ev_yr = 18       # ~events per growing season

net.transaction_begin
net.row_objects('hw_suds_control').each do |s|     # confirm table/field names in your build
  media = s.user_text_1                          # e.g. media tag stored on the structure
  base  = KSAT[media] || s.soil_saturated_conductivity
  # clamp the maturation so it brackets, not extrapolates wildly
  matured = base + SLOPE * ev_yr * (year - 1)
  s.soil_saturated_conductivity = matured
  s.write
end
net.transaction_commit

# Now run the scenario; compare flooding + underdrain Q vs the Base (Year 1) run.
Where ICM earns its keep on this paper

Continuous + cold climate

Run multi-year continuous simulation to expose the freeze-thaw seasonality the authors suspect — something a single design event can't show.

1D–2D coupling

See what rising infiltration does to surface ponding and the 2D flood extent, not just the underdrain hydrograph.

Sediment + IP sizing

Test the IP 15 vs 30 sizing trade-off with pretreatment, the way the paper recommends for high-loading designs.

SWMM6 / SWMM5+ · process modules a modern engine could add

What if the cell could mature in the engine?

This paper is, in effect, a feature request. Every result that today forces a scenario hack or a Ruby sweep could become a first-class process in a modular SWMM6 (HydroCouple lineage) or SWMM5+. Here's the brief.

A concrete proposal · time-aware SOIL line

Add a maturation companion to the clogging factor

Today the STORAGE clogging factor is volume-driven and one-directional. A SWMM6 SOIL line could carry a structure-development rate that lets Ksat rise toward a mature ceiling — the trajectory this study measured — bounded so it never runs away.

; ---- SWMM5 today: Ksat is fixed; clogging only subtracts (storage line) ----
BioCell  SOIL     600  0.55  0.25  0.12  1086  48  200
BioCell  STORAGE  300  0.75  0     0     ; Seepage=0 (lined), Clog=0

; ---- SWMM6 idea: optional MATURATION line (per LID control) ----
;            Kmature  DevRate   Driver        Seasonal
BioCell  MATURATION  1100   6.814   BIOLOGICAL   FREEZE_THAW
; Kmature  : ceiling Ksat the mature cell approaches      (mm/h)
; DevRate  : structure-development gain per loading event (mm/h)  <- LMM slope
; Driver   : VOLUME | BIOLOGICAL(CO2/root proxy) | NONE
; Seasonal : FREEZE_THAW pore-enhancement modifier (cold climate)

Illustrative syntax for discussion at the SWMM5+ TAC / EWRI committee — not a released feature.

The authors basically asked for this

Their own future-work paragraph calls to "pair temporally resolved respiration measurements with direct measurements of root metrics and structural indicators … and to integrate their dynamics into predictive models of bioretention system longevity." That integration target is precisely a SWMM6 process module — a biologically-coupled structure-development term sitting alongside the existing moisture accounting.

For your next model

What to actually change.

Eight design-and-modeling takeaways, each tied to a result and to a parameter you control.

  1. Calibrate Ksat first. Media explained 89% of the variance. In SWMM/ICM it's the SOIL conductivity — the single most leveraged number.
  2. Don't pre-impose clogging. For coarse-sediment, well-vegetated cells, a default clogging factor invents a decline the field doesn't show. Set it to 0 and justify any nonzero value.
  3. Texture % is not destiny. CL had the most fines yet the highest infiltration — wood chips carried it. Don't size Ksat off sand fraction alone.
  4. Pick vigorous herbaceous, avoid turf. Turfgrass was the only configuration that trended down. Reflect it in VegFrac and in your vegetation spec.
  1. Treat IP as sizing, not seepage. Loading wasn't significant here, but its effect grew over time. Map it to LID_USAGE / FromImperv, and watch it in long runs.
  2. Pretreat high-IP designs. If you push IP to 30 to shrink footprint, add sedimentation upstream — the authors' explicit recommendation.
  3. Respect the sediment caveat. These results are for coarse inflow (D50 0.693 mm > media pores). Finer sediment can still clog — don't generalize the "no decline" finding blindly.
  4. Age cells with scenarios, not faith. Until an engine matures the cell for you, bracket Year 1 vs Year 4 explicitly (ICM scenarios / SWMM .inp variants).
Interactive · clogging-factor decision helper

Should you apply a clogging factor at all?

Set your system's conditions; get a defensible call grounded in the paper.

A guide, not a guarantee. The paper's evidence is strongest for coarse-sediment, cold-climate, vegetated cells over four years — extrapolate with care.

Honest scope

What this app is, and isn't

It's a modeler's reading of one strong field study — a bridge from its results to the parameters you edit in SWMM5, ICM, and a hypothetical SWMM6. Every number shown is the authors'; nothing here is re-simulated, and the .inp and Ruby outputs are starting points you must calibrate and validate against your own site. For the full method, statistics, and caveats, read the source: Skorobogatov et al. (2026), Ecological Engineering 230, 108020. Shared by Kerr Wood Leidal Associates on LinkedIn.

1 / 6