Introduction to System Dynamics: NetLogo

Introduction to System Dynamics:
NetLogo
Using NetLogo
There are multiple ways to use NetLogo, but to make a dynamic
system model you need to use the System Dynamics Modeler. To get there,
open Net Logo and click on the “Tools” drop down menu. Then select
“System Dynamics Modeler” from the list of options. You can also use the
keyboard shortcut: Ctrl + Shift + D.
There are four basic components of a NetLogo System Dynamics model.
For now, just play around with placing the elements as you learn about
them. After that you will learn how to build a simple model.

NetLogo Version 5.1.0
These instructions are
written for NetLogo
version 5.1.0. If you are
using a different version of
the program some steps
may be slightly different.
A Stock is a collection of the stuff being modeled; it could be anything from a population to
the amount of money in your bank account. They are added using the
button.
Click the button then click in the diagram area to place a stock. The tan rectangle that
appears will have a red question mark in it meaning you need to give it a name and initial
value. Double click the stock to input these values.


Flows add or subtract from the value of a stock. Click on the
button to add a
flow. Click and hold the mouse in the diagram area to place the beginning of the flow then
drag the mouse to where you want the flow to end. Flows can start or end in either a stock
or empty space, but at least one end must be connected to a stock. When you double click
to change the name and value of a flow, you will be able to input equations as well as values
to the flow.
Variables are used to modify stocks and flows. They can be equations or constants. Use the
button to place a variable. They must be named and can have a constant or an
equation as their expression.

Links tell the program how to connect the stocks flows and variables. The
button
is used to add links. Click and hold where the link should begin and drag the mouse to the
end of the link. Links must connect two elements of the diagram.
To practice using the program lets make a very simple model of a growing population with unlimited
resources.
1. First you will need a stock to represent your population. Add one and give it the name of the
animal you want to use, for example an octopus population. Give it an initial value of 10.
Uncheck the “Allow negative values” box so that you don’t end up with negative octopuses.
2. Now we need a way to change the number of octopuses in our population. To do that we will
add a flow into Octopuses called octopus-births. Click the
button and then click to
the left of the Octopus stock. Drag the mouse into the Octopus stock and release the mouse.
1
3. Notice how the arrow on the flow comes from nothing and goes into the stock. This means
flow will pull values from outside our system and add them to the stock.
4. Name the flow and set the expression to 1 for now (you will need to change it later).
5. To tell the model how quickly to add to the population we will need to add a variable. Call it
octopus-birth-rate.
6. Give the variable a value of 20. This will add 20 octopuses to the population each year.
7. Now connect the variable to the flow with a link. Make sure it points from the variable to the
flow.
Numbers vs. Letters
Note that you are able
to use both numbers
and letters as
expressions.
Computers think of
them as basically the
same thing!
8. You now have a variable that will affect the flow of octopuses into the stock, but you still need
to tell the program how that relationship works. Double click the flow and replace the 1 with
octopus-birth-rate.
9. You have now created a very simple model! Make sure to save it before continuing. Then
answer the questions below before learning how to run the model in the next section.
Which direction is your flow arrow pointing? Why is this important? What would happen if it were
pointed the other way?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
Why do you think the names for the variable and flow have dashes (-) in them? Try taking them out and
see what happens. Why might they be necessary?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
2
Try changing the expression of the flow to something other than octopus-birth-rate, (maybe just birthrate) what happens? Why does it have to be octopus-birth-rate? Keep this in mind if you have problems
in the future.
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
Review
Since you now have a map of your fist model let’s review what we have learned. A stock is a noun
and represents something that accumulates such as a population, biomass, nutrients, water, enzyme
concentration, or money. They can also be completely non-physical accumulations such as knowledge
or fear. Stocks can only change as a result of flows into or out of them. The flow is controlled by other
variables and stocks, which are connected to the flow with links.
This is all very well, you might be thinking, but how is it useful? We need to have a way of
running the model to see how the population changes. The next section will explain how to run your
model.
Running your model
1. Click back to the main NetLogo window. (That’s the one that you
opened the System Dynamics Modeler from.)
2. Because NetLogo usually is not used for dynamic modeling, we need
to set up a few parts of the code. Click the “Code” tab (located at the
top of the screen next to Interface and Info) and type the following:
You can also copy and paste it from this document.
to Setup
ca
system-dynamics-setup
end
to Start/Stop
system-dynamics-go
system-dynamics-do-plot
end
The Code Tab
In some other versions of
NetLogo, the code tab is
called “procedures.” In
both cases it is used to add
coding that controls the
model but it is used more
extensively in non-dynamic
models.
3. Now move back to the Interface tab to begin to build your
interface.
4. Create a “Setup” button by clicking the drop-down menu on
the left:
and selecting “Button.” The
button next to it should now be highlighted. Click in the
white diagram area to the left of the black box to create a
button. Type “Setup” into the Commands box and click OK.
3
5. Next, create another button to start and stop the model. Because you already created a setup
button, “Button” should still be highlighted in the drop down menu. All you need to do to add
another one is click “Add” then click in the white interface area. Type “Start/Stop” into the
commands box and check the “Forever” box before clicking OK.
6. Click the drop-down menu again, but this time select “Monitor” and add a monitor to your
interface. It will tell you the number of Octopuses in the population. Type “Octopuses” into the
reporter box and set the Decimal places to 0. You wouldn’t want .35 of an octopus would you?
7. Finally you can add the graph. Select “Plot” on the drop-down menu and
add a plot. Call it “Octopus Population” and change the pen name to
“Octopus.” You should also label the axes.
Help! My Plot box looks
different!
Different versions of
NetLogo might have
slightly different looking
dialog boxes. The
important part of this step
is to change the pen name.
Make sure it is exactly the
same as the name of your
stock. In this case it is
“Octopuses.” Variations
like Octopus or Octopi will
not work.
4
8. Make sure that you change the speed slider at the top of the window to “slower.” The exact
placement doesn’t matter.
9. Your interface should now look something like this:
Moving Objects on the
Interface
If you want to move or
resize anything on the
interface tab, click and hold
somewhere on the white
background part and drag
the mouse over the object.
You can then click on the
object and use the black
dots in the corners to
change the object’s size.
Use the space below to draw a graph of how you expect the population to change over the
period of 50 years. Imagine the octopuses being introduced to a part of the ocean with no predators
and unlimited food, space, and water. How would their population change? This sort of graph is called
a “Behavior over Time Graph” or BOTG (pronounced botchi). It represents a baseline hypothesis of how
we think the world works.
Population
Octopus Population
1000
900
800
700
600
500
400
300
200
100
0
0
10
20
30
40
50
Years
5
After you have drawn your BOTG, click the “Setup” button you created to setup the model
then click “Start/Stop” to begin running the program. Click it again to stop the model. How did your
model compare to your prediction? Record your results on the graph below. If you want to run the
model again, click “Setup” to clear the previous run first.
Population
Octopus Population
1000
900
800
700
600
500
400
300
200
100
0
0
5
10
15
20
25
30
35
40
45
50
Years
Review Questions
Did your BOTG match your results? How were they similar? How were they different?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
How do populations with unlimited resources really grow?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
How could we improve our model? What could we add to make the model match the growth what we
would expect? Remember that we are dealing only with growth for the moment.
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
6
Adding a Changing Birthrate
The problem with the model was that the current population of octopuses did not affect the
rate at which octopuses were being born. The more octopuses there are, the more octopus eggs will be
laid! Can you fix the model to produce exponential growth? If you can’t figure it out, look at the next
few steps.
How to Write Expressions
1. Return to the map you made of your model in the System
Dynamics Modeler window.
2. The flow rate needs to be dependent on both the octopusbirth-rate and the number of octopuses in the population.
This means you will need to link each of those elements to the
flow.
3. Now you need to rewrite the flow expression to use those
values. Double click on the flow and change the expression to
octopus-birth-rate * octopuses.
4. Change the value of octopus-birthrate from 20 to 0.2. This will
tell the model to add 20% of the total octopus population to
the octopus stock each year.
The computer only understands
particular symbols in equations.
Use the symbols below to make
sure the computer understands.
Operation
Add
Subtract
Multiply
Divide
Normal Computer
Symbol
Symbol
+
+
−
*
×
/
÷
Run your model again and record your results below:
Octopus Population
1000
900
800
Population
700
600
500
400
300
200
100
0
0
5
10
15
20
25
30
35
40
45
50
Years
7
How does this new graph compare to your BOTG? Is it exponential growth?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
This is a big improvement on the linear line we graphed earlier, but it is still missing an essential
element. We know that octopuses don’t live forever, in fact, most live less than a year. Let’s add a
death rate to the model to fix the problem. Can you do that on your own? If you need help, look at the
instructions below.
Adding a Death-rate
1. Adding a death rate means that we need a way for
octopuses to leave the stock. To accomplish this we can
add another flow, this time out of the stock. Name it
octopus-deaths and give it an initial value of 1 for now.
2. Add a variable called octopus-death-rate and give it a
value of 0.1.
3. Use links to connect the Octopus population stock and the
variable to your new flow.
4. Rewrite the expression for the flow to octopus-death-rate
* Octopuses.
Spaces in Expressions
When writing expressions, make
sure to put spaces between
operations (such as * or /) and the
values you are using.
For Example:
Octopus-birth-rate * Octopuses
NOT
Octopus-birth-rate*Octopuses
Play around with running your model! Change the value of the
death-rate. How does the octopus population change? Try setting the death-rate and birth-rate to the
same value. What if the death-rate is greater than the birth-rate? Record the results of a few different
combinations on the next page.
8
Test 1
Test 1
Birth-Rate: _______
1000
Death-Rate: _______
Observations: ___________________
_______________________________
800
Population
Population in 50 years: ______
_______________________________
600
400
200
_______________________________
0
_______________________________
0
10
20
1000
Death-Rate: _______
800
Population
Birth-Rate: _______
_______________________________
50
30
40
50
30
40
50
Test 2
Test 2
Observations: ___________________
40
Years
_______________________________
Population in 50 years: ______
30
600
400
200
_______________________________
0
_______________________________
0
10
20
_______________________________
Years
_______________________________
Test 3
Test 3
1000
Birth-Rate: _______
800
Population in 50 years: ______
Observations: ___________________
_______________________________
_______________________________
_______________________________
_______________________________
Population
Death-Rate: _______
600
400
200
0
0
10
20
Years
9
Review Questions
Which of your tests do you believe best represents the real way octopus populations vary in the wild?
Why?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
How could you figure out which test was actually most representative?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
You used your model to generate a hypothesis about the birth and death rate of octopus populations in
the wild. Scientists often use computer models this way as well. What are some other things that can
be modeled but are much harder to study in real life?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
What might still be missing from this model?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
10
Carrying Capacity
Remember, we started this model by saying that the octopuses were in an ocean with no
predators and unlimited food, water, and space. Of course such an ocean does not exist. The octopus
population is going to run up against limits. Those limits are the carrying capacity of the ocean. When
the population runs up against those limits, the death rate will increase, sometimes greatly. Let’s build
a model with a carrying capacity of 1000.
1. First we need to add a variable called carrying-capacity. Set its expression to Octopuses / 1000.
2. Now we need to link the Octopuses stock to the variable and the variable to the octopus-deathrate.
3. Adjust the expression for octopus-death-rate to carrying-capacity * 0.2. Make sure that your
octopus-birth-rate is reset to 0.2.
Look closely at your model. What will happen when the octopus population reaches 1000? Will the
population decrease or increase? Before you click start, sketch a BOTG of what you think will happen to
population.
Octopus Population
1200
1000
Population
800
600
400
200
0
0
10
20
30
40
50
60
Years
11
Now run the model. Does your graph look something like this?
This model produced a graph that is commonly called an “S” curve or sometimes a logistics curve.
Because our model is very simple, the curve is nice and smooth. The octopuses grow at an accelerating
rate for a short period of time and then the population levels off close to the environmental carrying
capacity.
What factors might set the environmental carrying capacity for octopuses?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
How would this curve be different for a real world population?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
12
Extensions
Option 1
In the natural world, growth rate is rarely a fixed constant. Growth rate will depend on many
different factors such as weather, food, and shelter. These factors vary, giving the population varying
growth rates. How can we change our model to account for this variation? One possibility is to make
the growth rate random.
Change the expression for octopus-growth-rate to (random-float .2 ) + .1. This will
select a random number between 0 and .2 and then add .1, giving us a range of random numbers
between .1 and .3 for the growth rate. What happens when you run your program now? You will see
that now the population can actually rise above the carrying capacity but it always drops back down.
Option 2
In 1845, Pierre Verhulst published an equation that produces population growth on a curve
𝐾−𝑁
similar to the one you created. His equation is ∆𝑁 = 𝑟(
). 𝑁 is the population, so ∆𝑁 (delta N) is the
𝐾
change in the population. 𝐾 is the carrying capacity or maximum possible population, and 𝑟 is the
reproductive rate or birth rate of the population. Try to build a model from this equation, how is it
different from your earlier model? Is the curve the same or are there slight differences?
13
Predator-Prey Relationship
We have now created a good simple model of a growing
population; however, there are very few populations that exist in
isolation. One thing our environment is missing is other organisms. Let’s
build a model representing two populations interacting.
As we do so, it is important to remember the following points:
A. A model is a visual statement of a hypothesis. It is the statement:
“This is how I think the world works”.
B. A model is never completely correct.
C. Models should be as simple as possible.
What are some possible implications of point A?
A Model Airplane
Imagine that you are making a
model airplane. You want it to be
exactly correct so you make it
precisely the right size, use all the
same materials as an airplane and
make sure it flies like an airplane.
What have you built? A real
airplane! Models need to be
complex enough to be useful but
making them too complex can
also be a problem.
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
Explain why point B is true.
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
How does point C contradict point B?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
What do modelers need to do to make sure all these points are accounted for when they make models?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
14
For this model, we will start with a population of fish preyed upon by a second population of sharks.
Open up a new NetLogo window to begin your model. Because you have had so much practice with this
already, we won’t give you as much help.
1. Start out by drawing the stocks for your predator and prey with the appropriate flows and links
to produce a growth curve for each. Don’t worry yet about naming them or giving them
expressions, you can do that later.
2. How should we connect the two populations together? Because we want to keep the model
relatively simple, we will assume that the fish die only when eaten by a shark, this means we can
delete the fish-death-rate.
3. The number of fish that die depends on two variables: the shark population and the fish
population. More predators mean that more prey will be captured and high prey populations
will generally make it easier for a predator to find and capture the prey, increasing the prey
deaths. Connect the fish-deaths flow to those two stocks.
4. Despite their best efforts, no predator ever succeeds 100% of the time; some prey will always
escape. The ratio of attempts to successes defines the predator efficiency; the greater the
efficiency, the more frequent the success. Add a variable called predator efficiency and connect
it to fish-deaths.
5. The fish population death rate is now dependent on the shark population. But doesn’t the
amount of prey the sharks have affect their birth-rate?
6. The fish population and the predator efficiency both affect the shark-births so you can link them
as well.
15
7. Can you now name each piece and add the formulas?
 Fish-birth-rate: 0.01
 Fish: 1000
 Fish-births: Fish * fish-birth-rate
 Sharks: 10
 Shark-efficiency: 0.0003
 Fish-deaths: Fish * Sharks * shark-efficiency
 Shark-birth-rate: 0.6
 Shark-births: shark-birth-rate * sharks * shark-efficiency * fish
 Shark-death-rate: 0.15
 Shark-deaths: Sharks * shark-death-rate
How do we decide the
numbers?
The numbers used in models
almost always come from
experiments. People do
research and determine a value
for say octopus birth rates.
Other values come from
hypothesis like the ones you
made when changing the death
rate of the octopuses.
Here is where each ones goes:
8. The next step is to set up your model’s interface. Remember how to do that? Add a Setup and
Start/Stop button, and a monitor and plot of the Shark and Fish populations. If you forgot how
you can find it earlier in this worksheet. The only change would be to make sure you add two
pens to the plot, one called Sharks and another called Fish. Remember that they have to be
spelled exactly as you have them on the stocks. Check the
box to get a legend
on your graph.
16
Before you run the model draw a BOTG (behavior over time graph) on the chart below:
Fish and Shark Populations
1400
Population
1200
1000
800
600
400
200
0
0
100
200
300
400
500
600
700
800
900
1000
Months
Now it is time to actually run the model! Press the Setup button then the Start/Stop button. Make sure
that the speed slider at the top is set to “slower” so that you can really see what is going on.
17
Record your results on the graph below:
Fish and Shark Populations
1400
Population
1200
1000
800
600
400
200
0
0
100
200
300
400
500
600
700
800
900
1000
Months
Review Questions
Does your resulting graph look like the one on the right?
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
How do your results compare to your prediction on the
BOTG above?
__________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
What are some reasons for the differences?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
18
It is important to remember that this is a model of an unspecified shark and an unspecified fish. As such,
the model does not describe the specifics of any particular interactions, say great white sharks and tuna,
or basking sharks and plankton. Because the model is generalized, a great deal has been left out of it.
How might you change your model if you were looking at the interaction of great white sharks and
tuna?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
How about basking sharks and plankton?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
photo credits coming soon
19
NetLogo: Modeling Ocean Acidification
20
Ocean Acidification and its Impacts
Further Reading
As the issue of ocean acidification came to light, many
scientists began to research what the result of more acidic oceans
These studies provide more
might be. We now know, for example, that changing pH makes it
information about ocean acidification.
harder for shelled organisms to build shells and that some aquatic
plants grow faster with more access to carbon dioxide. Overall,
Overview including many effects:
studies have shown that the effect of acidification is not uniform;
http://www.annualreviews.org/doi/ab
some organisms gain and some lose. It turns out that elevated levels
s/10.1146/annurev.marine.010908.16
of CO2 also affect small reef fish. In a comprehensive article (found
3834
at http://jeb.biologists.org/content/215/22/3865.full) Munday et al.
describe the “dramatic effect” of both elevated carbon dioxide
Effects on coralline algae:
concentrations and rising temperatures on “a wide range of behaviors
http://reinat.com/lpmnm/benthic_ree
and sensory responses” in various tropical fishes.
f_environment/lesson5/Kuffner_et_al
Let’s look more closely at one of the studies that Munday et
2007NatureGeo.pdf
al. use in their article. It describes how ocean acidification could
affect clownfish–predator interactions. The article can be found at
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2919925/ or in PDF form at
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2919925/pdf/pnas.201004519.pdf
Do you think you could build a model of this data? It is similar to a predator prey relationship
but there are slight differences that might influence how you set up your model. After you read the
article, the following steps will help you create your model.
1. List the key words of the article. These are words you might use if you were trying to find the
article on Google. Try to come up with at least ten!
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
2. Write down the main points of the article. These should be statements that link together the
terms you came up with above









21
3. Create a concept map that links your terms together as you specified in question #2.
22
4. Talk to your classmates and add any elements or connections you might have missed. Does
your map tell the same story as the article?
Building the Model
Now we know how the more acidic water will affect the clownfish, but how will the changing
prey populations affect the predators? Unless we want to build some really big tanks to model the
whole ecosystem, the only way to answer this question is through modeling. Let’s build a model to
show us how changing CO2 concentrations effect the relationship between clownish and their predators.
23
Open the predator prey model you made earlier and follow the steps below to
convert it into a model for this data.
1. First, because the model is no longer generic, change the names of the
model components to Predator and Clownfish.
2. Next we will need to add a line to the code of the model. From the
interface window, click to the code tab and enter if ticks >= 2000
[ stop ] into the code just after to Start/Stop. This will keep
the model tidy by stopping it after 2000 months. Because our model is
simple and based on relatively little data, we cannot predict too far into
the future. Your code should look like this when you are finished:
Using Save As
When you start to make
major changes to your
model, it can be smart to
save a new version using
Save As so that you can
always return to the first
version if you have to.
3. Now we need to add a variable for CO2 concentration. Set its initial value to 390, the current
value in most parts of the surface ocean.
4. To make the variable changeable, we need to add a slider to the interface. Click back to the
interface window.
5. Click on the drop down menu for adding components and click
. Now the
button should be highlighted and you can
click in the diagram area to add the slider. Name it user-Carbon-DioxideConcentration.
6. Set the minimum to 390, the maximum to 800 and the increment to 10.
7. Set the initial value to 390.
Why the “user” in the
slider name?
The “user” is very
important. It tells the
computer that this is a
variable you (the user)
want to be able to control.
This way the computer will
recognize the value in the
variable as the value from
the slider.
8. Go back to the model map and change the Carbon Dioxide concentration
expression to user-Carbon-Dioxide-Concentration. Now, that variable will
take the value from your slider.
9. How should we connect this variable to the rest of the model? Where do
you think you should draw the link? If the fish don’t hide from the
predators, more fish are going to be eaten and the more food the predators will have. This
makes it seem like the CO2 concentration is going to effect the efficiency, but how do we write
the relationship?
Based on the article data for day 8, fill out the chart below:
CO2 Concentration (ppm)
Time Fish Spent in Predator
Cue (%)
24
390
550
700
850
Now we need to figure out the relationship between the two variables. Graph that data on this chart.
Time spent in predator cue (%)
CO2 ppm on Fish Behavior
100
90
80
70
60
50
40
30
20
10
0
300
400
500
600
700
800
900
CO2 Concentration (ppm)
You can see from your graph that the data is not linear. Because the
concentration does not have an effect before 500, the graph is flat and then
increases sharply. Draw a linear line onto your graph to represent the best fit
line for all the data. Try to create a line that passes as close to all the points as
possible. Using a graphing program like excel, or by hand on the graph above,
come up with a best fit equation that relates the two variables.
Record your equation here:
% 𝑡𝑖𝑚𝑒 𝑠𝑝𝑒𝑛𝑡 𝑖𝑛 𝑝𝑟𝑒𝑑𝑎𝑡𝑜𝑟 𝑐𝑢𝑒 =____________________________________
Creating a best fit line in
excel
Make an X Y (Scatter) plot
with the data table you
filled out before. Then
click the Layout tab, select
the Trendline option and
click Linear Trendline. The
program will create a line.
To figure out the equation,
right click on the trendline,
select format trendline,
and check the box that says
display equation on chart.
What problems would we run into if we tried to use this equation in the model?
What would happen to the ecosystem with a predator efficiency of 20?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
25
_____________________________________________________________________________________
We need to convert the percentage into a predator efficiency that we can use in the model. The
percentages have two decimal places to the left of the decimal point. The efficiency we have been using
in the model is 0.0003; it has four decimal places to the right. If we want to convert our percentages to
efficiencies, what do we need to do? Rewrite your equation to equal efficiencies between 0.0000 and
0.001 instead of percentages from 0 to 100.
Record your new equation here: 𝐸𝑓𝑓𝑖𝑐𝑒𝑛𝑐𝑦 =_____________________________________________
We still are not quite done. What problems would we run into if we tried to use this equation in the
model? What would happen to the ecosystem with a predator efficiency of 0?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
We know from the previous model that the optimal efficiency is 0.0003, so why not change the value for
390 ppm from 0 to 0.0003? We can do that by adding 0.0003 to the equation.
Record your final equation here: 𝐸𝑓𝑓𝑖𝑐𝑒𝑛𝑐𝑦 =_____________________________________________
You should have arrived at an equation fairly similar to this one:
𝐸𝑓𝑓𝑖𝑐𝑒𝑛𝑐𝑦 = 0.000002 ∗ 𝐶𝑂2 𝐶𝑜𝑛𝑐𝑒𝑛𝑡𝑟𝑎𝑡𝑖𝑜𝑛 − 0.0005
This equation can be used in your model. If you got a different equation try that one too, but if your
model doesn’t work come back and use this one. Go to the model map and change the expression of
the shark-efficiency variable to your equation. Your finished model should look something like on the
next page.
26
Run the model at different settings and record your data in the table below.
CO2
Concentration
(ppm)
# of
population
peaks
Did the
system
crash?
Observations
390
450
500
550
600
650
700
750
800
27
Conclusion
What trends do you notice as the carbon dioxide concentrations increase?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
Can you find a “tipping point” where the system collapses?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
Are there any problems with your model?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
Systems, and the models of systems, vary in how sensitive they are to change. Sometimes a small
change generates a big change in the system, but sometimes the system can absorb huge changes while
remaining relatively stable. How sensitive would you say your model is?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
28
How could you make your model more resistant to change?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
In your model the predators only have a single prey: clownfish. What would happen if you added
another prey?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
What if the second prey you added was one that the predators didn’t like as
much, so the predators only ate them when the clownfish population
dropped?
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Extension!
Try adding a second prey
species, one that the
predators don’t like as
much, to the model.
Maybe say that the new
prey will only be eaten if
there are less than 500
clownfish.
It has been estimated that the oceans absorb about 25% of the carbon dioxide
emitted by humans. However, the ocean has been absorbing the excess CO2
from the atmosphere since the start of the industrial revolution and the rate has not always been 25%.
Andrew Dickson, a marine chemist at the Scripps Institution of Oceanography UC San Diego, says that at
the beginning of the industrial revolution the oceans were absorbing much more. What implications
does this have on the future of carbon dioxide levels both in the ocean and in the air?
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
An article on ocean CO2
Concentrations
This article describes how
the ocean absorbs carbon
dioxide in more detail,
including the work of
Andrew Dickson:
https://scripps.ucsd.edu/pr
ograms/keelingcurve/2013
/07/03/how-much-co2can-the-oceans-take-up/
29
Dickson has hypothesized that many factors affect this trend. Each ton of CO2 absorbed makes it harder
to absorb the next ton. Warmer temperatures also reduce the amount of solvents water can hold so
global warming will make further CO2 absorption difficult. Warmer temperatures decrease ocean mixing
so the CO2 saturated water stays on the surface instead of being mixed into the unsaturated waters
below. The reduced mixing prevents proper nutrient cycling, so the algae that would normally take up
some of the excess cannot grow. What could eventually happen if humans do not do something to curb
carbon dioxide emissions?
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
Luckily, public awareness of ocean acidification is growing. Reports of the impacts
of acidification appear frequently in the scientific and popular press; the Seattle
Times produced a really excellent, multi-part series on the impact of ocean
acidification. What impact of ocean acidification do you think will have the largest
ramifications? Possibilities include the threat to oceanic ecosystems, increasing
problems with food security, and the inability of the ocean to continue mitigating
climate change.
Read the Seattle Times
Series at:
http://apps.seattletimes.co
m/reports/seachange/2013/sep/11/pacifi
c-ocean-perilous-turnoverview/
____________________________________________________________________
____________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
30
31