Sketch Tier

v3 dark build. A fast browser front door onto detailed engines: explore a drainage decision in seconds, then hand it off two ways — a runnable SWMM5 .inp, or a Ruby script into InfoWorks ICM via ICM-Agent.

Concept sketch, not connected to a live model. Peak flows come from the Rational Method — no routing, no tailwater, no calibration. That gap is exactly the job the detailed engines downstream still do. The "What's real and what isn't" section below spells out every boundary.
The pattern this app borrows
Forma → hands detail to → Revit explore massing fast, model the building in detail
Sketch Tier → hands detail to → ICM InfoWorks · SWMM5 explore the drainage decision fast, model the network in detail — commercial or open-source

Proposed subdivision

Pulls area + impervious surface from a site massing model — not a live API call, no Forma account connected.

Existing upstream area

Downstream conduit

Length feeds the exports (invert elevations), not the capacity check — full-flow Manning's capacity is length-independent.
Current size passes the selected storm.

Design storm

Used for the detention volume estimate and the exported design storm. Preset intensities are illustrative, not a site IDF curve.
Proposed Subdivision 12.4 ac, 62% imp Q = 26.4 cfs Existing Upstream 8.0 ac, 25% imp Q = 7.7 cfs 24in PVC, cap 26.8 cfs Outfall
Total peak Q
—
Pipe capacity
—
Flow depth d/D
—
Velocity
—
Q = C · i · A  (Rational Method)



Qn = (1.49/n) · A · R^(2/3) · S^(1/2)  (Manning's; d/D and velocity from the same geometry, solved by bisection)

All computation runs in US units; the toggles convert display only — theme changes nothing but colour.

Detention trade-off — does the downstream pipe hold?

Planning-level storage for that reduction: —
No detention—
With detention—

Scenario matrix — every saved option against every storm (with-detention totals; no-detention below in gray)

Scenario2-yr10-yr100-yrConduit

Handoff — carry the sketch down to a detailed engine

The .inp is a real, runnable SWMM5 input file built from the current sketch (subcatchments → junction → conduit → outfall, with the design storm as a rain gage time series). The ICM path pairs with the companion sketch-tier-to-icm.rb Exchange script, which reads this app's CSV export.

Learn more

This is the "explore fast, rough, and early" half of the pattern Forma plays for Revit. The Rational Method here ignores time of concentration, storage routing, and tailwater — which is precisely why it runs instantly and precisely why it can't replace a calibrated model. The two handoff paths make that explicit: the same sketch exports to open-source SWMM5 (a real .inp) and to commercial InfoWorks ICM (via the companion Ruby Exchange script).

The runoff coefficient (C = 0.05 + 0.90 × %impervious), the preset storm intensities, and the detention volume (ΔQ × duration, a rectangular planning approximation) are planning-level numbers, not design values. The Manning's capacity, partial-flow depth, and velocity checks reuse the same verified circular-pipe geometry SWMM5 and ICM use internally; velocity flags follow the usual 2 ft/s self-cleansing and 10 ft/s scour rules of thumb.

What's real here and what isn't: the hydraulics and hydrology math is real and verified. The "Import from Forma" button cycles through three hard-coded sites — no Forma account, no live API. The "Promote to ICM-Agent" panel shows real InfoWorks ICM Ruby patterns but executes nothing from the browser — ICM Exchange is a local process a static HTML file can't reach; the companion sketch-tier-to-icm.rb is the runnable half of that path. The SWMM5 .inp export is genuinely runnable: during this build, the default export was executed through the real SWMM5 engine (via pyswmm) to confirm it runs cleanly.

Promote to ICM-Agent

In production, this scenario hands off to the ICM-Agent bridge: Ruby translates these parameters into real ICM network objects, runs InfoWorks ICM's calibrated 1D-2D engine, and returns results that account for routing, tailwater, and surcharge instead of the Rational Method sum used here. The twin path — the SWMM5 .inp download — does the same handoff into the open-source engine.

Scenario parameters

Shape of the handoff (illustrative)

Table names, transaction pattern, and methods (hw_subcatchment, hw_conduit, transaction_begin/commit, new_row_object) are real InfoWorks ICM Ruby. Specific field names are illustrative — the companion sketch-tier-to-icm.rb carries the same caveat in its header.