You are not logged in. Click here to log in.

Application Lifecycle Management

Search In Project

Search inClear

CFA Flow Duration Curve Analysis#6465/v2
Tags:  not added yet

CFA Flow Duration Curve Analysis[SVC-6465]

Tracker: Services Priority: NormalNormal Status: Deployed
Submitted by: wlloydJan 12 2016 11:03 Modified by: tcwibleJan 27 2016 13:20 Type:
Model
Path: m/cfa/durationcurve Context: csip-cfa Version: 1.0
Endpoints: http://csip.engr.colostate.edu:8082/csip-cfa/m/cfa/durationcurve/1.0
Maintainers:
Website: -- Apps:
--
Test Status:
--
Last Tested: -- Test Count: --
Test Success Rate: -- Failed Tests: --
Traceability
Loading…
Description
Another approach to stream flow data is the application of duration curves; which statistically rank and graph available flow data. The Flow Duration Curve (FDC) tool in CFA graphs Weibull plotting position ranks of river flows on a scale of percent exceedence. Graphing flow values in this way allows for a quick visualization of the variability of flow under the different flow regimes and is useful numerically for thresholds such as the flow rate only exceeded 10% of the time in the historical record. The plotting position used in CFA is a tied-rank max. This means for example if there are 3 observations of a flow value of 30cfs that would normally have ranks 13, 14, and 15 the rank of all three observations is re-set to the maximum rank of the ties, in this case rank 15. In 'duration_curve_graph.jpg' the black line is the duration curve for the entire period of analysis while there is a light grey line for each annual duration curve in the period of analysis. The other results files 'duration_curve_results.txt' and 'flow_statistics.csv' are the non-exceedence ranks for each flow graphed and the same statistical summary file returned from the CFA Time Series Analysis, respectively.

Request Response
{
  "metainfo": {},
  "parameter": [
    {
      "name": "database",
      "description": "the database that the flow station belongs to (CDWR | STORET | USGS)",
      "value": "USGS"
    },
    {
      "name": "org",
      "description": "supervising organization for the station within the database",
      "value": "USGS"
    },
    {
      "name": "station_id",
      "description": "station ID or name abbreviation used to query the specified database",
      "value": "06752280"
    },
    {
      "name": "station_name",
      "description": "Station name",
      "value": "CACHE LA POUDRE RIV AB BOXELDER CRK NR TIMNATH, CO"
    },
    {
      "name": "wq_test",
      "description": "If = 'flow' then a flow duration curve analysis is performed otherwise a load duration curve analysis is performed. Format for ldc wq_test is: '00600 Total nitrogen, water, unfiltered, milligrams per liter -- mg\/L' = '5-digit-USGS-water-quality-test-code test-name -- units'",
      "value": "flow"
    },
    {
      "name": "wq_target",
      "description": "Water Quality Target",
      "unit": "units of wq_test",
      "value": 10
    },
    {
      "name": "begin_date",
      "description": "Begin date of data analysis, blank or formatted yyyy-MM-dd",
      "value": ""
    },
    {
      "name": "end_date",
      "description": "End date of data analysis, blank or formatted yyyy-MM-dd",
      "value": ""
    },
    {
      "name": "season_begin",
      "description": "Begin of Seasonal Analysis, formatted MM-dd (ex. June 1st would be entered as '06-01')",
      "value": "04-01"
    },
    {
      "name": "season_end",
      "description": "End of Seasonal Analysis, formatted MM-dd (ex. June 1st would be entered as '06-01')",
      "value": "09-30"
    },
    {
      "name": "seasonal_only",
      "description": "If 'true' then a seasonal duration curve will be calculated from a 'season' defined by the parameters 'season_begin' and 'season_end'. If 'false' then annual duration curves will be calculated.",
      "value": false
    },
    {
      "name": "period1_begin",
      "description": "Begin date of first period-based analysis (does not need to match data's begin_date). If left blank, no period-based analysis will be performed.",
      "value": ""
    },
    {
      "name": "period1_end",
      "description": "End date of first period-based analysis (does not need to match data's end_date). If left blank, no period-based analysis will be performed.",
      "value": ""
    },
    {
      "name": "period2_begin",
      "description": "Begin date of second period-based analysis (does not need to match data's begin_date). If left blank, no period-based analysis will be performed.",
      "value": ""
    },
    {
      "name": "period2_end",
      "description": "End date of second period-based analysis (does not need to match data's end_date). If left blank, no period-based analysis will be performed.",
      "value": ""
    },
    {
      "name": "period3_begin",
      "description": "Begin date of third period-based analysis (does not need to match data's begin_date). If left blank, no period-based analysis will be performed.",
      "value": ""
    },
    {
      "name": "period3_end",
      "description": "End date of third period-based analysis (does not need to match data's end_date). If left blank, no period-based analysis will be performed.",
      "value": ""
    },
    {
      "name": "highPercentile",
      "description": "The percentile limit for defining 'high' flow pulses for analysis and statistics",
      "unit": "%",
      "value": 0.75
    },
    {
      "name": "lowPercentile",
      "description": "The percentile limit for defining 'low' flow pulses for analysis and statistics",
      "unit": "%",
      "value": 0.25
    },
    {
      "name": "calcFlowStatisticsFileTF",
      "description": "If true, and wq_test == 'flow', then a series of flow statistics will be calculated and returned in a flow statistics file. If false, no flow statistics file is created.",
      "value": true
    },
    {
      "name": "showMonthlyStatsTF",
      "description": "If true, and the 'wq_test' is flow, then monthly flow statistics will be included in the flow-statistics result file If false, only annual and period of record statistics will be included.",
      "value": false
    },
    {
      "name": "mqn_period",
      "description": "Format for m-day average n-year period low flow, ex. 7Q10 = 7-day average 10-year low flow. (7q10 | false) ",
      "value": "false"
    },
    {
      "name": "useSTORETretrieval",
      "description": "If true, a flag that if true uses this tool's built in STORET data retrieval. If false, it uses the data provided for the STORET station in 'STORETdata' which is intended for use by eRAMS only.",
      "value": true
    },
    {
      "name": "STORETdata",
      "description": "String containing user uploaded data with one line header, first column dates (yyyy-mm-dd format), second column flow values in a tab-delimited format if wq_test = 'flow', otherwise it needs to contain this as well as a '$$' delimiter followed by one line header (date,00600 which needs to match the 5-digit USGS water quality code provided in wq_test), first column dates (yyyy-mm-dd format), second column water quality test values in a tab-delimited format. Only used if useSTORETretrieval == 'false' and database == 'STORET'.",
      "value": ""
    },
    {
      "name": "merge_datasets",
      "description": "true if user data is provided and this dataset is to be merged with the public dataset, false if public or user data is to be analyzed alone (not merged)",
      "value": false
    },
    {
      "name": "merge_method",
      "description": "Method of merging the datasets, user data first, public data first, max, ave., min (user | public | max | average | min)",
      "value": "user"
    },
    {
      "name": "user_data",
      "description": "String containing user uploaded data with one line header, first column dates (yyyy-mm-dd format), second column flow values in a tab-delimited format if wq_test = 'flow', otherwise it needs to contain this as well as a '$$' delimiter followed by one line header (date,00600 which needs to match the 5-digit USGS water quality code provided in wq_test), first column dates (yyyy-mm-dd format), second column water quality test values in a tab-delimited format. Only used if merge_datasets == 'true' or database == 'UserData'.",
      "value": ""
    }
  ]
}
{
  "metainfo": {
    "status": "Finished",
    "suid": "7e95b13a-ef57-11e4-89b7-cb6c6596ebd3",
    "cloud_node": "172.1.6.33",
    "tstamp": "2015-04-30 10:39:39",
    "service_url": "http://csip.engr.colostate.edu:8082/csip/m/cfa/durationcurve/1.0",
    "request_ip": "129.82.225.132",
    "cpu_time": 5896,
    "expiration_date": "2015-04-30 10:44:45"
  },
  "parameter": [
    {
      "name": "database",
      "description": "the database that the flow station belongs to (CDWR | STORET | USGS)",
      "value": "USGS"
    },
    {
      "name": "org",
      "description": "supervising organization for the station within the database",
      "value": "USGS"
    },
    {
      "name": "station_id",
      "description": "station ID or name abbreviation used to query the specified database",
      "value": "06752280"
    },
    {
      "name": "station_name",
      "description": "Station name",
      "value": "CACHE LA POUDRE RIV AB BOXELDER CRK NR TIMNATH, CO"
    },
    {
      "name": "wq_test",
      "description": "If = 'flow' then a flow duration curve analysis is performed otherwise a load duration curve analysis is performed. Format for ldc wq_test is: '00600 Total nitrogen, water, unfiltered, milligrams per liter -- mg/L' = '5-digit-USGS-water-quality-test-code test-name -- units'",
      "value": "flow"
    },
    {
      "name": "wq_target",
      "description": "Water Quality Target",
      "unit": "units of wq_test",
      "value": 10
    },
    {
      "name": "begin_date",
      "description": "Begin date of data analysis, blank or formatted yyyy-MM-dd",
      "value": ""
    },
    {
      "name": "end_date",
      "description": "End date of data analysis, blank or formatted yyyy-MM-dd",
      "value": ""
    },
    {
      "name": "season_begin",
      "description": "Begin of Seasonal Analysis, formatted MM-dd (ex. June 1st would be entered as '06-01')",
      "value": "04-01"
    },
    {
      "name": "season_end",
      "description": "End of Seasonal Analysis, formatted MM-dd (ex. June 1st would be entered as '06-01')",
      "value": "09-30"
    },
    {
      "name": "seasonal_only",
      "description": "If 'true' then a seasonal duration curve will be calculated from a 'season' defined by the parameters 'season_begin' and 'season_end'. If 'false' then annual duration curves will be calculated.",
      "value": false
    },
    {
      "name": "period1_begin",
      "description": "Begin date of first period-based analysis (does not need to match data's begin_date). If left blank, no period-based analysis will be performed.",
      "value": ""
    },
    {
      "name": "period1_end",
      "description": "End date of first period-based analysis (does not need to match data's end_date). If left blank, no period-based analysis will be performed.",
      "value": ""
    },
    {
      "name": "period2_begin",
      "description": "Begin date of second period-based analysis (does not need to match data's begin_date). If left blank, no period-based analysis will be performed.",
      "value": ""
    },
    {
      "name": "period2_end",
      "description": "End date of second period-based analysis (does not need to match data's end_date). If left blank, no period-based analysis will be performed.",
      "value": ""
    },
    {
      "name": "period3_begin",
      "description": "Begin date of third period-based analysis (does not need to match data's begin_date). If left blank, no period-based analysis will be performed.",
      "value": ""
    },
    {
      "name": "period3_end",
      "description": "End date of third period-based analysis (does not need to match data's end_date). If left blank, no period-based analysis will be performed.",
      "value": ""
    },
    {
      "name": "highPercentile",
      "description": "The percentile limit for defining 'high' flow pulses for analysis and statistics",
      "unit": "%",
      "value": 0.75
    },
    {
      "name": "lowPercentile",
      "description": "The percentile limit for defining 'low' flow pulses for analysis and statistics",
      "unit": "%",
      "value": 0.25
    },
    {
      "name": "calcFlowStatisticsFileTF",
      "description": "If true, and wq_test == 'flow', then a series of flow statistics will be calculated and returned in a flow statistics file. If false, no flow statistics file is created.",
      "value": true
    },
    {
      "name": "showMonthlyStatsTF",
      "description": "If true, and the 'wq_test' is flow, then monthly flow statistics will be included in the flow-statistics result file If false, only annual and period of record statistics will be included.",
      "value": false
    },
    {
      "name": "mqn_period",
      "description": "Format for m-day average n-year period low flow, ex. 7Q10 = 7-day average 10-year low flow. (7q10 | false) ",
      "value": "false"
    },
    {
      "name": "useSTORETretrieval",
      "description": "If true, a flag that if true uses this tool's built in STORET data retrieval. If false, it uses the data provided for the STORET station in 'STORETdata' which is intended for use by eRAMS only.",
      "value": true
    },
    {
      "name": "STORETdata",
      "description": "String containing user uploaded data with one line header, first column dates (yyyy-mm-dd format), second column flow values in a tab-delimited format if wq_test = 'flow', otherwise it needs to contain this as well as a '$$' delimiter followed by one line header (date,00600 which needs to match the 5-digit USGS water quality code provided in wq_test), first column dates (yyyy-mm-dd format), second column water quality test values in a tab-delimited format. Only used if useSTORETretrieval == 'false' and database == 'STORET'.",
      "value": ""
    },
    {
      "name": "merge_datasets",
      "description": "true if user data is provided and this dataset is to be merged with the public dataset, false if public or user data is to be analyzed alone (not merged)",
      "value": false
    },
    {
      "name": "merge_method",
      "description": "Method of merging the datasets, user data first, public data first, max, ave., min (user | public | max | average | min)",
      "value": "user"
    },
    {
      "name": "user_data",
      "description": "String containing user uploaded data with one line header, first column dates (yyyy-mm-dd format), second column flow values in a tab-delimited format if wq_test = 'flow', otherwise it needs to contain this as well as a '$$' delimiter followed by one line header (date,00600 which needs to match the 5-digit USGS water quality code provided in wq_test), first column dates (yyyy-mm-dd format), second column water quality test values in a tab-delimited format. Only used if merge_datasets == 'true' or database == 'UserData'.",
      "value": ""
    }
  ],
  "result": [
    {
      "name": "flow_len",
      "value": "12978"
    },
    {
      "name": "flow_median",
      "value": "11.0",
      "unit": "cfs"
    },
    {
      "name": "flow_mean",
      "value": "143.614",
      "unit": "cfs"
    },
    {
      "name": "flow_len_period1",
      "value": "0"
    },
    {
      "name": "flow_len_period2",
      "value": "0"
    },
    {
      "name": "flow_len_period3",
      "value": "0"
    },
    {
      "name": "wq_len",
      "value": "-1"
    },
    {
      "name": "wq_units",
      "value": "?"
    },
    {
      "name": "start",
      "value": "1979-10-01"
    },
    {
      "name": "end",
      "value": "2015-04-29"
    },
    {
      "name": "duration_curve_summary",
      "value": "Flow Duration Curve Overview: \n\nA flow duration curve (FDC) is the ranked graphing of river flows on a scale of percent exceedance.  For example a flow value associated with the flow interval of 15% means that particular flow value is met or exceeded only 15% of the time.  This graph is meant to give a quick overview of the flow ranges, variability, and probability of flows of a river segment during the different flow periods of a river; which are High Flows from 0 to 10 percent flow interval, Moist Conditions 10-40, Mid-Range Flows 40-60, Dry Conditions 60-90, and Low Flows 90-100 (Cleland 2003).\nThe grey graphed lines are duration curves for each individual year within the analysis period or 'annual flow duration curves'.\nReferences:\nStream flow data and water quality test data retrieved from the U.S. Geological Survey, National Water Information System: Web Interface. http://waterdata.usgs.gov/nwis, accessed: 2015-04-30 10:39\nCleland, B. R. November 2003. TMDL Development from the 'Bottom Up' Part III: Duration Curves and Wet-Weather Assessments. National TMDL Science and Policy 2003.\nCleland, B. R. August 2007. An Approach for Using Load Duration Curves in the Development of TMDLs. National TMDL Science and Policy 2007."
    },
    {
      "name": "duration_curve_table",
      "value": "Exceedance Percentile\tFlow (cfs)\tPeriod 1 Flow (cfs)\tPeriod 2 Flow (cfs)\tPeriod 3 Flow (cfs)\n99\t1.3\t-1.0\t-1.0\t-1.0\n95\t2.11\t-1.0\t-1.0\t-1.0\n90\t2.62\t-1.0\t-1.0\t-1.0\n75\t4.5\t-1.0\t-1.0\t-1.0\n50\t11.95\t-1.0\t-1.0\t-1.0\n25\t84.58\t-1.0\t-1.0\t-1.0\n10\t278.1\t-1.0\t-1.0\t-1.0\n5\t681.1\t-1.0\t-1.0\t-1.0\n1\t2466.6\t-1.0\t-1.0\t-1.0"
    },
    {
      "name": "data_source",
      "value": "Stream flow data and water quality test data retrieved from the U.S. Geological Survey, National Water Information System: Web Interface. http://waterdata.usgs.gov/nwis, accessed: 2015-04-30 10:39"
    },
    {
      "name": "mqn_val",
      "value": -1,
      "unit": "cfs"
    },
    {
      "name": "low_flow_error_message",
      "value": ""
    },
    {
      "name": "graph",
      "value": "duration_curve_graph.jpg"
    },
    {
      "name": "result_file",
      "value": "duration_curve_results.txt"
    },
    {
      "name": "flow_statistics_summary",
      "value": "flow_statistics.csv"
    },
    {
      "name": "graph_data_files",
      "value": "duration_curve_graph.out"
    },
    {
      "name": "duration_curve_graph.jpg",
      "value": "http://csip.engr.colostate.edu:8082/csip/q/7e95b13a-ef57-11e4-89b7-cb6c6596ebd3/duration_curve_graph.jpg"
    },
    {
      "name": "duration_curve_results.txt",
      "value": "http://csip.engr.colostate.edu:8082/csip/q/7e95b13a-ef57-11e4-89b7-cb6c6596ebd3/duration_curve_results.txt"
    },
    {
      "name": "flow_statistics.csv",
      "value": "http://csip.engr.colostate.edu:8082/csip/q/7e95b13a-ef57-11e4-89b7-cb6c6596ebd3/flow_statistics.csv"
    },
    {
      "name": "duration_curve_graph.out",
      "value": "http://csip.engr.colostate.edu:8082/csip/q/7e95b13a-ef57-11e4-89b7-cb6c6596ebd3/duration_curve_graph.out"
    }
  ]
}
Files to attach:
(none)
Files to fetch:
duration_curve_graph.jpg; duration_curve_results.txt flow_statistics.csv

Details
Comments & Attachments
Associations
Children
SCM Commits
History (2)
Baselines
All (2)