Learn R Programming

heatwaveR (version 0.3.3)

event_line: Create a line plot of heatwaves or cold-spells.

Description

Creates a graph of warm or cold events as per the second row of Figure 3 in Hobday et al. (2016).

Usage

event_line(data, x = t, y = temp, min_duration = 5, spread = 150,
  metric = "intensity_cumulative", start_date, end_date, category = FALSE)

Arguments

data

The function receives the full (list) output from the detect_event function.

x

This column is expected to contain a vector of dates as per the specification of make_whole. If a column headed t is present in the dataframe, this argument may be ommitted; otherwise, specify the name of the column with dates here.

y

This is a column containing the measurement variable. If the column name differs from the default (i.e. temp), specify the name here.

min_duration

The minimum duration (days) the event must be for it to qualify as a heatwave or cold-spell.

spread

The number of days leading and trailing the largest event (as per metric) detected within the time period specified by start_date and end_date. The default is 150 days.

metric

This tells the function how to choose the event that should be highlighted as the 'greatest' of the events in the chosen period. One may choose from the following options: intensity_mean, intensity_max, intensity_var,intensity_cumulative, intensity_mean_relThresh, intensity_max_relThresh, intensity_var_relThresh, intensity_cumulative_relThresh, intensity_mean_abs, intensity_max_abs, intensity_var_abs, intensity_cumulative_abs, rate_onset, rate_decline. Partial name matching is currently not supported so please specify the metric name precisely. The default is intensity_cumulative.

start_date

The start date of a period of time within which the largest event (as per metric) is retrieved and plotted. This may not necessarily correspond to the biggest event of the specified metric within the entire data set. To plot the biggest event within the whole time series, make sure start_date and end_date straddle this event, or simply specify the start and end dates of the full time series given to detect_event.

end_date

The end date of a period of time within which the largest event (as per metric) is retrieved and plotted. See start_date for additional information.

category

A boolean choice of TRUE or FALSE. If set to FALSE (default) event_line() will produce a figure as per the second row of Figure 3 in Hobday et al. (2016). If set to TRUE a figure showing the different categories of the MHWs in the chosen period, highlighted as seen in Figure 3 of Hobday et al. (in review), will be produced. If category = TRUE, metric will be ignored as a different colouring scheme is used.

Value

The function will return a line plot indicating the climatology, threshold and temperature, with the hot or cold events that meet the specifications of Hobday et al. (2016) shaded in as appropriate. The plotting of hot or cold events depends on which option is specified in detect_event. The top event detect during the selected time period will be visible in a brighter colour. This function differs in use from geom_flame in that it creates a stand alone figure. The benefit of this being that one must not have any prior knowledge of ggplot2 to create the figure.

References

Hobday, A.J. et al. (2016), A hierarchical approach to defining marine heatwaves, Progress in Oceanography, 141, pp. 227-238, doi: 10.1016/j.pocean.2015.12.014

Examples

Run this code
# NOT RUN {
ts <- ts2clm(sst_WA, climatologyPeriod = c("1983-01-01", "2012-12-31"))
res <- detect_event(ts)

event_line(res, spread = 100, metric = "intensity_cumulative",
start_date = "2010-12-01", end_date = "2011-06-30")

event_line(res, spread = 100, start_date = "2010-12-01",
end_date = "2011-06-30", category = TRUE)

# }

Run the code above in your browser using DataLab