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

Application Lifecycle Management

Search In Project

Search inClear

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

CFA Flow Duration Curve Analysis[SERVICE-6465]

Tracker: Services Priority: NormalNormal Status: Deployed
Submitted by: wlloydJan 12 2016 11:03 Modified by: tcwibleFeb 28 2019 14:39 Type:
Model
Path: m/cfa/durationcurve Context: csip-cfa Version: 1.0
Endpoints: http://csip.engr.colostate.edu:8088/csip-cfa/m/cfa/durationcurve/1.0
Maintainers:
Website: http://onewatersolutions.com/our-software/tools/water-quality 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.

References:

Baker, David B., Peter Richards, Timothy T. Loftus, and Jack W. Kramer. 2004. "A New Flashiness Index: Characteristics and Applications to Midwestern Rivers and Streams." Journal of the American Water Resources Association (JAWRA). April 2004:503-522

Castellarin, A., G. Galeati, L. Brandimarte, A. Montanari, and A. Brath. 2004. Regional Flow-Duration Curves: Reliability for Ungauged Basins. Advances in Water Resources. 27:953-965.

Cleland, B. R. November 2003. "TMDL Development from the 'Bottom Up' - Part III: Duration Curves and Wet-Weather Assessments." National TMDL Science and Policy 2003.

Cleland, B. R. August 2007. "An Approach for Using Load Duration Curves in the Development of TMDLs." National TMDL Science and Policy 2007.

Hirsch, Robert M., Dennis R. Helsel, Timothy A. Cohn, and Edward J. Gilroy. 1993. "Chapter 17: Statistical Analysis of Hydrologic Data." The McGraw Hill Handbook of Hydrology. D. R. Maidment, ed., McGraw-Hill New York

Smakhtin, V.U. 2000. Low Flow Hydrology: A Review. Journal of Hydrology. 240:147-186.

Notes about "wq_test":

- wq_test should be set to "flow" for flow duration curve calculations

Notes about Data Sources:

- All Data sources are accessed through the csip-lib-water library

- USGS Data extracted from the National Water Information System (NWIS) by encoded url (i.e. station id, begin/end dates, parameter type): https://help.waterdata.usgs.gov/faq/automated-retrievals

- STORET Data extracted from the Water Quality Data Portal (by the National Water Quality Monitoring Council) Web Services: https://www.waterqualitydata.us/webservices_documentation/

- CDWR Data extracted from the Colorado Decision Support System (CDSS) REST Services: http://dnrweb.state.co.us/dwr/dwrapiservice/help#TechInfoHelp&#All&#gettingstarted&#jsonxml

{
  "metainfo": {},
  "parameter": [
    {
      "name": "database",
      "description": "the database that the flow station belongs to (CDWR | STORET | USGS)",
      "value": "USGS"
    },
    {
      "name": "org_id",
      "description": "The ID for the supervising organization for the station within the STORET database (only used if database = 'STORET')",
      "value": "n\/a"
    },
    {
      "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": "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": "80a55bc6-d980-11e5-988e-d50c6a6daebf",
    "cloud_node": "172.1.6.246",
    "tstamp": "2016-02-22 09:22:44",
    "service_url": "http://csip.engr.colostate.edu:8082/csip-cfa/m/cfa/durationcurve/1.0",
    "request_ip": "10.2.228.70",
    "cpu_time": 5184,
    "expiration_date": "2016-02-22 09:23:19"
  },
  "parameter": [
    {
      "name": "database",
      "description": "the database that the flow station belongs to (CDWR | STORET | USGS)",
      "value": "USGS"
    },
    {
      "name": "org_id",
      "description": "The ID for the supervising organization for the station within the STORET database (only used if database = 'STORET')",
      "value": "n/a"
    },
    {
      "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": "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": "13270"
    },
    {
      "name": "flow_median",
      "value": "12.0",
      "unit": "cfs"
    },
    {
      "name": "flow_mean",
      "value": "151.83",
      "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": "2016-02-21"
    },
    {
      "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: 2016-02-22 09:22\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.31\t-1.0\t-1.0\t-1.0\n95\t2.12\t-1.0\t-1.0\t-1.0\n90\t2.63\t-1.0\t-1.0\t-1.0\n75\t4.5\t-1.0\t-1.0\t-1.0\n50\t12.24\t-1.0\t-1.0\t-1.0\n25\t89.02\t-1.0\t-1.0\t-1.0\n10\t290.5\t-1.0\t-1.0\t-1.0\n5\t753.5\t-1.0\t-1.0\t-1.0\n1\t2575.33\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: 2016-02-22 09:22"
    },
    {
      "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-cfa/q/80a55bc6-d980-11e5-988e-d50c6a6daebf/duration_curve_graph.jpg"
    },
    {
      "name": "duration_curve_results.txt",
      "value": "http://csip.engr.colostate.edu:8082/csip-cfa/q/80a55bc6-d980-11e5-988e-d50c6a6daebf/duration_curve_results.txt"
    },
    {
      "name": "flow_statistics.csv",
      "value": "http://csip.engr.colostate.edu:8082/csip-cfa/q/80a55bc6-d980-11e5-988e-d50c6a6daebf/flow_statistics.csv"
    },
    {
      "name": "duration_curve_graph.out",
      "value": "http://csip.engr.colostate.edu:8082/csip-cfa/q/80a55bc6-d980-11e5-988e-d50c6a6daebf/duration_curve_graph.out"
    }
  ]
}
 (none)
 duration_curve_graph.jpg; duration_curve_results.txt flow_statistics.csv
Details
Comments & Attachments
Associations
Children
SCM Commits
History (8)
Baselines
All (8)

 
No data to display.