Difference between revisions of "Flood evacuation"
(→Global variables used in this simulation) |
(→References) |
||
(128 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | This project simulates the process of evacuation of people living on the | + | This project simulates the process of evacuation of people living on the coasted area and in the nearest destinations during the coming flood. People can survive outside the water level and they can save themselvs by climbing on the hills. |
<div> | <div> | ||
*'''Project name''': Flood evacuation | *'''Project name''': Flood evacuation | ||
− | *'''Class''': | + | *'''Class''':[http://isis.vse.cz/katalog/syllabus.pl?predmet=95726;zpet=..%2Fpracoviste%2Fpredmety.pl%3Fid%3D64%2Clang%3Dcz;jazyk=1;lang=sk 4IT496 Simulation of Systems] (WS 2014/2015) <ref>ŠALAMON, Tomáš. Design of agent-based models: developing computer simulations for a better understanding of social processes. Řepín-Živonín: Tomáš Bruckner, 2011. ISBN 978-809-0466-111. </ref> |
*'''Author''': Kristýna Gubišová | *'''Author''': Kristýna Gubišová | ||
*'''Model type''': Agent-based simulation | *'''Model type''': Agent-based simulation | ||
− | *'''Software used:''' NetLogo 5.0. | + | *'''Software used:''' [http://ccl.northwestern.edu/netlogo// NetLogo] 5.1.0 |
+ | |||
+ | = Problem definition= | ||
+ | The European Union (EU) Floods Directive defines a flood as a covering by water of land not normally covered by water.<ref>European Union. Directives: DIRECTIVE 2007/60/EC OF THE EUROPIAN PARLIAMENT AND OF THE COUNCIL ON THE ASSESSMENT AND MANAGEMENT OF FLOOD RISK. In: <i>L 228/27</i>. 2007. Dostupné z: http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2007:288:0027:0034:EN:PDF</ref> In the sense of "flowing water", the word may also be applied to the inflow of the tide. | ||
+ | Some floods develop slowly, while others such as flash floods, can develop in just a few minutes and without visible signs of rain. Additionally, floods can be local, impacting a neighborhood or community, or very large, affecting entire river basins. | ||
+ | Coastal areas may be flooded by storm events at sea, resulting in waves over-topping defenses or in severe cases by tsunami or tropical cyclones. A storm surge, from either a tropical cyclone or an extratropical cyclone, falls within this category.<ref>Flood. <i>Wikipedia.org</i> [online]. 2015 [cit. 2015-01-18]. Dostupné z: http://en.wikipedia.org/wiki/Flood"</ref> | ||
+ | In the history of mankind has often happened that people started to evacuate before the floods late and very disorganized, and there have been wasted a lot of people's lives. Flooding affects the entire world population.Think of floods in the Czech Republic in 2002 (225 000 people evacuated and 17 dead) and floods in 2004 in Indonesia (230 000 dead). From this point of view is very important to have an idea how could the flood evacuation on the coastal areas looks like so in order to save as many lives as possible. | ||
+ | |||
+ | = Method of the simulation= | ||
+ | As a simulation tool, I have chosen Netlogo, because in my flood evacuation simulation, there are lots of agents, which have some properties and behavior, that gives the simulation very complex behavior. Also Netlogo gives a good visualization of the simulation as a complex view and allows to change values quickly and easily and by that is giving enough data from various graph. | ||
= Global variables used in this simulation= | = Global variables used in this simulation= | ||
− | * '''Actual flood height''' - actual-flood-height | + | * '''Actual flood height''' - actual-flood-height represents the height of the current water level |
− | * '''Start flood''' - start-flood? | + | * '''Start flood''' - start-flood? boolean variable, which will starts the flood coming to the ashore |
− | * '''Start evacuate''' - start-evacuate? | + | * '''Start evacuate''' - start-evacuate? boolean variable, which will alarm citizens and launch the evacuation of the people |
− | * '''Rise count''' - rise-count | + | * '''Rise count''' - rise-count auxiliary variable for rise-speed, to determine after how many tick the water level increase by the step |
− | * '''Low''' - low | + | * '''Low''' - low is auxiliary variable in the procedure scale-coast |
− | * '''High''' - high | + | * '''High''' - high is auxiliary variable in the procedure scale-coast |
− | * '''Range''' - range | + | * '''Range''' - range is auxiliary variable in the procedure scale-coast |
− | * '''Xlow''' - xlow | + | * '''Xlow''' - xlow is auxiliary variable for procedure scale-coast-final |
− | * ''' | + | * '''Xhigh''' - xhigh is auxiliary variable for procedure scale-coast-final |
− | * '''Xrange''' - xrange | + | * '''Xrange''' - xrange is auxiliary variable for procedure scale-coast-final |
− | |||
Terrain creation: | Terrain creation: | ||
− | * '''Number of hills before diffuse''' - number-of-hills-before-diffuse | + | * '''Number of hills before diffuse''' - number-of-hills-before-diffuse is global variable which determines how many hills before diffuse will be generated at the start of the simulation |
− | + | * '''Number of people''' - number-of-people is global variable which determines how many people will be generated at the start of the simulation | |
− | * '''Number of people''' - number-of-people | ||
Flood parameters: | Flood parameters: | ||
− | * '''Maximal flood height''' - max-flood-height | + | * '''Maximal flood height''' - max-flood-height is global variable which determines maximal height of the flood |
− | * '''Flood height step''' - flood-height-step | + | * '''Flood height step''' - flood-height-step is global variable which determines height of the step, which the flood will make |
− | * '''Rise speed''' - rise-speed | + | * '''Rise speed''' - rise-speed is global variable which determines the speed of the rise of the water level. Every flood step will start in the second, when there is the multiple of the tick and the rise speed. 1 represents the maximal speed |
+ | |||
+ | People parameters: | ||
+ | * '''Visibility''' - visibility is global variable determines how far can people (turtles) see, they use it by looking for the highest situated place because of the rescue. | ||
+ | * '''Maximal despair index''' - max-despair-index represents global variable, where the failed attempts are load by looking for the target (the highest situated place). If the index reaches its maximum value, people stop looking for that place. | ||
+ | |||
+ | === Variables of turtles (people)=== | ||
+ | * '''Target''' - target is the goal patch, where the turtle after looking around want go. It is the highest point within its visibility. | ||
+ | * '''On-target''' - on-target? - boolean variable, which tells if the turtle reach its goal patch | ||
+ | * '''Another target''' - another-target - it is patch, substitute goal, which turtle is looking for during the way to the to target. In case of need, can use this goal instead of the previous target. | ||
+ | * '''Another target distance''' - another-target-distance represents the distance from the turtle to another target | ||
+ | * '''Despair index'''- despair-index represents failed attempts on the way to target | ||
+ | * '''Temp target''' - temp-target is used, if the turtle can not reach the original way in some reason | ||
+ | |||
+ | === Variables of patches=== | ||
+ | * '''Alt''' - alt represents altitude, how hight the patches are | ||
+ | * '''Water''' - water? is boolean variable, which tells us if its water or not | ||
= Detailed description of the simulation= | = Detailed description of the simulation= | ||
+ | |||
+ | === Interface === | ||
+ | [[File:Xgubk00_interface.png]] | ||
=== Buttons === | === Buttons === | ||
− | ''Setup'' - Setup the model of the simulation, create the hills and diffuse them of the country and create citizens(agents). | + | ''Setup'' - Setup the model of the simulation, create the hills and diffuse them of the country and create citizens (agents). |
''Go'' - Brings this simulation to life | ''Go'' - Brings this simulation to life | ||
− | ''Start flood'' - | + | ''Start flood & evacuate'' - causes an increase of the water level, thereby generate a flood and will begin evacuation of the citizens due to flooding |
− | |||
− | |||
− | |||
− | |||
=== Sliders === | === Sliders === | ||
Terrain creation parameters: | Terrain creation parameters: | ||
* number-of-hills-before-diffuse - generate how many hills before diffuse appear in simulation | * number-of-hills-before-diffuse - generate how many hills before diffuse appear in simulation | ||
− | |||
* number-of-people - simply generate how many people will be living in this world | * number-of-people - simply generate how many people will be living in this world | ||
Flood parameters: | Flood parameters: | ||
Line 53: | Line 74: | ||
* flood-height-step - defines how much increase the water level | * flood-height-step - defines how much increase the water level | ||
* rise-speed - speed of the rise dependent on ticks. | * rise-speed - speed of the rise dependent on ticks. | ||
+ | People parameters: | ||
+ | * visibility - represents the visibility of people, how far they can look from 1 to 160 | ||
+ | * max-despair-index - can be set from the 0 to 50 | ||
+ | |||
+ | === Monitors === | ||
+ | * actual_flood_hight - shows what the actual hight of the flood is in the certain moment | ||
+ | * people in safe - shows how many people survived | ||
+ | dead people - shows how many people died | ||
+ | |||
+ | = How does the simulation work= | ||
+ | At the beginnings, there is need to '''setup the whole world''', where the simulation will run. Therefore there are the World creation parameters. In the first slider "number-of-hills-before-diffuse" there can be set the number of actual hills from 100 to 500. In the second slider "number-of-people" there can be the number of actual population set. It could be from the 1 to 3000 citizens. The brown color represents hills, the green color represents lowlands. | ||
+ | |||
+ | There is also need to setup the '''flood parameters'''. There could be maximum flood height setup from 0 to 1000 and flood height step from 1 to 100. You can also setup the rise-speed from 1 to 10. Global variable rise speed works backwards it means, if you setup the rise speed as 1 the speed will be actually maximal. Rise speed = 2, 2 ticks = 1 step. | ||
+ | |||
+ | We can also set the '''people parameters'''. How far can people see tells the visibility, which is set to 50 by default. The highest visibility means the biggest chance to find the highest place, but it means the possibility of the longer way there. Despair index is set to 20 by default. So the people can have 20 difficulties, it means the bigger chance to live, but it means the longer time with looking for the way. It is directly proportional to the number of generated people. | ||
+ | |||
+ | By the pressing the '''Go button''' the world starts living. People will randomly move and when the '''start flood & evacuate''' button is pressed, water start rising and people starts evacuate. | ||
+ | |||
+ | For the new simulation stop the Go button and press the Setup button. | ||
+ | |||
+ | = Code= | ||
+ | In this section, there is a file with simulation code itself attached. The code is in the NetLogo model file with .nlogo suffix. | ||
+ | |||
+ | [[File:flood_v14.nlogo]] | ||
+ | |||
+ | = Results= | ||
+ | I conducted a research where there were 3 experiments, we can call them extremes. | ||
+ | |||
+ | 1) At the first elapsed simulation I setup the height of the flood to 400, number of people to 800 and their visibility to 50. The first picture is before the simulation and the second one is after the simulation. In those conditions the number of dead people was 66 of 800, so because the flood height was "just 400", so 734 people survived. We can say the mortality is low. The mortality rate was in this case 8,25 %. The most of the land stayed dry, that is why a lots of people managed to get to safety. | ||
+ | |||
+ | [[File:1before.png]] | ||
+ | [[File:1after.png]] | ||
+ | |||
+ | 2) At the second elapsed simulation I setup the height of the flood to 500, number of people to 1300 and their visibility to 60. Again the first picture shows the simulation before the flood, and the second one is acquired after the simulation. In these conditions the number of dead people was 80 of 1300 and 1220 people survived. We can say that in that conditions the mortality is low. The mortality rate was in this case 6,15 %. The flood was rapidly higher than the first one, but a lots of people managed to get to safety. | ||
+ | |||
+ | [[File:2before.png]] | ||
+ | [[File:2after.png]] | ||
+ | |||
+ | 3) At the third elapsed simulation I setup the height of the flood to 650, number of people to 1800 and their visibility to 70. The first picture is captured before simulation and the second one is after the simulation. In those conditions the number of dead people reached to 1266 of the total 1800 people and 534 people survived. The mortality rate is in this case 70%, which is crutual. Possible explanation of those high numbers is that the flood was critically high and the visibility was 70 and people were willing to take risks to get higher in order to save their lives. The highest places was on the borders of the world and that is why the way to the safety was long. | ||
+ | |||
+ | [[File:3before.png]] | ||
+ | [[File:3after.png]] | ||
+ | |||
+ | = Conclusion= | ||
+ | |||
+ | I can say that the simulation almost allways depends on the simulated environment, in which part of the world are hills generated, and how spread they are, and of course the simulation depends on the number of people generated in every each simulation. | ||
+ | |||
+ | A lots of people who are during the flood currently on the beaches will die, because they have not much time to react. | ||
+ | |||
+ | In this flood evacuation simulation there is the terrain randomly generated. But this model can be applied on any other real land, there is only need to add real data like the map with altitudes and of course real population of the area. | ||
+ | |||
+ | =Other resources= | ||
+ | Other resources I've also used when creating simulation of the flood evacuation: | ||
+ | |||
+ | [[File:13_Slovnicek_Netlogo.pdf]] <ref>Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo. Center | ||
+ | for Connected Learning and Computer-Based Modeling. Northwestern University, | ||
+ | Evanston, IL.</ref> | ||
+ | |||
+ | [[File:.Agent-based_modelling_II.pdf]] | ||
=References= | =References= | ||
<references/> | <references/> | ||
+ | |||
+ | --[[User:Xgubk00|Xgubk00]] 23:57, 18 January 2015 (CET) |
Latest revision as of 23:57, 18 January 2015
This project simulates the process of evacuation of people living on the coasted area and in the nearest destinations during the coming flood. People can survive outside the water level and they can save themselvs by climbing on the hills.
- Project name: Flood evacuation
- Class:4IT496 Simulation of Systems (WS 2014/2015) [1]
- Author: Kristýna Gubišová
- Model type: Agent-based simulation
- Software used: NetLogo 5.1.0
Contents
Problem definition
The European Union (EU) Floods Directive defines a flood as a covering by water of land not normally covered by water.[2] In the sense of "flowing water", the word may also be applied to the inflow of the tide. Some floods develop slowly, while others such as flash floods, can develop in just a few minutes and without visible signs of rain. Additionally, floods can be local, impacting a neighborhood or community, or very large, affecting entire river basins. Coastal areas may be flooded by storm events at sea, resulting in waves over-topping defenses or in severe cases by tsunami or tropical cyclones. A storm surge, from either a tropical cyclone or an extratropical cyclone, falls within this category.[3] In the history of mankind has often happened that people started to evacuate before the floods late and very disorganized, and there have been wasted a lot of people's lives. Flooding affects the entire world population.Think of floods in the Czech Republic in 2002 (225 000 people evacuated and 17 dead) and floods in 2004 in Indonesia (230 000 dead). From this point of view is very important to have an idea how could the flood evacuation on the coastal areas looks like so in order to save as many lives as possible.
Method of the simulation
As a simulation tool, I have chosen Netlogo, because in my flood evacuation simulation, there are lots of agents, which have some properties and behavior, that gives the simulation very complex behavior. Also Netlogo gives a good visualization of the simulation as a complex view and allows to change values quickly and easily and by that is giving enough data from various graph.
Global variables used in this simulation
- Actual flood height - actual-flood-height represents the height of the current water level
- Start flood - start-flood? boolean variable, which will starts the flood coming to the ashore
- Start evacuate - start-evacuate? boolean variable, which will alarm citizens and launch the evacuation of the people
- Rise count - rise-count auxiliary variable for rise-speed, to determine after how many tick the water level increase by the step
- Low - low is auxiliary variable in the procedure scale-coast
- High - high is auxiliary variable in the procedure scale-coast
- Range - range is auxiliary variable in the procedure scale-coast
- Xlow - xlow is auxiliary variable for procedure scale-coast-final
- Xhigh - xhigh is auxiliary variable for procedure scale-coast-final
- Xrange - xrange is auxiliary variable for procedure scale-coast-final
Terrain creation:
- Number of hills before diffuse - number-of-hills-before-diffuse is global variable which determines how many hills before diffuse will be generated at the start of the simulation
- Number of people - number-of-people is global variable which determines how many people will be generated at the start of the simulation
Flood parameters:
- Maximal flood height - max-flood-height is global variable which determines maximal height of the flood
- Flood height step - flood-height-step is global variable which determines height of the step, which the flood will make
- Rise speed - rise-speed is global variable which determines the speed of the rise of the water level. Every flood step will start in the second, when there is the multiple of the tick and the rise speed. 1 represents the maximal speed
People parameters:
- Visibility - visibility is global variable determines how far can people (turtles) see, they use it by looking for the highest situated place because of the rescue.
- Maximal despair index - max-despair-index represents global variable, where the failed attempts are load by looking for the target (the highest situated place). If the index reaches its maximum value, people stop looking for that place.
Variables of turtles (people)
- Target - target is the goal patch, where the turtle after looking around want go. It is the highest point within its visibility.
- On-target - on-target? - boolean variable, which tells if the turtle reach its goal patch
- Another target - another-target - it is patch, substitute goal, which turtle is looking for during the way to the to target. In case of need, can use this goal instead of the previous target.
- Another target distance - another-target-distance represents the distance from the turtle to another target
- Despair index- despair-index represents failed attempts on the way to target
- Temp target - temp-target is used, if the turtle can not reach the original way in some reason
Variables of patches
- Alt - alt represents altitude, how hight the patches are
- Water - water? is boolean variable, which tells us if its water or not
Detailed description of the simulation
Interface
Buttons
Setup - Setup the model of the simulation, create the hills and diffuse them of the country and create citizens (agents).
Go - Brings this simulation to life
Start flood & evacuate - causes an increase of the water level, thereby generate a flood and will begin evacuation of the citizens due to flooding
Sliders
Terrain creation parameters:
- number-of-hills-before-diffuse - generate how many hills before diffuse appear in simulation
- number-of-people - simply generate how many people will be living in this world
Flood parameters:
- max-flood-height - defines how maximum height of the flood (the highest points flooded)
- flood-height-step - defines how much increase the water level
- rise-speed - speed of the rise dependent on ticks.
People parameters:
- visibility - represents the visibility of people, how far they can look from 1 to 160
- max-despair-index - can be set from the 0 to 50
Monitors
- actual_flood_hight - shows what the actual hight of the flood is in the certain moment
- people in safe - shows how many people survived
dead people - shows how many people died
How does the simulation work
At the beginnings, there is need to setup the whole world, where the simulation will run. Therefore there are the World creation parameters. In the first slider "number-of-hills-before-diffuse" there can be set the number of actual hills from 100 to 500. In the second slider "number-of-people" there can be the number of actual population set. It could be from the 1 to 3000 citizens. The brown color represents hills, the green color represents lowlands.
There is also need to setup the flood parameters. There could be maximum flood height setup from 0 to 1000 and flood height step from 1 to 100. You can also setup the rise-speed from 1 to 10. Global variable rise speed works backwards it means, if you setup the rise speed as 1 the speed will be actually maximal. Rise speed = 2, 2 ticks = 1 step.
We can also set the people parameters. How far can people see tells the visibility, which is set to 50 by default. The highest visibility means the biggest chance to find the highest place, but it means the possibility of the longer way there. Despair index is set to 20 by default. So the people can have 20 difficulties, it means the bigger chance to live, but it means the longer time with looking for the way. It is directly proportional to the number of generated people.
By the pressing the Go button the world starts living. People will randomly move and when the start flood & evacuate button is pressed, water start rising and people starts evacuate.
For the new simulation stop the Go button and press the Setup button.
Code
In this section, there is a file with simulation code itself attached. The code is in the NetLogo model file with .nlogo suffix.
Results
I conducted a research where there were 3 experiments, we can call them extremes.
1) At the first elapsed simulation I setup the height of the flood to 400, number of people to 800 and their visibility to 50. The first picture is before the simulation and the second one is after the simulation. In those conditions the number of dead people was 66 of 800, so because the flood height was "just 400", so 734 people survived. We can say the mortality is low. The mortality rate was in this case 8,25 %. The most of the land stayed dry, that is why a lots of people managed to get to safety.
2) At the second elapsed simulation I setup the height of the flood to 500, number of people to 1300 and their visibility to 60. Again the first picture shows the simulation before the flood, and the second one is acquired after the simulation. In these conditions the number of dead people was 80 of 1300 and 1220 people survived. We can say that in that conditions the mortality is low. The mortality rate was in this case 6,15 %. The flood was rapidly higher than the first one, but a lots of people managed to get to safety.
3) At the third elapsed simulation I setup the height of the flood to 650, number of people to 1800 and their visibility to 70. The first picture is captured before simulation and the second one is after the simulation. In those conditions the number of dead people reached to 1266 of the total 1800 people and 534 people survived. The mortality rate is in this case 70%, which is crutual. Possible explanation of those high numbers is that the flood was critically high and the visibility was 70 and people were willing to take risks to get higher in order to save their lives. The highest places was on the borders of the world and that is why the way to the safety was long.
Conclusion
I can say that the simulation almost allways depends on the simulated environment, in which part of the world are hills generated, and how spread they are, and of course the simulation depends on the number of people generated in every each simulation.
A lots of people who are during the flood currently on the beaches will die, because they have not much time to react.
In this flood evacuation simulation there is the terrain randomly generated. But this model can be applied on any other real land, there is only need to add real data like the map with altitudes and of course real population of the area.
Other resources
Other resources I've also used when creating simulation of the flood evacuation:
File:13 Slovnicek Netlogo.pdf [4]
File:.Agent-based modelling II.pdf
References
- ↑ ŠALAMON, Tomáš. Design of agent-based models: developing computer simulations for a better understanding of social processes. Řepín-Živonín: Tomáš Bruckner, 2011. ISBN 978-809-0466-111.
- ↑ European Union. Directives: DIRECTIVE 2007/60/EC OF THE EUROPIAN PARLIAMENT AND OF THE COUNCIL ON THE ASSESSMENT AND MANAGEMENT OF FLOOD RISK. In: L 228/27. 2007. Dostupné z: http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2007:288:0027:0034:EN:PDF
- ↑ Flood. Wikipedia.org [online]. 2015 [cit. 2015-01-18]. Dostupné z: http://en.wikipedia.org/wiki/Flood"
- ↑ Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo. Center for Connected Learning and Computer-Based Modeling. Northwestern University, Evanston, IL.
--Xgubk00 23:57, 18 January 2015 (CET)