Automatic Catchment Delineation

WEAP can automatically delineate catchments and rivers (using digital elevation data), calculate land area (disaggregated by elevation band and land cover), and download historical climate data for each catchment (by elevation band).  This will greatly simply the process of setting up and modeling catchment hydrology.  WEAP will automatically download global datasets for elevation, land cover and climate as needed..

HydroSHEDS digital elevation data is based on high-resolution elevation data obtained during a Space Shuttle flight for NASA's Shuttle Radar Topography Mission (SRTM).  ESA-CCI-LC land cover data comes from the MEdium Resolution Imaging Spectrometer (MERIS) satellite and PROBA-V and a combination of AVHRR and SPOT-VGT data to create a complete land cover classification sequence that covers the period between 1992 and 2015 (24 years) with a spatial resolution of 300m.  The Princeton historical climate dataset blends reanalysis data with observations to create global daily and monthly data of temperature, precipitation and wind speed for 1948-2010, at a 0.25 degree spatial resolution.

Catchment Delineation mode

Catchment Delineation mode is best used when you are first setting up your model, before you have added any WEAP elements to your schematic.  Make sure you have first set your area boundaries, as these can determine the extent of the basins WEAP will create.  Next, from the menu, choose Schematic, Catchment Delineation Mode, or right click on the main map and choose Catchment Delineation Mode.  Alternatively, if you drag a catchment from the WEAP legend onto the schematic, WEAP will ask you if you want to define this catchment using Catchment Delineation mode.  (This requires all GIS layers to use the WGS84 (latitude-longitude) projection.)  A panel will appear on the right side of the Schematic, with various information and settings.

As you move the mouse over the schematic, you will see information in the right panel in the Digital Elevation Data (DEM) box about the location under the mouse cursor: latitude and longitude, elevation, flow direction, flow accumulation and land cover category.  If WEAP has not yet downloaded DEM data for the location, you will only see latitude and longitude.

DEM data are available at two spatial resolutions: 500 meters (15 arcseconds) and 90 meters (3 arcseconds).  To choose which resolution to use, select "15s" or "3s" from the Resolution dropdown in the Options box on the right.  The 90 m data will produce a more accurate catchment and river delineation, at the expense of time (to initially download the larger data files and to actually create the delineation) and space (DEM data files).  However, once the delineation is done, the 90 m delineation will not use any more time or space than the delineation created using the 500 m data, so in general it is better to use the 90 m data.  Note: WEAP may not be able to use the 90 m data on very large basins due to memory constraints.  If WEAP tries and fails at the higher resolution, try again with the lower resolution.

Downloading DEM, Land Cover and Climate Data

Because the global databases used are enormous -- DEM and land cover are 300 GB, climate is 30 GB -- they are not included with WEAP, but are downloaded as needed.  Each dataset is divided into 1 degree by 1 degree "tiles," so that WEAP can download only the tiles it needs.  The downloaded files are stored in the WEAP Downloads folder so that they can be used again without the need to re-download.  When you create a basin, WEAP will download all tiles needed to cover the basin area, as well as all downstream tiles to the outlet.  You can either have WEAP download tiles as needed, or you can download all tiles that lie inside the area boundaries at once.  This might save time later.  To do so, right click on the schematic and choose Download All DEM Data Inside Area Boundaries...  WEAP will tell you how much disk space will be needed to hold all the DEM data tiles that will be downloaded.  Note: this requires an active internet connection.


You can create one or more basins, each of which contains one or more catchments.  A basin is an area that drains to an outlet point or sink (usually the ocean).  

To create a basin, click the left mouse button anywhere within the area of the basin.  The "Create New Basin" window will appear, and you can give the name for the Basin, initial Catchment and River that will be created.  From the point clicked, WEAP will walk downstream until it gets to either the outlet or the Area Boundary, whichever comes first.  This downstream point will be the "pour point" for the basin.  From this point, WEAP walks upstream to determine all cells that drain to the pour point.  This collection of cells defines the basin; WEAP draws a boundary around it and colors it red.  Note: WEAP will include all upstream cells, even if they are outside the Area Boundaries.  When the mouse cursor is over a basin, information about the basin will appear in the panel on the right -- its area, elevation range and number of catchments defined.  The unit used for the area can be changed under General, Units, Land Use, Land Area Unit.

If the basin pour point is not in the correct location, you can move it.  Place the mouse cursor over the downstream-most point.  The mouse cursor will change from the arrow pointer to the double-headed cross arrow.  Click and drag the pour point either upstream or downstream on the river.  When you release the mouse button, WEAP will recalculate and redraw the basin boundary.

If this is the first basin created for the area, WEAP will create three new GIS shapefiles, named Basins, Catchments and Rivers, which will be loaded and appear on the list of Background Layers.  As with all other background layers, you can show or hide them, and change their appearance (color, border, fill, label).  All basins, catchments and rivers that you create in catchment delineation mode will be added to these layers.

To give you an idea of where the flows are within a basin, WEAP will automatically create many (gray) river lines inside each basin, according to the position of the slider in the River Detail box on the right panel.  To show only the largest rivers in the basin, move the slider left towards Less; to show both larger and smaller rivers, move the slider right towards More.  Statistics on number and length are shown in the box.  The Rivers layer is used only for display -- these rivers are not used for modeling, and are distinct from the WEAP River objects (blue lines), which are explained below.  The unit used for river length can be changed under General, Units, Rivers, Distance Marker.

To create additional basins, click anywhere outside the existing basin.


When you create a basin, a catchment will also be created, initially occupying the entire basin.  You can subdivide the basin into as many catchments as you would like.  Having many (smaller) catchments may produce more accurate model results than having fewer (larger) catchments, but will require more data, data entry, and calculation time.

To subdivide a catchment, click the left mouse button anywhere within it.  The "Create New Catchment" window will appear, and you can give the name for the new Catchment and River that will be created.  WEAP will walk downstream from the point clicked until it gets to the first (blue) river line in the basin.  Where it meets the river will become the pour point for the new catchment.  To create a catchment at an exact point (not walking downstream to the nearest river), hold down the Alt key when clicking.  This will create a catchment with a pour point at the exact location clicked.  For example, you may want to create a catchment whose pour point is the location of a streamflow gauge.  In this case, alt-click at the gauge location on the river and a new catchment upstream of that point on the river will be created.

You can also move a catchment's pour point after the catchment is created, using the same method as for moving a basin's pour point.  Move the mouse over the pour point to get a double-headed cross arrow, then click and drag the pour point upstream or downstream.  When you release the mouse button, WEAP will recalculate and redraw the catchment boundary using the new pour point.

For each catchment created, WEAP will add a polygon to the Catchments GIS layer, and create a WEAP catchment object (green dot) with a runoff link to the river (blue dashed line).  The catchment object will be created at the centroid of the catchment polygon, but you can move it wherever you want -- just click and drag the object as you would with any schematic object.  The placement of the runoff link and inflow node is determined by Default Runoff Inflow Location slider (near the bottom of the right panel), either closer to or at the headflow, or farther down towards the tailflow.  This is just the initial position of the new node; you can click and drag the inflow node to move it anywhere along the river.

When the mouse cursor is over a catchment, information about it will appear in the panel on the right in the Catchment: <Catchment Name> box -- a summary of its area, and breakdowns by elevation band and land cover category.

If you decide you want to delete a catchment, right click on it and choose delete.  When you delete a catchment created in the catchment delineation mode, it will delete the catchment's river also, unless it has inflow from other rivers, or if it the river also flows through another catchment.  Note, you cannot right click on and delete a river, runoff link, inflow node or tributary node directly -- you can only delete them by deleting the catchment that created them.  Also, you can only delete a catchment that was created in catchment delineation mode if you are currently in catchment delineation mode.


Each catchment has an associated river that runs through it and into which it drains.  When a catchment is created, WEAP automatically creates a river object (blue line) based on the path through the catchment with the largest "flow accumulation" (see below for technical details).  In this way, WEAP is guessing the dominant path of flow, from the most upstream location to the pour point.  However, you can change the headflow point, either to move the headflow upstream or downstream on the same river, or to alter the course of the river in the catchment -- move the mouse cursor over the headflow point of the river (you will see a double-headed cross arrow), then click and drag it to the desired location.  As you drag the point, WEAP will continually redraw the river path.  If you want to delete a river, you must delete its catchment (which will delete the river)-- you cannot delete the river directly.

Elevation Band Branches

Because climate often varies with elevation, it is usually a good idea to model a catchment by subdividing it into elevation bands, e.g., 0-500m, 500-1000m, 1000-1500m, etc., so that you can input climate data separately for each elevation.  Using the digital elevation data, WEAP can automatically create branches underneath each catchment according to the range of elevations in the catchment, and calculate the area in each elevation band.  (The summary of areas at each elevation band for a catchment is shown in the panel on the right in the Catchment: <Catchment Name> box as you mouse over the catchment.)  In the Options box on the right, you can choose whether or not to Create Elevation Band Branches by elevation band, and if so, the Band Height to use, e.g., 500 meters or 1000 feet.  The unit used for the Band Height can also be changed under General, Units, Land Use, Land Elevation Unit.

Land Cover Branches

Because parameters for evapotranspiration, infiltration and runoff vary by land cover, WEAP catchments are typically subdivided by land cover category.  WEAP automatically Create Land Cover Branches underneath each catchment and fill in the area contained in each category.  In the Options box on the right, you can choose whether or not to Create Land Cover Branches by land cover category, and if so, to Select the data source and list of categories to use.  Click the Select button to go to the Select Land Cover screen.  First, choose the Data Source -- either the "built-in" land cover database or your own.  

The built-in database is the European Space Agency's Climate Change Initiative Land Cover database (ESA-CCI-LC).  ESA-CCI-LC includes 22 different categories of land cover, which you can rename or aggregate according to your needs.  For example, you may choose to group the six different forest categories (broadleaved evergreen, broadleaved deciduous, needleleaved evergreen, needleleaved deciduous, mixed leaf type, and mosaic: mostly tree and shrub) into one category called Forest.

To use your own land cover data, choose "< Create new land cover data source >" to go to the Create Land Cover Data Source screen.  Type the Name for the new data source, and browse for the NetCDF File that contains the land cover data.  The NetCDF file must be the same resolution as the DEM you are using, either 3s (90 meters) or 15s (500 meters), and its spatial extent must cover the area of all your catchments.  If the NetCDF file contains several data layers, you must choose which NetCDF Layer to use.  The grid of Land Cover Categories must contain a row for each unique numerical Value in the NetCDF file.  Type the Name of the land cover category associated with each value.

Once you have chosen the data source, you can choose how to aggregate the land cover categories.  The default list of nine aggregated categories, shown in the Selected Categories column of the grid, is: Agriculture, Forest, Grassland, Wetland, Urban, Shrubland, Barren or Sparse Vegetation, Open Water, Snow and Ice.  Choose the Edit Selected Categories List button on that screen to edit this list of aggregated categories.  

Back on the main screen in the Options box, you can choose whether or not to create a branch for every land cover category under every catchment, even if its area in that catchment is zero, via the Including Area = 0 checkbox.

If both Create Elevation Band Branches and Create Land Cover Branches are turned on, WEAP will create a two-level hierarchy underneath each catchment -- first by elevation and below that by land cover category.

Land Area data

WEAP will calculate the area in each elevation band and land cover category and fill in the expression and unit in the Data View for the Land Use, Area variable.  The unit used can be changed under General, Units, Land Use, Land Area Unit.  If you change the unit after WEAP has filled in the area data, you will need to go back to catchment delineation mode so that WEAP will regenerate the area data using the new unit.

Climate data

WEAP can overlay gridded time-series climate data with your elevation bands to determine the climate for each elevation band.  WEAP creates CSV files of these derived time series -- one CSV file per catchment that includes a column for each linked climate variable and elevation band -- and then creates ReadFromFile expressions linking the WEAP climate variables for each elevation band.  If you are creating elevation bands, WEAP will automatically set the location of WEAP's climate data expressions to "Each branch within a catchment can have different climate data."  (See Basic Parameters for more information about this setting.)  WEAP does not disaggregate the climate by land cover branch.  Therefore, if you are creating land cover branches, the ReadFromFile expression corresponding to the elevation band and climate variable will be repeated for each land cover branch.  The CSV files are created in a subdirectory of your area folder named "ClimateData."

WEAP provides access to a "built-in" global historical gridded climate dataset, including data for temperature, precipitation and wind speed, at daily and monthly timesteps for 1948-2010, at a spatial resolution of 0.25 degrees (roughly 28 km).  This global climate dataset was created by the Terrestrial Hydrology Group at Princeton University.  It blends reanalysis data with observations.  For more information, see, or see the citations below.  You may choose to use this dataset, or link to your own dataset (in NetCDF format).  

To turn on access to climate data and select a climate dataset to use, click the Load Climate Data checkbox on the right.  The Select Climate Data Source screen will automatically open, and you can choose which dataset to use -- one of the "built-in" datasets ("Monthly, 1948-2010, 0.25 degree (Princeton)" or "Daily, 1948-2010, 0.25 degree (Princeton)") or your own ("User-specified file (NetCDF format)").  Initially, WEAP will default to the Princeton dataset that matches the timestep of your model or catchment method (daily or monthly).  Even if your model's timestep is not daily, you may choose to use the daily climate dataset -- WEAP's ReadFromFile expression will aggregate the daily data to match your model's timestep.  However, using the daily Princeton dataset with your monthly model will result in larger CSV files and slightly longer calculation time, and will yield the same results as the monthly Princeton dataset.

To use your own climate dataset, select Data Source "User-specified file (NetCDF format)" and then browse for the NetCDF file.  The NetCDF file must use a rectangular grid of latitude and longitude coordinates.  It can be any resolution -- it does not need to match the resolution of the DEM you are using -- but its spatial extent must cover the area of all your catchments.  The file can contain any number of climate variables, each of which must have dimensions for time, latitude, and longitude (in that order).

Because different catchment methods require different climate variables, you also need to choose which Catchment Method you will use to model your catchments' hydrology.  Note: the MABIA Method and the Plant Growth Method are daily models, so that even if your overall WEAP model is monthly, you will need daily climate data for the catchments.

When a data source has been chosen, WEAP will read it and display information about its temporal and spatial resolution and extent.  WEAP will also display the list of data variables contained in the data source in the first column of the table ("Variables in NetCDF File").  In the second column of the table ("WEAP Climate Variables"), you will match the variables from the climate data source to the WEAP climate data variables (e.g., temperature, precipitation, wind speed) specific to the chosen catchment method.  A WEAP climate variable cannot be linked to more than one of the variables from the data source.  However, you can choose to include the data source variables in the CSV file, even if it is not linked to a WEAP climate variable -- choose "< Not linked (Include in CSV File>" in the second column.

(The following are parameters that will be used in the ReadFromFile expressions that WEAP will create for each branch to read data from the CSV files it creates.  See Read From File for more information.)  If there is no climate data for your Base Year, you will need to choose which year to get Base Year Data from (this corresponds to the YearOffset parameter in the ReadFromFile function).  In some cases, you may wish to choose a subset of years to use -- specify these with First Year to Use and Last Year to Use.  Finally, you can choose to have WEAP Cycle from the end of the file back to the beginning (or from the LastYearToUse to the FirstYearToUse).

The spatial resolution in the climate dataset does not need to be the same resolution as the DEM and Land Cover datasets (500 meter or 90 meter).  Typically, climate data will be much lower resolution than this.  WEAP will make an area-weighted average of the portions of each climate data grid cell that overlays the smaller grid cells of the elevation band.  For example, if an elevation band covers 1/2 of one climate grid cell and 1/4 of another climate grid cell, the averaged climate data for the elevation band will be weighted twice as much for the first climate grid cell as for the second grid cell.  The built-in Princeton datasets cover the entire globe.  If you use your own NetCDF file, make sure that its spatial extent is large enough to cover all of your catchments.  WEAP will warn you if it does not.

Technical Details

The HydroSHEDS DEM data are available in two different resolutions: 500 meters (15 arcseconds, each cell is 500m x 500m, with each 1 degree x 1 degree tile containing 240 x 240 cells) and 90 meters (3 arcseconds, each cell is 90m x 90m, with each 1 degree x 1 degree tile containing 1200 x 1200 cells).  The original resolution of the ESA-CCI-LC Land Cover data is 300 meters, although it is upsampled to 500 meters or downsampled to 90 meters to match the selected DEM resolution.  

Using the digital elevation data, WEAP determines the elevation difference between adjacent cells, which is used to calculate the Flow Direction (north, northeast, east, southeast, south, southwest, west or northwest).  Each cell can flow into only one other adjacent cell.  The cells' flow directions are used to create a flow network, from upstream to downstream.  Using the flow network, WEAP can calculate the Flow Accumulation for each cell -- how many upstream cells flow into any cell (including itself) -- and its Upstream Drainage Area (the sum of the area of all upstream cells).  For example, if a cell has a flow accumulation of 2000, that means that 1999 upstream cells flow into that cell.  A flow accumulation of one means that no other cells flow into the cell.

To delineate a catchment from a pour point, WEAP starts at the pour point cell and follows every upstream path to determine all the cells that drain to the pour point.  This group of cells defines the catchment.  (The number of cells in the catchment is equal to the flow accumulation value of the pour point cell.)

To delineate the main river channel for a catchment, WEAP starts at the pour point cell and at each step chooses the neighboring cell with the largest flow accumulation value, until it reaches a cell with flow accumulation = 1.  This chain of neighboring cells defines the river, from headflow to pour point.

The ESA-CCI-LC version 2.0.7 land cover dataset is available for the years 1992-2015, although WEAP is using only the 2010 data.  It is disaggregated into 22 categories: Rainfed Cropland, Irrigated Cropland, Mosaic: Mostly Cropland, Mosaic: Mostly Natural Vegetation, "Tree Cover, Broadleaved, Evergreen", "Tree Cover, Broadleaved, Deciduous", "Tree Cover, Needleleaved, Evergreen", "Tree Cover, Needleleaved, Deciduous", "Tree Cover, Mixed Leaf Type", Mosaic: Mostly Tree and Shrub, Mosaic: Mostly Herbaceous, Shrubland, Grassland, Lichens and Mosses Sparse Vegetation, "Flooded, Tree Cover, Fresh or Brackish Water", "Flooded, Tree Cover, Saline Water", "Flooded, Shrub or Herbaceous Cover", Urban, Bare, Open Water, Snow and Ice.  (Note: WEAP has aggregated the original 31 ESA-CCI-LC categories into 22.  For example, combining "Evergreen Shrubland" and "Deciduous Shrubland" into "Shrubland.")

The resolution of the Princeton climate datasets are approximately 28 kilometers (0.25 degree latitude and longitude), i.e., each cell is 28km x 28km.  Therefore, each 1 degree x 1 degree tile contains 4 x 4 cells.  The daily dataset were aggregated to create the monthly dataset.  The average daily or monthly temperature was derived from the minimum and maximum daily or monthly temperatures: T mean = (T min + T max) / 2.

When using your own NetCDF files for land cover or climate: the name for the longitude dimension must be"'lon", "longitude" or "X"; the latitude dimension must be named "lat", "latitude" or "Y."  Climate variables must have a time dimension, which must be named "time".  The timestep must be either daily or monthly.  For climate variables, the order of dimensions must be time, latitude, longitude; for land cover variables it must be latitude, longitude.  WEAP is compatible with NetCDF version 4 (and earlier) files, including the use of compression and packing.  For more information about the NetCDF file format, see

Tip: if you are using your own NetCDF files for land cover or climate, you may not want to copy the file to WEAP model's subdirectory.  WEAP will automatically zip up all files in the model subdirectory when it makes a version (every time you save the model), and if your NetCDF files are very large, this will take a long time to zip up and increase the size of the versions.  However, if the files are not very large, it is generally a good idea to include them in the model's subdirectory so that if you give the model to someone else, it will contain all necessary files.


WEAP incorporates data from the HydroSHEDS database which is World Wildlife Fund, Inc. (2006-2013) and has been used herein under license. WWF has not evaluated the data as altered and incorporated within WEAP, and therefore gives no warranty regarding its accuracy, completeness, currency or suitability for any particular purpose. Portions of the HydroSHEDS database incorporate data which are the intellectual property rights of USGS (2006-2008), NASA (2000-2005), ESRI (1992-1998), CIAT (2004-2006), UNEP-WCMC (1993), WWF (2004), Commonwealth of Australia (2007), and Her Royal Majesty and the British Crown and are used under license. The HydroSHEDS database and more information are available at


Lehner, B., Verdin, K., Jarvis, A. (2008): New global hydrography derived from spaceborne elevation data. Eos, Transactions, AGU, 89(10): 93-94.  doi: 10.1029/2008EO100001

Defourney, P. et al. (2015): ESA Land Cover Climate Change Initiative (ESA LC_cci) data, version 2.0.7, 1992-2015, via Centre for Environmental Data Analysis,  
Data downloaded from:

List of categories:  

Princeton Climate Data:
Department of Civil and Environmental Engineering/Princeton University. 2006. Global Meteorological Forcing Dataset for Land Surface Modeling. Research Data Archive at the National Center for Atmospheric Research, Computational and Information Systems Laboratory.   Accessed 30 Sep 2017.

Sheffield, J., G. Goteti, and E. F. Wood, 2006: Development of a 50-yr high-resolution global dataset of meteorological forcings for land surface modeling, J. Climate, 19 (13), 3088-3111