Skip to contents

find_msy() reproduces the two optimization phases in msycalc.tpl. Fisheries whose phase_F is non-positive remain fixed at their Fini value; the annual adapter used by run_msy() fixes fisheries with catch shares of 0.002 or less at zero. The first optimization phase uses a catch allocation penalty of 100 and the second uses lambda (100,000 by default).

Usage

find_msy(
  data,
  lambda = 1e+05,
  control = list(eval.max = 100000L, iter.max = 100000L),
  phase1_lambda = 100
)

Arguments

data

A prepared one-year MSY input list. In addition to the fields required by msy_calc(), it must contain Fini and cat_split and may contain phase_F.

lambda

Final catch-allocation penalty weight.

control

Control list passed to stats::nlminb() in both phases.

phase1_lambda

Catch-allocation penalty used to precondition the legacy first optimization phase.

Value

A list of MSY reference points, fishery- and age-specific outputs, and both phases' optimization diagnostics. valid is TRUE only for a normally converged, finite, positive solution.

See also

Other MSY calculations: msy_calc(), run_msy(), sbt_add_msy()