COMPUTATION -- Errors in flow-duration-curve computations 

In Reply Refer To: 
Mail Stop 415                                 July 20, 2000 


Subject: COMPUTATION -- Errors in flow-duration-curve computations 

This memorandum identifies solutions to two problems recently reported in 
computation of flow-duration curves.   The problems were detected as a 
result of re-computation of monthly flow-duration curves for a 
discontinued gage.  The first problem that was noticed was that, although 
the station had been discontinued, and no new data had been obtained, the 
duration-curve percentiles computed by the Adaps DVSTAT program differed 
from those computed several years before by the Watstore A969 (DVSTAT) 
program.   The differences were small but noticeable and larger than 
seemed reasonable given that there had been no change in the underlying 
data.  It also was noticed that in several duration curves the computed 
percentiles were all equal for several adjacent percentage values (e.g., 
in one case, the 40th, 45th, and 50th percentiles all were equal to 2.0).  
The number of such cases seemed larger than might be expected.  Inspection 
of the computed duration tables (tables of class-limit flow values, class 
counts, and exceedance counts and percentages) and manual interpolation 
confirmed that the computed percentiles were incorrect and, in fact, equal 
to the lower limit of the class interval.  The computed percentiles had 
been used by a cooperator for low-flow permitting, and some of the values 
had been contested.  The Office of Surface Water was asked to investigate. 

The problems were investigated primarily by careful reading of the Fortran 
computer codes for the Watstore and Adaps programs.   The investigation 
showed that the first problem affects duration curves computed by the old 
(now obsolete) Watstore program A969 (DVSTAT); the second affects duration 
curves computed by the current Adaps program DVSTAT.  Both errors affect 
only the interpolated duration-curve percentiles; the computed duration 
tables appear to be correct.  The errors are relatively minor in 
magnitude, and do not seem likely to materially affect the use or 
interpretation of the computed results or to require a general revision of 
published results.  Additional information on the two errors is given 
below so that Districts can decide on a case-by-case basis when 
recomputation or revision is necessary.  The obsolete Watstore program 
will not be corrected.  The error in the Adaps DVSTAT program has been 
corrected as of NWIS release 3_2 Patch 5, released July 2000. 

Both the Watstore A969 and Adaps DVSTAT programs compute the 
duration-curve percentiles by linear interpolation between class limits in 
the duration table, using forms of the following equation: 

      y  =  y0 + ( (p-p0)/(p1-p0) )*(y1-y0) 
         =  y0 + ( (p*N - N0)/(N1-N0) )*(y1-y0) 

in which y and p are the flow and percentage values at the specified 
percentile, N is the total number of observations, and y0, y1, N0, N1, p0, 
and p1 are the flows, exceedance counts, and percentages at the adjacent 
class limits of the duration table.   The first form of the equation is 
recognizable as the standard formula for linear interpolation in the curve 
defined by the flow and percentage values at the class limits.  The second 
form is mathematically equivalent to the first, involving only  
multiplication of all percentages in the numerator and denominator of the 
fraction by the common factor N.   Both errors are the result of incorrect 
use of integer arithmetic in evaluating this formula. 

The Watstore computation used the second form of the equation, involving 
exceedance counts, and incorrectly rounded off the p*N term to the nearest 
integer value.  The resulting error in p*N can be as much as 0.5, which 
results in an error in the interpolated percentile y of 

      delta y  =  (0.5/ni)*(y1-y0) 

where ni (=(N1-N0)) is the number of observations in the class and (y1-y0) 
is the width of the class interval.   If the number of observations in the 
class is very small, the error may be a substantial fraction of the class 
interval width, and if the class interval is wide, the error may be 
noticeable.   In most cases, however, the record lengths, total number of 
daily flows, and standard percentile percentages are such that the number 
of observations in the class will be relatively large and the error 
correspondingly small.  The main exceptions are likely to occur for very 
short records or for monthly duration curves (in which the total number of 
observations is only 1/12 that for an annual curve).   In fact, the 
problem was noted in monthly duration curves for a 13-year record; the 
errors ranged from about 0.2 cfs at about 4 cfs (95 pct exceedance) to 
about 2 cfs at 100 cfs (5 pct exceedance).  For long records and/or annual 
duration curves, the effects of the rounding in N*p should be minor if not 

The Adaps DVSTAT program used the first form of the interpolation equation 
but incorrectly truncated the class width (y1-y0) to the next lower 
integer, INT(y1-y0).   Thus, if the class width was less than 1, the lower 
class limit, y0, was returned as the computed value of the interpolated 
percentile.  If the class width was between 1 and 2, the value 1 was used 
in the interpolation, and so on.  The truncated value may be in error by 
as much as 1 unit.  Thus, the interpolated percentile may be in error by 
as much as the class width when the class width is less than 1, by 1/2 
class width when the width is between 1 and 2, by 1/3 class width when the 
width is between 2 and 3, and so on.  The error is relatively small when 
the class width is much greater than 1.  Thus, the error is of most 
significance at the lower tail of the duration curve.  In all cases, the 
erroneous computation yields lower values of the percentage points than 
the correct computation.  Thus, the error seems unlikely to adversely 
affect the reliability of designs and plans based on the computed low-flow 
percentage points.  Nonetheless, it is recommended that any future 
requests for flow-duration percentiles be satisfied by recomputing the 
duration curves using the corrected DVSTAT program. 


                               Thomas H. Yorke 
                               Chief, Office of Surface Water 

Distribution:  A, B, FO, PO 

Thomas H. Yorke
Chief, Office of Surface Water
U. S. Geological Survey
415 National Center
Reston, VA 20192

Voice: 703-648-5305
Fax: 703-648-5722