Skip to contents

Segment effort rule with an optional choke-stock closure

Usage

hcr_effort(
  sys,
  Btrig = 0.5,
  Blim = 0.25,
  assess_cv = 0.2,
  assess_rho = 0,
  own_q = 0.5,
  close = NULL,
  close_q = 0.5,
  max_change = Inf,
  Emin = 0.1,
  Btrig_close = Btrig,
  assessed = NULL,
  assign = NULL,
  complexes = NULL,
  complex_index = c("biomass", "cpue"),
  aggregate = c("weighted", "min"),
  seed = 1
)

Arguments

sys

an ms_system.

Btrig, Blim

trigger and limit relative to Bmsy (effort rule). The default trigger is 0.5 Bmsy, i.e. at Bpa, as is common in ICES and GFCM advice. Btrig may be named by segment to set triggers by segment (e.g. c(trawl = 0.5, purse_seine = 0.8, small_scale = 0.5); unnamed segments get 0.5), or be a vector with one value per simulation row (a grid of triggers, as in ms_tune_hcr()).

assess_cv, assess_rho

assessment error CV and its AR(1).

own_q

a segment answers for a stock it catches as a main fishery: one of its metiers has >= own_q (default 0.5) of the stock's highest catchability. Lower values (e.g. 0.2) also count by-catch.

close

stocks or complexes protected by a closure.

close_q

métiers with >= close_q of the stock's highest catchability are closed.

max_change

limit on the annual change of each segment's days, relative to the previous year (0.2 = at most 20% up or down), as for TAC changes. The first year starts from the reference days (fraction 1); a segment at zero (with Emin = 0) can reopen from 5% of its reference days.

Emin

minimum effort: the lowest fraction of its reference days a segment is set to (at and below Blim), default 0.1. F scales with days, so the floor puts about Emin x the reference F on each stock; 0 lets the rule close a segment completely.

Btrig_close

trigger of the closure.

assessed, assign, complexes, complex_index

see Details.

aggregate

how a segment's status is formed from the assessed B/Bmsy of the units it answers for: "weighted" (default), the mean weighted by each unit's potential revenue for the segment (catchability on its metiers x price x K), so the stocks that make up its fishery drive its effort; or "min", the weakest link (the most depleted unit sets the segment's effort), a special, most precautionary case.

seed

seed of the rule's own random stream (assessment errors), kept apart from the simulation's, so rules compared with the same simulation seed see the same process and implementation errors.

Value

A rule function for the hcr argument of ms_simulate(), with attributes own, drive and units.

Details

Each year the assessed B/Bmsy of every stock is the true value times a lognormal assessment error (CV assess_cv, AR(1) assess_rho). Each segment's days are a fraction of its reference days, the caps passed to ms_simulate(): normally the safeguarded-MMSY effort from ms_optimise() (the "full" effort above the trigger), or the status-quo days. The fraction ramps from Emin at Blim (and below) to 1 at Btrig (both relative to Bmsy) of the segment's status: the value-weighted mean (aggregate = "weighted") or the minimum ("min", weakest link) of the assessed B/Bmsy of the units it catches as a main fishery (own_q). With max_change, the first year starts from the current days relative to the reference days, so the move from the status quo to the reference effort is phased.

Stocks in close are protected by a closure instead: the open share of the metiers that drive them (catchability >= close_q of the stock's highest) follows the same ramp, and they are left out of the effort rule. max_change limits the annual change of each segment's days relative to the previous year.

Btrig (effort rule) and Btrig_close (closure) may be vectors with one value per row of the simulation, so a grid of triggers runs in one call.

assign: nominal assignment of stocks to segments for management, a named list segment -> stock names (as in practice: a species is "managed" through one fleet although others catch it). It replaces the catchability-based responsibility; segments without stocks are not constrained by the rule.

complexes: named list of stock complexes assessed as one unit (pooled taxa, e.g. reef fish), the remaining stocks are single units. The complex index is pooled B/Bmsy (complex_index = "biomass": sum B / sum Bmsy, as a production model fitted to pooled catch and biomass) or a pooled catch rate ("cpue": taxa weighted by their catchability). close, assign and assessed then refer to unit names (complexes or stocks).

assessed: names of the stocks with an assessment (default all). The rule sees only these; a stock in close must be assessed.

Create a new rule for every simulation run (it keeps the last fraction and the assessment error between years).