Food Chain with 10% Energy Rule

Food Chain with 10% Energy Rule preview image

1 collaborator

Redpanda Joshua Abraham (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.0.5 • Viewed 23215 times • Downloaded 292 times • Run 0 times
Download the 'Food Chain with 10% Energy Rule' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


WHAT IS IT?

The purpose of this model is to simulate the ten percent energy rule in a food chain. In food chains, the predator only gains about ten percent of the prey's energy. This pyramid effect leads to lower populations of upper-trophic-level predators. The goal of this simulation is to show how population fluxuates based on the ten percent energy rule and display the viability of a fifth trophic level in a simple food chain.

HOW IT WORKS

This model is based in Net Logo, and therefore uses a system of turtles (moving organisms that represent the population) and patches (background pixels of the environment). In this specific model, each trophic level is defined as a seperate breed or patch as follows:

Trophic Level......Description 1.......................(Producer) Green patches that represent grass 2.......................(Primary) White turtles with the "rabbit" shape 3.......................(Secondary) Blue turtles with the "wolf" shape 4.......................(Tertiary) Red turtles with the "cat" shape 5.......................(Quaternary) Magenta turtles with the "hawk" shape

This model simulates the energy transfer between trophic levels using a simple one-sto predation system. If an organism/turtle of one trophic level encounters an organism of a trophic level below it, then the prey dies and roughly ten percent of its energy is given to the predator.

Each organism begins the simulation with 1000 energy - an arbitrary amount with no corresponding scientific unit - and lose 50 energy per tick (unit of time in NetLogo). If an organism drops below 100 energy, then it dies.

Also, each trophic level has the ability to reproduce. If reproduction occurs, then one identical turtle is hatched at a location near to the organism and the organism loses one third of its energy.

In addition to the animal trophic levels, this model simulates the producer level using green, or grass, patches. These are consumed by the second trophic level and "die" or turn brown. After a selected amount of time (ticks), the grass regrows and becomes green and edible again.

Together, the predation, energy, death and reproduction features allow simulation of population change in a food chain with the ten percent energy rule applied. However, because this is a rough simulation, it is important to run the model several times to ensure more accurate prediction.

HOW TO USE IT

There are various items on the interface tab that can manipulate the simulation:

SETUP : this button resets the model and creates the world. It is necessary to set your values for each trophic level before hitting setup

GO : this toggle able button can continuously run the simulation

KILL-GRASS : this button kills all the grass

GRASS-RESPAWN RATE : this variable set the rate at which grass respawns. One value is equal to one tick that it takes for grass to respawn

XXX-AMOUNT : this sets the the amount of organisms to be spawned at the start of the simulation. These four values (one for each animal trophic level) must be set before hitting the SETUP button.

XXX-REPRODUCE : these four values correspond to each of the upper four trophic levels and is the percent chance for reproduction at a single tick. For example, if primary-reproduce is set at 50, then, at each tick, the primaries (rabbits) each have a 50% change to reproduce.

To the right of the world display, there is a graph that illustrates the amount of each breed of turtle and grass producers present over time. Also, monitors are located below the graph to display the amount of each breed and grass at a specific time.

THINGS TO TRY AND NOTICE

Since this model is aimed at multiple-tier predation, it is important to notice how population changes over time and, for each breed, in relation to other breeds.

Using this model, certain questions can be answered:

  1. After the initial growth of the rabbits, what happens? For what two reasons might this occur?

  2. Observe the simulation for a period of time. What do you notice about the population of each trophic level?

  3. What happens over time to the population of Tertiary and Secondary predators if you set the Tertiary-amount to a value significantly greater that Secondary-amount? In ecology, is having more tertiary predators than secondary organisms possible?

  4. After observing the simulation and population change, try finding values for XXX-AMOUNT and XXX-REPRODUCE at which population of trophic levels 2 through 4 begin to balance. How do these values relate to the ten percent energy rule?

  5. Based on this model, is a fifth trophic level possible?

  6. Using the KILL-GRASS button repeatedly, how does removing all the grass affect the population of rabbit? How does a change in the rabbit population affect other trophic levels?

EXTENDING THE MODEL

There are several additional features possible to extend this model:

  1. Adding factors of long-term and short-term weather patterns on producers (for example, seasons).

  2. Adding multiple organisms in one trophic level to create a complex food web rather than a simple food chain.

  3. Creating a more comprehensive reproduction system in which two organisms are required to reproduce.

RELATED MODELS

Wolf Sheep Predation Model (in the Biology Section of Models Library)

CREDITS AND REFERENCES

This simulation was created by Joshua Abraham as part of Tracy High School's Biology curriculum.

Credit to: Del Pabalan for advising this modeling project.

Uri Wilensky for his "Wolf Sheep Predation" model that acted as a basis for this model.

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/.

Comments and Questions

Click to Run Model

breed [primaries primary]                      ; creates the four breeds for trophic levels 2-5
breed [secondaries secondary]
breed [tertiaries tertiary]
breed [quaternaries quaternary]

globals [eat-energy]                           ; global variable to store the energy transferred between trophic levels
turtles-own [energy]                           ; stores long-term energy on each turtle
patches-own [countdown]                        ; variable to count ticks for grass respawn rate

to setup
  ca
  reset-ticks
  create-world
  trophic-setup
end 

to create-world                                ; sets up the geography
  ask patches [
    set pcolor green]                          ; creates grass
  ask patches with                             ; visuals for the sky and sun 
    [pycor > 45]
    [set pcolor white]
  ask patches with 
    [(pycor >= 55) and (pxcor <= -55)]
    [set pcolor yellow]
end  

to trophic-setup                               ; creates trophic levels 2-5
  set-default-shape primaries "rabbit"         ; sets default shape of all primaries to rabbit
  ask n-of primary-amount patches with         ; sprouts primaries only on grass
  [(pcolor = green) 
    and (pycor > -64) and (pycor < 45)]        ; and far enough away from borders of grass 
    [sprout-primaries 1
      [set color white 
       set size 3] 
    ] 
  
  set-default-shape secondaries "wolf"         ; sets default shape of all secondaries to wolf
  ask n-of secondary-amount patches with       ; sprouts secondaries only on grass
  [(pcolor = green)
    and (pycor > -64) and (pycor < 45)]
    [sprout-secondaries 1
      [set color blue - 3
        set size 3]
    ]          

  set-default-shape tertiaries "cat"           ; default shape of all tertiaries to cat
  ask n-of tertiary-amount patches with        ; sprouts only on grass 
  [(pcolor = green)
    and (pycor > -64) and (pycor < 45)]
    [sprout-tertiaries 1
      [set color red - 3
        set size 2]
    ]
  
  set-default-shape quaternaries "hawk"        ; default shape of all quaternaties to hawk
  ask n-of quaternary-amount patches with      ; sprouts only on grass
  [(pcolor = green)
    and (pycor > -64) and (pycor < 45)]
    [sprout-quaternaries 1
      [set color magenta
        set size 2]
    ]

  ask turtles [set energy 1000]                ; sets baseline energy level for all turtles  
end   

to go
  movement                                     ; bounce and move procedure
  trophic-primary                              ; controls the four animal trophic levels 
  trophic-secondary
  trophic-tertiary
  trophic-quaternary
  reproduction                                 ; controls reproduction rates
  ask patches [grow-grass]                     ; begins grass regrowth 
  death                                        ; procedure for death of turtles
  wait .2
  tick 
  if count primaries = 0 [stop]                ; stops simulation if all primaries die
end 

to kill-grass                                  ; button to set all grass patches to dead
  ask patches with 
    [pcolor = green]
    [set pcolor brown]                         ; sets all green patches to brown 
end  

to movement
  ask turtles [                                ; sets random heading for all turtles during each tick
    ifelse (ycor > 44) or (ycor < -62)
  [set heading (heading + 150 + random 60)] 
  [rt 150
   lt 150
   ] ]
  
  ask primaries [fd 1]                         ; primaries' movement
  
  ask secondaries [                            ; secondaries' movement
    fd 1 + random 2                            ; moves them sometimes faster to catch primaries
      if pcolor = yellow                       ; prevents extended movement from bringing turtles off grass
      [set ycor ycor + 20]
      if pcolor = white
      [set ycor ycor + 20]
      ]
  
  ask tertiaries [                             ; tertiaries' movement
    fd 2 + random 2                            ; faster movement for catching tertiaries
      if pcolor = yellow                       ; prevents extended movement from bringing turtles off grass
      [set ycor ycor + 20]
      if pcolor = white
      [set ycor ycor + 20]
  ]
  ask quaternaries [                           ; quaternaries' movement
    fd 3                                       ; faster movement to catch tertiaries
      if pcolor = yellow                       ; prevents extended movement from bringing turtles off grass
      [set ycor ycor + 20]                     
      if pcolor = white
      [set ycor ycor + 20]
  ]
end  

to trophic-primary                         
   ask primaries [
   set energy energy - 50                      ; reduces energy for metabolism
   ]  
   ask primaries [                    
    if pcolor = green                          ; if pcolor is green
    [set pcolor brown                          ; kill the grass 
      set energy energy + 150]                 ; and increase energy 
   ]
end  

to trophic-secondary
   ask secondaries [
     catch-primary                             ; initiates predation procedure 
   set energy energy - 50                      ; metabolism rate over time
  ] 
end  

to trophic-tertiary
  ask tertiaries [
    catch-secondary                            ; initiates predation procedure
  set energy energy - 50                       ; metabolism rate over time
  ]
end 

to trophic-quaternary            
  ask quaternaries [
    catch-tertiary                             ; initiates predation procedure
    set energy energy - 50                     ; metabolism rate over time
  ]
end 

to catch-primary      
  let prey one-of primaries in-radius 3                        ; grabs a random primary close by 
  set eat-energy sum [energy] of primaries in-radius 3         ; sets energy transfer variable to energy of that primary
  if prey != nobody                                            ; was one found? if yes, 
    [ ask prey [ die ]                                         ; kill it
      set energy energy + (eat-energy / 10) ]                  ; get energy from eating - division creates the ten percent rule
end 

to catch-secondary
  if any? secondaries in-radius 6                              ; predation chase feature 
    [face one-of secondaries in-radius 6]                      ; chases secondaries further than eating radius 
    
  let prey2 one-of secondaries in-radius 3                     ; grabs random secondary close by         
  set eat-energy sum [energy] of secondaries in-radius 3       ; sets energy transfer variable to energy of that secondary
  if prey2 != nobody                                           ; was one found? if yes, 
    [ ask prey2 [ die ]                                        ; kill it
      set energy energy + (eat-energy / 7) ]                   ; and gain energy from eating - division is approximate for ten percent
end  

to catch-tertiary                                              ; same procedure for catching teriaries
  if any? tertiaries in-radius 6                               ; chasing feature
    [face one-of tertiaries in-radius 6]
    
  let prey2 one-of tertiaries in-radius 3                      ; look for tertiaries close by
  set eat-energy sum [energy] of tertiaries in-radius 3        ; set energy transfer varaible
  if prey2 != nobody                                           ; checks if there is a tertiary
    [ ask prey2 [ die ]                                        ; if so, kills it and
      set energy energy + (eat-energy / 8) ]                   ; gives the quaternary energy
end  

to grow-grass                                                  ; patch procedure to regrow grass
  if pcolor = brown [                                          ; countdown for brown patches (dead grass)
    ifelse countdown <= 0
      [ set pcolor green  
        set countdown grass-respawn-rate ]                     ; countdown is based on grass-respawn-rate slider
      [ set countdown countdown - 1 ]
  ]
end 

to reproduction                                         
  ask primaries [if random-float 100 < primary-reproduce [     ; throw "dice" to see if you will reproduce
    set energy (energy * 2 / 3)                                ; divide energy between parent and offspring
    hatch-primaries 1 [ rt random-float 360 fd 1 ]             ; hatch an offspring and move it forward 1 step
  ] ]
  ask secondaries [if random-float 100 < secondary-reproduce [ ; throw "dice" to see if you will reproduce
    set energy (energy * 2 / 3)                                ; divide energy between parent and offspring
    hatch-secondaries 1 [ rt random-float 360 fd 1 ]           ; hatch an offspring and move it forward 1 step
  ] ]
  ask tertiaries [if random-float 100 < tertiary-reproduce [   ; throw "dice" to see if you will reproduce
    set energy (energy * 2 / 3)                                ; divide energy between parent and offspring
    hatch-tertiaries 1 [ rt random-float 360 fd 1 ]            ; hatch an offspring and move it forward 1 step
  ] ]
  ask quaternaries [if random-float 100 < quaternary-reproduce [     ; throw "dice" to see if you will reproduce
    set energy (energy * 2 / 3)                                      ; divide energy between parent and offspring
    hatch-quaternaries 1 [ rt random-float 360 fd 1 ]                ; hatch an offspring and move it forward 1 step
  ] ]
end  

to death
  ask turtles [if energy < 100 [die]]                          ; if energy is below a threshold, the turtle dies 
end  




;; Model created by Joshua Abraham
;; joshpabraham@gmail.com

;; Based on Wolf Sheep Predation Model in Models Library

;; Created at Tracy High School

There is only one version of this model, created over 10 years ago by Joshua Abraham.

Attached files

File Type Description Last updated
Food Chain with 10% Energy Rule.png preview Preview for 'Food Chain with 10% Energy Rule' over 10 years ago, by Joshua Abraham Download

This model does not have any ancestors.

This model does not have any descendants.