Implements a "buffer" style harvest control rule (HCR) using a metric (e.g., mean index or biomass) compared against defined buffer and limit reference points, with soft- and hard-caps and optional bounds on TAC changes.

buffer.hcr(
  stk,
  ind,
  metric = "wmean",
  target = 1,
  width = 0.5,
  lim = max(target * 0.1, target - 2 * width),
  bufflow = max(lim * 1.5, target - width),
  buffupp = target + width,
  sloperatio = 0.15,
  initial,
  nyears = 4,
  dupp = NULL,
  dlow = NULL,
  all = TRUE,
  ...,
  args,
  tracking
)

plot_buffer.hcr(
  args,
  obs = "missing",
  alpha = 0.3,
  labels = c(lim = "limit", bufflow = "Lower~buffer", buffupp = "Upper~buffer", metric =
    metric, output = output),
  metric = args$metric,
  output = "multiplier",
  xlim = buffupp * 1.5,
  ylim = scale * 1.5
)

Arguments

stk

The 'oem' observation or SA estimation, an FLStock object.

ind

Possible indicators returned by the 'est' step, FLQuants.

metric

The metric name used for the x-axis label.

target

The desired target value for the metric, defaults to 1. Numeric or FLQuant.

width

Numeric. The width of the buffer zone surrounding the target. Default is 0.5.

lim

Numeric. The lower threshold beyond which the HCR steeply reduces catch. Default is max(target * 0.10, target - 2 * width).

bufflow

Numeric. The lower bound of the buffer range. Default is max(lim * 1.50, target - width).

buffupp

Numeric. The upper bound of the buffer range. Default is target + width.

sloperatio

Numeric. Defines the slope for values exceeding the buffer's upper limit. Default is 0.15.

initial

Numeric or FLQuant. The previous year's TAC value or another scaling factor for outputs.

nyears

Numeric. Number of years to use for windowing or smoothing metrics. Default is 4.

dupp

A limit for the increase in the output variable, e.g. 1.15 for a maximum increase of 15%, numeric. No limit is applied if NULL.

dlow

A limit for the decrease in the output variable, e.g. 0.85 for a maximum decrease of 15%, numeric. No limit is applied if NULL.

all

If TRUE, upper and lower limits (dupp and dlow) are applied unconditionally, otherwise only when metric > trigger, logical.

...

Any extra arguments to be passed to the function computing 'metric'.

args

list. The list of parameters used by the buffer.hcr function.

tracking

An FLQuant used for tracking indicators, intermediate values, and decisions during MP evaluation.

obs

Observed values to overlay on the plot.

alpha

Alpha transparency for observed points/lines.

labels

Labels for the plot annotations. A list with names among 'lim', 'bufflow', 'buffupp', 'metric', and 'output'.

output

The output name used for the y-axis label.

xlim

The maximum x-axis limit for the plot.

ylim

The maximum y-axis limit for the plot.

Value

ggplot2 object

Details

plot_buffer.hcr Plots the buffer harvest control rule (HCR) curve along with optional observed values.