⚡Already know SWAT? Prefer the quick workflow-only version (~15 min) without the hydrology background callouts.
🌊 SwaNET · Beginner Tutorial
Build your first watershed model in one click. Then refine what matters.
SwaNET does the heavy lifting — terrain, soil, land use, climate, stream networks, HRUs, simulation, visualization, monitoring data — so a working watershed model arrives in minutes. The model is the starting point. You spend your time on what changes the answer: refinement, comparison, calibration, scenarios.
SwaNET Tutorial S8·Beginner-friendly·10 steps · ~15 min walkthrough·Worked example: Kalamazoo River Watershed, Michigan
01
Quick simulate
Draw a box. Defaults run. A working model in minutes.
02
See what matters
Sankey, water balances, 3D, streamflow — read the regime.
03
Compare with reality
Pull USGS / Canada gauges. Overlay observed on simulated.
04
Refine where it counts
Resolution, HRUs, weather, calibration — all in the loop.
Why one-click
The heavy lifting is already done.
Conventional watershed modeling spends weeks on data assembly before the first simulation. SwaNET inverts this. Pre-processed multi-resolution data is already on the network. Watershed and subbasin delineation, stream networks, land use and soil extraction, HRU computation, weather generation, SWAT input writing, and the simulation itself — all are automated inside the platform.
The first model is reasonable, detailed, and ready to interpret in a few minutes. It is not the final model. It is the starting point that frees you to do the work that actually changes the answer: experimentation, scenario testing, model-data comparison, management interpretation.
Terrain + streams
Snapped outlet
Watershed + subbasins
Land use
Soil type
HRUs
Signature — system water balance Sankey
Part 1 · The first model
Quick simulate. Defaults everywhere.
Four steps from login to a working watershed model. The example is the Kalamazoo River Watershed in southwestern Michigan, but the workflow is the same for watersheds across the United States, Canada, and most regions worldwide where the underlying data services are available.
🧭
Where this fits in the learning path. This tutorial follows the water from sky to stream gauge, the same order SwaNET builds the model: ① delineate the watershed & subwatersheds → ② compute land-surface fluxes (rain, ET, infiltration, runoff) → ③ close the water balance in each subwatershed → ④ route flow between subwatersheds → ⑤ compare to real gauges → ⑥ refine. You are at step ① — defining the area and letting SwaNET carve it into drainage cells. Each concept below says what’s happening now and where the deeper mechanics come later.
01
Zoom in. Draw the box.
Define the watershed region on the map.
Login to SwaNET. Zoom into the region of interest. Create a new project, draw a box on the map covering the watershed, and save the shape.
Click path
Load Model›Create a New Model›follow on-screen prompts›Draw Shape›[define box on map]›Save Shape›Select model options
💡
Concept
The box defines a region. SwaNET will delineate the actual watershed and subbasins from terrain automatically — the box just tells the platform where to look. Draw a box that comfortably contains the watershed you have in mind.
📖
Hydrology background — What is a watershed?
A watershed (or drainage basin) is all the land that drains to a common outlet — every drop of rain that falls inside the boundary eventually flows to the same point. The boundary itself is a topographic divide: a ridge line connecting the highest points around the outlet, where water on one side flows toward your outlet and water on the other side flows toward a different one. Watersheds are nested — every river is a chain of smaller watersheds combining as you move downstream. The Kalamazoo’s 5,172 km² is itself a sub-basin of the Lake Michigan basin (~118,000 km²), which sits inside the Great Lakes basin (~750,000 km²). The box you just drew doesn’t need to match the watershed boundary — SwaNET will find the actual divide from terrain in the next step.
📖
Hydrology background — How terrain resolution and stream threshold set the level of detail
SwaNET carves your watershed out of a digital elevation model (DEM) — a grid of land-surface heights. Water flows downhill cell to cell, so from the DEM alone SwaNET can trace where every drop drains, where flow lines converge into streams, and where the dividing ridges lie. Two settings govern how finely it does this:
DEM resolution — the size of each grid cell. Finer cells resolve smaller terrain features (tighter valleys, smaller tributaries) but take longer to process. Resolution should suit the watershed’s size:
~10 m — very small catchments (a few km² or less), where small gullies matter.
~30–90 m — typical watersheds (tens to a few thousand km²); the workhorse range.
~90–300 m — large basins (thousands of km²).
~300–1000 m — very large, regional-to-continental basins, where coarse cells keep the model fast.
Stream-definition threshold — how much upslope drainage area a point needs before SwaNET calls it a stream (rather than a hillslope). A low threshold draws a dense network with many small tributaries and many subwatersheds; a high threshold draws a sparse network with fewer, larger subwatersheds. The threshold must be consistent with the DEM resolution: on a coarse DEM, demanding a tiny contributing area produces noisy, unreliable streamlets, while on a fine DEM a too-large threshold throws away real detail the terrain could resolve. The two settings work as a pair.
Together, resolution and threshold determine the entire drainage skeleton — the stream network and the set of nested subwatersheds it implies. Because watersheds are nested (each tributary’s catchment is a subwatershed of the whole), defining the streams simultaneously defines the drainage cells. SwaNET delineates this whole hierarchy — overall watershed, every subwatershed, the full stream network, and the outlet — in a single automated pass, using pre-processed global terrain so it returns in moments rather than the hours a desktop GIS workflow would take.
In this one-click build
The default options dialog uses a 300 m DEM with a stream threshold of 1.5% of the total cells in the box. That is a deliberately coarse, fast setting — appropriate for a basin the size of the Kalamazoo and ideal for a first look, since it builds and runs quickly while still capturing the main subwatershed structure.
This is just the starting resolution. In Step 7 you’ll switch to a finer 90 m DEM and watch the delineation sharpen — a built-in way to see how sensitive the model is to this one choice. You’ll see the delineated result (terrain, streams, subwatersheds, snapped outlet) the moment the build finishes in Step 3.
Zoom into the region of interest.Draw a box that contains the watershed. Save the shape.
02
Apply defaults
Use coarse-resolution defaults for everything.
For the first model, accept every default. Defaults are calibrated starting values — well-chosen, sensible, and fast.
Watershed delineation — terrain (DEM) and stream area threshold
Land use and soil maps — default resolution
HRU creation and selection — automatic
Weather generator — automatic file
Then
Build Model — starts the building and simulation
⚙️
Why defaults first
The default model is intentionally coarse-resolution so it builds and runs quickly. It will not be the most accurate model possible — but it will be a reasonable, complete model that shows you what the watershed looks like dynamically. That is enough to start asking the questions that matter.
📖
Hydrology background — The water balance, the one idea behind everything
All of hydrology rests on a single accounting principle: over any region and any period of time, the water that comes in equals the water that goes out, plus or minus the change in what’s stored. Water comes in as precipitation (and as inflow from upstream). It leaves as evapotranspiration to the atmosphere, as percolation to deep groundwater, and as streamflow out the outlet. Whatever doesn’t leave is stored — in soil moisture, snowpack, shallow groundwater, and the channels themselves — and that stored water is what feeds streamflow between storms. This balance holds at every scale and every timescale, from a single hillslope over an hour to a continent over a century, because it is simply conservation of mass. Every hydrologic model, from a back-of-envelope estimate to SWAT, is an elaboration of this one idea. What SwaNET’s one-click build does is solve this balance, in detail, everywhere in your watershed at once — and the rest of this tutorial unpacks how.
📐
What SWAT actually computes — a system of connected buckets
Here is the whole model in one picture, nested in two levels. The watershed is a network of subwatersheds, each a real drainage cell, connected outlet-to-outlet by the channel network. And each subwatershed is itself a network of connected storage buckets — soil, aquifers, channel. The water balance — in − out = change in storage — is applied to every bucket, and the buckets are wired together so one bucket’s outflow is another’s inflow. What matters most is not any single number but the relative sizes of the flows between buckets and between subwatersheds — that pattern is the watershed’s behavior. Get the pattern right and the model is sound (and far easier to calibrate); get it wrong and no amount of parameter-tuning will save it.
Inside a subwatershed, the buckets — following a raindrop:
Soil profile (top ~2 m) — rain and snowmelt arrive here; water leaves as evapotranspiration (up), surface and lateral flow (sideways to the stream), and percolation (down). Snow is held in a snowpack bucket until it melts.
Shallow aquifer — fed by percolation; releases water slowly to the stream as baseflow (what keeps rivers running between storms), with a little returning up to the soil.
Deep aquifer — a near one-way exit: water here is considered lost to regional groundwater outside your basin.
Channel — collects runoff, lateral flow, and baseflow, then carries them to the subwatershed outlet. Ponds, wetlands, and reservoirs are optional on/in-channel buckets, off by default.
Three scales organize the inner network. Weather is shared at the subbasin scale (every HRU in a subbasin gets the same rainfall). Land-surface fluxes are computed per HRU — each unique land use × soil × slope combination — so the response is accurate across varied land; HRUs are flux-computation devices, not map units. The water balance closes at the subwatershed. Then, at the outer level, no water crosses between subwatersheds on land — the channel network is the only link, carrying each subwatershed’s outflow downstream to the next via fast, hydrologically-based routing (not grid-based hydraulic momentum). That is exactly how real watersheds behave, which is why the structure is both faithful and fast.
SwaNET wires all of this automatically from the terrain, soil, and land use it extracted — you don’t set up a single bucket or connection by hand. You are not giving up control; you are starting from a sound default you can inspect and adjust later. The Sankey you’ll read shortly is the system view — the whole watershed’s buckets and flows aggregated into one map.
The HRU’s water balance begins at its top boundary. Three processes deliver and remove water there, each with its own SWAT computation and data requirement:
Precipitation — assigned at the subbasin scale, not the HRU scale. Each subbasin takes its daily rainfall from the cell of a gridded climate dataset that covers it, and every HRU within that subbasin shares the same daily rainfall. Rainfall is therefore independent of HRU configuration; what differs between HRUs is how that shared rainfall partitions into interception, infiltration, runoff, and ET. When only daily totals are available, sub-daily intensity is generated stochastically for runoff calculations.
Snowmelt — handled by a temperature-index method: once air temperature rises above a melt threshold, the snowpack melts at a rate that scales with temperature and varies by season, and the meltwater joins rainfall as input to the soil that day.
Evapotranspiration — the water returned to the atmosphere, from soil evaporation plus plant transpiration. SWAT first estimates the potential ET (what the atmosphere could evaporate given energy and dryness) by one of three methods, which differ mainly in how much weather data they need: Penman-Monteith (most physically complete; needs solar radiation, humidity, wind, and temperature), Priestley-Taylor (needs solar, humidity, temperature), or Hargreaves (needs only temperature). It then reduces potential ET to actual ET based on how much water is actually available in the soil and how much leaf area the vegetation has at that time of year — you can’t evaporate water that isn’t there.
In this one-click build
Weather comes from WGEN_CFSR_World, the global default in the options dialog. CFSR (the Climate Forecast System Reanalysis) is a worldwide, physically-consistent reconstruction of past weather on a ~38 km grid, produced by NOAA by blending satellite, station, and model data — because it covers the entire globe, SwaNET can supply daily precipitation and temperature to every subbasin of any watershed on Earth, with no local gauge required. SWAT’s weather generator (WGEN) draws on its statistics to produce realistic daily sequences and fill any gaps. ET then uses SWAT’s standard Penman-Monteith method.
For US watersheds, a higher-fidelity option exists: PRISM, a ~800 m–4 km gridded dataset that interpolates actual weather-station observations with corrections for elevation, terrain, and rain-shadow effects — so it reflects real rain-gauge measurements far more closely than a global reanalysis. PRISM climate data can be pulled in through the same monitoring-data extraction you’ll use in Step 5 (the popup is labeled “USGS/Canada Monitoring and PRISM Climate Data Extraction”), then applied as a refinement.
The point of the one-click default is that you don’t move any data yourself — the global grid is already wired in, so a complete model builds immediately. Swapping CFSR for PRISM (US) or your own observed station records is a later choice you make when your question demands it, and comparing the results is a direct way to see how sensitive your watershed’s behavior is to the weather forcing. You decide; SwaNET handles the plumbing.
📖
Hydrology background — Subsurface fluxes and runoff generation (HRU scale)
Water reaching the soil surface (precipitation + snowmelt, minus canopy interception) partitions into surface runoff vs infiltration. SWAT then routes the rest through the soil column:
Surface runoff amount — computed by the SCS Curve Number method by default. The idea: each land use × soil combination has a curve number (a single value, tabulated from decades of field data) that captures how readily that surface produces runoff — high for pavement and clay, low for forest on sand. Before any runoff occurs, an initial abstraction is subtracted: the water held back by canopy interception, surface depression storage, and the first infiltration into dry soil. Only rainfall beyond that initial abstraction becomes runoff, and the curve number sets how much. The curve number is the single most influential runoff control, and usually the first thing adjusted during calibration. (An alternative method, Green-Ampt, handles canopy interception and infiltration more explicitly when sub-daily rainfall is available.)
Soil water storage — tracked layer by layer between field capacity (water held against gravity) and wilting point (water plants can’t use); the usable difference is the available water capacity (SOL_AWC). Storage is the daily residual of what comes in versus what leaves — it is computed by water balance, not measured.
Percolation & lateral flow — water above field capacity drains downward to the aquifer, or moves sideways through the soil to the stream on sloping ground; both are paced by the soil’s hydraulic conductivity.
Groundwater — the shallow aquifer fills from percolation and releases baseflow on a recession set by ALPHA_BF; a fraction leaks to the deep aquifer and leaves the basin.
Surface runoff timing — how long after the storm runoff actually reaches the main channel — is determined when these HRU-level fluxes are aggregated to the subwatershed scale, where storage and the overland travel time close the subwatershed water balance and govern delivery to the outlet (next section).
In this one-click build
Runoff uses SWAT’s standard SCS Curve Number method. The curve numbers and soil-water properties come from the land use and soil maps extracted at the default 400 m resolution set in the options dialog. Coarse maps mean broad-brush land use and soil patterns — enough to get the water balance in the right ballpark for a first model.
In Step 9 you’ll re-extract land use and soil at a finer 30 m resolution and watch how sharper land-surface detail shifts the runoff and ET partitioning — a direct look at how much these inputs matter.
The One-click Model Options panel. Accept every default and click Build Model.
03
Wait — but not for long
SwaNET builds and runs the model.
Wait a few minutes. During this time, pre-processed big data for the model area is extracted, all model input files are created, and the simulation runs — model building and visualization happen automatically.
📋
What's happening behind the scenes
Extracting terrain · delineating the stream network · delineating subbasins and watershed · auto-snapping the outlet to the largest drainage stream · extracting land use · extracting soil · creating HRUs · generating weather files · writing SWAT input files · running the SWAT simulation · processing and visualizing results.
📖
Hydrology background — From DEM to drainage
A digital elevation model (DEM) is a grid of land-surface heights. The classic D8 flow direction algorithm asks one question per cell: of my 8 neighbours, which is lowest? That defines a flow direction. Repeat for every cell and you have a network — every cell’s drainage path traced downhill until it reaches a stream or the edge of the grid. Flow accumulation then counts how many upstream cells drain to each cell: high accumulation means stream channel; low accumulation means hillslope. The stream-area threshold you saw in Step 2 (default 1.5% of total pixels) decides which cells officially become streams — lower the threshold and you get a denser network; raise it and you get a sparser one. The algorithm dates to O’Callaghan and Mark (1984) and remains the foundation of stream delineation across ArcGIS, QGIS, TauDEM, and SWAT.
📖
Hydrology background — Why subbasins, and why outlets snap to streams
Once the stream network is delineated, SwaNET partitions the watershed into subbasins — smaller drainage units, each with its own outlet on the main stream. Why partition? Because hydrologic processes vary spatially: rain falls unevenly, soils differ, land uses differ, slope steepness differs. Simulating one giant watershed-as-blob averages all of this away. Subbasins preserve heterogeneity at the spatial scale that matters for routing. Each subbasin has its own outlet — the point where its drainage joins the main channel. Outlets must lie on a stream, not on a hillside, because flow accumulates through channels, not across hillslopes. That’s why SwaNET auto-snaps your outlet to the nearest cell on the delineated stream network with the largest drainage. The same snap behaviour lets you later place outlets at USGS gauging stations (Step 7), so simulated and observed streamflow correspond to the exact same point.
SwaNET handles the model building, simulation, and visualization automatically.
04
The model is ready
Inspect outputs — read the regime.
Once the simulation finishes, results appear automatically in the map display and pop-up interfaces. Three views show themselves first — each answers a different question.
Other inspection tools
Simulation/Visualization›Result Visualization
Utilities›Map options
Click any subbasin marker for subbasin-based plotting
📅
Simulation time period
Automatically assigned based on data availability: the latest five years if available, or 1990–1991 with 1990 as spin-up year if not.
📖
Hydrology background — What is an HRU? The semi-distributed paradigm
Inside each subbasin, SWAT does not simulate every square metre individually (that would be fully distributed — computationally heavy and data-hungry). It also doesn’t average everything into one number (that would be lumped — losing all heterogeneity). Instead it groups land into Hydrologic Response Units (HRUs): every unique combination of land use × soil class × slope range within a subbasin becomes one HRU. A forested loam on a 0–8% slope is one HRU; a corn field on the same loam on 0–8% is another; the same corn on a steeper 8–15% slope is a third. SWAT computes the daily water balance for each HRU independently, then aggregates outputs to the subbasin and routes them through the channel network. The colored mosaic in the 3D HRU view you just opened: each color is a different HRU — a unique behavioural unit in the model.
The model is ready. Map view, 3D watershed, water balance, and streamflow time-series — all displayed automatically.
What the platform shows you
Three views. One model.
SwaNET's auto-displayed outputs aren't a generic dashboard — each view is a different lens on the same simulation, designed to answer a different question. Read them in this order.
🧭
Where this fits in the learning path. The watershed is delineated (step ①) and the model has run. These three views are how you read the result: the Sankey shows ③ the water balance closing across the whole watershed; the streamflow chart shows the outcome of ④ routing flow between subwatersheds; the 3D map shows where it all happens in space. The callouts here explain the fluxes (step ②) and routing (step ④) under the hood. Reading the gauge comparison (step ⑤) comes next, in Part 2.
🌊
Signature
Sankey · System water balance
A complete, quantitative description of all inflows, outflows, and stocks in the watershed — and how they connect. The watershed's hydrologic fingerprint in one image. If the simulation spans multiple years, multiple Sankey diagrams are produced.
⏱️
Time
Streamflow time-series
Streamflow at the watershed outlet over the simulation period. Reveals the regime — base-flow dominance, flashy response, seasonal pattern, peak timing. This is where observed data will overlay once you load gauge stations.
🗺️
Space
3D watershed visualization
Watershed, subbasins, stream network, snapped outlet, land use, soil, HRUs — rendered as live textures on an interactive 3D terrain. Reveals where the action is spatially.
📖
Hydrology background — Watershed routing, the overland flow scale
Two scales of routing produce the streamflow time-series you see at the outlet. The first happens within each subbasin — moving HRU runoff to the subbasin’s outlet point on the main channel:
Time of concentration (tc) — the time it takes water to travel from the most distant point in the subbasin to the outlet. Computed as tc = tov (overland flow time across hillslopes) + tch (tributary channel travel time).
Overland flow time — how long water takes to travel across the hillslope to a channel, derived from Manning’s description of surface flow. It depends on slope length, steepness, and surface roughness. The roughness term (OV_N) is small for smooth bare surfaces (~0.01) and large for dense forest litter (~0.4) — rougher surfaces slow water down, lengthening the time to the channel and flattening the runoff peak.
Surface runoff lag — once daily runoff is generated by SCS-CN at each HRU, only a fraction (1 − exp(−SURLAG / tc)) reaches the channel the same day; the rest carries over. SURLAG is the surface-runoff lag coefficient, a calibration parameter.
This is why a forested subbasin and a paved one with the same daily rainfall and curve number can still produce very different hydrographs: their overland flow times differ by an order of magnitude. Routing at this scale controls the timing of runoff delivery; the next scale takes it from there.
📖
Hydrology background — Channel routing, the in-stream scale
The second scale of routing moves water between subbasins, downstream through the main channel network:
Variable Storage Coefficient (Williams 1969; SWAT default) — a storage-routing scheme based on continuity plus a linear storage–discharge relationship. Fast and robust.
Muskingum routing (Cunge 1969) — classical Muskingum-Cunge equation; captures wave attenuation and storage more physically. Requires two parameters: MSK_CO1 / MSK_CO2 for storage time, and X (weighting factor, 0–0.5).
Inside either method, channel flow velocity follows Manning’s description of open-channel flow: water moves faster in deeper, smoother, steeper channels and slower in shallow, rough, flat ones. The channel roughness term (CH_N2) is the main routing control — low for smooth engineered channels, higher for natural meandering rivers with vegetation and gravel beds. It is the same roughness idea as overland flow above, just applied in the stream instead of across the hillslope.
Both methods account for transmission losses (water lost to bed seepage in losing channels, via channel hydraulic conductivity CH_K2) and open-water evaporation. The routed discharge — integrating every HRU’s daily runoff, delayed by overland time of concentration, then attenuated through the channel network — is what appears in the “Time” view above. SwaNET makes this routing visible reach-by-reach; click any subbasin marker to inspect the routed hydrograph at that reach.
In this one-click build
Channel routing uses SWAT’s standard Variable Storage Coefficient method — the hydrologically-based, fast approach described above, not a grid-based hydraulic solver. For a watershed water balance spanning years, this is the right trade: it reproduces how flow waves move and attenuate through the network at a fraction of the computational cost.
🔍
Read the Sankey first
The three views answer different questions, but the Sankey is the one to read first. It tells you whether the model produces a watershed that resembles your intuition — and where it doesn't. Skip ahead to "The Sankey, explained" below before opening any other view.
How to read what SwaNET shows you
The Sankey, explained.
The system water balance Sankey is the watershed's hydrologic fingerprint — the system view of the bucket network from the previous section, with every subwatershed’s buckets and flows aggregated into one map of the whole watershed. Each band's thickness is drawn in proportion to how much water flows along that path over the simulation period. In one picture it answers: where did water come from, what happened to it, where did it go, and which pathways matter most. The values are real outputs from your SWAT simulation. Learning to read it is the single most useful skill for SwaNET work.
Kalamazoo River Watershed, calendar year 1991. All values in millimetres of water depth over the 5172 km² watershed area.
↦
Read it left-to-right
Inputs · Processes · Outputs
Water enters on the left — rainfall, snowmelt, initial soil moisture, irrigation. It passes through land-surface processes in the middle — evapotranspiration off the top, infiltration and percolation downward, runoff into the stream network. It leaves on the right — discharge out of the watershed outlet, deep aquifer storage, reservoir outflows. The widths of the bands are proportional to the volume of water moving through each pathway.
📅
It's a volume over a period
Water in · out · stored
Every number is a total volume of water for a chosen period — by default the entire simulation. The left side sums all water that came in, the right side all that went out, and the difference is what changed in storage over that period. Change the period and the picture changes: a wet year and a dry year produce different fingerprints. (If the run spans multiple years, SwaNET produces a Sankey for each.)
📏
Thickness tells you what matters
Read the number on each thread
Thread thickness is strictly proportional to the number on it — nothing more. The thinnest threads carry zero (a process not represented in your model); thicker threads carry more water. But here's the catch: a tiny non-zero flux is technically thicker than zero, yet your eye usually can't tell them apart. That visual sameness is itself informative — if a represented process is so thin it looks like zero, it behaves practically the same as if it weren't there at all. The number is how you tell the two cases apart: zero means you left it out; a small-but-nonzero number means you included it and it turned out negligible. If a thin thread matches your understanding of the watershed, fine — don't sweat its parameters. But if a process you believe should matter is reading near-zero, that mismatch is a red flag worth investigating, not something to wave past.
🔎
Your job: do the numbers make sense?
Assess before you calibrate
Before touching calibration, read the magnitudes against your own qualitative picture of the watershed and ask: are the relative sizes physically sensible, and are the processes that matter for my question carrying the water they should? It's the relative magnitudes — the flows between buckets — that matter, far more than any absolute number. Get the relative pattern right and calibration becomes much easier; the parameters are then just fine-tuning, not a rescue. Where the Sankey matches your understanding, you gain confidence. Where it contradicts it — ET too thin for a humid basin, a process you know is active reading near-zero — that mismatch is the most valuable thing on the screen: it points to a flaw in the conceptualization, the inputs, or a parameter, and tells you exactly where to iterate. You use the Sankey to steer. Calibration tunes parameters; it cannot rescue a model built on the wrong processes. Modeling is not turning the crank; it is building understanding, and the Sankey is the instrument that makes that understanding visible.
🎚️
This is what modeling is
Represent what the question demands
Good modeling does not mean representing every possible process — it means representing the ones your question actually needs, and consciously leaving out the rest. The Sankey keeps you honest about that judgment: read the numbers and you can see exactly which processes carry real water and which sit at or near zero. A process you left out reads zero; one you included but that turned out negligible reads a tiny number — and practically, both tell you the same thing about where not to spend effort. As your question evolves — add irrigation, a reservoir, observed weather — a thread that was zero or negligible can grow into a real, thick pathway.
⚖️
The closure principle
Inputs = Outputs ± ΔStorage
A watershed obeys conservation of mass: water in equals water out, plus or minus any change in storage. The Sankey makes the books visible. Note the small "Overland error" band — that's the model's residual closure error. A few percent is normal numerical drift; a large residual suggests configuration trouble. The Sankey lets you check the books at a glance.
🌡️
Patterns to spot
What the proportions reveal
ET fraction — humid-temperate watersheds typically return 50–70% of precipitation to the atmosphere; arid systems return 80–95%. Runoff vs baseflow — flashy urban systems are runoff-dominated; groundwater-fed rural systems are baseflow-dominated. Deep percolation — high values mean recharge to regional aquifers, important for groundwater sustainability questions.
🧠
Before you calibrate, understand the Sankey
Calibration adjusts parameters to fit observed streamflow at the outlet. But streamflow is the integrated output of dozens of processes — different parameter combinations can produce the same hydrograph with very different underlying water budgets. The Sankey shows whether the right processes are dominant at the right magnitudes for your watershed type. Calibration without understanding the Sankey can find a fit that's right for the wrong reasons. The Sankey is your diagnostic check against equifinality — the principle that very different models can produce equally good fits.
📖
Hydrology background — The fingerprint changes, and what changes it
The shape of the Sankey — which threads are thick, which are thin — is not fixed. It is the signature of a particular watershed under particular conditions, and it shifts for two distinct reasons. Keeping them separate is one of the most useful habits in modeling:
Real-world drivers. The actual hydrology changes with climate (a wet year vs a drought reshapes every thread), land use (urbanization thickens the runoff thread and thins infiltration), and human water use (pumping, diversions, reservoirs redirect flows). Over time, as a watershed develops or the climate shifts, the dominant pathways themselves evolve.
Your modeling choices. The Sankey also reflects how you set up the model — which processes you represent, which inputs you choose, how you conceptualize the system. Turn on irrigation or a reservoir, change the weather source, pick a different HRU strategy, and a thread that read zero or negligible can grow into a substantial pathway (or shrink back). The fingerprint is partly the watershed and partly your representation of it — and reading the numbers tells you which threads carry real water under your current setup.
This is exactly why the Sankey is so valuable as a thinking tool: it lets you see, at a glance, how a stress scenario (what if this basin urbanizes? what if rainfall drops 15%?) or a modeling decision (what if I add the reservoir? use observed weather?) reshapes the whole water budget. You steer the watershed’s represented behavior through these choices — and the Sankey shows you the consequence.
For your first one-click model, the Sankey is simply a baseline fingerprint under the defaults. Its real power shows when you compare two Sankeys — before vs after a refinement, or one scenario vs another — which is exactly what the comparison in Part 3 does.
Deeper diagnostic
Water balance at four scales.
Beyond the system Sankey, SwaNET's drop-down menus let you inspect the water balance bucket by bucket — the same connected storage buckets introduced earlier (land surface, shallow aquifer, deep aquifer, channel). SWAT's strength is that it keeps separate books for each compartment, and SwaNET makes every one of those books visible. Watch how the outflow of one bucket becomes the inflow of the next: percolation leaving the overland balance reappears as recharge entering the shallow aquifer; baseflow leaving the aquifer reappears as inflow to the in-stream balance. The values are pulled live from your simulation.
Overland — the land surface and root zone. Rainfall and snowmelt enter; ET, percolation to the shallow aquifer, and surface plus lateral flow to streams leave. This is where most of the action happens hydrologically.Shallow aquifer — the unconfined water-table aquifer. Receives recharge from the vadose zone; supplies baseflow to streams, revap (uptake by deep-rooted vegetation), and percolation to the deep aquifer.
📖
Hydrology background — Land use and the water balance
Land cover is one of the strongest controls on a watershed’s hydrologic signature. Each major class leaves a distinct fingerprint in the Overland balance you just saw:
Forest — high ET (deep roots, full canopy), high infiltration (litter + soil structure), low surface runoff, sustained baseflow.
Row crops — seasonally variable; bare or sparse in spring (high runoff potential), full canopy in summer (high ET); fertilizer fluxes drive nutrient loading.
Urban / impervious — flashy runoff (storm peaks often 5–10× rural), low ET, low baseflow, frequently degraded water quality.
Wetlands — high ET, high storage, dampened peaks; often disproportionate hydrologic influence relative to areal extent.
Grassland / pasture — intermediate ET, moderate infiltration, sensitive to grazing intensity.
Water bodies — direct precipitation interception, high open-water evaporation.
Watch the Overland balance change in Step 9 as we swap default land use for the higher-resolution map.
Deep aquifer — the confined regional aquifer. Smaller fluxes by design; this compartment matters for long-term sustainability and groundwater discharge to receiving water bodies.In-stream (reach-based) — the channel network. Accumulates surface runoff, lateral flow, baseflow contributions, plus upstream inflows; loses water to channel evaporation, transmission loss, and downstream outflow.
📖
Hydrology background — Soil hydrology, why some land sheds water and other land soaks it up
Soils are classified into four Hydrologic Soil Groups (HSGs) based on infiltration capacity when thoroughly wet — a USDA-NRCS classification that has been the backbone of US runoff prediction since the 1950s:
Group A — sand, loamy sand. High infiltration (>7.6 mm/hr), low runoff potential.
Group B — silt loam, loam. Moderate infiltration (3.8–7.6 mm/hr).
Group C — sandy clay loam. Slow infiltration (1.3–3.8 mm/hr).
Group D — clay, clay loam, shallow soils over bedrock. Very slow infiltration (<1.3 mm/hr), high runoff potential.
Within each HSG, soils still vary in available water capacity (how much plant-available water they hold — typically 60–250 mm per metre of depth), saturated hydraulic conductivity, depth to restrictive layer, and bulk density. The shallow aquifer balance you just saw responds directly to these properties — sandy A-group soils percolate fast and feed groundwater; clay D-group soils generate runoff and starve it.
📐
Why four scales matter for refinement
Each component balance has a different sensitivity to refinement choices. The overland balance is most sensitive to land use, soil, and HRU configuration. The shallow aquifer balance is most sensitive to groundwater parameters (GW_DELAY, GWQMN, ALPHA_BF). The deep aquifer balance responds to long-term recharge rates and is the slowest-moving compartment. The in-stream balance is sensitive to channel routing parameters and is where calibration against gauged streamflow happens. When the next steps refine resolution, land use, and HRU strategy, watch these four balances individually — that's where you'll see why the outlet streamflow changed.
Part 2 · Compare with reality
Pull observed streamflow. Overlay on simulated.
The first model runs on defaults — no observed data yet. The next four steps bring in real measurements from USGS or the Government of Canada monitoring networks and overlay them on the simulated time series. This is where you start seeing where the model gets the watershed right, and where it doesn't.
05
Extract observed streamflow
Pull USGS / Canada gauge data near the outlet.
SwaNET's Utilities menu provides direct access to the USGS National Water Information System and Government of Canada monitoring networks. Draw an extraction area near the watershed outlet, configure the pop-up, and extract.
Click path
Utilities›USGS/Canada monitoring data›Extract Data›[draw extraction area on map]›Save shape
In the pop-up interface:
Select 'Full Site Attributes'
Uncheck 'Groundwater'
Click 'Extract Monitoring Data'
Once extraction finishes, stations appear as numbered markers on the map. Click any marker to view its time-series streamflow and stage data.
Draw an extraction area near the watershed outlet.Configure the pop-up. Click Extract Monitoring Data.
📖
Hydrology background — Stream gauging, the ground truth for hydrologic models
Stream gauging is the longest-running quantitative observation in environmental science. The USGS National Water Information System (NWIS) operates roughly 8,000 stream gauges across the United States, many with continuous records spanning 50 years or more. Each gauge measures water-surface stage (height) at sub-hourly intervals and converts it to discharge through a site-specific rating curve — a stage–discharge relationship calibrated by manual streamflow measurements at varying water levels. The Government of Canada operates an equivalent national network through the HYDAT hydrometric database, and many countries maintain their own. These gauges are the ground truth against which hydrologic models are evaluated: every simulated streamflow can be compared to a real-world measurement at a real-world location. SwaNET’s direct connection to USGS NWIS and the Canadian hydrometric service is what makes the model–data comparison in Step 8 automatic — simulated time series and observed measurements meet at the same gauge, on the same day, in the same units. SwaNET is the bridge between the model and the monitoring network.
06
Reload for refinement
Load the existing model for re-building.
You're not starting over — you're loading your earlier project to refine it with finer-resolution data and observed-streamflow comparison.
Click path
Load Model›Create a New Model›answer yes / OK to "Load latest project on server side?"›Watershed boundary›Select model options
Your latest project loads with the watershed boundary already drawn — ready to refine.
07
Two changes that matter
Switch to fine-resolution terrain. Pin the outlet to a real gauge.
Two targeted refinements: a finer DEM resolution for the watershed delineation, and a real USGS gauging station as the model outlet — so simulated and observed streamflow are at the exact same point.
Select '90m' from the drop-down next to DEM resolution
Click the chevron '>>>' next to 'Compare with US/Canada monitoring data' → 'Load Stations' → answer prompts to load the data from Step 5
Click marker for station USGS-04108670 → 'Create outlet'
Click 'Build Model' and wait
📐
Why this combination is the key move
Finer terrain produces a more accurate watershed delineation and finer subbasin structure. Pinning the outlet to a real gauge means simulated streamflow now corresponds exactly to where the observed data was measured. The model and the measurement are now at the same place. Comparison becomes meaningful.
📖
Hydrology background — DEM resolution and physical realism
DEM resolution controls how finely the model “sees” the landscape. Coarsening from 90m to 300m means each cell averages a 9× larger area, smoothing out small-scale terrain features. The consequences ripple through the whole model:
More cells reach the stream-area threshold — so denser stream networks, more subbasins, finer drainage detail.
Slope gradients steepen, because cell-to-cell differences resolve real topography rather than averaged terrain.
Channel lengths increase as streams gain sinuosity that coarse DEMs flatten.
Time of concentration shifts; peak timing and magnitude shift accordingly.
Higher resolution is not unconditionally better. It increases compute cost, demands consistent resolution in other layers, and can introduce artifacts where DEM accuracy doesn’t match its precision. The Kalamazoo at 90m is well-resolved; for headwater catchments smaller than 50 km², 30m or 10m may be appropriate; for continental-scale studies, 300m or coarser is standard.
DEM resolution set to 90m. USGS-04108670 selected as the model outlet. Then click Build Model.
08
The first comparison
Examine results — observed and simulated, side by side.
Once the updated model finishes, you'll see the typical outputs again — 3D watershed visualization, water balance charts — but now the observed streamflow data is added to the time-series chart, overlaid on simulated streamflow.
📅
Time period auto-adjusts
The simulation time period is automatically changed to match the observed data's temporal coverage. Necessary for direct comparison.
🎯
What to look for
Timing — are peaks happening on the right days? Magnitude — are flows in the right range? Recession — does the model drain at the right rate after a storm? Baseflow — is the dry-season floor right? Each kind of mismatch points to a different refinement.
3D watershed view + simulated streamflow (blue line) vs observed USGS-04108670 (black dots). NSE, PBIAS, and RSR fit metrics quantify the comparison.
📊
Reading the fit metrics — NSE, PBIAS, RSR
The three numbers in the chart header are the standard model-fit statistics in hydrologic modeling, drawn from the Moriasi et al. performance guidance:
NSE (Nash-Sutcliffe Efficiency) — measures how well simulated values match observed variability. 1.0 is perfect; 0 means the model is no better than predicting the long-term mean; negative means worse than the mean. NSE > 0.5 is generally considered acceptable for monthly streamflow, > 0.65 good.
PBIAS (Percent Bias) — average tendency of simulated values to be larger or smaller than observed. 0% is perfect. Positive means the model underestimates; negative means it overestimates. |PBIAS| < 25% is generally acceptable for streamflow.
RSR (RMSE-to-Standard-Deviation Ratio) — normalized error magnitude. 0 is perfect. RSR < 0.70 is generally acceptable.
A first one-click model typically scores poorly on all three. That's expected — the metrics are your refinement compass, not a verdict on the platform. The next steps in this tutorial show how to move them in the right direction.
📖
Hydrology background — Runoff methods, SCS Curve Number vs Green-Ampt
SWAT defaults to the SCS Curve Number (CN) method for computing surface runoff. Developed by the USDA Soil Conservation Service in the 1950s, CN is empirical: each land-use × soil-group combination has a tabulated CN value (30 to 100), and runoff is computed from a single equation relating cumulative rainfall, CN, and antecedent moisture. It’s daily, lumped over each HRU, and remarkably effective despite its simplicity — but it underplays infiltration physics. The Green-Ampt method (also available in SWAT) is the physically-based alternative: it solves Richards-equation-style infiltration at sub-daily timesteps using soil hydraulic conductivity and matric potential. Green-Ampt captures intensity-driven runoff that CN misses — for example, short intense storms on dry soil — at the cost of sub-daily weather data and more parameters. For broad-scale or long-record runs, CN is the workhorse. For hillslope-scale or design-storm studies, Green-Ampt is often preferred.
Part 3 · Refine where it matters
Test a hypothesis. Re-run.
Higher-resolution land use and soil maps, plus a different HRU selection methodology. Two more steps, and you have a second model to compare against the first.
09
Change land use, soil, HRU settings
Finer land use and soil. Different HRU strategy.
Load the latest project again. Navigate into HRU creation. Choose finer-resolution land use and soil maps, then change the HRU selection methodology.
Click path
Load Model›Create a New Model›yes / OK to load latest project›Model Creation›HRU creation
Choose '30m' for the land use map and the soil map
Click 'Extract' for each
After extracting, click 'Create HRUs'
Under New HRU Selection, select 'Dominant landuse, soil, slope'
Click 'Finalize HRUs'
🧩
What 'Dominant landuse, soil, slope' means
For each subbasin, SwaNET picks the single combination of land use, soil, and slope range with the biggest area in that subbasin and applies it to the whole subbasin. Coarser representation per subbasin — but one HRU per subbasin instead of many.
📝
Comparison with the original
The original model used 'Target number of HRUs' with a multiple of 4 of the number of subbasins. Example: 12 subbasins → target HRU = 4 × 12 = 48. The new selection produces one HRU per subbasin instead.
🧩
The HRU paradigm — a fundamental tradeoff
SWAT is a semi-distributed model: each subbasin contains one or more HRUs, and each HRU is a unique combination of land use, soil, and slope class. Water balance is computed per HRU, then aggregated to the subbasin and routed through the channel network. The HRU selection methodology shapes the model's representation of heterogeneity:
Target number of HRUs — preserves landscape diversity within each subbasin (multiple HRUs per subbasin). Better representation of small-area land uses (e.g., wetlands, riparian buffers) that may dominate hydrologic response despite small areal extent. More computation.
Dominant landuse, soil, slope — one HRU per subbasin, using the largest-area combination. Faster, simpler, but flattens within-subbasin diversity. The subbasin "speaks with one voice" hydrologically.
Filter by area / by land use, soil, slope threshold — middle ground, preserving HRUs above a threshold and merging the rest.
For comparison studies like this one, switching between these strategies isolates the impact of within-subbasin heterogeneity on the simulated water balance. Watch the four component balances after re-running — the differences reveal which compartments are most sensitive to HRU representation.
📖
Hydrology background — Why small-area land cover matters disproportionately
Hydrology has a habit of being non-proportional. A 2% area covered by wetlands can account for 20% of a watershed’s ET. A narrow riparian buffer can intercept the majority of nutrients leaving an upland field. A 5% area of impervious cover can shift a watershed from baseflow-dominated to runoff-dominated. This is why the ‘Dominant landuse, soil, slope’ HRU strategy is a real simplification — by collapsing each subbasin to its single most-common combination, you can lose the very features whose hydrologic signature exceeds their areal share. The ‘Target number of HRUs’ strategy preserves multiple HRUs per subbasin and is the safer default when you suspect minority land covers matter (wetlands, urban patches, riparian zones). When comparing the two strategies in Step 10’s results, look at the ET fraction in the Overland balance — large shifts there often trace to wetland and riparian HRUs surviving in one configuration and being collapsed in the other.
Select 30m for both land use and soil. Extract each. Then click Create HRUs.In New HRU Selection, choose 'Dominant landuse, soil, slope'. Click Finalize HRUs.
10
Finish and run
Define the period. Re-run.
Follow the on-screen interfaces to:
Write SWAT input files
Define simulation period — back to 1990–1991 with one year of spin-up
Run the SWAT simulation
The updated results appear in the same display — but now you have two models to compare.
Write the SWAT input files.Set the simulation period (1990–1991 with 1990 as spin-up). Run SWAT.
The refined model's outputs. Compare the new watershed-hydrology schematic (bottom right) with the schematic from the first model — the same conceptual structure, but with quantitatively different fluxes. Higher ET, lower runoff, larger percolation — the consequence of 30m soil and land use plus the dominant-HRU strategy.
System water balance comparison
Same watershed, different model.
Original
First (one-click) model
DEM — default (coarse)
Land use — default resolution
Soil — default resolution
HRU strategy — Target number (4 × subbasins)
Outlet — auto-snapped
→
Updated
Refined model
DEM — 90m
Land use — 30m
Soil — 30m
HRU strategy — Dominant land use, soil, slope
Outlet — USGS-04108670 gauge
📊
How to see the comparison
Simulation/Visualization › Result Visualization › Plot water balances ››› › Plot. The simulated flows and stocks differ between the two models — and the differences are the quantitative impact of higher-resolution terrain, land use, soil, and the HRU selection methodology on your watershed's simulated dynamics.
Original
Updated
Part 4 · The loop stays open
Three more refinement paths. All in the same loop.
Resolution and HRU strategy are two dimensions of refinement. SwaNET keeps three more available in the same framework — weather data, subbasin-level edits, and model calibration. Every refinement runs through the same one-click model-building and visualization environment. No export. No re-import.
🧭
Where this fits in the learning path. You’ve reached ⑥ refine — the end of the arc, and the point of the whole design. Every default this tutorial pointed out along the way (DEM resolution, stream threshold, land use & soil maps, HRU strategy, weather source, runoff/ET/routing methods) is a knob you can now turn. The one-click defaults got you a complete, physically-sound starting model in minutes; refinement is where you adapt it to your question and test how sensitive the answer is to each choice. You were never locked in — you were started off well.
⛅
Change weather data
Swap the global CFSR-based generator for higher-fidelity forcing: PRISM gauge-based climate (US), or your own observed station records. A direct way to test how sensitive the model is to weather input.
Change land use, soils, slope for a single subbasin. Edit point sources and discharge data. Test localized scenarios — a single farm, a single development.
Click any subbasin marker
or
Refine Model›Edit Subbasin Data
🎚️
Calibrate the model
Adjust parameters to match observed streamflow more closely. One parameter at a time, or global calibration via a genetic algorithm.
Refine Model›Calibrate SWAT Model
or click Auto calibration
📖
Hydrology background — What calibration is actually doing, and why it’s hard
Calibration tunes model parameters — curve number adjustments, soil available water, baseflow recession constants, channel roughness, and others — so simulated outputs match observed ones. Two principles every modeller eventually internalizes:
Equifinality — the principle, articulated by Keith Beven in 1993, that many different parameter combinations can produce nearly identical hydrographs. The best NSE doesn’t mean the “true” parameters; it means one of many adequate fits. Different parameter sets often imply different underlying water-budget partitions.
Sensitivity — only some parameters meaningfully affect the output you care about. Calibrating insensitive parameters is wasted effort. Sensitivity analysis identifies which parameters to vary, and is the principled first step before any calibration.
SwaNET’s Auto calibration uses NSGA-II — a multi-objective genetic algorithm that searches the parameter space efficiently and reports the Pareto-front of solutions (best tradeoffs between competing objectives like fitting peaks vs fitting baseflow). The output isn’t one calibrated model but a family of plausible ones. That family is the honest answer.
🔄
Why the iteration loop matters
Every refinement above triggers the same automated pipeline — extract, delineate, compute HRUs, generate weather, write SWAT inputs, run, visualize. The Sankey reorganizes, the water balance updates, the comparison with observed streamflow re-runs. You stay inside the same environment from the first defaults to the calibrated, scenario-tested, management-ready model.
For the curious
Further reading.
The hydrology and SWAT concepts introduced above are drawn from the standard graduate-level curriculum on watershed modeling. For deeper background, these are the authoritative sources:
Explore SwaNET
SwaNET overview — the high-level introduction to what SwaNET is and what it does.
SwaNET platform — the platform page: capabilities, features, and how the pieces fit together.
SwaNET documentation — the full documentation hub, including detailed step-by-step guides for every aspect of SwaNET modeling.
Neitsch, S.L., Arnold, J.G., Kiniry, J.R., Williams, J.R. (2011). Soil and Water Assessment Tool Theoretical Documentation, Version 2009. Texas Water Resources Institute Technical Report No. 406. — The authoritative reference on every equation SWAT uses. Free PDF, ~600 pages.
Arnold, J.G., Moriasi, D.N., Gassman, P.W., et al. (2012). SWAT: Model use, calibration, and validation. Transactions of the ASABE 55(4): 1491–1508. — The practical SWAT calibration guide, including the model-fit metric thresholds cited in Step 8.
Moriasi, D.N., Gitau, M.W., Pai, N., Daggupati, P. (2015). Hydrologic and water quality models: Performance measures and evaluation criteria. Transactions of the ASABE 58(6): 1763–1785. — The source of the NSE/PBIAS/RSR performance ratings (“satisfactory” / “good” / “very good”) referenced in Step 8.
Dingman, S.L. (2015). Physical Hydrology, 3rd ed. Waveland Press. — The graduate-level reference on watershed hydrology: water balance, infiltration, ET, runoff generation, channel hydraulics. The textbook many of the callouts above paraphrase.
USDA-NRCS (2004). National Engineering Handbook, Part 630: Hydrology. — The SCS Curve Number method (chapters 9–10) and hydrologic soil group classification (chapter 7). The empirical foundation of much of what SWAT does for runoff.
Beven, K.J. (1993). Prophecy, reality and uncertainty in distributed hydrological modelling. Advances in Water Resources 16(1): 41–51. — The foundational paper on equifinality. Required reading before you spend a week chasing the best NSE.
O’Callaghan, J.F., Mark, D.M. (1984). The extraction of drainage networks from digital elevation data. Computer Vision, Graphics, and Image Processing 28(3): 323–344. — The original D8 flow-direction algorithm cited in Step 3.
Cunge, J.A. (1969). On the subject of a flood propagation computation method (Muskingum method). Journal of Hydraulic Research 7(2): 205–230. — The classical Muskingum routing reference, the basis of one of the channel-routing options in SWAT.
USGS National Water Information System (NWIS). https://waterdata.usgs.gov/nwis. — The US stream gauge data portal that SwaNET connects to in Step 5. Environment and Climate Change Canada’s HYDAT is the equivalent Canadian network: https://wateroffice.ec.gc.ca.
Saha, S., et al. (2010). The NCEP Climate Forecast System Reanalysis (CFSR). Bulletin of the American Meteorological Society 91(8): 1015–1057. — The global reanalysis behind SwaNET’s default WGEN_CFSR_World weather generator. Daniel et al. (2011) and the Texas A&M Global Weather Data for SWAT portal describe its use as SWAT forcing where station data is sparse.
Daly, C., et al. (2008). Physiographically sensitive mapping of climatological temperature and precipitation across the conterminous United States (PRISM). International Journal of Climatology 28(15): 2031–2064. — The gauge-interpolated, terrain-corrected US climate dataset available as a higher-fidelity weather refinement: https://prism.oregonstate.edu.
Gassman, P.W., Reyes, M.R., Green, C.H., Arnold, J.G. (2007). The Soil and Water Assessment Tool: Historical development, applications, and future research directions. Transactions of the ASABE 50(4): 1211–1250. — The standard review paper on SWAT’s evolution and the global community of applications.
The base enables. It does not constrain.
You have built a watershed model in one click, read its hydrologic signature, compared it to observed streamflow, refined the resolution and HRU strategy, and identified three more refinement paths — all inside SwaNET, all in the same iteration loop. Time spent on data assembly: zero. Time spent on what matters: all of it.