Skip to contents

Projections for operational assessments

The R package spmR provides a tool to project assessment results in a consistent way over all “Tier 3” groundfish stocks. This is to conform to the Fishery Management Plan (FMP) for the Gulf of Alaska (GOA) and the Bering Sea and Aleutian Islands (BSAI). Specifically, as outlined in Amendment 56 of the FMP, age-structured assessment results are linked to the projection based on specified input files. These inputs allow estimation of fishing mortality rates based on spawning biomass per recruits (e.g., F40% and F35%). These rates (and variants) are applied to the estimated abundance at age from the most recent assessment model. The trend in spawning biomass is then contrasted with proxy reference points that align with the FMP. In summary, the model estimates proxy Fmsy values, applied to estimated population numbers at age, and compared against reference points to adjust the rates according to the control rule of the FMP.

Catch from the model follows three main scenarios given a selected model (approved by the SSC):

  • The maximum permissible ABC

  • The status determination relative to overfishing

  • The status determination to determine if the stock is overfished or approaching an overfished condition.

Additional “scenarios” are optionally included and were part of the historical requirement for an annual Environmental Assessment for ABC/OFL specifications by the Alaska Regional Office. They provide contrast and included scenarios based on the “author recommended” ABC, one with no fishing, one based on the recent 5-year average F, another with an alternative F-spr basis (varied between some stocks).

Biological assumptions used in the projections should follow the assessment model and decisions about expected future selectivity, maturity, weight-at-age etc should be considered best estimates and may reflect means over different recent periods. It should be noted that their specification should be clearly documented within the assessment.

Tier 3 stocks are based on expected trends and the extent to which these proxy estimates are determined with uncertainty is not explicitly part of the FMP ABC/OFL specification process. Nonetheless, the software runs simulations over the mean and variability of recruitment that is specified in the model input files. For FMP ABC/OFL specifications, the means are presented but longer-term trajectories accounting only for recruitment variability are presented figures as deemed useful.

Abbreviations

​​

A BC Acceptable Biological Catch
  • *IRFA**
Initial Regulatory Flexibility Analysis
AI Aleutian Islands LLP License Limitation Program
AP Advisory Panel M SFCMA

Magnuson-Stevens Fishery

Conservation and Management Act

AD FG Alaska Dept. of Fish and Game
  • *MMPA**
Marine Mammal Protection Act
BS Bering Sea MRA Maximum Retainable Amount
BS AI Bering Sea and Aleutian Islands MSY Maximum Sustainable Yield
C DQ Community Development Quota t Metric tons
EA/R IR

Environmental Assessment/Regulatory

Impact Review

  • *NMFS**
National Marine Fisheries Service
E BS Eastern Bering Sea
  • *NOAA**
National Oceanic & Atmospheric Adm.
E EZ Exclusive Economic Zone NPFMC

North Pacific Fishery

Management Council

E FH Essential Fish Habitat OY Optimum Yield
E FP Exempted Fishing Permit
  • *PEEC**
Preview of Economic and Ecosystem Considerations
E SA Endangered Species Act PSC Prohibited Species Catch
F EP Fishery Ecosystem Plan
  • *SAFE**
Stock Assessment and Fishery Evaluation
F MP Fishery Management Plan SSC Scientific and Statistical Committee
G HL Guideline Harvest Level SSL Steller Sea Lion
G OA Gulf of Alaska TAC Total Allowable Catch
HA PC Habitat Areas of Particular Concern USFWS United States Fish & Wildlife Service

I FQ

Individual Fishing Quota

IP HC

International Pacific Halibut

Commission

See readme on spmR package on github for installation options and vignettes (Articles here).

Current inputs: spmR 0.4.1 and format 2

New projections require version-2 metadata in spm_metadata.json and a compatible executable compiled from the current inst/admb/spm.tpl. Keep the order and number of fields in spm.dat. In each split-sex species file, insert the male spawning-weight vector wt_M immediately after wt_F. Version 0.4.1 no longer reads tacpar.dat. Store population weights in metadata; adding another positional vector can shift later fields or be ignored by an older executable. The runner validates these inputs and generates spm_input_v2.dat for the native engine.

Each species declares recruitment_basis = "total" or "per_sex". "per_sex" describes the recruitment of either sex under a 50:50 ratio; pooled-sex inputs require "total". The complete historical series is converted to total recruitment before calculating its arithmetic mean, harmonic mean, variability, or stock-recruitment inputs. Each projected total is then divided equally between females and males once.

Supply female and male population weights with an explicit age vector. The vectors must contain one positive, finite value per age in kg, with the declared consecutive, increasing age order. Abundance and biomass units must form a supported pair: fish/kg, thousand_fish/t, or million_fish/thousand_t. Convert existing values to the declared units and use N_scalar = 1.

A split-sex run requires male population weights. When those data are unavailable, the user can explicitly select male_population_substitute as "female_population" or "mean_male_fishery" (the arithmetic mean across male fishery-weight vectors at each age). Each substitute produces a warning and is recorded with the output; document its biological justification. Setting strict = FALSE changes the treatment of unknown metadata fields to warnings; required inputs and scientific checks still apply.

See Migrating split-sex projection inputs for a worked example. Run validate_spm_inputs() before a new projection. Output provenance records the recruitment convention, units, substitutions, and executable and input hashes. Historical output remains readable with runSPM(..., run = FALSE).

History of SPM

<links to the historical docs>

https://afsc-assessments.github.io/spmR/articles/background.html

How spmr grew out of “proj” and what the differences are

Definitions

Let

TY= this year - the year in which SPM is run

AY= the last year an assessment was done, AY<=TY

PY1= TY+1 = projection year 1 in the exec table

PY2= TY+2 = projection year 2 in the exec table

PYn=TY+n = projection year n in alternative scenarios

C_TY=estimate/assumed catch for the entirety of TY using e.g., an assumption about catch=ABC or some calculation to extrapolate for the remainder of TY (Oct - Dec).

N_AY= numbers at age on Jan-1 of AY

N_PY1= numbers at age on Jan-1 of PY1

N_PY2= numbers at age on Jan-1 of PY2

Summary of SPR calculations for Tier 3 stocks

  1. SPM reads natural mortality, maturity, spawning weights, population weights, fishery weights, and fishery selectivity. These weights have distinct roles: female spawning weights determine spawning biomass; female and male population weights determine total biomass; fishery weights convert catch numbers to catch biomass. Total biomass is the sum of abundance times population weight across ages and sexes.

  2. The spawning biomass per recruit (SPR) calculation follows one female recruit through survival, maturity, spawning timing, and the plus group. Let ϕF(0)\phi_F(0) denote lifetime spawning biomass per female recruit with fishing mortality equal to zero, and let R¯total\overline{R}_{\mathrm{total}} be the arithmetic mean of the normalized total recruitment history. Under the 50:50 recruitment ratio, SSB0=0.5R¯totalϕF(0)SSB_0 = 0.5\,\overline{R}_{\mathrm{total}}\,\phi_F(0). This applies the female fraction once. Summary output Mean_rec reports total recruitment; Mean_rec_female reports its female half. The reference biomasses are SSB35=0.35SSB0SSB_{35}=0.35\,SSB_0 and SSB40=0.40SSB0SSB_{40}=0.40\,SSB_0.

  3. SPM solves for the fishing mortality rates that produce the specified fractions of unfished spawning biomass per recruit. For inputs using 40% and 35%, these are F40%F_{40\%} for maximum ABC and F35%F_{35\%} for OFL. The resulting rates and spawning biomass enter the applicable harvest control rule. Population biomass reference points use the separate population weights for both sexes.

  4. Initial numbers at age must describe the beginning of styr, the first projection year declared in spm.dat. If the assessment supplies numbers for an earlier year, advance survivors, ages, and the plus group to styr and explicitly choose recruitment entering that year before writing the inputs. Relabeling an earlier abundance vector changes the projection boundary without advancing the population. From the supplied initial state, SPM applies each year’s catches or scenario-specific fishing mortality and advances survivors into the next year. Record the catch assumptions and scenario used for each assessment table.

The detailed output row labeled Year = t reports biomass from the beginning-of-year abundance in year tt; spawning biomass includes survival to spawning. Its Rec value is the recruitment draw entering the youngest age in year t+1t+1. Initial-year recruitment is already part of the input abundance vectors. Check these dates when comparing an assessment’s terminal year with the first projection year.

Summary of the alternative scenario simulations

There are 7 projection “scenarios” built into spmR, along with some others that have been customized to address specific questions.

How to determine overfishing and overfished status.

To do

How to specify catches in TY

Years between AY and TY will have finalized total catches available. The total catches in TY are not complete and must be assumed. Several approaches are used:

  1. The full ABC is taken in TY. This will be reasonable for fully exploited stocks. It may be wise as a general rule to be conservative. But for lightly exploited stocks it may not.

  2. Extrapolate catches in TY from the end of the year using catches through October and historical catch patterns in the fishery. E.g., if 80% of total catches are typically taken by October then they can be scaled up by that number.

Known issues

When using time-varying quantities in a model then the average values used by proj to construct N_PY1 will not match what is used in the assessment and thus not much. For instance if spawning WAA is different, the N_PY will match between the AM and SPM in TY, but spawning biomass in TY will not match. If fisheries selectivity is different, then N_PY1 will differ as different fish are killed off between the beginning and end of TY. When there are no time-varying inputs then SPM will be able to recreate the AM through TY identically and there is no issue.

Cases where SPM needs to be run more than once.

Weird issues arising when there’s a big gap between AY and TY.

Multispecies and other advanced features

Jim this one is all you

  • SRR conditioning

  • Multispecies technical interactions

  • Linear programming for total yield cap