SIMPLOT: an antique animal movement simulator

sample output from Donald Siniff's 1967 program SIMPLOT

sample output from Donald Siniff’s 1967 program SIMPLOT

The application below is a re-implementation — a sort of digital re-enactment — of an animal movement simulator originally developed by biologist and statistician Donald Siniff in the mid-1960s. This may have been the first computer-generated simulation of the movements of an individual animal ever created; it was certainly one of the earliest.

SIMPLOT — a portmanteau of “simulation” and “plot” — was meant to produce patterns matching those observed by Siniff and his colleagues in animals radiotracked at the Cedar Creek Natural History Area in central Minnesota. The path drawn on the map represents the movement of a single animal over time. At each step of the simulation, a turning angle and distance of movement are randomly selected from pre-specified probability distributions.

The distributions were intended to reflect the behavioral characteristics and ecological conditions of different animals — so that, for instance, the movement patterns of a fox could be rigorously compared to those of a rabbit, or those of an adult fox could be compared to those of a juvenile fox, or those of a fox in winter could be compared to those of a fox in summer.

Re-enacting historical simulations is one way of opening the black box of past technical procedures to understand their implicit assumptions and material limitations. In contrast to the static outputs that are typically the only traces to survive in print publications, re-enactment highlights the generativity and flexibility of simulations.

The original version of SIMPLOT was programmed in FORTRAN on punch cards and run on Control Data Corporation mainframes; the maps were drawn on paper by pen plotters. This version was coded in JavaScript.

The results of individual runs can be saved by clicking on the graphic and downloading the image from the popup window. Depending on the parameters selected, long runs may generate an error if the path exceeds the dimensions of the map.

Open SIMPLOT in a new window