The framework ESCAPE
ESCAPE offers a relatively simple and generic evacuation simulation and modeling exploration system. The ESCAPE system is a series of tools that simulate the evacuation of a population from a territory at fine geographical and temporal scales. Particular attention has been given to modeling movements. While many models dedicated to simulating evacuations exist, few can take into account the reality of a massive population evacuation involving multi-modal movements (by foot, two-wheeled vehicles, private cars, public transport).
The city of Quiberon is exposed to several major risks. The natural risks in Quiberon include:
- Flooding
- Marine submersion
- Storms
- Heatwaves / cold waves
- Fire
- Landslides
- Earthquakes
Through the example of a preventive evacuation of the peninsula, we will attempt to illustrate the ESCAPE pipeline, from the creation of data and evacuation scenarios to the analysis of the simulation results.
With the 'toy model', you can adjust various parameters, including:
- The individual's response time.
- The number of evacuees.
- The probability of a household having a vehicle.
- The number of buses and their capacities (e.g., 50 or 25 seats).
- Or simulate a trafic incident.
The following gif present two evacuation scenarios: On the left, the scenario is set during the low tourist season with no perturbations and a rapid individual response time. On the right, the scenario is the inverse, occurring in the high tourist season with a slow response time and deviations on the evacuation road due to an accident.
ESCAPE was developed using the open-source agent-based simulation platform GAMA. For more information about this platform, please visit the
website. Based on this platform and the ESCAPE extension a series of evacuation scenarios can be tested (e.g staged vs simultaneous evacuation, with or without the rapid deployment of local responses). This will take the form of a how-to and what-if scenario. An advantage of experimental evacuation through simulation is the ability to test multiple strategies and evaluate their success against expectations and compare performance.
First of all, download the required dataset and software in order to execute this tutorial:
1 Download the software (1.9.3) from the official website
2 Download the ESCAPE dataset from the gitlab of the Rouen university and import it in GAMA.
The ESCAPE project contains two folders :
includes 📁
This directory contains all the raw data necessary to generate the simulation environment. It's also where future results will be stored. ⚠️ Place the OSM file and the archive in the 'include' directory of the GAMA project.
models 📁
This directory contains all the scripts. A first subdirectory, named 'Tutorial', contains the scripts dedicated to complete this tutorial. There are a total of 3 scripts, which will be detailed in the upcoming sections. The second subdirectory, 'Escape', contains all the .gmal scripts developed in this research project for developing evacuation models.
1 Generate the environment from the ESCAPE dataset. To do this, you have to execute the script : 1_create_environment.gaml The script is simple and short. Unlike traditional scripts, it does not contain a "species" and "experiment" section. Indeed, this script is only used to generate data, the environment, and not used to simulate evacuations of the peninsula ⚠️.
This script generate the environment and multiple inputs (i.e., weighted spatial networks, nodes/edges, and buildings). The generated directory contains the new dataset :
- buildings.shp 🏘️
- evacuation.shp ↖️
- gather_point.shp 🚏
- intersections.shp, roads.shp 🛣
- points.shp 🚥 (Traffic ligths are generated but not used ⚠️)
- public_transport_*** 🚌 (generated but not used for this tutorial ⚠️)
2 Compute the shortest path. Like the previous script, the second 2_compute_shortest_path.gaml is only used to generate data (i.e shortest path matrix). The weigthed spatial network guides the agents in the simulation based on the characteristics of the road network and evacuation routes in the simulation of the ESCAPE datased. A flat file, shortest_paths_evac.csv, is added in the the outputs directory, This file is used to reduce te computation time of the simulation
Your simulation environment is now complete. All that remains is to write a script in order to initialize and start the simulation.
3 To do this, you have to execute the script : 3_simulate_evacuation.gaml
This model can be explored by changing the values of multiple parameters in order to see how they interact.
- float sigma <- 900.0; 🏘️ // Individual response time (Rayleigh, in second)
- int bus_capacity <- 50; 🚌 // Bus capacity
- int multiplier_bus <- 1; 🚌 // Increase the number of buses (By changing the parameter to 2, you can double the number of buses. By default, there are four buses per bus stop)
- int inhabitants <- 20000; 🧑🤝🧑 // Number of inhabitants
- loat proba_vehicle <- 0.8; 🚗 // Probability of household to have a vehicle
- bool trafic_incident <- true; ⚠️ // Possibility to simulate a trafic incident on a major road
- int time_incident <- 300; ⏲️ // Time to simulate the incident
ESCAPE can produce a vast range of statistical outcomes including evacuation times, traffic volumes, the number of people waiting at bus stops, individuals' exposure to hazards, and the evolution of evacuation status, etc. A simulation produces between 1 and 2 GB of data, depending on the simulation duration and the data recording interval. The choice to export a large volume of raw data was made to study the robustness or sensitivity of the model to variations in numerous indicators. In total, about thirty indicators are exported to study this complex process.