fdc {hydroTSM}  R Documentation 
Computes and plots the Flow Duration Curve (FDC) corresponding to a given time series of streamflow discharges.
fdc(x, ...) ## Default S3 method: fdc(x,lQ.thr=0.7,hQ.thr=0.2, plot=TRUE, log="y", main="Flow Duration Curve", xlab="% Time flow equalled or exceeded", ylab="Q, [m3/s]", ylim, yat=c(0.01, 0.1, 1), xat=c(0.01, 0.025, 0.05), col="black", pch=1, lwd=1, lty=1, cex=0.4, cex.axis=1.2, cex.lab=1.2, leg.txt=NULL, leg.cex=1, leg.pos="topright", verbose= TRUE, thr.shw=TRUE, new=TRUE, ...) ## S3 method for class 'matrix' fdc(x, lQ.thr=0.7, hQ.thr=0.2, plot=TRUE, log="y", main= "Flow Duration Curve", xlab="% Time flow equalled or exceeded", ylab="Q, [m3/s]", ylim, yat=c(0.01, 0.1, 1), xat=c(0.01, 0.025, 0.05), col=palette("default")[1:ncol(x)], pch=1:ncol(x), lwd=rep(1, ncol(x)), lty=1:ncol(x), cex=0.4, cex.axis=1.2, cex.lab=1.2, leg.txt=NULL, leg.cex=1, leg.pos="topright",verbose=TRUE, thr.shw=TRUE, new=TRUE, ...) ## S3 method for class 'data.frame' fdc(x, lQ.thr=0.7, hQ.thr=0.2, plot=TRUE, log="y", main= "Flow Duration Curve", xlab="% Time flow equalled or exceeded", ylab="Q, [m3/s]", ylim, yat=c(0.01, 0.1, 1), xat=c(0.01, 0.025, 0.05), col=palette("default")[1:ncol(x)], pch=1:ncol(x), lwd=rep(1, ncol(x)), lty=1:ncol(x), cex=0.4, cex.axis=1.2, cex.lab=1.2, leg.txt=NULL, leg.cex=1, leg.pos="topright", verbose=TRUE, thr.shw=TRUE, new=TRUE, ...) ## S3 method for class 'zoo' fdc(x, lQ.thr=0.7, hQ.thr=0.2, plot=TRUE, log="y", main= "Flow Duration Curve", xlab="% Time flow equalled or exceeded", ylab="Q, [m3/s]", ylim, yat=c(0.01, 0.1, 1), xat=c(0.01, 0.025, 0.05), col=palette("default")[1:NCOL(x)], pch=1:NCOL(x), lwd=rep(1, NCOL(x)), lty=1:NCOL(x), cex=0.4, cex.axis=1.2, cex.lab=1.2, leg.txt=NULL, leg.cex=1, leg.pos="topright", verbose=TRUE, thr.shw=TRUE, new=TRUE, ...)
x 
numeric, zoo, data.frame or matrix object with the observed streamflows for which the flow duration curve have to be computed. 
lQ.thr 
numeric, lowflow separation threshold. If this value is different from NA, a vertical line is drawn in this value, and all the values to the right of it should be deemed as low flows. Default value is 0.7. 
hQ.thr 
numeric, highflow separation threshold. If this value is different from NA, a vertical line is drawn in this value, and all the values to the left of it should br deemed as high flows. Default value is 0.2. 
plot 
logical. Indicates if the flow duration curve should be plotted or not. Default value is TRUE. 
log 
character, indicates which axis has to be plotted with a logarithmic scale. Default value is y 
main 

xlab 
A title for the x axis. See 
ylab 
A title for the y axis. See 
ylim 
The y limits of the plot. See 
yat 
Only used when 
xat 
Only used when 
col 
The colors to be used for lines and points. Multiple colors can be specified so that each point can be given its own color. If there are fewer colors than points they are recycled in the standard fashion. Lines will all be plotted in the first colour specified. See 
pch 
A vector of plotting characters or symbols: see 
lwd 
The line width, see 
lty 
The line type, see 
cex 
See 
cex.axis 
magnification of axis annotation relative to 'cex'. 
cex.lab 
Magnification to be used for x and y labels relative to the current setting of 'cex'. See '?par'. 
leg.txt 
vector with the names that have to be used for each column of 
leg.cex 
numeric, indicating the character expansion factor for the legend, *relative* to current 
leg.pos 
keyword to be used to position the legend. One of the list ‘"bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right", "center"’. This places the legend on the inside of the plot frame at the given location. See 
verbose 
logical; if TRUE, progress messages are printed (when 
thr.shw 
logical, indicating if the streamflow values corresponding to the userdefined thresholds 
new 
logical, if TRUE (default), a new plotting window is created. 
... 
further arguments passed to or from other methods (to the plotting functions) 
numeric, matrix or data.frame whose columns contains the % of time each one of the streamflow magnitudes given as input was equalled or exceeded. The resulting values have to be multiplied by 100 to get a percentage.
When plot
is TRUE (default), the resulting flow duration curve is plotted in a new window.
Mauricio ZambranoBigiarini, mzb.devel@gmail
Vogel, R., and N. M. Fennessey (1994), Flow duration curves I: A new interpretation and confidence intervals, ASCE, Journal of Water Resources Planning and Management, 120(4).
Vogel, R., and N. Fennessey (1995), Flow duration curves II: A review of applications in water resources planning, Water Resources Bulletin, 31(6), 10291039, doi:10.1111/j.17521688.1995.tb03419.x.
Yilmaz, K. K., H. V. Gupta, and T. Wagener (2008), A processbased diagnostic approach to model evaluation: Application to the NWS distributed hydrologic model, Water Resour. Res., 44, W09417, doi:10.1029/2007WR006716.
## Loading daily streamflows at the station Oca en Ona (Ebro River basin, Spain) ## data(OcaEnOnaQts) ## Daily Flow Duration Curve fdc(OcaEnOnaQts) ################### # Getting the streamflow values corresponding to 5 and 95% of time equalled or # exceeded (and also the first streamflow value in 'x' just for verification) x < OcaEnOnaQts # First streamflow value (x1=42.1 m3/s) x1 < x[1] # Daily FDC for 'x' y < fdc(x) # value of the FDC for x1 (y1=0.002739726) y1 < y[1] # Performing cubic (or Hermite) spline interpolation of 'x' and 'y' f < splinefun(y,x) # Getting the (known) streamflow value for 'y1' f(y1) # 42.1 m3/s, equal to the known 'x1' # Streamflow values corresponding to 5 and 95% of time equalled or exceeded f(c(.05, .95)) ################### ## Getting data(OcaEnOnaQts) ## Daily Flow Duration Curve fdc(OcaEnOnaQts)