View source: R/compute_annual_trends.R
compute_annual_trends | R Documentation |
Calculates prewhitened nonlinear trends on annual streamflow data. Uses the
zyp
package to calculate trends. Review zyp
for more information
Calculates statistics from all values, unless specified. Returns a list of tibbles and plots.
All annual statistics calculated using the calc_all_annual_stats()
function which uses the following
fasstr
functions:
calc_annual_stats()
calc_annual_lowflows()
calc_annual_cumulative_stats()
calc_annual_flow_timing()
calc_monthly_stats()
calc_annual_normal_days()
compute_annual_trends(
data,
dates = Date,
values = Value,
groups = STATION_NUMBER,
station_number,
zyp_method,
basin_area,
water_year_start = 1,
start_year,
end_year,
exclude_years,
months = 1:12,
annual_percentiles = c(10, 90),
monthly_percentiles = c(10, 20),
stats_days = 1,
stats_align = "right",
lowflow_days = c(1, 3, 7, 30),
lowflow_align = "right",
timing_percent = c(25, 33, 50, 75),
normal_percentiles = c(25, 75),
complete_years = FALSE,
ignore_missing = FALSE,
allowed_missing_annual = ifelse(ignore_missing, 100, 0),
allowed_missing_monthly = ifelse(ignore_missing, 100, 0),
include_plots = TRUE,
zyp_alpha
)
data |
Data frame of daily data that contains columns of dates, flow values, and (optional) groups (e.g. station numbers).
Leave blank or set to |
dates |
Name of column in |
values |
Name of column in |
groups |
Name of column in |
station_number |
Character string vector of seven digit Water Survey of Canada station numbers (e.g. |
zyp_method |
Character string identifying the prewhitened trend method to use from |
basin_area |
Upstream drainage basin area, in square kilometres, to apply to observations. Three options: (1) Leave blank if (2) A single numeric value to apply to all observations. (3) List each basin area for each group/station in groups (can override HYDAT value if listed) as such |
water_year_start |
Numeric value indicating the month ( |
start_year |
Numeric value of the first year to consider for analysis. Leave blank or set well before start date (i.e.
|
end_year |
Numeric value of the last year to consider for analysis. Leave blank or set well after end date (i.e.
|
exclude_years |
Numeric vector of years to exclude from analysis. Leave blank or set to |
months |
Numeric vector of months to include in analysis. For example, |
annual_percentiles |
Numeric vector of percentiles to calculate annually. Set to |
monthly_percentiles |
Numeric vector of percentiles to calculate monthly for each year. Set to |
stats_days |
Numeric vector of the number of days to apply a rolling mean on basic stats. Default |
stats_align |
Character string identifying the direction of the rolling mean on basic stats from the specified date, either by
the first ( |
lowflow_days |
Numeric vector of the number of days to apply a rolling mean on low flow stats. Default |
lowflow_align |
Character string identifying the direction of the rolling mean on low flow stats from the specified date,
either by the first ( |
timing_percent |
Numeric vector of percents of annual total flows to determine dates. Used for |
normal_percentiles |
Numeric vector of two values, lower and upper percentiles, respectively indicating the limits of the
normal range. Default |
complete_years |
Logical values indicating whether to include only years with complete data in analysis. Default |
ignore_missing |
Logical value indicating whether dates with missing values should be included in the calculation. If
|
allowed_missing_annual |
Numeric value between 0 and 100 indicating the percentage of missing dates allowed to be
included to calculate an annual statistic (0 to 100 percent). If |
allowed_missing_monthly |
Numeric value between 0 and 100 indicating the percentage of missing dates allowed to be
included to calculate a monthly statistic (0 to 100 percent). If |
include_plots |
Logical value indicating if annual trending plots should be included. Default |
zyp_alpha |
Numeric value of the significance level (ex. |
A list of tibbles and optional plots from the trending analysis including:
Annual_Trends_Data |
a tibble of the annual statistics used for trending |
Annual_Trends_Results |
a tibble of the results of the zyp trending analysis |
Annual_* |
each ggplot2 object for each annual trended statistic |
References:
Büger, G. 2017. On trend detection. Hydrological Processes 31, 4039–4042. https://doi.org/10.1002/hyp.11280.
Sen, P.K., 1968. Estimates of the Regression Coefficient Based on Kendall's Tau. Journal of the American Statistical Association Vol. 63, No. 324: 1379-1389.
Wang, X.L. and Swail, V.R., 2001. Changes in extreme wave heights in northern hemisphere oceans and related atmospheric circulation regimes. Journal of Climate, 14: 2204-2221.
Yue, S., P. Pilon, B. Phinney and G. Cavadias, 2002. The influence of autocorrelation on the ability to detect trend in hydrological series. Hydrological Processes, 16: 1807-1829.
Zhang, X., Vincent, L.A., Hogg, W.D. and Niitsoo, A., 2000. Temperature and Precipitation Trends in Canada during the 20th Century. Atmosphere-Ocean 38(3): 395-429.
Zhang, X., Zwiers, F.W., 2004. Comment on “Applicability of prewhitening to eliminate the influence of serial correlation on the Mann-Kendall test” by Sheng Yue and Chun Yuan Wang. Water Resources Research 40. https://doi.org/10.1029/2003WR002073.
zyp-package
,
calc_all_annual_stats
## Not run:
# Working examples:
# Compute trends statistics using a data frame and data argument with defaults
flow_data <- tidyhydat::hy_daily_flows(station_number = "08NM116")
trends <- compute_annual_trends(data = flow_data,
zyp_method = "zhang")
# Compute trends statistics using station_number with defaults
trends <- compute_annual_trends(station_number = "08NM116",
zyp_method = "zhang")
# Compute trends statistics and plot a trend line if the significance is less than 0.05
trends <- compute_annual_trends(station_number = "08NM116",
zyp_method = "zhang",
zyp_alpha = 0.05)
# Compute trends statistics and do not plot the results
trends <- compute_annual_trends(station_number = "08NM116",
zyp_method = "zhang",
include_plots = FALSE)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.