In this paper, we explore a Pella-Tomlinson Random Effects surplus production model (PTRE) that admits joint process and observation error, as a potential estimation model for use within IOTC Management Procedures. The model is spatially-aggregated and operates on an annual time-step, fitting to catch and CPUE observations. Model parameters include carrying capacity (k), intrinsic population growth rate (r), initial biomass, PT production curve “shape” (p - determines B(MSY)/k), CPUE variance and productivity process error variance. To improve minimization performance, an analytical solution is used for catchability (based on the principle of concentrated likelihood) and MSY replaces r as the leading parameter (to reduce correlation with k, and facilitate intuitive priors). The model is fit with Template Model Builder (TMB) software, which allows the productivity process error to be defined as a latent random variable (which may allow the process error variance to be estimated in principle). The result is conceptually similar to the MCMC numerical integration that is often used in simple assessment models (e.g. JABBA). However, the TMB integration is efficiently implemented with the Laplace approximation and can usually be evaluated within a second (e.g. as opposed to the minutes reported for JABBA), enabling evaluation within formal MP simulation testing. While the model performs very well in general, it was necessary to add several constraints in the context required for MP simulation testing (and these constraints would necessarily be part of the formal MP definition, as they may influence the MP performance). Based on the preliminary MP testing (on the latest Indian Ocean bigeye reference set Operating Model), the approach appears promising, and may offer management performance that is more stable, and less risky, than the other candidate MPs tested to date.
In parallel with the MP development, CSIRO developed an R package to support line by line step-through debugging of TMB (and other C/C++) DLLs (which are notoriously difficult to debug from R).