Unit Hydrograph

For the estimation of precipitation runoff, several kinds of Unithydrograph subroutines are available here.

1. Unitgraph Clark
2. Unitgraph Snyder
3. Unitgraph SCS

1. Unitgraph Clark

Unitgraph Clark is one of the synthetic unit hydrographs and it is based on the linear reservoir model.

4.1 UnitgraphClark Clark unit Hydrograph
Purpose:                
Computes ordinates for Clark unit hydrograph.
Calling Sequence:              
CALL UnitgraphClark (timeInterval, timeOfConcentration, storageTime, basinArea, basinShape, numberTimeAccumBasinArea,    timeAccumBasinArea, maxNumberUnitgraphOrd, numberUnitgraphOrd, unitgraphOrd, errorCode, errorMessage )
Declarations:              
INTEGER TIMEINTERVAL
DOUBLE PRECISION TIMEOFCONCENTRATION, STORAGETIME
DOUBLE PRECISION BASINAREA
INTEGER BASINSHAPE
INTEGER NUMBERTIMEACCUMBASINAREA
DOUBLE PRECISION TIMEACCUMBASINAREA(NUMBERTIMEACCUMBASINAREA)
INTEGER MAXNUMBERUNITGRAPHORD, NUMBERUNITGRAPHORD
DOUBLE PRECISION UNITGRAPHORD(MAXNUMBERUNITGRAPHORD)
INTEGER*4 ERRORCODE
CHARACTER ERRORMESSAGE*80
Augument Description:            
TIMEINTERVAL (Input) Time interval, minutes.
TIMEOFCONCENTRATION (Input) Time of concentration, hours
STORAGETIME (Input) Storage time forlinear reservoir, hours
BASINAREA (Input) Basin area, square kilometers.
BASINSHAPE (Input) Basin shape index. IfbasinShape is 0 or less, use
values in timeAccunlBasinArea array to determine area vs. time relation. See description of FUNCTION
synTimeAccunlBasinArea for other values.
NUMBERTIMEACCUMBASINAREA (Input) Number of values in timeAccumBasinArea array.
TIMEACCUMBASINAREA (Input) Area contributing to subbasin runoff at the end of
evenly spaced time intervals. These values can be in
any units; each value is divided by the last value in the
array.
MAXNUMBERUNITGRAPHORD (Input) Maximum number of unit hydrograph ordinates.
NUMBERUNITGRAPHORD (Output) Number of unit hydrograph ordinates.
UNITGRPAHORD (Output) Unit hydro graph ordinates, m3/s per mm of excess.
ERRORCODE (Output) Coded integer indicating error number, severity and
subroutine name. See subroutine DecodeErrorCode.
ERRORMESSAGE (Output) Error message. See Remarks.
REMARKS
Unit excess is distributed in time according to the area vs. time relation. This excess is routed through a linear reservoir until the total volume is 0.995 of the excess. The unit hydrograph ordinates are then adjusted so the total volume is equal to the unit excess.
Error severity errorMessage
0 0
1 2 Time of concentration increased to one time interval: xxx hr
2 2 Clark storage parameter increased to 0.5 time interval: xxx hr
11 4 Unit hydrograph volume is less than 0.97 basin-mm: xxx
12 4 Unit hydrograph is longer than available array size: nnn nnn
13 4 Accumulated time vs. basin area was not specified
Subroutines called
SynTimeAccumBasinArea

<Download UHClark.xls>

2. Unitgraph Snyder

Snyder Unitgraph is one of the synthetic unitgraphs. Its characteristics is related to watershed characteristics.

<Users Manual>

4.2 UnitgraphSnyder Snyder Unit Hydrograph
Purpose:                
Computes ordinates for Snyder unit hydrograph.
Calling Sequence:              
CALL UnitgraphSnyder (timeInterval, snyderLag, snyderCp, basinArea, basinShape, numberTimeAccumBasinArea, timeAccunlBasinArea, maxNumberUnitgraphOrd, numberUnitgraphOrd, unitgraphOrd, timeOfConcentration, storageTime, errorCode, errorMessage )
Declarations:              
INTEGER TIMEINTERVAL
DOUBLE PRECISION SNYDERLAG, SNYDERCP
DOUBLE PRECISION BASINAREA
INTEGER BASINSHAPE
INTEGER NUMBERTIMEACCUMBASINAREA
DOUBLE PRECISION TIMEACCUMBASINAREA(NUMBERTIMEACCUMBASINAREA)
INTEGER MAXNUMBERUNITGRAPHORD, NUMBERUNITGRAPHORD
DOUBLE PRECISION UNITGRAPHORD(MAXNUMBERUNITGRAPHORD)
DOUBLE PRECISION TIMEOFCONCENTRATION, STORAGETIME
INTEGER*4 ERRORCODE
CHARACTER ERRORMESSAGE*80
Augument Description:            
TIMEINTERVAL (Input) Time interval, minutes.
SNYDERLAG (Input) Snyder's standard lag, Tp, hours.
SNYDERCP (Input) Snyder's Cp.
BASINAREA (Input) Basin area, square kilometers.
BASINSHAPE (Input) Basin shape index. IfbasinShape is 0 or less, use
values in timeAccunlBasinArea array to determine area vs. time relation. See description of FUNCTION
synTimeAccunlBasinArea for other values.
NUMBERTIMEACCUMBASINAREA (Input) Number of values in timeAccumBasinArea array.
TIMEACCUMBASINAREA (Input) Area contributing to subbasin runoff at the end of
evenly spaced time intervals. These values can be in
any units; each value is divided by the last value in the
array.
MAXNUMBERUNITGRAPHORD (Input) Maximum number of unit hydro graph ordinates.
NUMBERUNITGRAPHORD (Output) Number of unit hydrograph ordinates.
UNITGRPAHORD (Output) Unit hydro graph ordinates, m3/s per mm of excess.
TIMEOFCONCENTRATION (Output) Time of concentration from Clark method, hours
STORAGETIME (Output) Basin storage time from Clark method, hours.
ERRORCODE (Output) Coded integer indicating error number, severity and
subroutine name. See subroutine DecodeErrorCode.
ERRORMESSAGE (Output) Error message. See Remarks.
REMARKS
Uses subroutine UnitgraphClark to compute unit hydrograph. Clark timeOfConcentration and
storageTime are estimated from Snyder parameters, and Clark unit hydrographs are computed until
estimated lag and Cp are within one percent of the given Snyder parame
Error severity errorMessage
0 0
1 2 Time of concentration increased to one time interval: xxx hr
2 2 Clark storage parameter increased to 0.5 time interval: xxx hr
6 2 Clark unitgraph does not converge to Snyder parameters
11 4 Unit hydrograph volume is less than 0.97 basin-mm: xxx
12 4 Unit hydrograph is longer than available array size: nnn nnn
13 4 Accumulated time vs. basin area was not specified
14 4 Snyder Cp is less than or equal to zero: xxx
Subroutines called
UnitgraphClark
SnyderParameters

<Download Snyder.xls>

3. SCS Dimensionless Hydrograph

SCS dimensionless hydrograph is a synthetic unithydrograph. The discharge is expressed by the ratio of discharte q to peak qp and the time by the ratio of time t to the time of rise of the unit hydrograph, Tp


4.3 UnitgraphSCS SCS Dimensionless Unit Hydrograph
Purpose:                
Computes ordinates for using the SCS dimensionless unit hydrograph.
Calling Sequence:              
CALL UnitgraphSCS (timeInterval, lag, basinArea, maxNumberUnitgraphOrd, numberUnitgraphOrd, unitgraphOrd, errorCode, errorMessage )
Declarations:              
INTEGER TIMEINTERVAL
DOUBLE PRECISION lag
DOUBLE PRECISION BASINAREA
INTEGER MAXNUMBERUNITGRAPHORD, NUMBERUNITGRAPHORD
DOUBLE PRECISION UNITGRAPHORD(MAXNUMBERUNITGRAPHORD)
INTEGER*4 ERRORCODE
CHARACTER ERRORMESSAGE*80
Augument Description:            
TIMEINTERVAL (Input) Time interval, minutes.
LAG (Input) SCS lag time, hours.
STORAGETIME (Input) Storage time forlinear reservoir, hours
BASINAREA (Input) Basin area, square kilometers.
MAXNUMBERUNITGRAPHORD (Input) Maximum number of unit hydrograph ordinates.
NUMBERUNITGRAPHORD (Output) Number of unit hydrograph ordinates.
UNITGRPAHORD (Output) Unit hydro graph ordinates, m3/s per mm of excess.
ERRORCODE (Output) Coded integer indicating error number, severity and
subroutine name. See subroutine DecodeErrorCode.
ERRORMESSAGE (Output) Error message. See Remarks.
REMARKS
Unit hydrograph ordinates are adjusted so the total volume is equal to 1 mm excess over the basin area.
Error severity errorMessage
0 0
4 2 Time interval is greater than 0.29*lag
5 2 Unitgraph truncated from nnn ordinates to nnn ordinates.
11 4 Unit hydrograph volume is less than 0.97 basin-mm: xxx
Subroutines called
IntrpolateLinear


<Download UHSCS.xls>