Forest Dynamic Model I - Rosindell et al 2010

No preview image

1 collaborator

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.3.0 • Viewed 247 times • Downloaded 24 times • Run 0 times
Download the 'Forest Dynamic Model I - Rosindell et al 2010' 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 Rosindell et al. (2010) algorithm-1 is based on the concept of coalescence, instead of simulating the system forwards in time until it reaches equilibrium, He simulated it backwards in time following the ancestry of each individual in the sample back to the speciation event that gives the species identity of this individual. In algorithm-1 he considered the point mutation case where τ = 0. He took a sample of size J from the metacommunity of size JM and traced K lineages backwards in time where initially K = J.

HOW IT WORKS

Algorithm 1: Point mutation meta-community sample.

This algorithm presents below is published by Rosindell, et al., (2010) in Ecology Letter supporting information section (see ELE1463sm_appendix.pdf).

  1. Input θ and J.

  2. Define a vector V of length J with Vi = 1 for i = 1, 2, . . . J and define K = J, the number of lineages in the vector.

  3. Define an empty vector W which will contains a list of species abundances when the algorithm terminates.

  4. Pick a random number 0 ≤ r ≤ 1 (to choose if coalescence or speciation will happen).

  5. Pick a random entry Vi from the vector V (to choose which lineage this will happen to).

  6. If rθ / [θ+K− 1] , speciation happens: remove Vi from the vector V and append it to vector W (then go to 8.).

  7. If r > θ / [θ + K − 1] , coalescence happens: pick a random entry Vj from vector V (where j not equal to i) and set Vi = Vi + Vj then remove Vj from the vector V ( then go to 8.).

  8. Set K = K − 1; now the vector V should have one less element.

  9. If (K > 0), we are not finished so go to 4.

  10. If (K ≤ 0), the algorithm is complete and W contains the abundances of all species.

HOW TO USE IT

Set the meta-community size, K = (w1 + 1)2.

Decide the fundamental biodiversity number, θ

THINGS TO NOTICE

Number of speciations happened in the meta-community is represents by arrow heads.

THINGS TO TRY

Increase the θ and see the number of speciations presents in the given meta-community.

Increase the meta-community size, K = (w1 + 1)2 and see the number of speciations presents in the meta-community for given θ.

EXTENDING THE MODEL

NETLOGO FEATURES

RELATED MODELS

Rosindell, J., Cornell, S. J., Hubbell, S. P., & Etienne, R. S. (2010). Protracted speciation revitalizes the neutral theory of biodiversity: Protracted speciation and neutral theory. Ecology Letters, 13(6), 716–727.

CREDITS AND REFERENCES

Please cite the NetLogo software as:

Comments and Questions

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

Click to Run Model

extensions [table csv]
globals [rspec speciation specia spc spec  rspec0 Wvec V K W-vec index speciesi meta-speciesi JM meta-sp meta-time meta-a0  meta-j2 meta-a meta-set2 extinct-species number-of-meta-trees a initial-meta-richness dlocx dlocy random-number2 number time num j x-cor y-cor N richness a0 n-speciation local-set local-di-set local-off-set set-species-who-di set-species-who-off sp hist-frq rel-hist-frq s local-set0 remove-set richness-counts species-who-di di-locx di-locy species-who-off set1-species-who-off meta-set effective-meta-cmmunity-size number-of-local-trees item-x meta-set-new meta-sp-count sp-count j1 i1 k1 j2 i2 k2 meta-richness-counts meta-richness local-richness-counts local-richness hist-frq-meta rel-hist-frq-meta hist-frq-local rel-hist-frq-local]
breed [meta-trees meta-tree]
breed [trees tree]
meta-trees-own [species meta-species n-speciation-no]
trees-own [species h]
circles-own []
breed [circles a-circle]
patches-own[elevation]

to setup3
  clear-all
  set local-richness-counts map count table:values table:group-agents trees [species]
  set local-richness length local-richness-counts
  set sp 0
  set meta-sp 0
  set speciation 0
  set specia []
  set spec []
  set Wvec []
  set J (w1 + 1) * (w1 + 1)
  resize-world 0 w1 0 w1
  set JM 0
  set K J
  species-gen1
  set hist-frq-local sort-by > map count table:values table:group-agents trees [ species ]
  set rel-hist-frq-local map [ i -> i / count trees ] hist-frq-local
  set richness-counts map count table:values table:group-agents turtles [ species ]
  set richness length richness-counts
  set hist-frq-meta sort-by > map [ i -> i] Wvec
  update-plots
  reset-ticks
end 

to species-gen1
  set k1 -1
  while [k1 < w1 ] [
    set k1 k1 + 1
    set i1 -1
    while [i1 < w1 ] [
      set i1 i1 + 1
      create-trees 1 [
        setxy k1 i1
        set shape "circle"
        set size 1
        set num random-float 1
        set j1 j1 + 1
        set sp sp + 1
        set species sp
        set color random-float -50
        set spec fput sp spec
      ]
    ]
  ]
  set local-richness sp
end 

to go3
  while [K > 0] [
    let r1 random-float 1
    set rspec one-of spec
    set spec remove rspec spec
    if-else (r1 <= theta / (theta + K - 1)) [
      set speciation speciation + 1
      set specia fput rspec specia
      let Wvec1 count trees with [species = rspec]
      set Wvec fput Wvec1 Wvec
      set sp sp + 1
      let color0 60 + random-float -50
      ask trees with [species = rspec] [
        set species sp
        set color color0
        ;set shape "arrow"
      ]
    ]
    [
      set rspec0 one-of spec
      let color01 [color] of one-of trees with [species = rspec0]
      ask trees with [species = rspec] [
        set species rspec0
        set color color01
      ]
    ]
    set K K - 1
    set richness-counts map count table:values table:group-agents trees [ species ]
    set richness length richness-counts
    set hist-frq-local sort-by > map count table:values table:group-agents trees [ species ]
    set rel-hist-frq-local map [ i -> i / count trees ] hist-frq-local
    set hist-frq-meta sort-by > map [ i -> i ] Wvec
    update-plots
    tick
  ]
end 


; Copyright 2023g Ruwan Punchi-Manage.
; See Info tab for full copyright and license.

There is only one version of this model, created almost 2 years ago by Ruwan Punchi-Manage.

Attached files

No files

This model does not have any ancestors.

This model does not have any descendants.