/model-based-indices

code used for model based index production in GOA

Primary LanguageR

model-based-indices

code used for annual model based index production by GAP in GOA and the Bering Sea. Model-based-indices are produced using the spatiotemporal delta-glmm implemented in VAST, software developed by Jim Thorson

Authors

Primary contact: @coleary-noaa

Mission

Provide VAST estimates of abundance and their standard error from GAP survey data for stock assessment authors in conjunction with traditional design-based estimators.

GAP Work Plan

  • Species requests & alternate model-based runs/settings in from SSMA, ESP, ESR by 15 January
  • Run VAST with previous year survey data included as requested by SA author (March - April, code frozen by May)
  • Merge new frozen code (index & data retrival code) in git repo
  • Upload all VAST output files for hindcast and data (as an .Rdat) used to produce the indices to google drive folder
  • Notify the assessment lead & Cecilia (GOA) /Lewis (Bering) that you’ve completed hindcasts (March - April)
  • Run hindcasts again after survey with updated data (August - Sept., completed by 30 September) and upload results to the appropriate region production folder on google drive, including data used
  • merge final index code & data pull code onto repo

General Production Timeline Estimate

March - April is the time window for any model exploration/iteration, as requested

  • December - ModSquad leadership meets to prioritize species + research plans
  • January 15 - Deadline for SAFE authors to submit product requests
  • late January - ModSquad planning meeting with program leads
  • February 15 - SAFE author's revised requests given ModSquad capacity and discussion from REFM meeting
  • March 15 - TOR memo finalized and posted on the web
  • April 1 - Crab hindcasts completed
  • May 1 - Groundfish hindcasts completed (stop all research, decide on which to not recommend for use in base model)
  • August 25 - Model-based estimates for EBS crabs completion target date
  • September 25 - Model-based estimates for NBS crabs target date
  • September 30 - Model-based estimates for groundfishes completion target date, pending bottom trawl data QAQC timeline
  • October 15 - Final deadline for completing groundfish model-based estimates

VAST Resources

  • VASTGAP/ModSquad folder here
  • ModSquad training materials here
  • VAST common troubleshooting here
  • Identification of valid hauls for Bering Sea VAST indices, from Jason here

Minimum standard of versions of software and key dependencies (i.e., using these versions or later)

  • 2023:
    • Rv4.0.2: VAST v3.9.0, FishStatsUtils v2.10.0, cpp VAST_v13_1_0, TMB v1.7.22, Matrix v1.4-0, DHARMa 0.4.5; or,
    • MRAN v4.0.2: VAST v3.9.0, FishStatsUtils v2.10.0, cpp VAST_v13_1_0, TMB v1.7.16, Matrix v1.2-18, DHARMa v0.3.2
  • 2022:
    • Rv4.0.2: VAST v3.8.2, FishStatsUtils v2.10.0, cpp VAST_v13_1_0, TMB v1.7.22, Matrix v1.4-0, DHARMa 0.4.5; or,
    • MRAN v4.0.2: VAST v3.9.0, FishStatsUtils v2.10.0, cpp VAST_v13_1_0, TMB v1.7.16, Matrix v1.2-18, DHARMa v0.3.2
  • 2021: Rv4.0.2: VAST v3.6.1, FishStatsUtils v2.8.0, cpp VAST_v12_0_0, TMB v1.7.18, Matrix v1.2.18
  • 2020: VAST v3.3.0, FishStatsUtils v2.5.0, cpp VAST_v8_2_0

Initial model settings to generate model-based indices

Initial Model Setting Suggested alternative setting (if needed)
purpose = "index2” in make_settings() NA
knots = 750 in make_settings() knots = 500, 1000
Poisson-link delta-gamma observation model1:
ObsModel = c(2,1) in make_settings()
option 2: Tweedie ObsModel = c(10,2)2
option 3: delta-lognormal ObsModel = c(1,1)
knot_method = ‘grid’ in fit_model() knot_method = ‘samples’ if necessary to aid convergence or for comparison to a previous model fit
fine_scale = TRUE in make_settings() NA
bias.correct = TRUE in make_settings() NA
refine = TRUE in fit_model() refine = FALSE
spatiotemporal fields: “IID” default settings for FieldConfig in make_settings() model spatiotemporal components (epsilon) as a first-order autoregressive process “AR1” (required for extremely unbalanced data) or “0” (if necessary to aid convergence)
anisotropy is on (use_anisotropy = TRUE) in make_settings() anisotropy off (use_anisotropy = FALSE) if necessary to aid convergence
no vessel effects, catchability or density covariates in fit_model() may include covariates in cases where their incorporation has been previously demonstrated to improve model fit (e.g., a spatially varying response to cold-pool extent when generating abundance indices combining the EBS and NBS); in these cases, covariates will be centered and scaled prior to fitting

Previous TORs

Note: if a request to only include fish west of 140 degrees, just note that there are two components to this request: (1) excluding data from east of 170 longitude and (2) specifying this as a "strata" boundary in the model settings in the VAST code

Bering specific links & files

R support

  • Installation Guide for R 4.0.02 here

Footnotes

  1. Noting that for species with 100% encounters in any year we will use c(2,4) instead of c(2,1), or the equivalent setting for the lognormal

  2. Tweedie also involves additional changes to RhoConfig and FieldConfig to ensure that there is only a single linear predictor being estimated, as documented elsewhere