Invasive Plants

Invasive Plants preview image

1 collaborator

Brewer-2011-gr Steven Brewer (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.1.0 • Viewed 559 times • Downloaded 41 times • Run 0 times
Download the 'Invasive Plants' 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?

Invasive species are non-native species that move into and disrupt native communities. Some, like Garlic Mustard, can produce a monoculture that crowds out other species. This simulation, based on a cell automata model, shows the role that disturbed areas can play in the distribution of an invasive plant.

HOW IT WORKS

Each patch looks at surrounding patches. If a patch is adjacent to enough invaded and/or disturbed patches, it will be invaded also. If it has few or no invaded or disturbed neighboring patches, it will be reclaimed by the native flora. The thresholds for these values are set with sliders. Roads represent disturbed areas which make it easier for an invasive species to gain a foothold.

HOW TO USE IT

First explore increasing the initial density of the invasive plant. Then add a network of roads and explore the effects of density.

THINGS TO NOTICE

This section could give some ideas of things for the user to notice while running the model.

THINGS TO TRY

Try increasing and decreasing the threshold values. The model is extremely sensitive to changes in these values.

EXTENDING THE MODEL

Currently, the only mechanism for plants to spread is by being adjacent. This prevents the invasive species from spreading across roads, for example. In fact, most invasive species have extremely small seeds which are easily blown across roads. Add a mechanism for patches to expand to non-adjacent patches.

RELATED MODELS

This model uses the same logic as the "Life" and "Traffic Grid" models in the Netlogo library.

CREDITS AND REFERENCES

This model was created as part of the 2008 BioQUEST Curriculum Consortium Summer Workshop.

Copyright 2008 by Steven Brewer. All rights reserved.
This model was inspired by many of the sample Netlogo models and parts
were based on functions from the "Life" and "Traffic Grid" models. (Wilensky, U. (2001). NetLogo Enzyme Kinetics model. http://ccl.northwestern.edu/netlogo/models/EnzymeKinetics. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.)

Permission to use, modify or redistribute this model is hereby granted, provided that both of the following requirements are followed:
a) this copyright notice is included.
b) this model will not be redistributed for profit without permission from the authors.
Contact the authors for appropriate licenses for redistribution for profit.

To refer to this model in academic publications, please use:
Brewer, S.D. (2008). Invasive Plants and Disturbance. http://bcrc.bio.umass.edu/netlogo/models/InvasivePlants Biology Computer Resource Center

In other publications, please use:
Copyright 2008 by Steven Brewer. All rights reserved. See http://bcrc.bio.umass.edu/netlogo/models/InvasivePlants for terms of use.

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

globals
[
  grid-x-inc               ;; the amount of patches in between two roads in the x direction
  grid-y-inc               ;; the amount of patches in between two roads in the y direction
 
  ;; patch agentsets
  roads         ;; agentset containing the patches that are roads
]

patches-own [
  invasive?       ;; indicates if the patch is occupied by invasive species
  disturbed?       ;;indicates if patch is disturbed
  invaded-neighbors  ;; counts how many neighboring patches have invasive species
  disturbed-neighbors  ;; counts how many neighboring patches are disturbed

]

to setup
  ;; (for this model to work with NetLogo's new plotting features,
  ;; __clear-all-and-reset-ticks should be replaced with clear-all at
  ;; the beginning of your setup procedure and reset-ticks at the end
  ;; of the procedure.)
  __clear-all-and-reset-ticks
  set grid-x-inc world-width / grid-size-x
  set grid-y-inc world-height / grid-size-y

  ;; First we ask the patches to draw themselves and set up a few variables

  if have-roads = true [setup-roads]
    ask patches
      [ if pcolor != white 
      [ ifelse random-float 1000.0 < initial-density
        [ invade-patch ]
        [ reclaim-patch ] ] ]

  plot-patches
end 

to setup-roads

  ;; initialize the global variables that hold patch agentsets
  set roads patches with
    [(floor((pxcor + max-pxcor - floor(grid-x-inc - 1)) mod grid-x-inc) = 0) or
    (floor((pycor + max-pycor) mod grid-y-inc) = 0)]

  ask roads [ set pcolor white set disturbed? true set invasive? false]
end 

to invade-patch
 set disturbed? false
  set invasive? true
  set pcolor red
end 

to reclaim-patch
  set disturbed? false
  set invasive? false
  set pcolor green
end 

to step
  ask patches
    [ set invaded-neighbors count neighbors with [invasive?] set disturbed-neighbors count neighbors with [disturbed?]
     ]
  ;; Starting a new "ask patches" here ensures that all the patches
  ;; finish executing the first ask before any of them start executing
  ;; the second ask.  This keeps all the patches in synch with each other,
  ;; so the births and deaths at each generation all happen in lockstep.
  ask patches
    [ ifelse invaded-neighbors > 0 and invaded-neighbors + disturbed-neighbors >= invade-threshold and pcolor != white
        [ invade-patch ]
        [ if invaded-neighbors + disturbed-neighbors < reclaim-threshold and pcolor != white
            [ reclaim-patch ] ] ]
  tick
  plot-patches
end 

to add-invasive
  while [mouse-down?]
    [ ask patch mouse-xcor mouse-ycor
        [ invade-patch ]
      display ]
end 

to remove-invasive
  while [mouse-down?]
    [ ask patch mouse-xcor mouse-ycor
        [ reclaim-patch ]
      display ]
end 

to plot-patches ;; this creates creates the bar graph 
    set-current-plot "Invasive and Native Patches"
    clear-plot
    set-current-plot-pen "native"
    plotxy 1 count patches with [pcolor = green] 
    plot-pen-down
    set-current-plot-pen "invasive"
    plotxy 2 count patches with [pcolor = red] 
    plot-pen-down
end 

; This model was created as part of the 2008 BioQUEST Curriculum Consortium
; Summer Workshop.  
;
; Copyright 2008 by Steven Brewer.  All rights reserved.
; This model was inspired by many of the sample Netlogo models and parts 
; were based on functions from the "Life" and "Traffic Grid" models.  (Wilensky, U. (2001).  
; NetLogo Enzyme Kinetics model. http://ccl.northwestern.edu/netlogo/models/EnzymeKinetics. 
; Center for Connected Learning and Computer-Based Modeling, Northwestern University, 
; Evanston, IL.) 
;
; Permission to use, modify or redistribute this model is hereby granted,
; provided that both of the following requirements are followed:
; a) this copyright notice is included.
; b) this model will not be redistributed for profit without permission
;    from the authors.
; Contact the authors for appropriate licenses for redistribution for
; profit.
;
; To refer to this model in academic publications, please use:
; Brewer, S.D. (2008).  Invasive Plants and Disturbance.  http://bcrc.bio.umass.edu/netlogo/models/InvasivePlants
; Biology Computer Resource Center
;
; In other publications, please use:
; Copyright 2008 by Steven Brewer.  All rights reserved.  See
; http://bcrc.bio.umass.edu/netlogo/models/InvasivePlants
; for terms of use.

There is only one version of this model, created almost 10 years ago by Steven Brewer.

Attached files

File Type Description Last updated
Invasive Plants.png preview Preview for 'Invasive Plants' almost 10 years ago, by Steven Brewer Download

This model does not have any ancestors.

This model does not have any descendants.