Spatial Simulations Wolves hunting Caribou
Simulation A “model” that is a simulation of a past or potential event Typically the models are not considered general (simpler models may be) Relies on knowledge of the mechanisms behind the processes that created the event "3DiTeams percuss chest". Licensed under CC BY-SA 3.0 via Wikipedia - http://en.wikipedia.org/wiki/File:3DiTeams_percuss_chest.JPG#/media/File:3DiTeams_percuss_chest.JPG
Simulations are Used In: Volcanic eruption processes Species population dynamics Disease propagation Flood dynamics Social dynamics Earthquakes Oil spills Land slides NASA
Validation? Past Events: Future Events: Best case: Can ground-truth based but how generalizable are they? Future Events: How to ground-truth? Best case: Model based on past events, ground-truth, then extend into the future carefully http://www.dailymail.co.uk/sciencetech/article-2107654/Nasa-identifies-new-asteroid-threat-hit-Earth-2040--UN-begun-discussing-divert-it.html http://www.dailymail.co.uk/
Civil Engineering Civil engineering is based on what has worked in the past New structures are built based on: Understanding of materials Books of “margins of error” based on what has worked and not worked in the past Simulations of potential scenarios
Tacoma Narrows Bridge http://www.youtube.com/watch?v=j-zczJXSxnw After the Tacoma narrows bridge collapsed, all suspension bridges had to be checked for harmonic oscillations against the typical winds in the area Today, this is just one of the simulations that are used to test structures in different situations.
Simulation Models NASA’s Perpetual Ocean NASA Simulation of aerosols: http://svs.gsfc.nasa.gov/vis/a000000/a003800/a003827/ NASA Simulation of aerosols:
Animations / Simulations Tsunamis: Tsunami in a city – Blender Another for fun Tsunami Floods City 2 - Blender Simulation NOAA Tsunami Animation Asteroid Impact Simulation
When to simulate? Completely hypothetic scenarios Really minimal data Temporal process -> compelling animations The process is believed to be well understood (simulations are typically mechanistic) When the problem can be simplified enough to run on available hardware! Educational
Methods Agent-Based Cellular automaton
Agent Based Models Agent: Typically a point www.anylogic.com Agent: Typically a point Has “attributes”: health, size, age, sex, etc. Behaves independently Moves, feeds, breeds, dies Can “interact” with other agents Can “interact” with its envrionment
Environmental Science Spatially Explicit Individually Based Models (SEIBM) Each “object” in the model represents one individual Spatially Explicit Population Based Models (SEPBM) Each “object” represents N individuals
Simple Model All Agents Predator Prey X Y Hunger Health Pred 1 Prey 1
How it works Move agents Agent interactions Update attributes Prey Hunger Birth Death Loop for a period of time
Movement Each agent has an x, y coordinate Moves to a new position based on: Random movement Directed movement Terrain Forces: wind, water, slope Random Directed Lagrangian Movement
“Walking” Random Walk “Directed Walk” Lévy flight foraging hypothesis Brownian Motion: pseudo-random movement of particles when interacting with other particles “Directed Walk” Movement toward a resource Lévy flight foraging hypothesis Line lengths drawn from a “heavy tailed” distribution
Interactions Agents interact with each other: Breed Feed Interact with distance < some minimum Agents interact with the environment: Feed on grass
Real Interactions Are Complex https://i.imgur.com/AZUijGp.gifv
Agents Update Attributes Hunger/Health go down without food Birth happens at some cycle if conditions are correct Death If Hunger/Health are too high/low Age > maximum Conditions too harsh Also can: Grow Learn Bloom, senesce
Life Cycle Birth Youth Adult Death
Model of Riverine Fish Fig. 1. Conceptual diagram of a spatially explicit individual-based model of shovelnose sturgeon (SEIBM-1D SNS ). Boxes indicate life stages of shovelnose sturgeon in the model. Italicized texts indicate individual-level processes that facilitate the transition to the next life stage in the model. Diamond shapes indicate environmental drivers (inputs) of the individual-level processes in the model. Detailed description of how the environmental drivers in fl uence each process of the model is provided in Appendix A (Supplementary material). Goto et. al, 2015, Spatiotemporal variation in flow-dependent recruitment of long-lived riverine fish: Model development and evaluation
Individually Based Models Polytechnic University of Catalan - Crowds Princeton’s migration studies Agent Based Traffic Models
Cellular Automata Monitor what is in each “cell” Typically: Each raster has the number of individuals of one type (or amount of available veg) Can also include: Land cover, barriers, water vs. land, etc. Difficulty to cross area Open vs. protected areas
Tools NetLogo HexSim MASON Multi-Agent Simulation Toolkit Repast Programming! Python Java R? Books: “Agent-Based Models of Geographical Systems”
Python SEIBM Very simple model Includes 2 classes: Animal (prey and predators) Veg (grass)
SEIBM – Main Script Imports: tkinter, time, random, Veg, Animal Setup the GUI Initialize animal objects in an array Loop forever: Update each object Redraw the window Let Python process events (mouse clicks) Sleep for a bit
Others… HTML 5 Based Simulation Solutions? For others, see: EVE (game) Insight Maker? For others, see: Wikipedia