Forest Fire Tutorial
- 1 Introduction
- 2 Creating the Project
- 3 Creating Agents
- 4 Creating a Forest
- 5 Programing the Tree
- 6 Programming the Controller to synchronize/parallelize tree burning
- 7 Regenerating the forest with a certain density
- 8 Simulation Properties
- 9 Updating worksheet to include Controller and Start_Here agents
The forest fire simulation built with this tutorial enables you to explore how forest fires unravel by letting you set fires to virtual forests with different tree densities. This simulation can them be used for data collection and analysis in math units.
Creating the Project
Launch AgentSheets and select File->New Project... to start a new AgentSheets project. After choosing the location and naming your project, choose the size of your agents. For the simulation we are creating, use 16x16 pixel agents so that when we experiment, we can build large forests (worksheets that can fit many tree agents).
The simulation has a Tree agent, a Ground agent, a Controller agent, and a Start Here agent.
Creating a Forest
If you haven't created a new worksheet, use File->New Worksheet to create one. Please note that later on we will be generating the forest automatically, but for now let's do this manually: Select your Ground agent in the Gallery and using the Draw Rectangle tool, lay out a layer of Ground agents in the background of your worksheet. Then select your healthy Tree agent and using the Pencil tool place a few on the Ground. Place one Burning_Tree, which will start the fire, somewhere in the middle of the worksheet to create a forest like the one shown below.
This is a good time to save the worksheet!
Programing the Tree
We need to program the Tree agent to catch on fire if it's next to a burning tree and burn completely when the fire dies out. Select the Tree agent in the Gallery and hit the Edit Behavior button. Create two rules for the tree:, one to start the fire if it's a healthy tree with a certain probability, and one to stop it when the fire dies out with a certain probability:
Now try out your simulation by running it. Depending on the density of the forest you created, the fire spreads widely or dies out quickly.
But notice something: if you reset your worksheet to its original state and hit the Step button to run one cycle of the simulation you will get something like this:
How can we fix this? We need to coordinate the behavior of the tree so that within the same simulation cycle, all the trees have a chance to determine if they should be burning first, and then actually perform the burning actions. For that, we can use a Controller agent to synchronize the tree behavior (make it parallel).
Programming the Controller to synchronize/parallelize tree burning
Now try running your simulation again. Stepping through your fire simulation should look like this:
Regenerating the forest with a certain density
Running your simulation will create the simulation properties used without your explicitly creating them. But especially for the input properties (e.g. Desired_Density), it's good to create them yourself so you can initialize it to the values you want - otherwise, the simulation automatically creates them with 0 as the default value. Pull up the Simulation Properties editor, using Tools->Simulation Properties and add the following properties:
Once you have your properties set, make sure you hit the Save button to save them.
Please note that we capitalized the DESIRED_DENSITY and the PERCENT_BURNT to make it easier for users to tell which simulations properties they need to manipulate or look at for their experimentation.
Updating worksheet to include Controller and Start_Here agents
Add a controller agent and a Start_Here agent to your worksheet as shown below, save your worksheet, and you are ready to start data collection for the Sampling and Bivariate Data Analysis unit.