notes for modeling assistants on bio102 modeling lab

advertisement
Notes for Teaching Bio102 Modeling Lab p. 1
NOTES FOR MODELING ASSISTANTS ON BIO102 MODELING LAB
Notes on preparation:










Arrive in lab at least 20 minutes before the lab you are scheduled to assist in (one person should arrive 30 minutes
early if it is a Computer Science Lab to make sure all the computers are booted in Windows – see below) and get
the PowerPoint downloaded and set up, with the introduction/title overhead displayed on the screen. The
PowerPoint, teaching notes and the completed version of the models are posted as links at
www.oberlin.edu/faculty/petersen/
The first ten minutes of lab will be a quiz. You will start the exercise after this.
No special actions are necessary for labs meeting in the Science Center PC lab. As described in the teaching notes
below, students will need to navigate through the start menu and find the STELLA program.
The Computer Science lab rooms in King have Apple computers, but they have the option of starting up using the
Windows operating system and need to be started up in Windows in order to run STELLA. If the computers are
operating in either Linux or Apple operating systems when you arrive in the lab, then you will need to restart
them. When restarted, Windows appears as one of the choices. Once opened up in Windows, a link to open the
STELLA program appears on the desktop. One Modeling TA should arrive half an hour early to labs scheduled
for the Computer Science labs so that all of the machines can be started up in Windows (this takes a while and we
don’t want students in the lab to have to deal with this). Chris Mohler, the new OCTET support person, plans to
meet the modeling assistants in the Computer Science labs to assist with this. Machines will be set up to allow the
modeling assistant to run the powerpoint introduction and guide students through STELLA model development.
Both the PowerPoint introduction (ModelingForBIO102LabLecture_2011.ppt) and the complete model
(Bio102LabModels.stm) can be downloaded from links at www.oberlin.edu/faculty/petersen
In the Teaching Notes below:
 Means either advance to next slide or advance to next animation within a slide
Text starting with double quotes are things that you should say. It is not critical that you use this exact wording,
but try to stay as close to the order and content of the script as possible
Text in [this kind of bracket] contains additional notes (things you should do as opposed to say)
The names of STELLA variables in these notes include underscores between words (e.g. Net_Births) so that you
can easily see that these are variable names. STELLA does not allow you to use underscores in names, so
recognize that these represent single spaces in STELLA.
TEACHING NOTES
 Introduction to Modeling Lab (Title PowerPoint Slide)



“Hello, I am xxx, this is xxx. We are currently students in Systems Modeling (ENVS340) with John Petersen and
this afternoon we are functioning as your Modeling Assistants for this lab exercise.
“We will take a few minutes to quickly review the objectives of today’s lab as well as to go over the conceptual
models you were asked to complete in preparation for this lab. And then we will walk you through building
simulation models using STELLA
“As preparation for today’s lab you were asked to read the handout and we will be referring to the handout as we
go through the exercises
 Learning objectives for today’s lab

1.
2.
3.
4.
“The goals of today’s lab exercise are to:
“Familiarize you with basic modeling concepts and terminology
“Help you to understand the importance of feedback and how to use causal loop models
“Provide you with experience conceptualizing the world as stocks and flows
“Provide you with experience building dynamic simulation models of populations growing with and without
constraints
 Causal-loop models



“Most of you were probably already familiar with the ideas that positive feedback is a mechanism that reinforces
change while negative feedback counteracts change.
“In the handout for today you were provided with instructions on how to build a kind of conceptual model called a,
‘causal loop model’ that is used to identify feedback mechanisms operating within systems of variables
“In the exercise you were given four pairs of variables, pictured here, and asked to draw causal loop models. We
want to quickly review the causal relationships between these variables.
Notes for Teaching Bio102 Modeling Lab p. 2





“As described in the handout, arrows are used to indicate a causal relationship between pairs of variables. The
tip of each arrow is labeled with a (+) if the variables change in the same direction and with a (-) if the variables
change in different directions.
”In this first example, how does interest change as a result of changes in bank balance?  “And how does bank
balance change as a result of change in interest?  What are the total number of (-) signs? An odd number of (-)
signs means that the overall loop is governed by negative feedback and an even number means positive feedback.
Odd or even?  So is this overall loop positive or negative?  [A: positive]
“In the next scenario, we have a population of termites growing on what we assume to be an infinite supply of
food. What is the effect of the size of the termite population and termite births?  What is the effect of the
number of births and size of termite population?  Odd or even number of (-) signs? Positive or negative loop? 
[A: positive]
“In next scenario we have a population of termites growing on one fallen tree. What is the effect of the termite
population growing on this fallen tree and the biomass of cellulose left in that tree?  What is the effect of the tree
biomass and the termite population?  Positive or negative loop?  [A: negative]
 “In the next scenario you have a population of predators and prey – Fox and Hare. What is the effect of the fox
population on the hare population?  What is the effect of the Hare population on the Fox population? 
Positive or negative loop? [A: negative]
 Stock and Flow Models



“The handout also talked about stock and flow models which can be both conceptual and mathematical models.
 “A Stock (also known as state variable) is a component of a system that stores stuff
 “A Flow (also known as an input, output, rate of change or differential equation) is the movement of stuff into
or out of a stock
 Causal-Loops  Stocks and Flows













“You were asked to characterize the same variables used in the causal loop diagrams as either Stocks or Flows.
“In the first causal loop, is Bank balance a stock or flow?  [A: Stock]
“Often rectangle shapes are used to represent stocks
“What about interest?  [A: Flow]
“Often pipe-like arrows with circles and spigots are used to represent flows 
”In the next example, is the termite population a stock or a flow?  [A: Stock]
”What about births?  [A: Flow] 
”In the next example, is the termite population?  [A: Stock]
”What about the fallen tree biomass that gets consumed by the termites?  [A: Stock]
“So in this case there are two stocks. In order for stocks to change there need to be flows in or out. In this case,
the flow into the termites  is driven by the consumption of cellulose in tree biomass  These two flows are
linked to each other 
”In the example of predator prey interactions, fox population? [A: Stock]
”What about hares? [A: Stock]
”Similar to previous model in the sense that flow into Fos is linked to flow out of Hare.
 Building Models in STELLA



“OK, let’s go ahead and open up STELLA on your machines. [Close PowerPoint file]
[Science Center lab]”Open STELLA from Start Menu
[Computer Science labs]”Double click the STELLA program icon on your desktop (NOT the
Bio102LabModels.stm which may also be on the desktop)
Building Models in STELLA




“Once STELLA is open, click on the [Model] tab on the left of the page
“The second-to-last pages of your lab handout contain an appendix that describes that describes the basic building
blocks that are used to create models in STELLA. Today we will only be using the features shown inside the
parallelogram: Stocks, flows, converters, connectors and graph pads
“Turn to page 6 and I am going to explain the basic building blocks as we build the first model together.
“If you are having problems with STELLA, raise your hand and try to make eye contact with our second modeling
TA who will try to help you solve the problem. If you have a general question, raise your hand and look at me.
Notes for Teaching Bio102 Modeling Lab p. 3
1. Growth based on constant rate of inflow















“We will first build the model pictured at the bottom of page 6, the flow of water into a wetland.
“First we need to create a stock representing the volume of water in the wetland.
“From the menu of building blocks in the upper left of your screen, click on the rectangle, which represents a
stock, and then drop it onto the page near the upper left. Name this stock ‘Water _in_Wetland’
“The question mark in the middle of the stock means that we have not yet specified an initial value for this stock.
Double click on the stock and enter an initial value of 10 {thousands of gallons}
“In STELLA, text in curly brackets is interpreted documentation – essentially notes. In order to make certain that
your equations make sense it is always a good idea to document the units like this.
“Click OK. We currently have a wetland with water stored in it, but we have not yet created any way for water to
get in or out of the wetland.
“The next building block at the top of the screen is a flow. Click on the flow so that it is highlighted. Mouse
down so that your cursor is positioned to the left of the Water_in_Wetland stock and then click, hold and drag the
flow into the stock until the stock lights up, then let go.
“Name this flow into the wetland ‘Stream_Flow’. Double click on Stream_Flow. Notice that is a number pad
and Builtin functions that allow you to build some fairly sophisticated equations. In this model, the rate of inflow
is simply a constant. Enter a flow of 0.1 {Thousands of gallons per day}. Flows always have the same units as
the stock except they are expressed per unit time. In this case, we said the stock is in thousands of gallons so the
flow has to be thousands of gallons per time. Click OK and the question mark should have gone away.
“Congratulations, you just completed your first model! But in order to make this model run we need to take care
of a few more details.
“First we need to specify some information about how we want the model to run. Click on the ‘Run’ menu and
then select the “Run Specs’ dialog box. Choose to run the model from 0 to 100. Select ‘Days’, choose a DT
value of 0.1 and a Sim Speed of 0.05. For those of you who are interested, DT is the size of the time step in the
numerical integration technique, but you absolutely don’t need to worry about this or any of the other features in
this box. Click OK
“We need a way to observe the dynamics. From the second group of variables at the top of the page, select the
first tool, a graph pad, and then click in the area to the right of the stock. Click on the pin icon in the upper left
hand corner of this graph to force the graph to stay open on the page. Now double click anywhere in the graph to
open up the graph dialog box. First choose to make the graph ‘Sketchable’, then double-click on the
Water_in_Wetlands stock so that it is selected as a variable that will be graphed. Choose ‘Thick Lines’. Under
‘Scale’, choose a Min of 0 and a max of 20, click ‘Set’, then OK.
“The ‘Sketchable’ feature allows you to draw in your prediction of how you think this model will behave given
what you know about the initial size of the stock and the flow equation. [Sketch in a wrong prediction – e.g. a
normal curve]. Go ahead and sketch in a prediction. It is always very important to predict the dynamics before
you run a model because it is the discrepancy between your predictions and the model output you observe that
tests your understanding and builds your modeling intuition. Feel free to confer with your partner or neighbor –
talking about your predictions with other people also helps you build understanding!
[give people a two minutes or so to do this.]
“OK, who wants to share a prediction? Where will the line start when the model first starts” [People should say
the initial condition 10 thousand gallons] . OK, how do you expect Water_in_Wetland to change? [If a student
says, ‘linear’, draw a flat line across, have them correct you]
“Finally, let’s click on the little play button on the bottom left of the screen to run the model.
“This was a pretty simple model in which the inflow to the stock was not dependent on the stock. It is very often
the case the inflows ARE dependent on the stock size, for example in a population of organisms, the number of
births depends on the stock size of organisms already present.
2. Unconstrained growth



“For the next models, imagine a population of termites that has just invaded a downed tree (your second causal
loop model). In this first model assume that, at least during the time period we are concerned with, the supply of
cellulose in the fallen tree is infinite.
“Quickly create a new stock named ‘Termites’ and a new flow into this named ‘Net_Births’. For the moment,
just leave the question marks.
“We are going to introduce a new model building block (third from left at the top) called a converter. Converters
are often used to hold coefficient values. Place the converter below the flow and name it,
“Growth_rate_coefficient_R”
Notes for Teaching Bio102 Modeling Lab p. 4










“The final type of building block we will use today is a connector. Connectors are used to designate all of the
variables that influence a flow. Click on the connector tool and then click and hold the cursor over the stock and
drag it into the circle at the center of the Net_Births flow. You can drag the tail of the connector and move it
around to neaten up your model.
“Create another connector from Growth_rate_coefficient_R to the Net_Births flow.
“The conceptual model that you have just built implies that the flow into this stock is dependent on the stock size
and on the growth coefficient you have created.
“Double click on Net_Births. You can see that both of the variables that were connected to this input are now
listed in the ‘Required Inputs’ box. Click on Growth_rate_coefficient in this box to add it to your equation, click
or type ‘*’ to indicate multiplication, then click on Termites in the Required Input box to add it to the equation.
You have now specified that growth is the product of the stock size and the growth rate coefficient. Document
the units in the equation {Termites/day} and click OK
“Now you need to double click on the stock variable and enter an initial condition of 10 {Termites} and then
double click on the Growth_rate_coefficient and give it a value of 0.2 {1/day}.
“From the second set of tools at the top of the screen, create a new graph pad, double click on it, pin it to the
page, select ‘Sketchable’, double click termite, choose “Thick Lines”, choose a scale from 0 to 1000000.
“Sketch out your prediction, discuss it with your nearest neighbor.
“What do people expect? [sketch some of the shapes students suggest]
“Run the model. [Give people a few minutes to run the model]
“This is classic model of exponential growth – the pattern exhibited by a population growing on unlimited
resources. Ultimately, this kind of positive feedback in population size is always constrained by available
resources. The next two models we build will explore the implications of resource limitation.
3. Growth on a finite non-renewable resource:







“In this scenario we will consider the reality that a termite population growing on a fallen tree is consuming and
exhausting its food source over time.
“Select the stock, flow and converter that you just created, from the edit menu choose copy and then paste and
drag this duplicate model down the page, we will build onto this one for our new model. Change the names and
add in the new stocks, flows, converters and connectors pictured in the middle of page 7 of your handout and
enter the coefficient values, initial conditions and equations listed. To create the death outflow from a Termites2,
select the flow tool and start by clicking inside the stock, hold the clicker down while you drag out of the box. Be
sure that your connectors are drawn in the same direction as pictured in the model. You can watch me build this
and follow along or build it on your own using the information in the handout, but try to keep up with me.
[Give people some time to build the model either together with you or on their own]
“Notice that the “Eating” outflow from Tree Biomass is the product of the Termite2 stock and the TreeBiomass
stock and an Eating_Efficiency coefficient.
“The Birth of termites flow is really just a duplicate of the Eating flow, except that it needs to be multiplied by the
TermitesPerBiomass coefficient that converts Kg of carbon that are consumed into units of new termites.
“Create a new graph pad, but for this model you will NOT want to select sketchable and you will want to double
cclick on both Termites2 and TreeBiomas so that they both appear in the Selected box. You don’t need to worry
about setting the scale, STELLA will do this automatically.
“In this case you will not be able to sketch both variables on the graph pad, instead sketch out your expectations
for both TreeBiomass and Termites on paper, discuss them with your neighbor and then run the model. (You
may want to run the model twice because the autoscaling won’t select sensible units the first time through)
“The dynamics you see are the classic pattern of a population growing on a non-renewable resource. When the
Resource is large relative to population size, the population approximates exponential growth. It peaks and then
declines as the resource begins to constrain growth.

4. Growth on a renewable resource (logistic growth)



“In this scenario we will consider the entire termite population in mature and stable forest. We assume that trees
fall at some constant rate that supplies a continuous but limited supply of food for the termites.
“Again, start by copying and pasting your first termite model (exponential growth). Add in a new converter
variable, ‘K’ that will represent ‘carrying capacity’ and change the other names as indicated on the bottom of
page 7.
“Although the termite population is presumably constrained by the amount of food resources available, in this
case the effect of the food supply is “parameterized” in K, meaning that we model its effect of the resource
without directly including the stock itself
Notes for Teaching Bio102 Modeling Lab p. 5








“In this case the conceptual model is really simple, but the equation for net growth is a little more complicated.
Open Net_Growth and enter the equation R*N*(1-(N/K))
“You need to enter a coefficient value for K. What units make sense for K? (A: Termites}
“Create a new graph that includes both the population (N) and the carrying capacity (K). Predict and trace out
graphs for N and carrying capacity on a piece of paper. Run the model.
“This classic model is called ‘logistic growth’. When you discussed R and K-selected species in biology class,
the R and the K come directly from this equation.
“Consider the R*N*(1-(N/K)). What does this equation become when population size N << K? [A: R*N or
simple exponential growth].
“What does the equation become when N=K [A: 0; the population does not grow after it reaches this point]
“R-selected species are the weedy type species that have life history strategies that focus on rapid growth (high R
value)
“K-selected species emphasize being able to compete near carrying capacity.
5. Lotka-Volterra predator-prey interactions















“The final model we will construct considers interactions between populations of predators and prey.
“In many cases the same basic conceptual model and equations can be used to represent different phenomena. In
fact, if you flip back and forth between page 7 and 8 of your handout you can see that both the conceptual model
and the equations for this model are nearly identical to the model of growth on a non-renewable resource.
“We can start by making a copy of the entire growth on a non-renewable resource model. Select the entire
conceptual model with your mouse so that it is highlighted. From the Edit menu, choose Copy and then choose
Paste. Now drag this new model down the page below your logistic model.
“The principal difference is that in the predator prey model the stock being consumed, Hare, has a Birth inflow
that is proportional to its size. The coefficient values are also different, but the equations are identical.
“Drag a new flow into the Hare stock and add a growth rate coefficient (R3) and connectors so that it is as
pictured. Hare births uses the exponential growth equation.
“Now change all the variable names, coefficient values and initial conditions so that the model matches the
conceptual model and the values on page 8 of the handout. [You will need to give them some time to do this. Tell
them not to create a graph pad or run the model because you need to provide more information]
“You will need to make one more change and that is to go into the Run menu  Run Specs and change DT to
0.01, change the time units to months and select a “Sim Speed” of 0.3.
“For this model you will create two separate graph pads, one immediately above the other. Choose to graph the
stocks of both Fox and Hare in the top graph pad. In the bottom graph, choose to create a “Scatter” graph and
again choose to graph with Fox on the X-axis and Hare on the Y-axis. This plot of two stocks against each other is
known as a “phase plot”
“For this model you should predict the pattern of Fox and Hare stocks over time, but you should also predict what
the phase plot will look like. Run the model only after you have written down and discussed your predictions
“When you run the model, watch the phase plot and see if you can figure out how it relates to the time-series
graph.
“One way to understand the phase plot is to think of it as existing in four quadrants defined by positions at 12, 3, 6,
and 9 o’clock. The simulation starts 12 o’clock. As it moves from 12 to 3 o’clock, the Hare are declining in
population while the Fox are increasing. From 3 to 6 o’clock, both the Hare and the Fox are declining. From 6 to
9 o’clock, the Hare are increasing while the Fox continue to decline. And from 9 to 12 o’clock both the Hare and
Fox are increasing. Modelers call a phase plot of two variables that trace out a repeating oval a “cyclical attractor”
because the dynamics continue to cycle or repeat themselves over time.
“This model has fascinated biologists for most of the last century.
“Although this model is an oversimplification of predator prey dynamics in nature, biologists and modelers have
found it fascinating because the oscillations in predator and prey stocks are generated based solely on internal
interactions between these populations. In other words, the variability you see inside the system is driven by
internal feedback rather than by variability in external conditions.
“This concludes our modeling lab exercise. We hope that you have at least gotten a taste of the ways that
conceptual models and simulation models might be used as part of the overall scientific process.
“This was the first time that we have introduced this exercise into Bio102. We would appreciate any feedback you
that you have on this exercise and will ask for it in an online survey that you will receive that is separate from your
course evaluation.
Download