  Simulation testing is an important approach to evaluating fishery stock
assessment methods. In the last decade, the fisheries stock assessment modeling
framework Stock Synthesis (SS3) has become widely used around the world.
However, there lacks a generalized and scriptable framework for SS3 simulation
testing. Here, we introduce ss3sim, an R package that facilitates reproducible,
flexible, and rapid end-to-end simulation testing with SS3. ss3sim requires an
existing SS3 model configuration along with plain-text control files describing
alternative population dynamics, fishery properties, sampling scenarios, and
assessment approaches. ss3sim then generates an underlying 'truth' from a
specified operating model, samples from that truth, modifies and runs an
estimation model, and synthesizes the results. The simulations can be run in
parallel, reducing runtime, and the source code is free to be modified under an
open-source MIT license. ss3sim is designed to explore structural differences
between the underlying truth and assumptions of an estimation model, or between
multiple estimation model configurations. For example, ss3sim can be used to
answer questions about model misspecification, retrospective patterns, and the
relative importance of different types of fisheries data. We demonstrate the
software with an example, discuss how ss3sim complements other simulation
software, and outline specific research questions that ss3sim could address.
