Spanish flu‎ > ‎

The Spanish Flu pandemic model

The Spanish Flu

A world-wide epidemic caused by influenza viruses led to between 50 and 100 million deaths in 1918 and 1919 (as much as 1 of every 18 people). Because neutral Spain was not censoring news it became associated with Spain but its origins are more likely to be the USA or France. It came in three waves (Spring 1918, Autumn 1918, and Winter 1919) and the second wave was unusually deadly. And unlike typical flu pandemics it disproportionately killed young healthy adults. Many researchers have suggested that the conditions of the war significantly aided the spread of the disease. And others have argued that the course of the war (and subsequent peace treaty) was influenced by the pandemic. To help understand questions about the worst diseaster in history we have built a computer model of the pandemic.

How to run the simulator

You can download  and install NetLogo for free. Then download and open this program file and this image file (right click the links and save to the same folder).

Or you can install our interface between NetLogo and the browser and start it up after pasting the following URL into the settings panel:

We have also prepared videos of the execution of the Spanish Flu model. These run faster but lack all the interactive features.

 First case Historic No war War ends 1920
 Camp Funston2:01 video 2:02 video 2:20 video
 Etaples 2:19 video2:20 video 2:21 video

How the model works

The world is broken down into patches about 200 kilometre square. Each patch keeps track of the number of people infected, susceptible, recovered, or dead due to the flu. These numbers are updated in manner similar to the well-known SIR model every simulated day. Each simulated day the number of encounters with someone who is infectious is calculated for each susceptible person. Depending upon the odds of transmission per encounter the number of infected is increased (and the number susceptible decreased by the same amount). Recovery is modelled as a rate in which the number infected decreases (and the number recovered increases).  Mortality is modelled in a similar way.

Travel between neighbouring patches is modelled as removal of a (small) fraction of the population of one patch and the addition of those people to adjacent patches. Medium distance travel is similar but the receiving patches are heavily populated patches in the general area. Ships and trains model long-distance travel that follows routes and passengers embark and disembark. All transfers of people between patches and/or transports assume that the same ratios of infected, susceptible, and recovered hold as in the source population.

Army camps are also modelled. US Army camps receive fresh recruits and deliver them to troop transports headed to Europe. Camps in Europe maintain a heavy flow of troops in and out. The encounter rate within camps is higher than civilian locations. (Many camps were very overcrowded.)

The Spanish Flu arrived in at least three distinct waves. These are modelled as changes in some parameters of the virus (the odds of transmission and mortality) and as the loss of immunity for a fraction of those who have recovered from an infection.

Several local events are simulated by this model. They include the Australian quarantine, the American forces sent to Archangel, Russia, and the ship that brought the Spanish Flu to Brazil. There presumably are many more local events that could be simulated but lack of data and resources prevented their inclusion. But perhaps they matter little to the global dyanmics of the pandemic.

Things to try

Change the history chooser to see how the pandemic may have unfolded without the war. Or if the war lasted much longer. You can run the simulation with one history setting and then another and compare the resulting graphs.

There is controversy about where the flu originated. Use the index-case chooser to explore this.

Just click the Go button after changing the choosers to re-run the simulation. To run it again with the same settings click Reset then Go.

What to watch for

The colours indicate the proportion of the population of the patch of land, army camp, ship, or train that is infected. 

You can use the chooser to change view-who to observe instead the proportion recovered, susceptible, or dead.

Assumptions of the model

"All models are wrong, but some are useful."
Suppose we could accurately simulate the movements, actions, and immune systems of 1.8 billion people during 1918 and 1919. We still would not have a perfect model of the Spanish Flu pandemic because the virus itself mutated creating different strains with different properties. Even if we had a perfect model (and a computer capable of running it) how would we be able to use it to answer 'what if' questions such as what might have been the dynamics of the epidemic if there was no war?

Due to our desire to have students run the model on typical personal computers and the constraints of available data we had to make many assumptions:
  1. Within each 200 kilometre patch, there is perfect mixing of people. Each person in a patch has the same number of daily encounters with others. Those infected do not change their behaviour.
  2. All susceptible people have the same odds of infection and death. (Famously the Spanish Flu was unusual in the number of young adults it killed and relatively few elderly.)
  3. The crude model of local, medium, and long-distance travel described above is adequate.
  4. No modelling of refugees and their camps.
  5. The causes of the multiple waves of the epidemic are not known. We modelled them as abrupt world-wide changes in the properties of the virus. There are no regional virus strains.
  6. Infected in synonymous with infectious. 
  7. Recovery offers perfect immunity to a second infection. (Unless the virus itself changes.)
  8. There are no births or deaths due to other causes.

What the history setting does

 Historical No war War ends 1920 or later
 Army camps -------------------- Army camps
 Army camps close after war -------------------- Army camps remain
 American Army to Europe  -------------------- American Army to Europe
 American Army returns --------------------  --------------------
 Australian Army returns -------------------- --------------------
 Australia quarantine fall 1918  -------------------- Australia quarantine fall 1918
 Armistice celebrations  --------------------  --------------------
 Fraction of normal shipping Full shipping Fraction of normal shipping

How historical is the simulation?

The two major issues in creating an historically accurate simulation are deciding what level of detail is appropriate and obtaining the needed data. In some cases the data was very rich (e.g. the American troopships to and from Europe and the size and flow of troops in and out of American Army camps) while in other cases compromises were necessary.  For example, due to the difficulty obtaining 1918 population data for each patch, we used data from 1994 and scaled it by about a third to adjust for population growth. Clearly population growth from 1918 to 1994 was not geographically uniform. Another example, is in modelling the transatlantic passenger traffic if there had been no war. Ideally we would use data from 1913 but instead only found data for 1930 and guessed that it would be a little bit less in 1918. We have yet to acquire data about European army camps other than Etaples and nearby camps in Northern France . We failed to find much data about local and medium-distance travel. The number of train engines and miles of train track were very high in 1918 so we simulated a fraction of  daily travel as being between population centres less than a thousand kilometres apart.

We decided to include some regional events when the data was available and easy to incorporate in the model. These include  the Australian quarantine in the Autumn of 1918, the American forces sent to Archangel, Russia that brought the flu to the counter-revolutionary forces, and the ship that brought the Spanish Flu to Brazil.  We used regional mortality data to adjust the odds of dying from an infection based upon locality.

The model is open for anyone to experiment with different assumptions about travel, army camps, population densities, etc.

Things to think about

The differences between war and no war are dramatic. What might account for this? Conditions in army camps? Celebrations and troop movements due to the armistice? How could we attempt to answer this?

Army camps during the war were both very crowded and had a heavy flow of troops in and out. How might this affect the epidemic's dynamics?

The no war scenario outcomes are very different depending upon whether the first cases were in Camp Funston, Kansas or Etaples, France.  Why would that be?

The computer simulation generates dynamics for counter-factual scenarios based on many factors and assumptions. How good is this? Are there alternative ways of answering such questions?

Advanced things to try

The entire model is built in the Behaviour Composer as a collection of a large number of behaviours and parameters. You can change any of these from within your browser and run your own experiments.

The simplest changes you can explore are to edit the parameters. (Or more ambitiously get the computer to automatically explore different parameter settings. See the Guide to using the BehaviorSpace.) If you open up the model you'll see a column labelled Parameters. The first three (Infection duration, Infection odds, and Mortality odds) define the default values characterising the influenza virus. In order to model the three waves of infection that is widely believed to be due to the evolution of the virus, these values are changed by Odds history in the World column. Experiment with different values. The Encounter rate (both the default on in Parameters and the Army Camp one) and Ship encounter rate control how often people come close enough to transmit the virus. Travel destinationsMaximum travel, Medium-distance travel fraction, and Fraction infected known to be infected control the modelling of travel. The data in Population movements defines the long-distance travel by ship.

Other experiments that do no require any programming knowledge is to disable some of the behaviours to see what effect they have. For example, American Expeditionary Forces can be inactivated by clicking on it to see what effect the American troop movements had on the pandemic.  (You also need to activate No American Expeditionary Forces .) Similarly Armistice celebrations North American and Europe and Armistice celebrations Australia and New Zealand can be disabled to determine how much they influenced the dynamics of the pandemic's second wave.

You'll find more ideas in the teacher's guide.

Acknowledgements and licenses