The African penguins (Spheniscus demersus) living on South Africa’s coast have had a hard time of it for the last century. The number of breeding pairs has collapsed by more than 90% between 1900 and 2000, and the remainder has continued to shrink by 2/3 since then. Effective conservation measures are becoming increasingly urgent. But the forces behind the penguin colony collapse are still far from clear; while there are two obvious reasons for historic losses (guano mining and egg collection), current declines are probably caused by a variety of factors that are difficult  to disentangle.

At the Marine Research Institute of the University of Cape Town, we have been developing a system dynamics simulation of penguin populations at individual colonies1. This has been used to test different conservation scenarios – is there greater benefit in preventing fishing around colony islands, or in reducing seal predation on penguins? How much damage does the frequent low-level oiling pollution in Table Bay do to breeding success? And is there any point in small-scale conservation actions at all while the sardine stocks that the penguins rely on remain at their current low?

The models were originally built in Ventana Vensim, but have now been ported to Numerus, where they are being developed further. The main benefits of the Numerus platform for these models are flexibility, portability, and modularity. Code flexibility is required because the simulation is very inclusive, attempting to represent everything from sardine biomass shifts to gulls preying on unattended penguin nests. This requires lots of specialized submodels and code-tinkering, which is often easier done by writing bespoke code in Javascript than by relying on pre-fabricated functions provided by an engine. Portability is important because the model is intended for use not only by ecologists but also by fisheries or conservation managers, who may not have the training to fire up a model engine and run raw code – Numerus’ capability of compiling models into stand-alone web applications comes in handy here.

But the main thing that will make the model hum on Numerus (we hope!) is a modular architecture. Due to the sometimes substantial differences between individual penguin colonies, each colony has to run as a separate simulation with tailored inputs and processes. But colonies don’t exist in isolation; penguins migrate between them, which can have strong impacts on population dynamics. What’s needed is a meta-population model, consisting of a lower layer of individual models that communicate via an upper layer where colonies swap penguins in real time. This will be implemented using a node network, where new colonies can be shown in position on a coastline map. New colonies can be instantiated by cloning the basic colony module, feeding it a location-specific set of data, and placing it on the map.

A model of this type is something of a data bottom-feeder – it takes the results of field studies as and when they become available, translates them into mechanisms, and adds them to the simulation to assess their impact on population dynamics. We are hoping to get the model to a point where it is easy to maintain for years to come, inserting new colonies and processes by instantiation from a library of generic modules.

  1. Weller, R. B. Sherley, L. J. Waller, K. Ludynia, D. Geldenhuys, L. J. Shannon, A. Jarre. System dynamics modelling of the Endangered African penguin populations on Dyer and Robben islands, South Africa. Ecological Modelling 327 (2016), 44-56