Modeling the Effects of Disasters on a Human Population and Resources TJHSST Computer Systems Tech Lab 2008-2009 Joshua Yoon
Abstract 400 disasters reported in 2008 Goals epidemics, tsunamis, hurricanes, earthquakes, etc Goals accurately model a human population using logistical growth & system dynamics accurately model the effects of disasters on a human population from the model, be able to predict the effects of future disasters on a nearby human population
Background What is System Dynamics? a modeling approach to understanding the behavior of complex systems over time System Dynamics vs. Agent-Based Modeling system dynamics is relationship based (focuses on internal feedback loops between variables of the system) agent-based modeling is random interactions between individuals of a system
Programming Languages current system dynamics programming language Stella : user friendly interface with built in arguments for variables programming language used to create this project NetLogo : arguments for variables not built in and relationships must be coded manually
Development and Methodology create a human population logistical growth dependent on other variables implement a Resource Class inhibits population growth (carrying capacity) implement disasters and recovery make disasters that affect human population and have the population respond accordingly compare test results with real data
NetLogo : Coding Interface
Coding Interface Translated… globals [ Day TimeAfterDisaster Humans Resources dt ] to system-dynamics-setup reset-ticks set dt 1.0 set Day 0 set TimeAfterDisaster 20000 set Humans HumanPopulationstart set Resources ResourceStart end to system-dynamics-go let local-BirthRate BirthRate let local-DeathRateTsunami DeathRateTsunami let local-DeathRateAsteroid DeathRateAsteroid let local-DeathRateHurricane DeathRateHurricane let new-Day max( list 0 ( Day + local-daystep - local-newyear ) ) let new-TimeAfterDisaster max( list 0 ( TimeAfterDisaster + local-timestep - local-Reset ) ) let new-Humans max( list 0 ( Humans + local-HumanBirths - local-HumanDeaths + local-NewPeople ) ) let new-Resources max( list 0 ( Resources - local-consumption + local-NewResources ) ) set Day new-Day set TimeAfterDisaster new-TimeAfterDisaster set Humans new-Humans set Resources new-Resources tick-advance dt end to-report ResourceRateDisaster report ifelse-value(Resources < (carryingcapacity / 2)) [((.9 + (.4 * (TimeAfterDisaster / 11000))) * Humans) / 365] [((.9 + (.1 * (TimeAfterDisaster / 11000))) * Humans) / 365]
NetLogo : Command Center
The Complete Web
Human Class
Resource Class
Deaths and Disaster Class
Time Keepers
All Components Combined…
Variable Control and Graphing
Data Comparison www.emdat.be database of disasters of past century took top disasters and found correlations within the numbers
Results & Analysis
A Closer Look…