# How to calculate flow duration curve for a set of 12 year data?

Given, discharge data alone for each month in each year, is it possible to calculate the flow duration curve? Some of the discharge values in some months were found to be 0. Do we need to consider those values?

Spreadsheets work well for this.

You have 12×12 observations so use 144+1 = 145 as the number of observations for calculating your probabilities.

Put your discharge data in a column and sort from highest to lowest. Put a column of Rankings next to it and number from 1 up to your maximum (1 to 144). Put a column next to that and calculate your probability of exceeding each discharge value:

P = Ranking×100/145

(P as a percent)

Graph discharge vs. P.

You need to consider your 0 discharge months in determining the number of periods but you don't need to calculate P for them. That's handy if you don't want errors in plotting log discharge vs. P.

• I would recommend moving away from spreadsheets where possible, there are handy scripts already built to do this type of stuff, such as the fdc function in the hydroTSM package in R. That being said, useful to know how to do it manually too. – Rob Aug 17 '17 at 14:26
• R certainly has a lot of power. I actually use an Access database form to extract the data and then it automatically opens Excel and plots the data. Turns out it is much more efficient for plotting the P values than an Access function and the graph can be easily tweaked by users. Whatever gets the job done. – haresfur Aug 17 '17 at 21:40
• I also recommend using a script like R, Python, Matlab and not excel. My datasets are most of the time too large (hourly values for example) for spreadsheets like Excel. But it depends, of course, on your dataset and personal preferences. – 3TW3 Aug 23 '17 at 10:05