Forest Dynamic Model - Hubbell (1980)

No preview image

1 collaborator

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by the author
Model was written in NetLogo 6.3.0 • Viewed 39 times • Downloaded 3 times • Run 0 times
Download the 'Forest Dynamic Model - Hubbell (1980)' modelDownload this modelEmbed this model

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


Info tab cannot be displayed because of an encoding error

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 [x-cor1 y-cor1 richness1 count-neighbors splist splist2 random-sp sp-id index meta-sp meta-time meta-a0  meta-j2 meta-a meta-set2 extinct-species number-of-meta-trees a initial-meta-richness 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]
breed [spec a-spec]
turtles-own [species]
meta-trees-own [meta-species n-speciation-no]
trees-own [species h]
spec-own [species]
circles-own []
breed [circles a-circle]
patches-own[elevation]
;extensions [ r ]

to setup2
  clear-all
  set a JL
  set sp 0
  set JL (w2 + 1) * (w2 + 1)
  resize-world 0 w2 0 w2
  species-gen2
  set extinct-species 0
  set hist-frq-local sort-by > map count table:values table:group-agents trees [ species ]
  set rel-hist-frq-local map [ i -> i / JL ] hist-frq-local
  reset-ticks
end 

to species-gen2
  set k2 -1
  while [k2 < w2 ] [
    set k2 k2 + 1
    set i2 -1
    while [i2 < w2] [
      set i2 i2 + 1
      create-trees 1 [
        set h s + 1
        setxy k2 i2
        set shape "circle"
        set size 1
        set num random-float 1
        set j2 j2 + 1
        if-else (num < (theta2 / (theta2 + j2 - 1 ))) [
          set species (sp + 1)
          set label species
          set sp sp + 1
          set color 5 * species + 2
        ]
        [
          set species [species] of one-of other trees
          set sp sp
          set label species
          set color 5 * species + 2
        ]
      ]
    ]
  ]
  set local-richness sp
  set richness1 local-richness
end 

to go2
  count-down
  intraspecific-competition
  ;halt-process
  set hist-frq-local sort-by > map count table:values table:group-agents turtles [ species ]
  set rel-hist-frq-local map [ i -> i / JL ] hist-frq-local
  set richness1 length remove-duplicates [species] of turtles
  set extinct-species local-richness - richness1
  ;update-plot2
  ;plot-genetic-tree-Local-Community
  update-plots
  tick
end 

to count-down
  set time time + 1
end 

to intraspecific-competition
  set random-sp one-of trees
  ask random-sp [
    set x-cor xcor
    set y-cor ycor
    set sp-id species
    set splist remove-duplicates [species] of trees in-radius spacing-distance
    if (length splist < richness1)[
      ask one-of trees with [member? species splist = false] [
        hatch 1
        setxy x-cor y-cor
      ]
      die
    ]
  ]
end 

to halt-process
  ask turtles [
    set splist2 remove-duplicates [species] of trees in-radius 1
    if (member? species splist2 = false) [stop]
  ]
end 

to update-plot2
  set-current-plot "Species Abundance Distribution Local Community"
  set n 1
  while [n <= sp] [
    create-temporary-plot-pen (word n)
    set-current-plot-pen (word n)
    set-plot-pen-color 5 * n + 4
    plotxy ticks count trees with [species = n]
    set n n + 1
    plot-pen-down
  ]
end 

to plot-genetic-tree-Local-Community
  set sp-count 0
  set-current-plot "Generic-Tree Local Community"
  while [sp-count <= sp] [
    create-temporary-plot-pen (word sp-count)
    set-current-plot-pen (word sp-count)
    set-plot-pen-color 5 * sp-count + 4
    let N-sp count (trees with [species = sp-count])
    if (N-sp > 0) [
      plotxy ticks sp-count
      plot-pen-down
    ]
    set sp-count sp-count + 1
  ]
end 


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

There is only one version of this model, created 7 months ago by Ruwan Punchi-Manage.

Attached files

No files

This model does not have any ancestors.

This model does not have any descendants.