Blue Nile Delineation Procedure

by

Kwabena Asante and David R. Maidment

Center for Research in Water Resources
Department Of Civil Engineering
The University of Texas at Austin



Introduction

The Blue Nile basin in North Africa was delineated from 30" Digital Elevation Models (DEMs). A listing of the commands used in the delineation process are outlined below. The two GTOPO30 tiles covering North, West and East Africa, and the Middle East are

Tiles w020n40 and e020n40 for the western and eastern portions, respectively.

These tiles can be obtained from the USGS website at

http://edcwww.cr.usgs.gov/landdaac/gtopo30/gtopo30.htm

The tiles can be downloaded using a Web Browse such as Netscape. They are stored in compressed tar files namely w020n40.tar.gz and e020n40.tar.gz. These tar files contain the DEMs converted to images files.


Extracting the Data

To extract the DEM images from the tar files type the following at the UNIX command prompt:

$: gunzip < w020n40.tar.gz | tar xvf -

$: gunzip < e020n40.tar.gz | tar xvf -

All the resulting files need to be renamed with lower case names. This can be done by typing

$: mv E020N40.DEM e020n40.dem

(Rename all the tile files using a similar command).

The image file e020n40.dem must also be renamed to e020n40.bil to enable it to recognized as an image by Arc Info. Type

$: mv E020N40.DEM e020n40.bil

The delineation of the watersheds was done in Arc Info but the image files presented here were captured in ArcView to enhance the presentation.

Open Arc Info with

$: arc

At the arc prompt startup the grid module with

Arc: grid

Convert the image file e020n40.bil to a grid with

Grid: gridimage e020n40.bil afre_dem
Grid: afredem = con ( afre_dem <> 55537 , afre_dem )

(Note: This command removes cells representing the ocean surface from the DEM. Ocean cells are assigned a value of 55537 in the 30" DEMs produced by the USGS).

Grid: mape afredem
Grid: gridpaint afredem value linear nowrap gray


Defining the Study Region

The setwindow command resets the analysis extent in grid. Subsequent operations are only performed on the portion of the grid within the window defined using the command.

Grid: setwindow *
Drag the cursor across the view to define the study area

This results in a cross hair cursor that can be used to define the region of analysis. The coordinates of the area selected for the Blue Nile analysis is as follows:

longitudes 21oE to 45oE

latitude 1oN to 19oN

Grid: bndem = afredem

The resulting DEM contains 6,103,965 cells.


Notice what happens to the same DEM when the legend is changed from a linear scale to quantile scale (in ArcView3).

Grid: bniledem = con ( bndem < 55537 , bndem + 200 , bndem - 65335 )

(This command creates a grid in which the elevation of the land surface is raised by 200. This ensures that the gird does not contain any negative elevation values. The flow direction and flow accumulation grids are unaffected by this change but elevations cannot be read off this grid directly).

Grid: describe bniledem


Projecting the DEM

Before the analysis can be done, the DEM, bniledem, must be projected onto a flat map surface. The projection defined in the Blue Nile is an Albers Equal Area projection. This is a good projection to use because it preserves area, an important parameter for the hydrologic spatial analysis. The projection file, geotobn.prj, contains the following parameters

Grid: bnileprj = project ( bniledem , geotobn.prj )
Grid: describe bnileprj


Filling the DEM

The DEM contains artificial sinks or pits which are created when the DEM is constructed. On less such pits are filled-in, any water reaching such cells will disappear into the pits. During the delineation of the Blue Nile, the effects of such pits became rather apparent. The sinks were initially filled up to a threshold of 100 meters.

Grid: fill bnileprj bnilefil SINK 100 #

As can be seen from the figure above, this threshold was too low for the mountainous region in the Ethiopian highlands. It resulted in portions of the Blue Nile being left out of the delineation. The pits were filled again with a threshold of 800 meters.

Grid: fill bnileprj bnilefil SINK 800 #

 


Computing Flow Direction

All the water falling on any given cell on the land surface is assumed to flow to the neighbouring cell of steepest decent. Since a cell as 8 neighbouring cells, it is assigned a value depending on which of the eight compass directions it drains in. The figure below gives the values for each of the compass directions.

Grid: bnilefdr = flowdirection ( bnilefil )


Creates a flow direction grid called bnilefdr.

 


Computing Flow Accumulation

The flow accumulation grid is a count of the number of upstream cells which drain to a given cell. It can be converted to upstream drainage area by multiplying by the area of each cell. The flow accumulation grid is an important parameter to compute because it is a required input for a number of other delineation and analytical functions.

Grid: bnilefac = flowaccumulation ( bnilefdr )

 


Delineating Streams and Watersheds

The next step is to delineate the stream network. A delineation threshold must defined. This threshold defines how many cells must drain through a cell before it can be defined as a stream. Lets define a stream cell as one which has a drainage area of at least 1000 km2 and a river cell as one with a drainage area of 10000 km2. Each cell has an area of 1 km2 hence if we must define grids with values of at least 1000 and 10000 cells in the flow accumulation grid, respectively.

Grid: bns1000 = con ( bnilefac > 1000 , 1 )
Grid: bns10000 = con ( bnilefac > 10000 , 1 )

Now, the cells which have been defined as being on the stream network must be joined together to define a continuous direction of flow.

Grid: lnk1000 = streamlink ( bns1000 , bnilefdr )
Grid: lnk10000 = streamlink ( bns10000 , bnilefdr )

In addition to defining the stream network at 1000 and 10000 cell thresholds, we must also define watershed across the basin. The way to do this is to identify cells with the highest number of upstream cells along each stream in the network.

Grid: bnstmax = zonalmax ( lnk10000 , bnilefac )

When these cells are identified, they are isolated as the outlet cells for arcs in the stream network.

Grid: bnstout = con ( bnstmax == bnilefac , lnk10000 )

Watersheds are defined from the flow direction grid as the cells draining through that outlet.

Grid: bnwshed = watershed ( bnilefdr , bnstout )
Grid: quit

The watershed grid can now be converted to a polygon coverage.

Arc: gridpoly bnwshed bnbasin

Similarly, a line coverage of the stream network can be generated at 1000km2 threshold

Arc: gridline lnk1000 bnstream

and at 10000km2 threshold

Arc: gridline lnk10000 bnriver

Watersheds and streams corresponding to individual basins can now be selected and placed into a separate coverage. These coverages can then be used for hydrologic analysis or visualization as required.

The delineation task is thus complete!


Go Back to

Kwabena Asante's Home Page

Center for Research in Water Resources
Department Of Civil Engineering
The University of Texas at Austin