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

Application Lifecycle Management

Search In Project

Search inClear

CFA Load Duration Curve Analysis#6466/v2
Tags:  not added yet

CFA Load Duration Curve Analysis[SVC-6466]

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
The Load Duration Curve Analysis, LDC, is an extension of the Flow Duration Curve, FDC, analysis in CFA. A LDC is a FDC multiplied by a target water quality concentration level to achieve a load per day value of a particular water quality nutrient. In addition to the LDC itself, observed water quality samples can be graphed as loads (flow * water quality concentration * conversion factors = load). If the observed loads never occur above the LDC line then there is no indication of a water quality problem for that desired target concentration. If there are observations which exceed the LDC it can sometimes help determine, based on where the observations exceed the curve, what pollution sources are probable contributors (Cleland, 2007; Cleland, 2003; and Cleland, 2002). Based on the location of these exceedences and the outline provided in (Cleland, 2007; Cleland, 2003; and Cleland, 2002), CFA’s LDC dynamically estimates possible nutrient pollution sources based on the location and magnitude of the exceeded values on the graph and reports this back to the user. In addition to the more complex analysis of identifying pollutant sources, LDCs can also be used to identify Total Maximum Daily Loads (TMDLs) for different flow regimes of a river of interest (Cleland 2007). The value of the LDC at a given exceedence is equal to the TMDL for that river, minus a margin of safety, for the specified pollutant and target water quality concentration. The other results files 'duration_curve_results.txt' and 'flow_statistics.csv' are the non-exceedence ranks for each load 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": "00600 Total nitrogen, water, unfiltered, milligrams per liter -- mg/L"
    },
    {
      "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": "3599c348-ef57-11e4-89b7-9b7d433e164a",
    "cloud_node": "172.1.6.33",
    "tstamp": "2015-04-30 10:37:36",
    "service_url": "http://csip.engr.colostate.edu:8082/csip/m/cfa/durationcurve/1.0",
    "request_ip": "129.82.225.132",
    "cpu_time": 27921,
    "expiration_date": "2015-04-30 10:43:04"
  },
  "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": "00600 Total nitrogen, water, unfiltered, milligrams per liter -- mg/L"
    },
    {
      "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": "12979"
    },
    {
      "name": "flow_median",
      "value": "11.0",
      "unit": "cfs"
    },
    {
      "name": "flow_mean",
      "value": "143.615",
      "unit": "cfs"
    },
    {
      "name": "flow_len_period1",
      "value": "0"
    },
    {
      "name": "flow_len_period2",
      "value": "0"
    },
    {
      "name": "flow_len_period3",
      "value": "0"
    },
    {
      "name": "wq_len",
      "value": "51.0"
    },
    {
      "name": "wq_units",
      "value": "kg/day"
    },
    {
      "name": "start",
      "value": "1979-10-01"
    },
    {
      "name": "end",
      "value": "2015-04-29"
    },
    {
      "name": "duration_curve_summary",
      "value": "Multiple Pollution Sources: \n\nMost of the flow intervals contain many points which exceed the target.  No single pollution source is likely. Please click 'Further Information' for more pollutant identification help.\nThe grey graphed lines are duration curves for each individual year within the analysis period.\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:38\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\tLoad (kg/day)\tPeriod 1 Load (kg/day)\tPeriod 2 Load (kg/day)\tPeriod 3 Load (kg/day)\n99\t31.87\t-1.0\t-1.0\t-1.0\n95\t51.65\t-1.0\t-1.0\t-1.0\n90\t64.13\t-1.0\t-1.0\t-1.0\n75\t110.22\t-1.0\t-1.0\t-1.0\n50\t292.53\t-1.0\t-1.0\t-1.0\n25\t2070.05\t-1.0\t-1.0\t-1.0\n10\t6802.7\t-1.0\t-1.0\t-1.0\n5\t16662.4\t-1.0\t-1.0\t-1.0\n1\t60339.89\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:38"
    },
    {
      "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/3599c348-ef57-11e4-89b7-9b7d433e164a/duration_curve_graph.jpg"
    },
    {
      "name": "duration_curve_results.txt",
      "value": "http://csip.engr.colostate.edu:8082/csip/q/3599c348-ef57-11e4-89b7-9b7d433e164a/duration_curve_results.txt"
    },
    {
      "name": "flow_statistics.csv",
      "value": "http://csip.engr.colostate.edu:8082/csip/q/3599c348-ef57-11e4-89b7-9b7d433e164a/flow_statistics.csv"
    },
    {
      "name": "duration_curve_graph.out",
      "value": "http://csip.engr.colostate.edu:8082/csip/q/3599c348-ef57-11e4-89b7-9b7d433e164a/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)

Submitter Association Comment
Nothing found to display.