Hydrologic modeling begins with an ordinary DEM, which is used to:
ESRI's ArcInfo includes a suite of raster hydrologic modeling tools to perform each of these functions. This page illustrates principal steps in the hydrologic modeling process, and demonstrates some strategies for designing riparian buffers to protect streams from agricultural runoff.
These analyses are almost entirely derived from an ordinary 30-meter resolution DEM. The DEM used here covers the upper Nanticoke watershed in Sussex County, Delaware. This is a particularly challenging watershed to analyze, since the terrain is very flat. If you want to try these modules out for yourself, you can download the zipped DEM and unzip it in any appropriate Arc workspace folder. This DEM is in DE State Plane NAD 1983 (meters) projection. Note that many of the images below use customized symbology, and that once I have derived the Nanticoke watershed using the BASIN module, I use it as a mask to focus the rest of the analysis on that watershed only.
Using the HILLSHADE tool in the Surface Analysis raster functions, you can create a hillshade map and overlay the DEM with 50% transparency to get a better sense of the terrain to be analyzed. (You can also create 3D views of this terrain with Arc's 3D Analyst extension and ArcScene, but that's a topic for another tutorial!)
Most DEM's include local sinks or depressinos--cells completely surrounded by higher-elevation cells--which interrupt the calculation of off-map flow directions. Use the FILL tool to create a "filled" DEM with these sinks eliminated. Use the SINK tool (or just subtract the source DEM from the filled DEM) to identify the sinks.
Use the FLOWDIRECTION tool on the filled DEM to calculate the direction of flow for each cell. The flow direction map (above right) provides the input data for most of the watershed analysis and stream inference tools discussed below.
Use the BASIN tool on the flow direction map to identify the basins that flow to each outlet point on the map edge. Use the Identify button to determine the value of the particular basin you want to analyze, and use the raster calculator to create a 0-1 raster map of just that one basin. (Note all the specious little "basins" that flow off the left edge of the map.)
You can convert this basin to a vector polygon feature by selecting the raster category with the highest Count in the raster attribute table, and then use Spatial Analyst's Conversion--From Raster--Raster to Polygon. Then you can use this polygon as a mask for further analysis.
Inferring the Stream Network
Use the FLOWLENGTH tool on the flow direction map to determine the total flow distance from each cell to the outlet point of the basin.
Use the FLOWACCUMULATION tool on the flow direction map to calculate the number of up-gradient cells that drain through each cell in the basin. You can think of this as simulating the cell-to-cell cumulative flow volumes from a uniformly-distributed one-inch rainfall over an impervious watershed surface. You can get a somewhat clearer idea of the flow accumulation if you calculate the natural logarithm of the flow accumulation output map. The map above shows the log of accumulation in portion of the watershed.
A binary inferred stream raster can be derived from the flow accumulation map with a Raster Calculator expression such as ACCUM >= 20,000. Cells that exceed the threshold accumulation value are streams. This map shows inferred principal streams where the natural logarithm of accumulation is 10 or greater. You can include progressively smaller permanent or ephemeral streams by reducing the threshold. The selected stream cells can be converted to polylines (using the Generalize Lines option).
Use the STREAMORDER tool on the stream raster map with the flow direction map to calculate the order of each segment or link in the stream network. Each stream junction combines two upstream tributary links. The links near the basin divide have no upstream tributaries, and are designated as first-order. Proceeding downstream, each successive link can be ordered as the sum of the orders of its two tributary links (Shreve method). Alternately, if both its tributaries have the same order n, the link is order n+1; otherwise if the two tributaries have orders m and n with n > m, the link is also order n (Strahler method)—this better distinguishes principal flows in the stream network. The map above shows polylines derived from STREAMORDER using the Strahler method.
Use the STREAMLINK tool on the stream raster map with the flow direction map to assign a unique ID value to each stream segment.
The stream link map can be used as input pour point targets for the WATERSHED tool. WATERSHED uses the flow direction map and pour point targets to determine the sub-basins within the basin that flow to each stream link. The sub-basins can be converted to polygon features if desired.
To obtain more detailed sub-basin delineations, use a lower flow accumulation threshold to extract a more detailed stream network, create a new stream link map (with many more links), and rerun the WATERSHED tool.
Now we can try out some riparian buffer design strategies. The map below left shows 2002 land-use/land cover for the portion of the Nanticoke watershed within Sussex County, DE. The brown cells are cropland. I created binary map of cropland (below right).
To analyze local impacts of agriculture, I start by creating a straight-line distance raster from agriculture cells (red) outward (orange to yellow to green, below left). I multiply this distance map by the inferred stream raster to extract distances of each stream cell from the nearest ag land. For better visualization, I run a Neighborhood Statistics 5x5 maximum filter on this map and apply a cool-to-hot color ramp to indicate the distance of each stream cell from the nearest ag land. Stream cells that are actually within ag land are shown in black (below right).
We can extract stream buffers of any uniform width from a raster of straight-line distances from streams (below left).
If the objective is to reduce agricultural runoff specifically,
we can identify all the cropland cells within, say, 100 meters
of a stream. The map below right identifies (in red) a total 902 hectares
(2.256 acres) of cropland within 100 meters of streams that might
be targeted for the Conservation Reserve Program in Sussex County.
These riparian areas might be planted in some crop with high P uptake
that would intercept much of the P runoff from up-gradient cropland.
Since streamwater quality is actually a cumulative function of all upstream runoff, a better strategy is to re-run the FLOWACCUMULATION module using the binary cropland map as a Weight Raster. The output map shows how many cropland cells flow through each cell in the watershed. A portion of the logarithm of this "flow accumulation" of cropland is shown below left.
I then calculate the ratio of the flow accumulation of cropland over the flow accumulation from all land to obtain a raster showing the percentage of the runoff passing through each cell that originates from from cropland (above right).
Multiplying this by the binary inferred stream raster shows the inferred proportion of total runoff passing through each stream cell that is from cropland. The cropland is shown in faint orange. (For better visualization I applied a 5x5 neighborhood maximum filter to obtain the map shown below. The red, orange and yellow stream segments would be most vulnerable to agricultural runoff.
The effectiveness of vegetative buffers is inversely related to slope (below left), which determines the speed of runoff. So we might revise the buffer design strategy to obtain wider buffers on more steeply-sloped terrain.
I calculated a "cost" map as 100/(Percent Slope), and used this as a weight raster to create a map of cumulative inverse-slope-weighted distances from streams. I then extracted all cells with an (arbitrarily-chosen) cumulative inverse-slope-weighted distance of 10,000 or less (green) as a variable-width buffer, and all cropland cells falling within these buffers (red). This identifies 685 hectares (1,691 acres) of cropland that might be converted to vegetative buffers (below right).
I calculated Calc1 = 100 * (Band3 - Band2)/(Band3 + Band2) and NDVI = (Calc1>0)*Calc1 (forcing negative values to zero) to obtain the NDVI map below.
I then use NDVI as an alternative weight map for calculating cumulative vegetation-density-weighted distances from streams, where each cell value represents the total vegetative biomass lying between it and the nearest streambank. The green cells (below) have an "NDVI distance" to streams of 5,000 or less. The red cells are cropland within these buffer areas.
Obviously the development of an efficient runoff management strategy requires expertise from hydrologists, soil scientists, agronomists, etc. The real challenge for the GIS analyst is translating this expertise into functional criteria that are amenable to analysis with GIS tools.