Modelling the extintion of Steller Sea Cow

Modelling the extintion of Steller Sea Cow preview image

1 collaborator

Colors Laura Bonatesta (Author)

Tags

complex modelling 

Tagged by Laura Bonatesta almost 11 years ago

exintion 

Tagged by Laura Bonatesta almost 11 years ago

modelling ecosystem 

Tagged by Laura Bonatesta almost 11 years ago

predator prey model 

Tagged by Laura Bonatesta almost 11 years ago

sea otter 

Tagged by Laura Bonatesta almost 11 years ago

steller sea cow 

Tagged by Laura Bonatesta almost 11 years ago

Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.0.3 • Viewed 389 times • Downloaded 28 times • Run 0 times
Download the 'Modelling the extintion of Steller Sea Cow' 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

globals [ks kk ku kl kcatch rs ru rk ro rcatch catchers-start mu sea-urchins-start mu2 sea-otters-start zone land sea] ; le variabili globali che non possono variare, vengono dichiarate all'inizio del sistema.

breed [seacows seacow] ; definisce un nuovo tipo di turtle: le seacows, il soggetto della caccia da parte dei predatori
breed [catchers catcher]; definisce un nuovo tipo di turtle: i cacciatori, gli uomini bloccati sull'isola di Bering
breed [sea-urchins sea-urchin]; definisce un nuovo tipo di turtle: i sea-urchins, rivali alle retine per il loro cibo di sostentamento, ovvero le kelps.
breed [kelps kelp]; definisce un nuovo tipo di turtle: le kelps, cibo sia delle seacows che dei sea-urchins
breed [sea-otters sea-otter]; 
catchers-own [n-of-preys]; le variabili proprie dei catchers, dei cacciatori.
sea-urchins-own [n-of-preys]; la variabile dei sea-urchins

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-default-shape seacows "seacow" ; definisce la forma che il programma deve utilizzare per rappresentare la seacow di steller (modificata dall'autore ed inserita)
 set-default-shape catchers "sailboat side"; definisce la forma che il programma deve utilizzare per rappresentare i cacciatori (presenta all'interno della Library del programma) 
 set-default-shape sea-urchins "urchin"; this input defines the shape of the sea-urchins (modified by the autor and inserted in the library)
 set-default-shape kelps "kelp"; this input defines the shape of the kelp (modified by the author and inserted in the library)
 set-default-shape sea-otters "squirrel"; per la lontra è stta utilizzata la forma dello scoiattolo, già esistente nella libreria. la forma è stata ruotata di alcuni gradi per assomigliare alle lontre che sono sempre ruotate sul loro dorso. 
 set catchers-start 30; 
 set kcatch 65
 set ks 2900; 
 set kk 4000; 
 set ku 4000;
 set rs 0.0135;
 set rk 0.0061; 
 set ru 0.0015;ricci
 set ro 0.0020; lontre
 set rcatch 0.02631
 set mu 0.60; mu represents the mortality of the catchers. this could be a realistic value because many people died for famine
 set mu2 0.65; mu2 mortalità dei ricci

 create-catchers catchers-start [ ; this input crates the turtle of the catchers and the value of start is declared before
  set color red; this input sets the color of the turtle
  set size 2;this input sets the size of the boat
  setxy random-xcor random-ycor; this inputs sets the position of the turtle in the space, but it's indifferent for that the position is decised randomly by the program. 
 ]
 
 create-seacows ks [;this input creates the turtle of the seacows and the value k at the start that is 200 
  set color grey;this command sets the color for the turtle
  set size 3; this input sets the size, I've choose 3 bacause the seacows were bigger than the humans
  setxy random-xcor random-ycor; they used to live everywhere, it's indifferent if near the shore or in the deepest water, for that the program is setted on random
 ]

; ; if the switch "variable" is switched on this inputs reads the command in the firts brackets creating the kelps
    create-kelps Kk[;this procedure creates the kelp, with the value k2 setted above, the color green, the size and the position.
    set color green
    set size 1
    setxy random-xcor random-ycor
 ]  
    
; if the switch "variable2" of the Interface is switched on this inputs reads the command in the first brackets, otherwise the second.
    create-sea-urchins Ku[; this procedure creates the sea-urchins, with the value k3 setted next, the colorblack, the size and the position.
    set color magenta
    set size 0.5
    setxy random-xcor random-ycor
 ]
    
  ifelse seaotters = true [set Kl 2500] [set Kl 0]; ; if the switch "variable" is switched on this inputs reads the command in the firts brackets creating the kelps
    create-sea-otters Kl [;this procedure creates the kelp, with the value k4 setted above, the color green, the size and the position.
    set color brown - 2
    set size 1
    setxy random-xcor random-ycor
 ]  
 
 ask patches [
 set pcolor blue
 ]
end 

to go
  tick 
  move-seacows; it makes move the seacows
  move-catchers; it makes move the cathcers
  move-kelps; it makes move the kelpe
  move-sea-urchins; it makes move the sea-urchins
  move-sea-otters;
  catch; the catch of the retine by the catchers and the catch of the kelpe by the sea-urchins and the seacows
  reproduce; the reprodcution of the catchers after the hunt
  reproduce2; the reproduction of the sea-urchins after the hunt
  reproduce3;
  do-plots; the value for the monitor in the page of the interface
  if ticks = 27 [stop]; ticks represents the time; this case occupied 27 years, every tick for a year
end 

to move-seacows ; it makes moves the seacows in the screen, random in the space. fd 1 means 1 step forward
  ask seacows [
  set heading random 360
  fd 1
] 
end 

to move-catchers; it makes moves the catchers, random in the space. fd 1 means 1 step fprward
 ask catchers [
   set heading random 360   
   fd 1
   set n-of-preys 0; it's own variable of the catchers. it means that every year is like a season of hunt
]  
end 

to move-kelps; it makes move kelpe, random in the screen. fd 1 means 1 step forward
  ask kelps [
  set heading random 360
  fd 1 
]
end 

to move-sea-urchins; it makes move the sea-urchins, random in the space. fd 1 means 1 step forward
  ask sea-urchins [
   set heading random 360
   fd 1
 ]
end   

to move-sea-otters; it makes move the sea-urchins, random in the space. fd 1 means 1 step forward
  ask sea-otters [
   set heading random 360
   fd 1
 ]

  do-plots 
end     

to catch
  ask catchers [
    ifelse any? sea-urchins in-radius catch-distance
    [
      let to-catch [who] of sea-urchins in-radius catch-distance
      foreach to-catch [
          ask sea-urchin ? [die]
      set n-of-preys n-of-preys + 1
      ]
    ]
  [
    if any? sea-otters  in-radius catch-distanceb 
      [ 
        let to-catch [who] of sea-otters in-radius catch-distanceb  
        foreach to-catch [  
          ask sea-otter ? [die]
          set n-of-preys n-of-preys + 0.5
        ]
      ]    
    ]
  ]
  ask catchers [
    if any? seacows in-radius catch-distance
    [ 
      let to-catch [who] of seacows in-radius catch-distance  
      foreach to-catch [ 
        ask seacow ? [die]
        set n-of-preys n-of-preys + 2
      ]
    ]
      if any? sea-otters  in-radius catch-distanceb 
      [ 
        let to-catch [who] of sea-otters in-radius catch-distanceb  
        foreach to-catch [  
          ask sea-otter ? [die]
          set n-of-preys n-of-preys + 0.5
        ]
      ]    
    ]
  ask catchers [
    if any? sea-urchins in-radius catch-distance
    [
      let to-catch [who] of sea-urchins in-radius catch-distance
      foreach to-catch [
          ask sea-urchin ? [die]
      set n-of-preys n-of-preys + 1
      ]
    ]
  ]
  ask seacows [ ; ask seacows
    if any? kelps in-radius catch-distance2; if there are some sea-urchins in their radius of catch distance (catch distance3) 
    [
      let to-catch [who] of kelps in-radius catch-distance3; and catch the kelpe in the radius
      foreach to-catch [
          ask kelp ? [die]
        ]
       ]
     ] 
  ask sea-urchins [
    if any? kelps in-radius catch-distance3; 
     [ 
      let to-catch [who] of  kelps in-radius catch-distance ; the sea  
      foreach to-catch [ ; for each item "captured"
          ask kelp ? [die] ; ask to the turtle shaped like an alga to die
          set n-of-preys n-of-preys + 1 ;  when a  
          ]
        ]
      ] 
  ask sea-otters [ ; ask seacows
    if any? sea-urchins in-radius catch-distance4; if there are some sea-urchins in their radius of catch distance (catch distance3) 
    [
      let to-catch [who] of sea-urchins in-radius catch-distance4; and catch the kelpe in the radius
      foreach to-catch [
          ask sea-urchin ? [die]
        ]
       ]
     ]    
end 

to reproduce

let new-seacows round (rs * count seacows * ( 1 - (count seacows) / ks))
create-seacows new-seacows [setxy random-xcor random-ycor set color grey]

let new-catchers round (kcatch * count catchers * ( 1 - (count catchers) / kcatch))
    create-catchers new-catchers [setxy random-xcor random-ycor set color red set size 1]

  ask catchers [ ; the probability to die for the catcher estimed by the mu
    if random 1001 / 1000 < mu [die]
  ]
end 

to reproduce2

  let new-kelps round (rk * count kelps * ( 1 - (count kelps) / kk))
  create-kelps new-kelps  [setxy random-xcor random-ycor set color green]
  
  ask sea-urchins [ ;each sea-urchins creates as many copies of itself as half (n-of-preys/5) of the kelpe caught in season
    hatch round (n-of-preys / 4) [setxy random-xcor random-ycor]
  ]
  ask sea-urchins [ ;  the probability to die for the sea urchin its evaluated by the mu
    if random 1001 / 1000 < mu2 [die]
  ]
end 

to reproduce3
ifelse seaotters = true [
let new-sea-otters round (ro * count sea-otters * ( 1 - (count sea-otters) / kl))
  create-sea-otters new-sea-otters [setxy random-xcor random-ycor set color brown - 2  set size 2] 

  ask catchers [ ; each catchers creates as many copies of itself as half (n-of-preys/1) of the sea-otters caught in season; the catcehrs' reproduction depenends on the hunt of the season  
    hatch round (n-of-preys / 2) [setxy random-xcor random-ycor]
  ]
  ask catchers [ ; the probability to die for the catcher estimed by the mu
    if random 1001 / 1000 < mu [die]
  ]
]
[let new-seaotters 0]
end 

to do-plots
  set-current-plot "populations" ; plot of the two lead population: seacows and catchers 
  set-current-plot-pen "seacow" ; this command defines the pen "seacows" colured in grey in the monitor in the interface
  plot count seacows
  set-current-plot-pen "catchers";this command defines the pen "catchers" colured in red in the monitor in the page Interface
  plot count catchers
  set-current-plot-pen "sea-urchins";this command defines the pen "sea-urchins" colured in black in the forst monitor in the page Interface
  plot count sea-urchins
  set-current-plot-pen "kelps"; this command defines the pen "kelpe" in the first page inteface, colured in green
  plot count kelps
  set-current-plot-pen "sea-otters"
  plot count sea-otters 
  set-current-plot "status"; the monitor at the bottom of the page, the first dedicated to the population of retine and catchers, the second to the kelpe and the sea-urchins
  plotxy count seacows count catchers
  set-current-plot "status 2"
  plotxy count kelps count sea-urchins
  set-current-plot "status 3"
  plotxy count sea-otters count catchers
  plot count sea-otters 
end 

There is only one version of this model, created almost 11 years ago by Laura Bonatesta.

Attached files

File Type Description Last updated
Modelling the extintion of Steller Sea Cow.png preview Preview for 'Modelling the extintion of Steller Sea Cow' almost 11 years ago, by Laura Bonatesta Download

This model does not have any ancestors.

This model does not have any descendants.