bees_pollination_simulation
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model simulates one season of the pollination process of apple trees by bees. It explores how many bees are needed to effectively fertilize apple trees so that apples can grow.
For a single apple tree, having 5-10 active bees visiting throughout the day can usually suffice. However, in an orchard, one hive per acre is the general guideline for effective pollination.
Factors Influencing Pollination Weather: Cold, rainy, or windy weather can reduce bee activity. Competing Flowers: Other blooming flowers nearby might distract bees from the apple flowers.
Factors Influencing Pollination: Weather: Cold, rainy, or windy weather can reduce bee activity. Competing Flowers: Other blooming flowers nearby might distract bees from the apple flowers. In this model we study honeybees that are the most common pollinators, but not to be forget are bumblebees and solitary bees that are also very effective.
TRENDS
The randomized positions of trees and flowers and pesticides can give very different results launching the simulation several times with the same settings. However the general trends are that fewer bees with less trees tends to have more difficult to survive. Grass flowers distracts the bees from tree pollination so the time to pollinate will be longer the more grass flowers we add. Add trees will make the colony grow exponentially. Add pesticides, specially when more than 5, can give very drastic results.
HOW IT WORKS
The model uses agents (bees, trees, flowers, hives, and weather) to simulate the pollination process. Bees move around the environment, visiting flowers and trees. When a bee visits a flower, it increases the flower's visit count and the flower becomes blue. When a bee visits a tree, it increases the tree's visited flower count. Trees change color to yellow when all their flowers have been visited, indicating full pollination. The generation of new bees depends on the tree pollination. New bees span every time that a tree is fully pollinated, simulating the food resourcing of the bees. The new bees are generated with a red head in order to differenciate them from the original bees. The model also simulates the effects of pesticides of 3 levels of toxicity on bees, which can reduce their lifespan and affect their behavior. The weather also has an impact on the behavior of the bees. When it's sunny no effects on bees, when it's cloudy they are slower with less pollination, and when it's stormy they do not move with no pollination.
HOW TO USE IT
Setup: Click the setup button to initialize the model. This creates bees, trees, flowers, and a hive. Go: Click the go button to start the simulation. Bees will begin moving, visiting flowers, and pollinating trees. Sliders: Adjust the number of bees (num-bees), trees (num-trees), flowers (num-flowers), pesticides (num-pesticides) and pesticides toxicity (toxicity-level) using the sliders. Click setup after using the sliders. The model will update accordingly. Weather: The weather changes every 100 ticks, affecting bee movement.
THINGS TO NOTICE
Observe how bees interact with flowers and trees, thanks also to the monitors on total bees, visited flowers of trees, weather and visited flowers plot. Notice the change in tree color when all flowers on a tree have been visited. Watch how the weather affects bee movement and activity. Pay attention to the impact of pesticides on bee lifespan and behavior.
THINGS TO TRY
Increase or decrease the number of bees and observe the effect on pollination efficiency. Adjust the number of trees and flowers to see how it impacts the pollination process. Introduce pesticides and observe their impact on bee behavior and lifespan. Experiment with different pesticides toxicity levels to see how they affect bee activity.
EXTENDING THE MODEL
Introduce night and day patterns. Add more detailed behaviors for bees, such as returning to the hive after a certain number of visits or during the night. Implement different types of flowers with varying attractiveness to bees. Introduce more complex weather patterns, such as temperature and seasonality, and their effects on bee activity. Add more detailed pesticide effects, such as less toxic during the night while bees are in the hive. Add predators or parasites agents that can impact bees activity such as Varroa destructor. Add new hives once a colony is complete and need to split. Add various stages of pollination in a tree to monitor the ongoing pollination status.
NETLOGO FEATURES
The model uses breeds to define different types of agents (bees, trees, flowers, hives, and weather displays). The ask command is used extensively to control agent behavior. The model uses patch colors to represent different pesticide levels. The hatch command is used to generate new bees. The stormy turtle has bee created from scratch since it was not available in the library. Some colors have been customised using custom rgb color model.
RELATED MODELS
This model has bee created from scratch based on my research on bees pollination.
CREDITS AND REFERENCES
This model was created to explore the pollination process of apple trees by bees. For more information on bee pollination and its importance, refer to resources on agricultural science and entomology.
https://bees.techno-science.ca/english/bees/pollination/default.php https://en.wikipedia.org/wiki/Pollination https://plantura.garden/uk/insects/bees/bee-pollination https://en.wikipedia.org/wiki/Listofcropplantspollinatedbybees https://www.farmers.gov/blog/value-birds-and-bees https://wonderopolis.org/wonder/how-many-flowers-can-a-bee-pollinate https://www.orkin.com/pests/stinging-pests/bees/honey-bees/honey-bee-colony https://en.wikipedia.org/wiki/Varroa_destructor
Comments and Questions
breed [bees bee] breed [trees tree] breed [flowers flower] breed [hives hive] breed [weather-displays weather-display] bees-own [visited-flowers pesticide-timer toxicity life-timer] flowers-own[visit-count] trees-own [flower-count visited-flowers bees-generated] hives-own [weather] to setup clear-all create-agents setup-hive ask patches [ set pcolor rgb 34 139 34 ] ;; Add random toxic patches if pesticides are present if num-pesticides > 0 [ add-random-toxic-patches num-pesticides ] assign-weather-shape create-weather-display reset-ticks end to go assign-weather-shape let max-ticks 5000 ;; lenght of 1 pollination season ;; Reset pesticide effects if no pesticides are present if num-pesticides = 0 [ ask bees [ set pesticide-timer 0 set toxicity "none" ] ] ;; Stop the simulation if all tree flowers are visited or max ticks reached (end of season) if all-tree-flowers-visited? or ticks >= max-ticks [ stop ] ;; Bees perform their actions ask bees [ move visit-flowers pollinate-trees check-pesticide age ] ;; Trees check if they are fully visited ask trees [ check-if-fully-visited ] ;; Change weather every 100 ticks ask hives [ if ticks mod 100 = 0 [ set weather one-of ["sunny" "cloudy" "stormy"] ] ] tick end to create-agents ;; Create bees with initial properties create-bees num-bees [ set shape "bee" set size 0.5 set color yellow setxy random-xcor random-ycor set visited-flowers [] ;; Start with an empty list of visited flowers set pesticide-timer 0 set toxicity "none" set life-timer 1000 + random 1000 ] ;; Create trees with initial properties create-trees num-trees [ set shape "tree" set color green set size 3 setxy random-xcor random-ycor set flower-count 10 + random 10 set visited-flowers 0 set bees-generated false ] ;; Create flowers with initial properties create-flowers num-flowers [ set shape "flower" set color red set size 0.7 set visit-count 0 setxy random-xcor random-ycor ] end to setup-hive ;; Create a hive with initial properties create-hives 1 [ set shape "hex" set size 2.5 set color rgb 255 223 0 setxy max-pxcor - 1 min-pycor + 1 set label "Hive" set label-color white set weather "sunny" ] end to generate-bees [num] ask hives [ ;; Generate new bees with specific properties hatch-bees 5 [ set shape "bee" set size 0.5 set color red setxy xcor ycor set visited-flowers [] ;; Start with an empty list of visited flowers set pesticide-timer 0 set toxicity "none" set life-timer 1000 + random 1000 set label "" ] ] end to move let selected-hive one-of hives let current-weather [weather] of selected-hive ;; Bees move differently based on weather and pesticides if current-weather = "sunny" [ if pesticide-timer > 0 [ right random 360 if toxicity = "low" [ fd 0.7 + random-float 0.2 ] ;; low speed reduction if toxicity = "medium" [ fd 0.5 + random-float 0.2 ] ;; medium speed reduction if toxicity = "high" [ fd 0.2 + random-float 0.1 ] ;; high speed reduction ] if pesticide-timer = 0 [ right random 360 forward 0.8 + random-float 0.4 ] ] if current-weather = "cloudy" [ if pesticide-timer > 0 [ right random 360 if toxicity = "low" [ fd 0.7 + random-float 0.2 ] ;; low speed reduction if toxicity = "medium" [ fd 0.5 + random-float 0.2 ] ;; medium speed reduction if toxicity = "high" [ fd 0.2 + random-float 0.1 ] ;; high speed reduction ] if pesticide-timer = 0 [ right random 360 forward 0.6 + random-float 0.3 ] ] if current-weather = "stormy" [ forward 0 ;; Stop moving during the storm ] end ;; Bees visit and interact with nearby flowers to visit-flowers let nearby-flower one-of flowers in-radius 1 if nearby-flower != nobody [ ask nearby-flower [ set visit-count visit-count + 1 if visit-count >= 5 [ set color blue ;; Change flower color when fully visited ] ] ] end ;; Bees pollinate trees if they are on the same patch to pollinate-trees if pesticide-timer > 0 [ if toxicity = "low" [ if random-float 1 < 0.8 [stop] ;;80% chance to pollinate, 20% chance to stop ] if toxicity = "medium" [ if random-float 1 < 0.5 [stop] ;;50% chance to pollinate, 50% chance to stop ] if toxicity = "high" [ if random-float 1 < 0.2 [stop] ;;20% chance to pollinate, 80% chance to stop ] ] if pesticide-timer = 0 [ let tree-here one-of trees-here if tree-here != nobody [ ask tree-here [ if visited-flowers < flower-count [ set visited-flowers visited-flowers + 1 ] ] ] ] end to check-if-fully-visited ;; Change tree color if all flowers have been visited if visited-flowers >= flower-count and not bees-generated [ set color yellow ;; Change color to indicate full pollination set bees-generated true ;; Mark that bees have been generated ask hives [ generate-bees 1 ;; Command to generate bees when the tree is fully visited ] ] end to-report all-tree-flowers-visited? report sum [visited-flowers] of trees >= sum [flower-count] of trees end ;; Add random patches of pesticides of different toxicity level using the slider to add-random-toxic-patches [pesticides] repeat pesticides [ let random-patch one-of patches with [pcolor = rgb 34 139 34] ask random-patch [ if toxicity-level = 1 [ set pcolor pink ] if toxicity-level = 2 [ set pcolor orange ] if toxicity-level = 3 [ set pcolor red ] ] ] end to check-pesticide if num-pesticides = 0 [ set pesticide-timer 0 set toxicity "none" stop ] if pcolor = pink [ set pesticide-timer 2000 ;; Set pesticide timer for low toxicity set toxicity "low" ] if pcolor = orange [ set pesticide-timer 2000 ;; Set pesticide timer for medium toxicity set toxicity "medium" ] if pcolor = red [ set pesticide-timer 2000 ;; Set pesticide timer for high toxicity set toxicity "high" ] end to age if pesticide-timer > 0 [ set pesticide-timer pesticide-timer - 1 ;; Gradually penalize life-timer based on toxicity level if toxicity = "low" [ set life-timer max (list 0 (life-timer - 0.1)) ] if toxicity = "medium" [ set life-timer max (list 0 (life-timer - 0.3)) ] if toxicity = "high" [ set life-timer max (list 0 (life-timer - 0.5)) ] ] ;; Regular aging set life-timer life-timer - 0.87 if life-timer <= 0 [ die ] end to create-weather-display create-weather-displays 1 [ set shape "sun" ;; Initial shape, will change based on weather set size 3 set color rgb 255 165 0 setxy (max-pxcor - 2) (max-pycor - 2) ] end to assign-weather-shape let selected-hive one-of hives let current-weather [weather] of selected-hive ;; Update the shape of the weather display ask weather-displays [ if current-weather = "sunny" [ set shape "sun" set color rgb 255 165 0 setxy (max-pxcor - 2) (max-pycor - 2) ] if current-weather = "cloudy" [ set shape "cloud" set color grey setxy (max-pxcor - 2) (max-pycor - 2) ] if current-weather = "stormy" [ set shape "storm" set color grey ;;set size 6 setxy (max-pxcor - 2) (max-pycor - 2) ] ] end
There is only one version of this model, created 2 days ago by Lorena ROMEO.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
bees_pollination_simulation.png | preview | Preview for 'bees_pollination_simulation' | 2 days ago, by Lorena ROMEO | Download |
This model does not have any ancestors.
This model does not have any descendants.