Carrying Capacity
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This simulation helps you explore 'carrying capacity' using a hypothetic elk population.
HOW IT WORKS
Within each 'tick,' a simulation time unit, elk wander, eat and reproduce in the habitat. They gain energy from grass and lose energy when wandering and reproducing. They die when their energy is used up.
HOW TO USE IT
- Step 1: Start the simulation.
Press the'Setup/Reset'button to generate a population of elk in the simulation. Input the number of ticks you want to investigate the simulation, e.g., 100 or even 1000000. Press the 'Run/Pause' button to run or pause the simulation. The simulation will stop at the defined tick. Input a large number if you would like to observe the simulation longer.
- Step 2: Observe the results
Examine how the number of elk changes over time in the output monitors and the real-time graph.
- STEP 3: Test the impacts of different factors
Adjust the slider value to see how different factors affect the elk population size.
THINGS TO NOTICE
Four Factors:
Food: Grass is elk's only food resource in this simulation. When a patch of grass is consumed, the square becomes black. The grass will regrow at a certain rate based on temperature. Note the amount of grass is finite, even grass regrows at a 100% rate. Can you tell why? If you turn on 'infinite-grass?', patches will remain green, and therefore grass supplies become infinite.
Environment: Temperature affects the grass growth rate. What will happen if it is too cold or too hot? The habitat size often determines the amount of food resources available. How do you think the habitat size affects the elk population?
Predator: You may introduce or remove wolves in this simulation. Once introduced, a wolf will prey on an elk it encounters. Wolves do not reproduce in this simplified world. This is nice because you may explore how a certain number of wolves affect the elk population.
Other herbivores: Many other species also consume grass. What will happen if you introduce rabbits, another grass-eater, here? To simplify the simulation, the introduced rabbits do not reproduce. You may use the corresponding slider to adjust the number of rabbits. In this simplified world, wolves do not prey on rabbits.
THINGS TO TRY
You may explore how carrying capacity is influenced by four types of factors. There are at least ways to explore:
While simulation is running, you may adjust a certain factor and see how carrying capacity changes accordingly.
Design an experiment to collect data systematically. For example, keep other factors the same, test the effects of temperature at 10, 20, 30, 40, and 50 degree Celsius.
CREDITS AND REFERENCES
This module is created by Dr. Lin Xiang at the University of Kentucky. If you mention this model in a publication, we ask that you include the citations below.
Xiang, L. (2019). Carrying Capacity. Department of STEM Education, University of Kentucky, Lexington, KY.
Comments and Questions
;; Carrying Capacity model. ;; ;; Coded in 2019 by Lin Xiang; Last revised in 2021 by Lin Xiang (lxiang75@gmail.com; lin.xiang@uky.edu) ;; ;; If you mention this model in a publication, we ask that you include the citations below. ;; ;; Xiang, L. (2019). Carrying Capacity. Department of STEM Education, University of Kentucky, Lexington, KY. ;; ;;----------------------------------------- ;;CREATIVE COMMONS LICENSE ;;This code is distributed by Lin Xiang under a Creative Commons License: ;;Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) ;;https://creativecommons.org/licenses/by-sa/4.0/ ;; ;;----------------------------------------- globals [Available-grass total-grass h-size] Breed [elks elk] breed [wolves wolf] breed [rabbits rabbit] turtles-own [erg] ;------------------------------------; ; SETUP PROCEDURES ; ;------------------------------------; to setup ca setup-habitat ;setup habitat ask patches with [pcolor = 53] ;create elk [sprout-elks 1 [ set shape "elk" set size 0.75 set color 37.5 setup-position set erg 30]] set infinite-grass? false if number-of-wolves != 0 [setup-wolves] if number-of-rabbits != 0 [setup-rabbits] RESET-TICKS end ;------------------------------------; ; GO PROCEDURES ; ;------------------------------------; to go tick competition eat death reproduce predation update-habitat-size regrow-grass if count elks >= 10000 [ user-message "There are more than 10,000 elks now. They have taken over this world!" stop] if count elks <= 0 [user-message "All elks die." stop] end ;------------------------------------; ; SUB-PROCEDURES ; ;------------------------------------; to setup-habitat ask patches [set pcolor 94] ask patches with [abs pxcor <= habitat-size and abs pycor <= habitat-size] [set pcolor 53] set total-grass count patches with [pcolor = 53] set h-size habitat-size end to setup-position setxy (-1 * habitat-size) + random-float (habitat-size * 2) (-1 * habitat-size) + random-float (habitat-size * 2) end to move ifelse [pcolor] of patch-at dx dy = 94 [setup-position][fd 1 rt random 360] end to eat ask elks [ move set erg erg - 1 ifelse infinite-grass? = false [ if pcolor = 53 [set erg erg + 3 set pcolor 0]][set erg erg + 3] ] end to death ask elks [ if erg <= 0 [die] ] ask turtles [ if pcolor = 94 [die] ] end to reproduce ask elks [ if erg >= 60 [hatch 1 [set erg 30] set erg erg - 30 setup-position] ] end to regrow-grass ask patches [ if pcolor = 0 [if random 100 < grass-growth-rate [set pcolor 53] ] ] set Available-grass count patches with [pcolor = 53] / total-grass end to setup-wolves create-wolves number-of-wolves [ set shape "wolf" set color 32 set size 1 set erg 20 setup-position] end to predation ifelse number-of-wolves = 0 [ask wolves [die]] [let wolf-number count wolves if wolf-number != number-of-wolves [ask wolves [die] setup-wolves] ask wolves [ move let prey one-of elks-here if prey != nobody [ask prey [die]] ]] end to setup-rabbits create-rabbits number-of-rabbits [set shape "rabbit1" set color 9 set size 0.5 setup-position] end to competition ifelse number-of-rabbits = 0 [ask rabbits [die]] [let rabbit-number count rabbits if rabbit-number != number-of-rabbits [ask rabbits [die] setup-rabbits] ask rabbits [ move if pcolor = 53 [set pcolor 0] ]] end to update-habitat-size if h-size != habitat-size [ clear-patches setup-habitat] end to-report grass-growth-rate report -0.25 * (temperature ^ 2) + 12.5 * temperature - 56.25 end
There are 4 versions of this model.
This model does not have any ancestors.
This model does not have any descendants.