Spatial Population Model (SPM)

The Spatial Population Model (SPM) implements a generalised spatially explicit age-structured population dynamics model that can model a range of population processes and spatial movement as a function of environment and space. It can model populations over one or two areas, as well as populations in many hundreds of areas.

Initially developed for modelling and assessing fish stocks, SPM has been generalised and can be applied to any spatially explicit age-structured population. 


SPM is an advanced software package developed by NIWA to help with fish stock assessments. The software is written in C++ and is available under an open source licence. SPM was designed to allow populations with a complex spatially structure to be easily modelled. It implements an age-structured population model with unlimited user-defined categories (for example, sex and maturity). It can be used for a single stock for a single fishery, or for multiple stocks, areas, and/or fishing methods. The user can choose the sequence of events in a model year. The observational data that can be used include catch-at-age or catch-at-size data from commercial fishing, survey and other biomass indices, survey catch-at-age or catch-at-size data, and tag-release and tag-recapture data.

SPM can be used to generate point estimates of the parameters of interest, calculate profiles, and generate Bayesian posterior distributions using Monte Carlo Markov Chain methods. SPM can also be used to simulate observations from a given model for use in management procedure evaluations or other simulation experiments.

Getting SPM

SPM is available for Linux and Microsoft Windows platforms. SPM C++ software, documentation, example files, and R utility files are available on request. A copy of SPM (including the source code) is available on request. Requests for more information can be made by contacting the SPM development team.


Alistair Dunn
SPM Development Team
Phone +64 4 386 0300
Fax +64 7 856 0151

Private Bag 14901
Kilbirnie, Wellington
New Zealand