Coupled Catastrophes

I ran across this cool article on network dynamics, and thought the model would be an interesting application for Ventity:

Coupled catastrophes: sudden shifts cascade and hop among interdependent systems

Charles D. Brummitt, George Barnett and Raissa M. D’Souza


An important challenge in several disciplines is to understand how sudden changes can propagate among coupled systems. Examples include the synchronization of business cycles, population collapse in patchy ecosystems, markets shifting to a new technology platform, collapses in prices and in confidence in financial markets, and protests erupting in multiple countries. A number of mathematical models of these phenomena have multiple equilibria separated by saddle-node bifurcations. We study this behaviour in its normal form as fast–slow ordinary differential equations. In our model, a system consists of multiple subsystems, such as countries in the global economy or patches of an ecosystem. Each subsystem is described by a scalar quantity, such as economic output or population, that undergoes sudden changes via saddle-node bifurcations. The subsystems are coupled via their scalar quantity (e.g. trade couples economic output; diffusion couples populations); that coupling moves the locations of their bifurcations. The model demonstrates two ways in which sudden changes can propagate: they can cascade (one causing the next), or they can hop over subsystems. The latter is absent from classic models of cascades. For an application, we study the Arab Spring protests. After connecting the model to sociological theories that have bistability, we use socioeconomic data to estimate relative proximities to tipping points and Facebook data to estimate couplings among countries. We find that although protests tend to spread locally, they also seem to ‘hop’ over countries, like in the stylized model; this result highlights a new class of temporal motifs in longitudinal network datasets.

Ventity makes sense here because the system consists of a network of coupled states. Ventity makes it easy to represent a wide variety of network architectures. This means there are two types of entities in the system: “Nodes” and “Couplings.”

The Node entitytype contains a single state (X), with local feedback, as well as a remote influence from Coupling and a few global parameters referenced from the Model entity:

A Coupling is simply a reference from one Node to another, with a strength parameter:

If you don’t create any Couplings, the Nodes run standalone, as in Section 2.1 of the paper. You can use that to see how the bistable dynamics of X create a tipping point, by running a set of nodes with different initial conditions:

By increasing the global Model.const a, you can induce a bifurcation that destabilizes the lower branch of the system, so that all trajectories tend to increase:

Section 2.2 of the paper illustrates a master-slave system, with two Nodes and a single Coupling by which the master Node influences the Slave. I actually set this up with a single master driving multiple slaves, where each slave has a different initial X. Then increasing the master’s initial X spills over to shift the stability of Slave 4’s initial state:

In Section 2.3, things get really interesting, with cascade hopping. In this scenario, there are three coupled Nodes, X -> Y -> Z. X (blue) is disturbed exogenously by changing its local const a parameter at time 8, causing it to transition from a stable value near 1 to about -1.2. This in turn influences a slight shift in Y’s state (red), but due to weak coupling that’s not enough to destabilize Y. However, the small shift in Y is enough to nudge Z out of its state, causing a sudden transition to -1.2 around time 18.

Consider what this would do to any simple correlation-based thinking, or a regression model. X has clearly caused a catastrophic change in Z, but without much of an obvious change in Y. In the presence of noise, it would be easy to conclude that this was all a coincidence. (If you harbor any doubt about the causality, just set Node X’s const a chg to zero and see what happens.)

I encourage you to take a look at the original paper – it has some nice phase diagrams and goes on to consider some interesting applications. I think the same structure could be used to implement another interesting network dynamics paper: State-dependent effective interactions in oscillator networks through coupling functions with dead zones. And if you like the topic, Network Catastrophe: Self-Organized Patterns Reveal both the Instability and the Structure of Complex Networks has more interesting data-centric applications.

An interesting extension of this model would be to generalize to larger networks, by modifying the input data or using actions to generate random networks.

The model:

Bifurcations from Strogatz’ Nonlinear Dynamics and Chaos

The following models are replicated from Steven Strogatz’ excellent text, Nonlinear Dynamics and Chaos.

These are just a few of the many models in the text. They illustrate bifurcations in one-dimensional systems (saddle node, transcritical, pitchfork) and one two-dimensional system (Hopf). The pitchfork bifurcation is closely related to the cusp catastrophe in the climate model recently posted.

Spiral from a point near the unstable fixed point at the origin to a stable limit cycle after a Hopf bifurcation (mu=.075, r0 = .025)

These are in support of an upcoming post on bifurcations and tipping points, so I won’t say more at the moment. I encourage you to read the book. If you replicate more of the models in it, I’d love to have copies here.

These are systems in normal form and therefore dimensionless and lacking in physical interpretation, though they certainly crop up in many real-world systems.

3-1 saddle node bifurcation.mdl

3-2 transcritical bifurcation.mdl

3-4 pitchfork bifurcation.mdl

8.2 Hopf bifurcation.mdl

Update: A related generic model illustrating critical slowing down:

critical slowing.mdl

Climate Catastrophe

This is an interesting, simple model of global ice age dynamics, from:

“A Catastrophe Model of the Paleoclimate”, Douglas R MacAyeal, Journal of Glaciology, Vol 24 No 90, 1979

It illustrates a pitchfork bifurcation as a slice through a cusp catastrophe. It’s conceptually related to earlier models by Budyko and Weertmans that demonstrated hysteresis in temperature and ice sheet dynamics.

The model is used qualitatively in the paper. I’ve assigned units of measure and parameter values that reveal the behavior of the catastrophe, but there’s no guarantee that they are physically realistic.

The .vpm package includes several .cin (changes) files that reproduce interesting tests on the model. The model runs in PLE, but you may want to use the Model Reader to access the .cin files in SyntheSim.



Bifurcating Salmon

A nifty paper on nonlinear dynamics of salmon populations caught my eye on today. The math is straightforward and elegant, so I replicated the model in Vensim.

A three-species model explaining cyclic dominance of pacific salmon

Authors: Christian Guill, Barbara Drossel, Wolfram Just, Eddy Carmack

Abstract: The four-year oscillations of the number of spawning sockeye salmon (Oncorhynchus nerka) that return to their native stream within the Fraser River basin in Canada are a striking example of population oscillations. The period of the oscillation corresponds to the dominant generation time of these fish. Various – not fully convincing – explanations for these oscillations have been proposed, including stochastic influences, depensatory fishing, or genetic effects. Here, we show that the oscillations can be explained as a stable dynamical attractor of the population dynamics, resulting from a strong resonance near a Neimark Sacker bifurcation. This explains not only the long-term persistence of these oscillations, but also reproduces correctly the empirical sequence of salmon abundance within one period of the oscillations. Furthermore, it explains the observation that these oscillations occur only in sockeye stocks originating from large oligotrophic lakes, and that they are usually not observed in salmon species that have a longer generation time.

The paper does a nice job of connecting behavior to structure, and of relating the emergence of oscillations to eigenvalues in the linearized system.

Units balance, though I had to add a couple implicit scale factors to do so.

The general results are qualitatitively replicable. I haven’t tried to precisely reproduce the authors’ bifurcation diagram and other experiments, in part because I couldn’t find a precise specification of numerical methods used (time step, integration method), so I wouldn’t expect to succeed.

Unlike most SD models, this is a hybrid discrete-continuous system. Salmon, predator and zooplankton populations evolve continuously during a growing season, but with discrete transitions between seasons.

The model uses SAMPLE IF TRUE, so you need an advanced version of Vensim to run it, or the free Model Reader. (It should be possible to replace the SAMPLE IF TRUE if an enterprising person wanted a PLE version). It would also be a good candidate for an application of SHIFT IF TRUE if someone wanted to experiment with the cohort age structure.


For a more policy-oriented take on salmon, check out Andy Ford’s work on smolt migration.

Logistic Chaos

This is an implementation of the logistic model – a very simple example of discrete time chaotic behavior. It’s sometimes used to illustrate chaotic dynamics of insect populations.

There’s a nice description here, and the other top links on google tend to be good.

Note that this version corrects an equation error in previous versions.

Logistic (Vensim .vpm)

Logistic (Vensim .vmf)