Horror


 

Spare the lash and victory can be yours ...

Spare the lash and victory can be yours …

Having scouted the immediate vicinity of their landing point, our heroes needed to prepare to storm the ziggurat, which would mean taking on guards in two distant towers, and whatever soldiers were huddled in the main part of the compound.

The safest approach appeared to be splitting the party, and this is what they decided to do. Dean sneaked into the powerplant, while Ryan slipped away to the opposite end of the ziggurat to approach its guard tower, and Thorne ran around the base of the ziggurat for no apparent purpose except the joy of the miasmic air.

Dean’s stealthy incursion was successful; he was able to sneak into the base of the powerplant, climb some stairs to a high room that was clearly the control room, and confirm that it was a nuclear plant. From there he found a gantry that led joined the control room to one of the two watchtowers. He slipped into the watchtower when the two occupants weren’t looking and crept through a doorway that led inside the ramparts of the ziggurat. Here a narrow corridor led right through the ramparts to an observatory that overlooked the outer slope of the ziggurat, and the grim cloud of the miasma. On the left side of this narrow corridor was a door, through which Dean could hear a group of people arguing about a plan…

Voice 1: I say we use the negotiating tactic. There are too many to fight. We can send our last captive back with a message, then meet them and tell them to give us what we want. They’ll do it, they always do.

Voice 2: This community is big though, Marionetta, too big … they likely have warships, they might be able to hit us harder than we can handle if they know we’re here.

Voice 1: Not if they can’t see us, they can’t do –

Voice 3 [interrupting]: What if they have radar or satellite? They might work it out. A couple of lucky shells from a big warship and we lose the plant. Plus we only have the one captive, we’re running out and we need to drain that one or we’re going to be naked.

Voice 2: I agree. We roll the swarm over them and hit them quietly while they’re fighting it. They have a big ecosystem, they’ll throw everyone and everything at defending it. While they’re trying to protect themselves we slip in, grab everything we can and get out. They won’t even guess where we came from, and we’ll be safe.

Voice 1: But they’re big, we can get them to give over more than we can take … more food, more women, more than we need … it’s a big chance …

Voice 4: Okay folks, I got some draining to do, I’m out. We can figure this out over dinner. Keep tight …

[Various voices indicating assent and farewell]

Dean, realizing he might be caught at the door, slipped away into the observatory. No one emerged from the door, but he decided discretion was the better part of valour and ducked out of one of the observatory windows, creeping around the outside of the ziggurat to return to his colleagues.

Ryan had not been so successful, however. He drew close enough to the watchtower to see that it held two guards, but as he was assessing their position one saw him and opened fire with a sniper rifle; the other began ringing a bell. Ryan was forced to slip away fast into the mist, keeping low to avoid bullets that would carve him open through his weak sharkskin armour, and returned hastily to where Crimson waited. Realizing that the alarm had been raised, they peered over the ramparts and saw a gang of 6 men running out of the aircraft sections towards the watchtower where Ryan had been seen. It was time to act …

As this scouting had been happening, Thorne had run halfway around the base of the ziggurat, youthful exuberance carrying him forward faster than commonsense could catch up. He passed a trio of boat ramps, with three boats hitched up high on the ramps and connected by winches to the top of the rampart. Passing through this he ran on until he came to another boat ramp, upon which a huge dead jellyfish was beached. Three men stood on the far side of the jellyfish, near a cart of some kind that was full of jellyfish parts and waiting to be winched up the ramp. Thorne seized the moment of surprise, sneaking up behind them and grabbing a long, thick jellyfish stinger from inside the cart. Appearing around the edge of the cart, he whipped this at the nearest man, whose back was turned. It slapped all across the man’s back and over his shoulder, but he simply flicked it off irritably, and turned around to see where it had come from. Somehow these men were immune to jellyfish! Instead of falling paralyzed and screaming to the ground Thorne’s target charged forward to attack. One grabbed a boathook while the other two charged in with knives, but they were no match for Thorne’s savagery, and soon he had beaten all three to death. From there he crept up the boat ramp toward the ramparts. Here he found a small building that contained a biodiesel fermenter of some kind – clearly these people had found a way to convert dead and rotting jellyfish into biodiesel. Thorne was investigating when he heard the bell ringing, and wandered off to see what the fuss was about. However, he emerged from the mist at the wrong point, and the men in the watchtower opened fire on him. The 6 guards that Crimson and Ryan had seen charging up the ramparts now turned and chased after Thorne, who decided now might be a good time to return to his colleagues. He turned and fled back the way he had come.

The watchtower battle

Ryan, Leviathan and Crimson waited for Dean to return to them and then all four slipped down the ramparts and into the powerplant. They passed through the control room with the intention of reentering the watchtower unobserved, but as Crimson opened the door to the gantry someone above fired at him – they had been seen by the guards in the watchtower. They had to charge across to the watchtower under fire, but once inside they fixed the problem quickly with a well-thrown grenade. Dean climbed up into the watchtower itself, taking possession of a sniper’s rifle and using it to fire across at the sniper on the other watchtower. The mist and distance confounded him though, and he and the sniper in the far tower exchanged pointless shots.

Down below in the tower Leviathan, Crimson and Ryan were attacked by three of the leaders that Dean had heard in the inner room. These three were a huge, heavily-armoured man carrying an old-fashioned glaive; a small and fast-moving man with a knife; and a lean, vicious-looking woman with no weapons at all. The battle was short and brutal, with Crimson delaying the armoured man while Dean fired crossbow bolts at the other two, Leviathan tried to kill the smaller man and Ryan tried to avoid being killed. They were starting to win, the armoured man badly hurt and the little man dying, when the woman dropped a grenade at her feet, obviously intending to kill everyone in the room. Everyone managed to dive out of doorways and avoid the worst of the blast, but were still hurt. Fortunately the explosion ended the battle, and they were able to pick over the woman’s splattered remains for a key. With this key they opened a door to an armoury just inside the doorway, and found a heavy machine gun with 30 rounds of ammunition. Dean and Leviathan took this up to the watchtower and returned to a futile engagement with the sniper in the far tower, while down below Crimson and Ryan explored the complex of rooms inside the ramparts.

Desperate science

The first room opened into a kind of conference chamber, where Dean had previously heard the leaders conferring. At one end of the room was a large screen, that showed a static view of a laboratory. As they watched, a man appeared on the screen and saw them! For a moment they stared at each other, and then the man uttered a stream of profanities and dashed out of the room he was in. The screen must have been linked to some remote part of the complex, and the remaining leader was now aware that the game was up. They rushed inside the ramparts to find a way to get to him, but couldn’t find anything, and soon returned to the watchtower. At this point Thorne rejoined them, having given his six pursuers the slip through a tunnel in the ramparts. In fact, his pursuers had been forced to retreat by Dean’s heavy machine gun – they had fallen into Dean’s field of fire as they ran along the ramparts looking for Thorne, and after the first two were heavily injured they retreated towards the other watchtower.

The battle with this watchtower remained futile, although Leviathan and Dean were nearly killed when the distant guards unleashed a torrent of anti-drone rockets on their tower. These rockets fell short but Dean and Leviathan had to take cover from the onslaught. Dean managed to recover from this and finally reeled off a lucky shot, blowing the distant rocketeer’s brains out, but during all this time they had been ignoring their surroundings. Finally Leviathan noticed a bank of cctv screens on one side of the watchtower, one of which showed a man in the control room of the nuclear plant, madly fiddling with controls.

The implications were obvious. They charged out of the watchtower to the control room, but were trapped on the gantry because the man had locked the control room door. Inside the control room red lights were flashing and a klaxon was screaming. Leviathan hurriedly placed some explosive on the door handle and blew his way into the room, the explosion so perfectly set that it blew the inner doorknob out perfectly, preserving the door and driving the doorknob deep into the man’s chest[1]. The door swung slowly open, to reveal a room bathed in emergency light and a calm electronic woman’s voice saying, “Three minutes to initial containment failure. Please evacuate.”

Three minutes!! Leviathan began working madly to understand the controls of the plant. He soon identified that the plant was a liquid salt-cooled thorium plant, so meltdown would release a huge quantity of molten salt into the plastic innards of the ziggurat, undoubtedly sinking it very rapidly. This would release the miasma, which probably would drift away from the Hulks, but it would definitely kill the entire group, and they would lose the ziggurat. Everyone watched in horror as Leviathan struggled to reverse the shutdown, scrabbling at controls and desperately running from panel to panel. Finally, with just seconds to spare, he managed to cancel the reactor core failure, and reverse the meltdown. They all fell back onto the panels in relief, and watched as the system returned to normal.

Aftermath

The remainder of the guards were easily dispatched, being mostly injured and trying to flee. The last two had to be shot down as they tried to escape in a boat, with one choosing to dive amongst the jellyfish and take his chances on the ocean rather than face the party. They found the scientist cowering in his lab underneath the second watchtower, and here they found a horrible scene of torture and cannibalism: two fishermen from the Hulks, held captive in cells near the lab, hideously deformed with thousands of jellyfish stings, and near to death. Exploring the ziggurat, they found a captive slave woman, one arm disfigured with jellyfish stings, who told them the tale of the stings. Captives would be tested for their reaction to jellyfish stings, and if they reacted a certain way they would be taken out to sea in small boats and submerged in the miasma, held in the water until they were insane with the pain. They would then be treated in some way, and their blood drained and drunk by the pirates on the ziggurat. This blood would grant the pirates temporary immunity to jellyfish stings, though the immunity required regular boosting with fresh blood. The slave woman had failed the initial reaction to the sting, so she was not drained but kept alive and used. The pirates, it appeared, were also slavers and cannibals.

Common custom in the Flood holds that cannibals are to be destroyed, down to the last man and child: anyone old enough to walk who has tasted human flesh or blood is to be exterminated. It is grim work, but it is a strong custom that stems from the last years of the era before the flood, when desperate communities turned to cannibalism as their societies fell apart, and cannibalism is viewed as a throwback to the worst horrors of the collapse of landborne society. It is known that some floating communities maintained the tradition, and they are seen as horrid abominations to be destroyed at any cost. It was necessary for the characters to hunt down everyone on the ziggurat and destroy them, saving only the maid and the scientist. The scientist would, of course, die horribly, but first he would be taken back to the Hulks and forced to teach them all he knew about the jellyfish.

The characters returned triumphant to the Hulks, to announce to Captain Dilver their successful acquisition of a nuclear-powered ziggurat and the extermination of a cannibal jellyfish pirate cult. Soon they were ferrying soldiers and scientists back to the ziggurat, guiding them around it, and helping to secure it. Though they had nearly all died, their mission had been a resounding success, and position of trust with Captain Dilver assured. The Gyre had become incalculably richer through their efforts, and even Dilver had to concede that they had done well. He fated them personally, inviting them to a private party on the war sloop the Gunfather, so that they had alcohol and fine foods and a grand view as the scientist was flayed and hoisted high on the Eiffel tower, for the birds to pick to death.

A successful adventure indeed …

fn1: Leviathan’s player rolled an incredible 48 with three criticals on the demolitions check!

This week 700 asylum seekers drowned when their boat capsized somewhere in the Mediterranean sea; reports suggest that a large number of these poor souls were locked in the hold of the ship and had no chance of escape. A year ago the people on this ship might have been found rescued earlier by the European Union’s large, integrated emergency response program Mare Nostrum, but unfortunately it was defunded and replaced with a much weaker local Italian response under the explicit rhetoric of “deterrent,” pioneered so effectively by Australia. Countries with significant anti-immigrant political parties and communities, most notably the UK and Germany, refused to fund the continuation of a coordinated Mediterranean-wide rescue program on the basis that rescuing asylum seekers at sea encourages people smugglers to simply send more, and the best way to save lives is to refuse to help, so that the people smugglers’ business collapses when their customers realize the risks.

The events of the last week – 400 drowned last week, 700 this week, and it’s only Monday – show how effective that tactic has been. So does the record so far this year, with 30 times the deaths recorded in the equivalent period last year under Mare Nostrum. Record numbers are crossing the Mediterranean, fleeing persecution in Libya and chaos in Syria and Iraq. These people appear not to have got the Home Office memo, and apparently think that any risk is better than staying where they are. The ideology of “pull factors,” based on the assumption that these asylum seekers aren’t really that desperate and are just looking for the best country to settle rather than a place of safety, has been shown to be completely wrong.

Last year, before the end of Mare Nostrum, I wrote that Europe has been presenting evidence against the Australian ideology of reducing “pull” factors. Since I wrote that blog post Mare Nostrum has ended and the flow of refugees has exploded. Either there is no relationship between the border control policies in place at sea, or the defenders of this ideology – if they are being honest – will have to accept that the evidence shows that the only “pull” factor at work here is going in the opposite direction of their claims, and that rescuing asylum seekers at sea is a more effective deterrent than letting them drown. Of course they won’t accept such a conclusion, and will continue to argue that we “encourage” these desperate people by saving them, when all the evidence now shows that their plight is so desperate that they don’t care about our search and rescue plans, they just want to get out. But our political masters don’t care about these people, and indeed why should they when popular columnists refer to them as vermin and cockroaches? So instead mealy-mouthed politicians in Europe try to maintain their ideology of deterrence through callousness, and maintain that they will end the flow of refugees by targeting the people smugglers – rhetoric they have used for years to no effect, probably because they aren’t even bothering to do that. And how can they affect migration policy in North Africa? Libya is a chaotic mess that the last Italians fled from months ago, leaving the people of Libya and especially its most vulnerable stateless displaced to their bloody fate. How do you target people smuggling when you don’t even have an embassy? Europe is powerless to affect events on the ground in Syria, and refugee flows through that part of the world are now so huge that it would be impossible to identify the people smugglers, let alone stop them.

Japan is another example of the emptiness of “pull factor” rhetoric. Even though Japan has only approved a handful of asylum applications in the last decade, numbers of people claiming asylum have increased ten-fold over that time. How can it be that a country which offers zero chance of resettlement is seeing unprecedented application numbers, if asylum policy at the destination is a major determinant of asylum seekers’ choices?

Abandoning people to drown is cheap and politically easy in modern Europe, but it will not deter these people, because they are desperate. It’s time for Europe to recognize that its neighbourhood has gone to hell, and Europe won’t be able to keep ignoring this problem forever, or pretending that it can stand by and let people drown out of simple callousness. If Europe is not willing to invest the time, money and lives in stabilizing Syria and Libya, then it needs to recognize that it has at least a moral responsibility to save the lives of the desperate and stateless when they put to sea. Maybe then Australian politicians will also rethink their cruel and vicious policies towards the stateless. This problem is not going to end anytime soon, but if we keep lurching towards the moral event horizon, our humanity will …

These nets can't be replaced

These nets can’t be replaced

Next weekend I will be running another short adventure in my Flood campaign world, and the adventure trigger will be the arrival near the Hulks of one of the drowned earth’s most potent environmental threats: the Miasma.

The Miasma is a special type of jellyfish swarm that can only exist in the depopulated aquatic deserts of the world ocean. With almost all land sunk thousands of metres below the surface of the ocean there are very few areas where fish can spawn and thrive, and huge expanses of the earth’s surface are too far from these spawning areas for larger fish to be able to survive in them. These areas, too far from fish populations to support any biodiversity larger than plankton, have become a strange and top-heavy ecosystem. Aside from occasional large predators migrating through, these empty wilds have become the domain of the grazers: whales, basking sharks and jellyfish that thrive on the plankton in surface waters. But the most efficient and terrifying of these open ocean grazers are the jellyfish, which sometimes by happenstance gather together into huge swarms, sometimes tens of kilometres across, that dominate the open ocean wherever they drift, and leave a terrible path of destruction behind them, like enormous army ants of the open seas.

The survivors of human civilization live in terror of these jellyfish swarms, which they call miasma. These swarms, though composed primarily of plankton-eating drifters, are also usually heavily infested with giant, slow-moving grazers and a large number of deadly predatory jellyfish. They consume everything in the ocean around them, and are an existential threat to the fishing grounds that most human communities zealously nurture. They also transform the atmosphere and sea around the swarm, turning the ocean into a kind of limpid swamp that offends the sensibilities of drifting raft communities, and is deeply toxic.

Most raft communities float on oceans more than 1000 m deep, and are as vulnerable to the currents as a jellyfish swarm. To maintain a reliable ocean food supply, the rafters carefully and systematically build up local ecosystems, which in turn feed a network of wild distant ecosystems. In areas like the Gyre, where a relatively large number of human communities live in close proximity, this produces a wider network of ecosystems that spread beyond the immediate vicinity of the rafts and support wildlife somewhat akin to the offshore ecosystems of the old world. But these systems are fragile, and require careful stewarding by the rafters. Every human community that floats on the waves has some system of undersea support for local fish life, that may be as simple as a series of sub-surface floating breeding beds made of old tires, or a complex architecture of reed beds and corals under the hulls and keels of the rafts. In the Gyre, where human communities are structurally large and complex, there are a host of shallow underwater structures that are thriving with sea life that once would have only existed at the shoreline: lobsters in nooks and crannies of the rafts, oysters growing on the old submarine superstructure that gives the larger rafts stability, and small fish breeding amongst every chain link, tyre underside, and submerged rope knot in the entire archipelago of floating human life. There is even a small community of sea lions on the Hulks. Every underwater structure is covered in sea weeds, and kelp grows downward and outward from the edges of the rafts. Further out, larger fish prey on the smaller fish, moving nomadically between communities and eating the larger fish that live further out from the human settlements. The residents of the Hulks put a lot of time into the care of these undersea communities, enforcing strict waste disposal rules and carefully tending weedbeds and corals to ensure that the ecosystem is balanced and thriving.

A miasma can end 100 years of this careful management and stewarding in a few days of insensate gorging. When the miasma overwhelms a human community it will consume everything that floats free in the water. All plankton and feeder fish will be sucked up by the filter feeders, and the larger fish will be found and killed by the predatory jellies. Sea mammals in the open water when the miasma hits will be entangled and drowned, or slowly paralyzed by the accumulation of stingers. The water the miasma carries with it is devoid of oxygen and highly acidic, and if the miasma is moving too slowly on the currents the effect of this tide of pollution will be to destroy all corals and weeds in the raft and its vicinity. Lobsters, crabs, prawns and octopuses that might be untouched by predatory jellies will suffocate in the miasma, and once the swarm has passed all that remains will be dead and rotting sea life. Sometimes the miasma does not pass, and the weight of its central parts will drag the raft community with it, leading to starvation and death for all those onboard. If the rafters do not realize the danger, escape may be impossible: small sailing ships do not have the power to escape the weight of jellyfish in the water, and most smaller powered vessels will have their rudders and rotors entangled, stalling them in the water. Once trapped in the sea of deadly stingers, there is no way to swim out. There are many stories of miasmas that are haunted with the ghosts of lost rafts and ships, and many people claim that they are more dangerous for a small raft community than the ocean’s storms.

There is no herding these slow beasts

There is no herding these slow beasts

The miasma carries its own meteorological phenomena, that in large part are the reason for its name. On the edge of the swarm freely moving predatory jellyfish hunt anything that moves, but in the body of the swarm are primarily filter-feeding drifters, some of them larger than a small boat. Near the centre of this gelid mass the sea becomes so thick with packed-together jellyfish that it is almost solid, and devoid of any other life. When the jellyfish here become too densely packed or when the swarm becomes too large, they die and rot, creating a fetid and stinking swamp of rot. The largest swarms becalm the sea around them, changing its texture so that waves are dampened and currents stop; there in the middle of this becalmed and dense swamp-like realm, the sun beats down and the sea heats up, giving off a stinking and rotten cloud of steam and heat haze that obscures the surface of the water. Most swarms above a certain size carry with them a thick, swamp-like haze that is impenetrable on all but the stormiest of days. Rumour has it that the largest swarms break up under their own meteorological effects: the heat from the centre creates storm cells that scatter the swarm and cast it about into smaller swarmlets. Usually one can smell the swarm before one sees it, because tendrils of this rot drift ahead on the currents. If one is lucky the swarm will be large enough and dense enough that the rafts can be moved out of the currents, or some kind of defenses prepared. But for the larger swarms, or for rafts adrift on a strong current, there is no defense: only prayer.

The miasma leaves problems long after its passing. In addition to destroying all marine life attached to the rafts, it will leave polyps on every surface, and every part of the underside of the rafts needs to be scoured clean to ensure that the raft does not, a year later, become the centre of its own swarm. Jellyfish will also destroy nets and befoul important undersea structures, their weight breaking precious ropes and chains, blocking inlets for power and water desalinators, and poisoning the water as they die and rot. Delicate floating solar panels will be damaged or lost, and the acidic water may do irreparable damage to the oldest and most fragile parts of a long-lived raft community. Small boats may be carried away under the pressure of the swarm, or their propellors and other underwater components entangled and ruined. The raft will also find itself floating in an open sea devoid of life, and any community that is used to catching fish in the immediate vicinity of its decks will need to find a way to venture further afield for food until the ecosystem rights itself – if ever it does. Most likely, though, the local ecosystem will be destroyed, and the rafters will need to make a call on other human communities they know to obtain new stocks of coral, shellfish and weed to regrow their precious ecosystem. Usually such help comes with a high price, that many communities cannot pay: they will then break up, and individual rafts will be forced to brave the open ocean as they seek new fishing grounds or functioning communities to join.

The larger communities are the most vulnerable, because they cannot move. These communities have found ways to ride out the miasma, or even to divert it, but their efforts almost always come with a great cost, in equipment and often lives. Where once jellyfish were annoying pests at the beach, they have now become the greatest terror of the open ocean, and for a community like the Hulks the onset of a major miasma is a threat that most of its residents will only ever see once in their lifetimes – if they survive it …

I’ve recently been building a fairly complex series of Bayesian spatial regression models in BUGS, and thought I’d share some tips based on hard won experience with the models. The various BUGS packages have the most cryptic and incoherent error messages of any stats software I have ever worked with, and although various Bayesian boosters claim that their modeling approach is intuitive, in my opinion it is the exact opposite of intuitive, and it is extremely hard to configure data for use in the packages. Furthermore, online help is hard to find – google an error message and you will find multiple websites with people asking questions that have never been answered, which is rare in the modern world. I take this as a sign that most people don’t understand the error message, and indeed the BUGS manual includes a list of errors with “possible interpretations” that reads more like the I Ching than a software guide. But Confucius say Enlightenment is not to be found in Black Box Pascal, so here is my experience of BUGS.

The models I’m running are complex, with nested conditional autoregressive structures and the higher level having more than 1000 areas with complex neighbour relationships, and millions of observations. I originally ran them on a completely hideous Hewlett Packard laptop, with 4 cores and 8Gb of RAM. I subsequently upgraded to a Dell Workstation (joy in comparison to HP’s clunky root-kitted horror) with 8 cores and 16Gb of RAM; I’m not sure that hardware is the main barrier to performance here though …

The HP machine had a secret administrator account (arseholes!) so I couldn’t install winBUGS[1], so I started off running OpenBUGS called through R’s R2OpenBUGS package running in RStudio. I use R to set up the data and initial values, because I can’t think of any other way to load millions of observations into a text file without going stir crazy. But when I call OpenBUGS it just hangs … no error messages or any other kind of indication of what is going on. I also can’t tell if it is happening at the data loading or compiling or inits stage.

Some digging around online and I found an old post by Andrew Gelman, observing that BUGS does not work well with “large datasets, multivariate structures, and regression coefficients.”

i.e. pretty much every statistical problem worth doing. Gelman also notes that “efficiently-programmed models can get really long, ugly, and bug-prone,” which seems like a contradiction in terms.

Anyway, noting that my data was large, with multivariate structures and regression coefficients, I thought maybe I should tone it down a bit so I tried using a higher level of spatial heirarchy, which reduces the adjacency matrix by an order of magnitude. Still no dice. It was at this point that I upgraded to the bigger computer.

On the bigger computer the smaller model actually worked! But it didn’t work in the sense that anything meaningful came out of it … It worked in the sense that it reported a completely incomprehensible bug, something like a node having an invalid value. I tried multiple different values and nothing worked, but somewhere on the internet I found someone hinting that you should try running BUGS directly rather than calling through R, so I tried this … having created the data in R, I killed OpenBUGS then opened the OpenBUGS interface directly and input the model, then the data, using the text files created by R[2].

When I did this I could step through the process – model was syntatically correct, then model failed to compile! Given that loading inits comes after compilation, an error telling me that I had the wrong initial value seems a bit misleading… in fact I had an “index out of range” error, and when I investigated I found I had made a mistake preparing one part of the data. So where the actual error was “the model can’t compile because you have provided the wrong data,” when called through R the problem was “you have the wrong initial values” (even though I haven’t actually loaded initial values yet).

WTF?! But let’s step back and look at this process for a moment, because it is seven shades of wrong. When you run R2OpenBUGS in R, it first turns the data and inits into a form that OpenBUGS can read; then it dumps these into a directory; then it opens OpenBUGS and gets OpenBUGS to access those files in a stepwise process – at least, that’s what I see R doing. If I decide to do the model directly in the OpenBUGS graphical interface, then what I do is I get R to make the data, then I use the task manager to kill OpenBUGS, then I call OpenBUGS directly, and get OpenBUGS to access the files R made in a stepwise process. i.e. I do exactly the same thing that R does, but I get completely different error messages.

There are various places on the internet where you might stumble on this advice, but I want to stress it: you get different error messages in OpenBUGS run natively than you do in OpenBUGS called through R. Those error messages are so different that you will get a completely different idea of what is wrong with your program.

Anyway, I fixed the index but then I ran into problems after I tried to load my initial values. Nothing seemed to work, and the errors were really cryptic. “Invalid initial value” is not very useful. But further digging on the internet showed me that OpenBUGS and WinBUGS have different approaches to initial values, and winBUGS is not as strict about the values that it accepts. Hmmm … so I installed winBUGS, and reran the model… and it worked! OpenBUGS apparently has some kind of condition on certain variables that they must sum to 0, while winBUGS doesn’t check that condition. A free tip for beginners: setting your initial values so they sum to 0 doesn’t help, but running the same model, unchanged, in winBUGS, works.

So either OpenBUGS is too strict, or winBUGS lets through a whole bunch of dodgy stuff. I am inclined to believe the former, because initial values shouldn’t be a major obstacle to a good model, but as others[3] have observed, BUGS is programmed in a completely opaque system so no one knows what it is doing.

So, multiple misleading errors, and a complex weirdness about calling external software through R, and I have a functioning model. Today I expanded that model back to the original order of magnitude of small areas, and it also worked, though there was an interesting weirdness here. When I tried to compile the model it took about three hours, and produced a Trap. But the weird thing is the Trap contained no warnings about BUGS at all, they were all warnings about windows (something called Windows.AddInteger or similar), and after I killed the Trap my model updated fine. So I think the compile problems I previously experienced may have had something to do with memory problems in Windows (I had no problems with badly designed adjacency matrices in the larger model), but OpenBUGS just doesn’t tell you what’s going on, so you have no idea …

I should also add, for intrepid readers who have got this far, that this dude provides an excellent catalogue of OpenBUGS errors with his plain English explanations of what they actually meant. He’s like this mystical interpreter of the I Ching for Bayesian spatial regressives. Also I want to add that I think the CAR spatial correlation model is super dodgy. I found this article (pdf) by Melanie Wall from the Journal of Statistical Planning and Inference (what a read!) that shows that the way we construct the spatial adjacency matrix is the primary determinant of the correlation structure, and that the correlation structure determined by this adjacency matrix is nothing like what we think we are getting. Today on my whiteboard and with the help of R I imagined a simple industrial process where each stage in the process is correlated with the one before and after it, and I showed very easily based on Wall’s work that the adjacency matrix required to describe this process is completely different to the one that you would naively set up under the framework described for CAR modeling. So I think most of the “spatial correlation” structures described using CAR models have no relationship to what the programmer thinks they’re entering into the model. But I have no proof of this, so I guess like everyone else I’ll just press on, using the adjacency matrix I think works …

So there you have it. Next time you see an opinion formed on the basis of a spatial regression model built in BUGS, remember the problems I had getting to the output, and ask yourself – do you trust that model? Really?

fn1: Well, I could copy winBUGS into the program files folder but I couldn’t patch it or install the immortality key, which, wtf? When I bought Time Series Modelling and Forecasting by Brockwell and Davis, ITSM came as a free disk with the book. When I buy the BUGS book I get to install software that comes with a big message telling me to get stuffed, and years later they finally provide a key that enables you to use it for free …

fn2: If you aren’t aware of how this works, basically when you call OpenBUGS in R, providing data from inside R, R first dumps the data into text files in the directory of your choosing, then OpenBUGS opens those files. So if you aren’t comfortable preparing data for BUGS yourself, use the list and structure commands in R, then kill OpenBUGS and go to OpenBUGS directly … the text files will remain in the directory you chose.

fn3: Barry Rowlingson does a pretty good job of showing how interesting and useful spatial analysis can be: see e.g. his post on mapping the Zaatari refugee camp in Syria.

Snips and snails, and puppy dog tails ...

Snips and snails, and puppy dog tails …

This is an account of our first, short adventure, playing the Malifaux RPG Through the Breach. Malifaux is a Victorian steampunk-horror setting in which the world as we know it is linked to another, sinister world called Malifaux by a phenomenon called the Breach. The Malifaux side of the Breach is full of magic powered by artifacts called Soulstones, and the mundane side of the Breach mines these soulstones to power magic on the mundane side of the Breach. Our characters traveled through the Breach in response to an advert seeking adventurers …

The PCs are my character, Penitent Benny, and two others:

  • Lucien Buchmeister, a bookish chap from Prussia who carries a couple of pistols and has secret magic powers (magic is monitored in the world of Malifaux)
  • Damien, a Frenchie woman with a scarred face and a very cold demeanour, who whispers to her carbine, which she calls Mon cheri

What could possibly go wrong?

The three PCs met for the first time outside the double doors of the main station at the Breach. It was a typical hot, dusty day in Malifaux, though to the characters the soul-sapping heat and dryness were yet a novelty. They stood facing a hectic loading yard, full of horse-drawn carriages, porters, rough-looking steam-yarders of every physical description, hue and creed. A gang of Sikhs gently lifting a crate of carefully balanced vases, sweat streaming down their dark bearded faces, turbans gleaming like jewels against the dust and faded ochre of the yard; a squad of Condottieri, resplendent in blue and red silks and brocades, heavily armed and sweating like pigs; a group of Japanese pearling women, famously crossing the Breach to find soulstones in flooded mines, weaving through the yard in colorful yukata, fans waving and tittering in the heat; in amongst them all the swarming throng of leather-chapped steam-yarders, carrying, cursing, fighting, spitting and yawning, surrounded by the stench of horses and tendrils of dust and smoke.

The characters converged amongst this clouded, crowded chaos on the diminutive form of one Mr. Tyler, Esq., standing next to a large carriage atop which sat an enormous, coal-dark black man, a veritable mountain of ebony flesh carrying a blunderbuss the size of a London Omnibus. This black man was holding a signboard in one hand that read “Messrs Damien, Lucien and Benny”, and looking about him with a wary, bored gaze. Beneath him, in the shadow of the carriage, Mr. Tyler stood gleaming pale white in a white linen suit, blazing brilliant white even in the shadows. Diminutive and wiry-looking, he spat out a gobbet of chewing tobacco as the characters approached and strode forward to greet them, hand outstretched. “Mr. Tyler, dogsbody to Dr. Samuel Jacobs. Welcome to Malifaux,” he greeted each of them in turn, looking a little surprised to discover that Damien was a woman, and gesturing them to the carriage. “It’s straight to Dr. Samuels, I’m afraid, for your interview with your new employer, and then to your lodgings. If you don’t mind?”

The journey to Dr. Jacobs’ place was short, and during the ride Mr. Tyler maintained a constant patois of explanations and descriptions of the city of Malifaux, with no questions asked about the characters’ journey or origins. They soon reached Dr. Jacobs’ mansion, a classic Colonial mansion with large gardens and a pristine, low white wall, and the carriage swept through an open gate and perfectly manicured gardens to a wide gravel yard before the grand entrance. Mr. Tyler led them inside, and they soon found themselves standing in a classic academic study: cluttered with books and oddities, stuffy with the smell of old papers and dead things, and dominated at one end by a huge desk. Behind this ostentatious arrangement of marble and leather sat a frail, worn-looking old man who introduced himself as Dr. Samuel Jacobs, shaking each of their hands without standing, and explained the rules of their engagement to work for him:

  • Free lodgings with the indomitable Mrs. McCranning
  • 15 scrip a week [<-this is a quite fantastic quantity of money]
  • Extremely dangerous work at Dr. Samuels’ whim, on demand

With that he told them the nature of their first job. He had recently lost his fob watch, which had considerable value to him since it was given to him by his deceased wife, and he needed them to find it. Though the task might seem trivial, his experience of Malifaux was that such minor misdemeanours as a stolen watch could explode into catastrophe if not addressed, and he needed that watch. The PCs were to find it, and they could start by visiting a Guild investigator by the name of Travis Cain, who rumour has it had been investigating petty theft in the slums.

With that simple explanation the PCs were dismissed, and left the house to ride to their lodgings. Mrs. McCranning’s was a huge Georgian building in downtown Malifaux, not so close to the quarantine quarter or the slums as to be damnable, but not far enough to be comfortable, occupied primarily by travelling labourers. Mrs. McCranning was a classic Irish landlady, hard as nails and shrewd as a goblin. Fortunately she found a soft spot for Penitent Benny, and was willing to secure them a late dinner and baths before they retired. They spent the night in adjoining rooms, Damien chattering to her rifle, Lucien to his books, and Benny screaming his nightmares to the rafters. A group of valiant adventurers ready for any task.

The next morning, after a robust breakfast, the PCs visited Mr. Cain at the Guild HQ, to ask him for advice. This man, snoring in the corner with a bottle of whiskey on his desk, was of little help; he demanded one of their scrip before he would help, and then told them the names of a few families he had investigated in the slums. They paid up and trundled off to visit the slums.

Unfortunately in the slums a local gang lord, the red something-or-other, had them followed, and thinking their pursuers part of the problem they ambushed them in an alley. One they killed and the other two they injured, and in the talk that followed discovered they had simply killed a couple of local gang members keeping an eye on them. These gang members were aware of the stolen local items, and as a sop to avoid getting into trouble with their leader the PCs offered to share any information with the red something-or-other before reporting it to the Guild. With that they continued their search.

They soon found their first target, a family whose two children who had lost their stuffed toys and were now slowly dying of some kind of withering illness. The PCs very quickly realized what was going on here when they heard the mother thought she had seen something near one of the children during the night. They set up a watch.

They were soon rewarded. During the night two small creatures stole into the room where the children slept and sat on their chests. They touched the childrens’ heads, and a strange glow began to form, obviously stealing the childrens’ life force. However, at the same time a strange magic fell over the whole area, causing everyone except Lucien to fall asleep. Lucien managed to wake Penitent Benny, and then ran outside to wake Damien. Penitent Benny acted, moving against the creatures. In the glow of their soul-stealing magic he realized they were some kind of puppet, made out of an agglomeration of household objects. Each of them included a single piece of a child’s teddy bear, as if they were some kind of fetish made of ordinary people’s belongings – including these childrens’! Whatever their origin, Benny didn’t like them, and threw his bowie knives at the puppets. He killed one and pinned the other one to the wall.

Meanwhile Lucien had failed to wake Damien, but upon emerging into the street (where Damien was keeping guard) saw a strange magical woman who terrified him so much that he was forced to run away in fear. Once out of sight around the block he was ambushed by another, nastier puppet, and got caught in a battle that lasted some time before he could kill it. Meanwhile Benny woke Damien and they killed the woman in the street. By the time they had dealt with her Lucien returned from his victory over the puppet (what a hero!) and they all returned to the bedroom, where the puppet remained pinned to the wall. Penitent Benny tied a piece of string and a tin can to it, and they let it go. It immediately scarpered, heading off into the city, so they followed.

The little scoundrel scampered over rooftops and alleyways, moving fast but without concern for stealth through the empty early morning streets until it arrived at the wall separating the slums from the Quarantine Zone. Here it started digging a tunnel under the wall. The PCs climbed the wall, though doing so is highly illegal and probably quite dangerous, and waited calmly on the other side for the puppet to finish digging. They then followed it some more, into the Quarantine Zone. After perhaps another ten minutes of running, it scampered into what was quite obviously an ancient tomb.

They followed.

Inside they descended some ancient stairs into a narrow tunnel, lined with chambers. In each chamber was a huge pot, filled with random household items. At the farthest end of the tunnel, the chambers were empty of pots… Soon the tunnel ended, opening into a large room dimly lit with candles. The PCs stopped and Penitent Benny crept ahead to look.

In the room he saw a huge old tomb, on which danced two man-sized puppets, communicating silently with their little tiny puppet. The floor was covered in discarded household items, and two huge pots full of items sat near the throne. There was a sense of malice and despair about the room, and as Benny watched the puppets took one of the pots and did … something to it. A dark, sinister mist emerged from the pot and poured into tomb, within which something … huge and sinister … slowly stirred. Then the puppets cast the pot onto the floor where it broke, its ordinary household contents crashing in amongst the sea of other contents. The two big puppets then looked at the tiny one, and it fled back the way it had come, obviously already setting out to find a new victim …

They attacked. With surprise the battle did not last long, and soon the two big puppets were soon dead. They explored the room briefly but there was nothing else there but the tomb. Being new to Malifaux, they soon decided the best course of action would be to open the tomb, and between the three of them managed to pry off one of the stone slabs covering it. Why was the slab so heavy? It were as if whoever made the tomb didn’t want it opened…

As the slab tumbled off the tomb, they all heard a roar of anger, and a dark, malevolent force began to emerge from the tomb – a kind of huge, shadowy version of the puppets they had killed. It oozed out of the tomb at first like a thick goo, but soon began to congeal in the middle of the room, gathering together the household belongings as it formed like a kind of huge, shadowy tatt-magnet. As it grew they saw Dr. Jacobs’ fob watch in amongst all the tatt, slowly being drawn towards the shadow. The grabbed it and,  realizing their mistake, ran for the exit, followed by the booming laughter of the growing shadow. They burst outside just in time, running helter skelter for the Quarantine Wall, as behind them a vast shadow blocked out the evening sun, crawling with invincible and patient malevolence slowly down the alleys and byways of the Quarantine Zone. What had they released?

They tumbled over the wall into the slums, and already they could see movement about, as people felt the thing coming before they could even see it. They ran straight to the crime boss, the red something-or-other, and told his minions to get everything he had out on the street now. They didn’t wait around to die though, and ran on, towards Downtown. By the time they got to Downtown word had reached someone somewhere that a Big Thing was arisen, and they saw many Neverborn hunters from the Guild rushing down to the slums. They even saw Travis Cain, though they didn’t bother to offer him any useful information. Instead, they ran.

Their adventure ended there. The townsfolk hid and for the whole night battle raged through the slums, as the red gangs and the Guild fought the beast. By morning many of the red gang were dead and their leader was a hero, the black shadow beast defeated. The PCs were able to quietly hand over the watch to Dr. Jacobs and retrieve the reward, and no one – not even Dr. Jacobs, though no doubt he suspected – was aware that Malifaux’s near destruction was the fault of a group of young idiots opening the wrong grave.

The next day they received 15 scrip. So who really cares?

I’ve complained before about the reliability and quality of the open source statistics package, R. Sometimes I get pushback, with people suggesting that I just don’t understand what R is trying to do, or that there is an obvious way to do things differently that answers my complaints – that R is idiosyncratic but generally trustworthy.

Well, try this exercise, which I stumbled on today while trying to teach basic programming in R:

  • Run a logistic regression model with any reasonable data set, assign the output to an object (let’s call it logit1)
  • Extract the Akaike Information Criterion (AIC) from this object, using the command logit1$aic. What is the value of the AIC?
  • Now extract basic information from the logistic model by typing its name (logit1). What is the value of the AIC?
  • Now extract more detailed information from the logistic model by typing summary(logit1). What is the value of the AIC?

When I did this today my AIC value was 54720.95. From the summary function it was 54721; from the basic output option it was 54720.

That’s right, depending on how you extract the information, R rounds the value of the AIC up, or truncates it. R truncates a numerical value without telling you.

Do you trust this package to conduct a maximum likelihood estimation procedure, when its developers not only can’t adhere to standard practice in rounding, but can’t even be internally consistent in their errors? And how can you convince someone who needs reliability in their numerical algorithms that they should use R, when R can’t even round numbers consistently?

I should point out that a decision to truncate a number is not a trivial decision. That isn’t something that happens because you didn’t change the default. Someone actually consciously programmed the basic output display method in R to truncate rather than round off. At some point they faced a decision between floor() and round() for a basic, essential part of the I/O for a statistics package, and they decided floor() was the better option. And no one has changed that decision ever since. I don’t think it’s a precision error either (the default precision of the summary function is 4 digits!) because the example I stumbled across today ended with the decimal digits .95. This was a conscious programming decision that no one bothered to fix.

The more I work with R, the more I believe that it is only good for automation, and all its output needs to be checked in a system with actual quality control. And that you should never, ever use it for any process anyone else is going to rely upon.

Today’s media are breathlessly reporting that the WHO is predicting 5,000 – 10,000 new cases of Ebola virus disease per week by the beginning of December. There is no written documentation on this, but I did find this study in the New England Journal of Medicine (NEJM) from the WHO’s rapid response unit which suggested 20,000 cumulative cases by 2nd November, which would be 10,000 more cases than we are seeing now (roughly) in just two weeks, so 5,000 per week in November. Given the doubling times in that study were estimated to be approximately one month, that does suggest a rough number of 10,000 cases per week by December (if anything that number is probably slightly optimistic). If so we can expect to see 40,000 cumulative cases by the start of December (20,000 to 2nd November, then 20,000 more in November), and 80,000 by the end of the year. Assuming the same doubling, we will see another 20,000 a week in January, which takes us to a rough 150,000 by the beginning of February, assuming that there is no successful intervention by then.

The case fatality rate is now estimated to be about 70%, so those time frames would give respectively (and approximately); 30,000 deaths by the start of December; 55,000 by the end of the year; and about 100,000 by February. Those are large numbers, but on a national basis what does that mean? In this post I want to look at the implications of these numbers under three different scenarios, but first let’s just look at the number of deaths by the end of the year, and do some rough calculations of the implications.

First, let’s look at just Liberia. The NEJM article puts about 50% of all cases in Liberia, so if we follow that proportion forward, we can expect about 27,000 deaths by the end of the year, and 40,000 cases. It’s not necessarily wise to assume that proportion is static, since the disease appears to have taken hold in the capital of Liberia and Liberia seems to be the worst affected, so the disease may spread faster there or may burn out sooner; but for lack of better evidence let’s just go with that proportion. Liberia, according to Wikipedia, has a population of 4 million, and its capital Monrovia has a population of about 1 million. At first blush, 27,000 deaths is not a lot of people in a country of 4 million … but in 2005-2010 Liberia’s mortality rate was 12 per 1000, for a total of 48,000 deaths in 2014 (my estimate). The 30,000 extra cases of Ebola in Liberia that will occur by the end of the year will cause 21,000 deaths, 50% of its annual total. In just 2.5 months the disease will kill as many people as usually die in 6 months. That’s a traumatic increase in mortality, such as usually happens only in times of natural disaster and war.

In addition, however, controlling the epidemic requires isolation and monitoring of an enormous number of people. Consider this report of an outbreak of Marburg disease in Uganda in September. The disease – which is very similar to Ebola – was identified in a single person in a small town in Uganda, and killed the index case after 17 days. Contact tracing was carried out, and the WHO reports that

As of today, a total of 146 contacts have been identified and are being monitored for signs and symptoms compatible with MVD. Eleven of the contacts developed signs and symptoms compatible with Marburg virus disease.

In order to properly contain this disease, the doctors had to track down 146 people, and of those 11 developed signs and symptoms (fortunately in this case none of them were positive). In the Liberian context this would mean that for every case, more than 100 people need to be traced and 11 isolated as suspected Ebola. Even if we assume that people are starting to catch on to the risks, and so are having less contacts and less need for isolation, we can probably still safely assume that to properly control the disease we need to isolate 4-10 people and trace 100 or so. For 30,000 new cases from now till the end of the year that will mean isolating 120-300,000 individuals, for a period of as long as 21 days. The top end of that figure is about 8% of the population of the country.

Finally, the toll on health care workers of the first 10,000 cases has been genuinely shocking. The latest WHO situation report tells us that 201 health care workers in Liberia have caught the disease, and 95 have died. Assuming that rate persists, adding 30,000 more cases will lead to the death of 300 more health care workers. Wikipedia, again, tells us that Liberia had 5000 full- or part-time health care workers in 2006, of whom 51 were doctors. By December Liberia will have lost almost 20% of its entire health workforce, leading to huge setbacks for health in one of only seven countries in Africa to have met its Millenium Development Goal 4 (under-5 mortality) targets.

So let’s bear those basic figures in mind. 40,000 cases= 28,000 deaths, 120-300,000 isolated individuals, 1.2 – 3.0 million individuals being monitored for signs and symptoms, 20% of the health workforce dead. Also, a very large number of foreign health workers coming in to help, and entire new hospitals being constructed in a country with no suitable infrastructure. Now let’s consider three different scenarios, based around the UN’s 70-70-60 goal, which is to be able to isolate 70% of cases and bury 70% of bodies safely, within 60 days. The low basic reproductive number of Ebola – below 2.0 in most cases – means that preventing 70% of secondary cases should be sufficient to kill the epidemic (just!) So let’s assume that if this goal is reached and maintained, the epidemic will plateau and then begin to decline, in about the same time that it took to escalate. For simplicity we’ll count that time period in terms of numbers of cases – so after the disease peaks, we will assume as many new cases occur as the disease fades away as occurred in its growth. This is not unreasonable – most epidemic patterns don’t crash, but tend to go through a decline that looks roughly symmetric to the increase. This may not apply with a disease as fatal as Ebola, but no one will know till we come out the other side, so let’s assume it will behave as most other epidemic patterns do. This means that if we have x cases by new year, and the UN goal is attained at new year, we should expect to see a further x cases before the disease is gone.

The best case scenario: Liberia meets the UN goal on time

If the sudden inrush of aid workers and soldiers enables Liberia to meet the UN goal on time, we will reach 70-70 in 60 days from now, i.e. by mid-December. That means there will have been 60,000 cases by the time the epidemic begins to decline, or maybe 100,000 by its end. This means 70,000 deaths, 300-700,000 isolated individuals, and pretty much everyone in the country being monitored. About 50% of the workforce will be dead. If we assume the decline takes a few months, say until March, we can guess that we will see nearly two years’ mortality in just 6 months. Between 10-25% of the population will have been isolated for about one month during this period, unable to work or care for others. The goal of safely burying 70% of the dead means 50,000 bodies will need to be buried by specialist teams. The difficulty of their work can be seen in this excellent brief report from the NY Times, but I think it’s obvious that burying 50,000 bodies is going to have to be done in a very different way to this. I wonder if there is even a protocol for mass burial of highly-infectious bodies?

This is the best case scenario. On the basis of the numbers alone it is clearly a catastrophe for Liberia, but it isn’t enough to bring the country to its knees (at least with outside help). Less than 2.5% of the country is dead, and although the economic effects are alarming and the long-term destruction of the health system will set the country back years from its health goals, it doesn’t appear to be a recipe for total collapse (at least on paper). There is hope here, and if the containment efforts are good so that the epidemic crashes really fast, then we can expect it to have a much less significant effect on the health workforce.

The realistic scenario: Attaining 70-70-60 a month late

Suppose instead that the UN goal is missed by a month, taking us to mid-January. That will correspond with about (very roughly) 100,000 new cases by the time the epidemic peaks, or 200,000 by the time it finishes in probably March or April next year. From our calculations, this means 140,000 deaths, 600,000 – 1.5 million isolated individuals, and the remainder being monitored. The entire health workforce will die in this scenario, and about 100,000 bodies will need to be buried safely. Only 54% of the Liberian population are working age, or about 2 million; it’s quite possible that a large part of the adult workforce will be in isolation for more than 3 months, with a large part of the rest involved in basic Ebola-combat activities (burying bodies, contact tracing, logistics). The death toll is equivalent to three years’ mortality in 6 months. What this would mean for the agriculture sector I cannot guess, but it doesn’t seem good. At this level of disease spread, I think we are looking at a society on the verge of collapse, where trade-offs have to be made between isolation/contact tracing on the one hand, and maintaining basic functions of civil society on the other. If the UN goal is missed by a month, alternatives will need to be found to isolation systems, and a huge increase in available health workers will be needed.

The worst case scenario: Failure to contain the epidemic by February

Failure to contain the epidemic by February means 150,000 cumulative cases by February, and probably at least 300,000 (maybe more) over the next few months, with no sign of a slowdown. Every month we will see another doubling of the rate (40,000 per week in March, and so on). Just taking the minimum value here of 300,000 cases, there are 210,000 deaths, 840,000 – 2 million individuals in isolation, and the entire health workforce decimated. In this scenario most of the adult working-age population is isolated, and the entire economy has shut down. Without a huge influx of foreign aid – in food, water, field hospitals, and probably thousands of medical staff – the disease will break out of any containment system that might be left in place, and the only limit on its spread will be its own voracity. This suggests to me that we have until January to get an effective containment system in place, or Liberia as a country will cease to exist in any functional sense. We should assume, furthermore, that in the general breakdown of the social order that will ensue many people will leave the country, and the risk of the epidemic spreading to Nigeria will be very great.

Caveats and limitations

These figures are all rough guesses based on huge assumptions. The number of people who need to be isolated will not scale linearly with disease spread, for example, because one individual will begin to have multiple case connections, and as the disease spreads and social contact reduces, the number of people a new case will have actually touched or been near will decline rapidly. So my estimates of effects on the working age population are inflated, and these are the key cause of social breakdown, I think. Without the effect of isolation and disease containment efforts, even 300,000 cases and 210,000 deaths is not a society-ending event in a country of 4 million people, though nobody wants to think about how horrible that will be. My assumption that the downward side of the epidemic will cause as many cases as the upward side is based on the assumption that the basic reproduction number will be reduced only just below 1 by the 70-70-60 plan; this means each existing case gets a chance to cause another, but if the epidemic is contained more effectively once the plan is in place that assumption could be an over-estimate. Also there are geographical limits on the spread of the disease (especially once things get desperate and all travel within the country is shut down); this will mean that the disease rapidly burns through its available cases and dies out before it can spread fully. And finally, I don’t know what the time trend in deaths of health workers is, but I suspect these deaths were mostly in the early stage of the disease before the word was out, and that deaths are now declining rapidly towards zero. Given all these constraints, I think that an aggressive plan enacted now, aiming to achieve the 70-70-60 goal, and followed through aggressively thereafter, will probably stop the disease somewhere before the numbers provided in my best case scenario. This will still cause a years’ worth of mortality in a couple of months, take up to 10% of the working age population out of work for isolation, and kill up to 20% of the Liberian health workforce. It won’t cause a national collapse, but it is a catastrophe easily as bad as a tsunami or some other huge natural disaster.

What should this mean for the future of health planning in Africa?

We often talk about “fragile health systems” and “extreme poverty” in Africa, but in the rich nations we’re used to thinking of health system failure as poorly-managed diseases and unpleasant medical experiences, but it’s worth remembering that at the extremes of medicine there are disasters: car accidents, pandemic influenza, and incredibly horrible diseases like Ebola. In the best of times in Africa, “fragile health systems” means excess deaths due to preventable infant, maternal, HIV- and malaria-related mortality. But in the worst of times it means huge waves of mortality due to natural disasters, war or epidemics. This Ebola outbreak is showing the rich world what “fragile health systems” really means, and also showing us that we are not able to completely disconnect ourselves from these failures. We can’t expect to isolate ourselves from emerging infectious diseases forever, except perhaps at the cost of our humanity, so instead of trying to isolate ourselves we should try to seriously tackle the fundamental problems affecting health systems in Africa and some parts of South Asia. This is not like a military intervention where the best of intentions can bring about the worst of results; we know what works and we simply need to find the political will to make it happen. Once this disease is back in its box, and all three affected countries are able to contemplate a return to normality, we in the rich world should make a serious, final effort to fix global poverty and most especially to end the grotesque inequality in health systems around the world. It’s almost certainly not going to happen, but we have to recognize that any country with a fragile health system is one weird event away from a terrible humanitarian catastrophe, and we need to start thinking about how to stop this from happening again. That means we have to act to help those countries to genuinely strengthen their health systems, and achieve the kind of economic state that is able to sustain them. This may mean we fat, rich westerners pay a little more for our chocolate, coffee and clothes, but it’s a price I hope we are all going to be a little more willing to pay now that the threat of dying horribly in our own body fluids has begun to make itself felt.

This situation should also serve as a warning about the dangers of ignoring very rare but high-risk events. Ebola has been known for 40 years, and this is the first time it has ever escaped containment. Work on a vaccine has been delayed or ignored partly, I think, because the risk of this disease escaping its bounds is so low that people considered it negligible. I hope my calculations show that the cost of this disease is only negligible provided it never happens, and that once it does happen all our risk assessments look incredibly stupid. We need a new way of assessing risk which puts a serious value on low-probability events. In the era of climate change the implications of this are obvious. At the tail end of some of the global climate models there are some extreme, civilization-ending events that have been largely overlooked by policy-makers because they are so unlikely to happen. Hopefully this Ebola outbreak will convince the world that it is time we started looking more at the tails of our probability distributions, and not at the comforting bulges down near the low-cost events.

Next Page »

Follow

Get every new post delivered to your Inbox.

Join 60 other followers