fire rain wind
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This project simulates the spread of a fire through a forest. It shows that the fire's chance of reaching the right edge of the forest depends critically on the density of trees. This is an example of a common feature of complex systems, the presence of a non-linear threshold or critical parameter.
HOW IT WORKS
The fire starts on the left edge of the forest, and spreads to neighboring trees. The fire spreads in four directions: north, east, south, and west.
The model assumes there is no wind. So, the fire must have trees along its path in order to advance. That is, the fire cannot skip over an unwooded area (patch), so such a patch blocks the fire's motion in that direction.
HOW TO USE IT
Click the SETUP button to set up the trees (green) and fire (red on the left-hand side).
Click the GO button to start the simulation.
The DENSITY slider controls the density of trees in the forest. (Note: Changes in the DENSITY slider do not take effect until the next SETUP.)
THINGS TO NOTICE
When you run the model, how much of the forest burns. If you run it again with the same settings, do the same trees burn? How similar is the burn from run to run?
Each turtle that represents a piece of the fire is born and then dies without ever moving. If the fire is made of turtles but no turtles are moving, what does it mean to say that the fire moves? This is an example of different levels in a system: at the level of the individual turtles, there is no motion, but at the level of the turtles collectively over time, the fire moves.
THINGS TO TRY
Set the density of trees to 55%. At this setting, there is virtually no chance that the fire will reach the right edge of the forest. Set the density of trees to 70%. At this setting, it is almost certain that the fire will reach the right edge. There is a sharp transition around 59% density. At 59% density, the fire has a 50/50 chance of reaching the right edge.
Try setting up and running a BehaviorSpace experiment (see Tools menu) to analyze the percent burned at different tree density levels.
EXTENDING THE MODEL
What if the fire could spread in eight directions (including diagonals)? To do that, use "neighbors" instead of "neighbors4". How would that change the fire's chances of reaching the right edge? In this model, what "critical density" of trees is needed for the fire to propagate?
Add wind to the model so that the fire can "jump" greater distances in certain directions.
NETLOGO FEATURES
Unburned trees are represented by green patches; burning trees are represented by turtles. Two breeds of turtles are used, "fires" and "embers". When a tree catches fire, a new fire turtle is created; a fire turns into an ember on the next turn. Notice how the program gradually darkens the color of embers to achieve the visual effect of burning out.
The "neighbors4" primitive is used to spread the fire.
You could also write the model without turtles by just having the patches spread the fire, and doing it that way makes the code a little simpler. Written that way, the model would run much slower, since all of the patches would always be active. By using turtles, it's much easier to restrict the model's activity to just the area around the leading edge of the fire.
See the "CA 1D Rule 30" and "CA 1D Rule 30 Turtle" for an example of a model written both with and without turtles.
RELATED MODELS
Percolation, Rumor Mill
CREDITS AND REFERENCES
This model was developed at the MIT Media Lab using CM StarLogo. See Resnick, M. (1994) "Turtles, Termites and Traffic Jams: Explorations in Massively Parallel Microworlds." Cambridge, MA: MIT Press. Adapted to StarLogoT, 1997, as part of the Connected Mathematics Project. Adapted to NetLogo, 2001, as part of the Participatory Simulations Project.
To refer to this model in academic publications, please use: Wilensky, U. (1997). NetLogo Fire model. http://ccl.northwestern.edu/netlogo/models/Fire. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
In other publications, please use: Copyright 1997 Uri Wilensky. All rights reserved. See http://ccl.northwestern.edu/netlogo/models/Fire for terms of use.
Comments and Questions
globals [ initial-trees ;; how many trees (green patches) we started with burned-trees ;; how many have burned so far rain-zone rain-xstart rain-xend rain-ystart rain-yend ] breed [fires fire] ;; bright red turtles -- the leading edge of the fire breed [embers ember] ;; turtles gradually fading from red to near black to setup clear-all set-default-shape turtles "square" ;; make some green trees ask patches with [(random-float 100) < density] [ set pcolor green ] ;; make a column of burning trees ask patches with [pxcor = min-pxcor] [ ignite ] ;; set tree counts set initial-trees count patches with [pcolor = green] set burned-trees 0 ; Rain Area: set rain-xstart ( - max-pxcor / 2) set rain-xend (max-pxcor / 2) set rain-ystart ( - max-pxcor / 2) set rain-yend ( max-pxcor / 2) end to go if not any? turtles ;; either fires or embers [ stop ] ask fires [ ask neighbors4 with [pcolor = green] [ ifelse rain and (pxcor < rain-xend) and (pxcor > rain-xstart) and (pycor > rain-ystart) and (pycor < rain-yend) [ set rain-zone TRUE ] [ set rain-zone FALSE ] ifelse rain-zone and ((random-float 100) < rain-chance) [ ] [ ignite ] ] set breed embers if wind and (pxcor < max-pxcor - 2) and (pxcor > min-pxcor + 2) and (pycor < max-pycor - 2) and (pycor > min-pycor + 2) [ ask patch-at-heading-and-distance wind-angle 3 [ ifelse rain and (pxcor < rain-xend) and (pxcor > rain-xstart) and (pycor > rain-ystart) and (pycor < rain-yend) [ set rain-zone TRUE ] [ set rain-zone FALSE ] ifelse rain-zone and ((random-float 100) < rain-chance) [ ] [ if pcolor = green [ ignite ] ] ] set breed embers ] ] fade-embers tick end ;; creates the fire turtles to ignite ;; patch procedure sprout-fires 1 [ set color red ] set pcolor black set burned-trees burned-trees + 1 end ;; achieve fading color effect for the fire as it burns to fade-embers ask embers [ ifelse rain and (pxcor < rain-xend) and (pxcor > rain-xstart) and (pycor > rain-ystart) and (pycor < rain-yend) [ set rain-zone TRUE ] [ set rain-zone FALSE ] ifelse rain-zone [ set color color - 0.05 ;; make red darker but slower than when no rain. if color < red - 3.5 ;; are we almost at black? [ set pcolor color die ] ] [ set color color - 0.3 ;; make red darker if color < red - 3.5 ;; are we almost at black? [ set pcolor color die ] ] ] end ; *** NetLogo 4.1beta3 Model Copyright Notice *** ; ; This model was created as part of the project: CONNECTED MATHEMATICS: ; MAKING SENSE OF COMPLEX PHENOMENA THROUGH BUILDING OBJECT-BASED PARALLEL ; MODELS (OBPML). The project gratefully acknowledges the support of the ; National Science Foundation (Applications of Advanced Technologies ; Program) -- grant numbers RED #9552950 and REC #9632612. ; ; Copyright 1997 by Uri Wilensky. All rights reserved. ; ; Permission to use, modify or redistribute this model is hereby granted, ; provided that both of the following requirements are followed: ; a) this copyright notice is included. ; b) this model will not be redistributed for profit without permission ; from Uri Wilensky. ; Contact Uri Wilensky for appropriate licenses for redistribution for ; profit. ; ; This model was converted to NetLogo as part of the projects: ; PARTICIPATORY SIMULATIONS: NETWORK-BASED DESIGN FOR SYSTEMS LEARNING ; IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. ; The project gratefully acknowledges the support of the ; National Science Foundation (REPP & ROLE programs) -- ; grant numbers REC #9814682 and REC-0126227. ; Converted from StarLogoT to NetLogo, 2001. ; ; To refer to this model in academic publications, please use: ; Wilensky, U. (1997). NetLogo Fire model. ; http://ccl.northwestern.edu/netlogo/models/Fire. ; Center for Connected Learning and Computer-Based Modeling, ; Northwestern University, Evanston, IL. ; ; In other publications, please use: ; Copyright 1997 Uri Wilensky. All rights reserved. ; See http://ccl.northwestern.edu/netlogo/models/Fire ; for terms of use. ; ; *** End of NetLogo 4.1beta3 Model Copyright Notice ***
There is only one version of this model, created over 14 years ago by Christine Yang.
Attached files
No files
This model does not have any ancestors.
This model does not have any descendants.
Forrest Stonedahl
Neat
You're only missing "earth", and you'd have all four basic elements covered. :-) Anyway, nice to see you've joined the Commons, Christine...
Posted over 15 years ago