Skip to content

Watercourse Profile

Open Watercourse Profile

Extract the long-profile along the main watercourse from GIS, CAD, spreadsheet, or DEM data; compute length, elevation drop, and four standard slope values; and feed the results directly into the Time-of-Concentration calculator. This guide covers supported data sources, file formats, the four slope methods (with a worked example for a ~20 km river reach), DEM provenance, and how to clean up real-world profile artefacts.

The Watercourse Profile tool lets you import, analyse, and characterise the longest flow path in a catchment — a river, stream, or drainage channel — for use in Time of Concentration (TcT_c) and peak-flow estimation. It accepts data from a wide range of sources including GIS packages (QGIS, ArcGIS), CAD drawings (AutoCAD, Civil3D), GPS surveys, spreadsheets, and the HydroDesign Watershed Delineation tool.

Once a profile is loaded, the tool automatically calculates the watercourse length and — when elevation data is present — computes four different slope values using industry-standard hydrological methods. Saved profiles can be linked directly to the TcT_c Calculator so that length and slope are consistent between the geometry step and the runoff-timing step of a design-flood workflow.

  1. Create a new profile from the Watercourse Profiles list page.
  2. Choose your data source: upload a file, paste distance-elevation data, or select a watercourse from a saved watershed delineation.
  3. Review the profile. If elevation is present, review the elevation chart, slope calculations, and basic statistics. If elevation is missing, fetch it from ESRI or enter a known slope manually.
  4. Select a slope method appropriate for your catchment (see the Slope Methods section) and save the profile.
  5. Link to the TcT_c Calculator using the Use in Tc Calculator button — or, from within the TcT_c calculator, click Link watercourse profile below the length/slope inputs.

The tool supports three loading modes. Pick the one that matches the artefact you have in hand.

Drag and drop a file, or click to browse. The tool auto-detects the file format (GeoJSON, Shapefile, KML, GPX, DXF, CSV, Excel) and whether the data contains geospatial coordinates, elevation, or just chainage. Geospatial sources are plotted on the map and sampled for elevation; chainage-only data produces an elevation profile without a map overlay.

Typical sources: QGIS/ArcGIS exports, Civil3D alignment elevations, GPS track logs from field surveys, and watercourse traces drawn in Google Earth.

Paste distance-elevation pairs directly from a spreadsheet. The expected layout is one point per line, with tab-, comma-, or space-separated values. The first column is distance (m) and the second column is elevation (m). Lines starting with # are treated as comments.

# distance_m elevation_m
0 1245.3
250 1243.1
500 1239.8
...

This is the fastest path when you have profile data in Excel (HEC-RAS exports, survey field sheets, 1D model stations) and no need for a geospatial context.

Select the longest watercourse from a saved watershed delineation — typically produced by the HydroDesign delineator from MERIT-Hydro or a user-supplied DEM. This provides watercourse geometry and length directly, but usually no elevation data because the delineator returns a 2D polyline. You can then fetch elevation from ESRI or enter slope manually.

This is the canonical starting point for catchments that have already been delineated in HydroDesign — the length is guaranteed to match the delineated drainage network.

FormatExtensionsCommon sources
GeoJSON.geojson, .jsonQGIS, ArcGIS, web tools
Shapefile.zip containing .shpArcGIS, QGIS, Civil3D
KML / KMZ.kml, .kmzGoogle Earth, QGIS
GPX.gpxGPS devices, field surveys
DXF.dxfAutoCAD, Civil3D, MicroStation
CSV / TSV.csv, .tsvExcel, Google Sheets
Excel.xlsxMicrosoft Excel

When elevation data is available, the tool reports four slope values. All are returned in m/m (dimensionless). Different methods suit different catchment shapes, and it is good practice to review all four before selecting the one you use downstream in TcT_c.

The simplest definition of watercourse slope: total elevation drop divided by total length.

S  =  ΔHL  =  ZupstreamZdownstreamLS \;=\; \frac{\Delta H}{L} \;=\; \frac{Z_\text{upstream} - Z_\text{downstream}}{L}
Conventional average slope

Where ΔH\Delta H is the elevation drop between the most upstream and most downstream points of the watercourse and LL is the total length. Quick and easy, but sensitive to the exact location of the start and end points — a single anomalous elevation at the headwater or outlet can bias the result significantly.

10-85 Slope (S10-85S_{10\text{-}85})

Section titled “10-85 Slope (S10-85S_{10\text{-}85}S10-85​)”

The slope computed between the points at 10% and 85% of the watercourse length, measured from the downstream outlet upstream.

S10-85  =  H85H10L85L10  =  H85H100.75LS_{10\text{-}85} \;=\; \frac{H_{85} - H_{10}}{L_{85} - L_{10}} \;=\; \frac{H_{85} - H_{10}}{0.75\,L}
10-85 slope

Where H10H_{10} and H85H_{85} are the elevations at 10% and 85% of the total length from the outlet, and L10L_{10}, L85L_{85} are the corresponding chainages. The denominator is always 75% of the total length.

The slope of the straight line drawn through the downstream outlet such that the area between the line and the actual profile above the line equals the area below it. Found iteratively (bisection on the line’s upstream intercept).

0L[zline(x)zprofile(x)]dx  =  0\int_{0}^{L} \bigl[\, z_\text{line}(x) - z_\text{profile}(x) \,\bigr]\, dx \;=\; 0
Equal-area slope — geometric definition

This is the best purely-geometric representation of the average profile slope because the fitted line is not biased by any particular point — it minimises signed error across the whole length. It is less sensitive to noise than the conventional average and less aggressive in trimming than 10-85.

The Taylor-Schwarz slope divides the profile into segments and weights by the inverse square root of each segment’s slope, giving more influence to flat reaches that control travel time. It is the most hydraulically representative of the four methods because it emulates how the kinematic wave propagates.

ST-S  =  [  LidiSi  ]2S_\text{T-S} \;=\; \left[\; \frac{L}{\displaystyle \sum_i \frac{d\ell_i}{\sqrt{S_i}}} \;\right]^{2}
Taylor-Schwarz weighted slope

Where did\ell_i is the length of segment ii, SiS_i is the local slope of segment ii, and L=idiL = \sum_i d\ell_i is the total length. Derived from equating travel time on the actual profile to travel time on an equivalent uniform-slope channel.

Watercourse profile and Time of Concentration

Section titled “Watercourse profile and Time of Concentration”

Every Time-of-Concentration formula takes watercourse length LL and slope SS as primary inputs. The two parameters have very different sensitivities:

  • Length enters linearly or near-linearly (exponents 0.5 – 0.8 depending on formula). A 10% error in LL propagates to a 5 – 8% error in TcT_c.
  • Slope enters through a square root (most formulas) or a 0.385 exponent (SA SCS / SANRAL). A 10% error in SS propagates to a ~5% error in TcT_c for square-root forms, or a ~4% error for the SANRAL form.

The profile tool exists to compute both parameters consistently from a single source of truth. When a profile is linked to a TcT_c calculation, the calculator’s length and slope inputs are auto-filled and locked. Unlinking returns the inputs to manual entry.

If your imported watercourse lacks elevation data (e.g. a 2D shapefile or a watercourse from a watershed delineation), you have two options:

  • Fetch from ESRI. Uses the ESRI ArcGIS Online elevation service to sample elevations along the watercourse geometry. Requires geospatial coordinates (lat/lng). The underlying DEM is a global composite — suitable for most design-flood work, but review results in known terrain before trusting them for sensitive projects.
  • Manual slope. Enter a known slope value (m/m) directly. Useful when you have an independent survey-derived slope and do not need to store an elevation profile.

The provenance of your elevation data matters for watercourse-profile work, especially in flat or low-relief catchments where small elevation errors dominate the computed slope.

DEMNative resolutionBest forCaveats
MERIT-Hydro (Yamazaki et al. 2019)~90 m (3 arc-sec)Regional / national-scale watercourse extraction; catchments > 10 km²Hydrologically-conditioned (pits filled, flow directions derived). Ideal default for South African work. Not suitable for small urban catchments.
SRTM (NASA, 2000)30 m (1 arc-sec)Medium catchments (~1 – 100 km²); general-purpose terrainNot hydro-conditioned — pits, spikes, and vegetation bias common. Noisy profiles require smoothing.
Local LiDAR (national/municipal)1 – 5 mSmall urban catchments, detailed design, flat terrainBest accuracy when available (typically ±0.15 m vertical). Coverage is uneven — often only near cities or large infrastructure corridors.
ESRI World Elevation (tool default)10 – 30 m (composite)Quick profile samplingGlobal mosaic of multiple sources — vertical accuracy varies by region. Good for screening, verify against authoritative DEM for final design.

Real-world DEM-derived profiles are rarely clean. Typical artefacts and how to handle them:

  • Pits (local depressions along the channel). Appear as “notches” in the profile where the DEM has a single-pixel hole. MERIT-Hydro has these filled by default; raw SRTM does not. Fix: use a pit-filled / hydro-conditioned DEM, or post-process by running a monotonic filter (force elevation to be non-increasing downstream).
  • Spikes (noise peaks). Single-pixel elevation overshoots, usually from radar layover in steep terrain or vegetation returns. Fix: apply a median filter over a moving window (5 – 11 points) or manually delete the offending point in the paste-data editor.
  • Flat segments at DEM pixel resolution. When the watercourse follows a single DEM contour for several pixels, the profile appears stair-stepped. Fix: use a higher-resolution DEM, or apply light smoothing (low-pass filter) before slope calculation — note that the 10-85 method is largely insensitive to this.
  • Vegetation bias in SRTM. SRTM is a C-band radar product and returns the canopy top, not the bare earth, under dense forest. Profiles through riparian vegetation show a spurious elevation lift. Fix: use MERIT-Hydro (which corrects for this) or a local bare-earth LiDAR product.
  • Profile reversed (upstream-to-downstream swapped). The elevation chart should descend from left to right. If it ascends, the watercourse was digitised in the wrong direction — click Reverse profile to flip it.

Saved watercourse profiles can be linked to TcT_c calculations in two ways:

  • From the profile page — click Use in Tc Calculator to navigate to a new TcT_c calculation with length and slope pre-filled.
  • From the TcT_c calculator — click Link watercourse profile below the length/slope inputs to select a saved profile.

When a profile is linked, the flow-length and slope inputs are auto-filled from the profile. Unlinking returns the inputs to manual entry. The linkage is persistent: if you re-open the TcT_c calculation later, the inputs still reflect the currently saved state of the linked profile (changes to the profile propagate to downstream calculations).

Consider a main watercourse draining a 350 km² rural catchment in KwaZulu-Natal. The extracted profile has the following chainage-elevation points (abridged from a MERIT-Hydro extraction at 90 m resolution):

Chainage (m)Chainage (% from outlet)Elevation (m)
00% (outlet)320.0
2 00010%340.0
5 00025%415.0
10 00050%560.0
15 00075%720.0
17 00085%790.0
20 000100% (headwater)905.0

Total length L=20,000L = 20{,}000 m (20 km). Total elevation drop ΔH=905320=585\Delta H = 905 - 320 = 585 m.

Step 1 — Conventional average slope.

S  =  ΔHL  =  58520,000  =  0.02925 m/mS \;=\; \frac{\Delta H}{L} \;=\; \frac{585}{20{,}000} \;=\; 0.02925 \ \mathrm{m/m}

Step 2 — 10-85 slope. H10=340H_{10} = 340 m (at 2 000 m), H85=790H_{85} = 790 m (at 17 000 m).

S10-85  =  H85H100.75L  =  7903400.75×20,000  =  45015,000  =  0.0300 m/mS_{10\text{-}85} \;=\; \frac{H_{85} - H_{10}}{0.75\,L} \;=\; \frac{790 - 340}{0.75 \times 20{,}000} \;=\; \frac{450}{15{,}000} \;=\; 0.0300 \ \mathrm{m/m}

Step 3 — Equal-area slope (approximate). The equal-area line through the outlet (320 m) has an upstream intercept zLz_L chosen so the area above/below is balanced. For this profile the line rises more steeply than the conventional-average line because the upper reach is concave (steepening headwater). Numerically, bisection yields zL935z_L \approx 935 m, giving:

Seq-area  =  zLz0L  =  93532020,000  =  0.0308 m/mS_\text{eq-area} \;=\; \frac{z_L - z_0}{L} \;=\; \frac{935 - 320}{20{,}000} \;=\; 0.0308 \ \mathrm{m/m}

Step 4 — Taylor-Schwarz slope. Break the profile into six segments (between consecutive listed points), compute local slope SiS_i and di/Sid\ell_i / \sqrt{S_i} for each, sum, and square:

Segmentdid\ell_i (m)Δzi\Delta z_i (m)SiS_i (m/m)di/Sid\ell_i / \sqrt{S_i}
0 – 2 0002 000200.010020 000
2 000 – 5 0003 000750.025018 974
5 000 – 10 0005 0001450.029029 361
10 000 – 15 0005 0001600.032027 951
15 000 – 17 0002 000700.035010 690
17 000 – 20 0003 0001150.038315 323
Sum20 000585122 299
ST-S  =  (20,000122,299)2  =  (0.1635)2  =  0.0267 m/mS_\text{T-S} \;=\; \left(\frac{20{,}000}{122{,}299}\right)^{2} \;=\; (0.1635)^{2} \;=\; 0.0267 \ \mathrm{m/m}

Step 5 — compare and choose.

MethodSlope (m/m)% vs 10-85
Conventional average0.0293-2%
10-85 (recommended)0.0300
Equal-area0.0308+3%
Taylor-Schwarz0.0267-11%

All four values agree within ~15% — a well-behaved profile. The 10-85 slope of 0.030 m/m is the defensible choice for SANRAL-method TcT_c (the lower Taylor-Schwarz reflects the disproportionate weight given to the mild outlet reach, which is appropriate for travel-time routing but more than SANRAL’s empirical calibration expects).

Substituted into the SANRAL SA SCS formula (see the Rational Method guide):

Tc  =  (0.87L21000Savg)0.385  =  (0.8720210000.030)0.385  =  (11.60)0.385    2.58 hT_c \;=\; \left(\frac{0.87 \cdot L^{2}}{1000 \cdot S_\text{avg}}\right)^{0.385} \;=\; \left(\frac{0.87 \cdot 20^{2}}{1000 \cdot 0.030}\right)^{0.385} \;=\; \left(11.60\right)^{0.385} \;\approx\; 2.58 \ \mathrm{h}

A TcT_c of approximately 2.6 hours — a reasonable value for a 350 km² rural catchment in moderately steep terrain.

  • SANRAL. (2013). Drainage Manual (6th ed.). South African National Roads Agency, Pretoria. Chapter 3 — Hydrology: Section 3.5 (Time of Concentration) and the definition of the 10-85 slope method used for all SANRAL peak-flow calculations.
  • Yamazaki, D., Ikeshima, D., Sosa, J., Bates, P.D., Allen, G.H., Pavelsky, T.M. (2019). MERIT Hydro: A high-resolution global hydrography map based on latest topography dataset. Water Resources Research, 55(6), 5053 – 5073. The hydrologically-conditioned DEM used as the default basis for HydroDesign watershed delineation and watercourse extraction.
  • Chow, V.T. (1959). Open-Channel Hydraulics. McGraw-Hill, New York. Classical treatment of watercourse geometry, slope definitions, and the relationship to channel flow hydraulics.
  • Taylor, A.B. & Schwarz, H.E. (1952). Unit-hydrograph lag and peak flow related to basin characteristics. Transactions of the American Geophysical Union, 33(2), 235 – 246. Original derivation of the inverse-square-root length-weighted slope that bears their name.
  • USGS / NASA. (2000). Shuttle Radar Topography Mission (SRTM) Digital Elevation Data. U.S. Geological Survey, EROS Data Center. Global 30 m DEM; primary input to many national hydrography products.

Open Watercourse Profile