Zugvögel
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
What is it? - Über das Projekt
Dieses Modell stellt mögliche Auswirkungen des Ausfalls von Rastplätzen auf Zugvögel dar. Hintergrund bildet der durch abiotische, biotische und anthropogene Einflüsse bedingte Ausfall von Rastplätzen weltweit. Die Simulation konzentriert sich auf den durch diese Einflüsse möglichen Energieverlust der Rastplätze und den daraus folgenden Verlust von Rastplätzen für Zugvögel, sowie dessen Auswirkungen auf die Populationen.
Es werden drei Vogelschwärme dargestellt, die sich auf Zugrouten mit einer unterschiedlichen Anzahl von Rastplätzen bewegen. Jeder Rastplatz versorgt die Vögel mit Energie, wodurch fehlende Rastplätze mit fehlender Energie gleichzusetzen sind. Die von den einzelnen Rastplätzen zur Verfügung gestellte Energie ist manuell einstellbar, ebenso Schwarmgröße und Ausgangsenergie der Zugvögel. Auf diese Weise zeigt das Modell nicht nur den Einfluss fehlender Vogel-Energie durch fehlende Rastmöglichkeiten, auch die Bedeutung der Unterschiede in der zu Beginn des Zuges jedem Vogel zur Verfügung stehenden Energie ist als Einflussfaktor dargestellt.
How it works - Funktionsweise
Die abgebildete Landkarte stellt die Startpunkte und das Ziel des Winterflugs von Kranichen als Beispielvogel dar, sowie die verschiedenen Rastplätze, die angeflogen werden können, damit die Zugvögel Energie für die nächste Strecke aufnehmen können.
In dieser Simulation befinden sich mehrere Parameter, die durch Slider, Buttons und Switche angepasst und verändert werden können. Durch die Regulierung der Energie von Rastplätzen und Vögeln, sowie der Vergrößerung oder Verkleinerung von Schwärmen kann der Nutzer den Ausfall von Rastplätzen und die Anzahl von Zugvögeln, die das Winterdomizil erreichen, variieren.
Legende
Rote/ lila/ grüne Pfeile... ...stellen die drei Zugvogelschwärme dar
Grüne Punkte...
...sind die Rastplätze, die angeflogen werden sollenRote/ lila/ grüne Links... ...gelten als Routen zwischen den Rastplätzen, die von den Schwärmen genutzt werden
HOW TO USE IT
Buttons
Setup... ...setzt alles auf Anfang und aktualisiert alle manuell eingestellten Veränderungen
start... ...startet die Simulation
Slider
AnfangsVogelR(1-3)Energie... ...reguliert die Energie der drei Vogelschwärme zwischen 0 - 100
VogelVerbrauch... ...Energieverbrauch von Vogel pro Tick
AnzahlVögelR(1-3)... ...reguliert jeweils für einen Vogelschwarm die Größe zwischen 0 - 50 Tieren
AnfangsRast(1-2)... ...variiert jeweils die Energie von den zwei Startpunkten zwischen 0 - 500
Rastplatzverbrauch... ... reguliert den Verbrauch von Energie eines Rastplatzes, die ein Vogel aufnimmt
AnfangsrastEnergieRP(1-6)(8-10)... ...bestimmt jeweils die Energie der Rastplätze (0 - 200)
Switches
Nummernanzeige-Rastplätze ...schaltet die Nummerierung der Rastplätze ein und aus
Energieanzeige-Rastplätze ...zeigt die Energiewerte der Rastplätze an oder blendet sie aus
Energieanzeige-VögelR(1-3) ...schaltet die Energiewerte für je einen Schwarm ein und aus
THINGS TO NOTICE
Grundannahmen der Ökosystemmodellierung
1.) die Zugvögel nehmen immer eine der drei zur Auswahl stehenden Routen
2.) Zugvögel versuchen bis nach Spanien zu gelangen
3.) es gibt nur Spanien als Überwinterungsort
4.) Bei Wegfall eines Rastplatzes (Energie <= 0) fliegen die Zugvögel trotzdem weiter
5.) Zugvögel fliegen auf Links, die schmale Zugkorridor darstellen
6.) Aufenthaltszeiten an den Rastplätzen ist immer gleich
7.) Störfaktoren wirken sich auf die Energie eines Rastplatzes aus
8.) Rastplätze regenerieren sich nicht
EXTENDING THE MODEL
Reproduktion der Vögel
Störfaktoren mit unterschiedlicher Wirkung auf die Rastplätze (z.B. Klimawandel)
Wirkung bestimmter Faktoren auf einzelne Vögel (z.B. Krankheit)
Vögel fliegen auf Alternativrouten, wenn Rastplätze ausfallen
Vögel suchen neue Rastplätze, wenn Rastplatz auf Energie <= 0
NETLOGO FEATURES
if file exists Sicherung, falls sich die Hintergrund-Datei nicht im selben Ordner wie die Programmierung befindet.
CREDITS AND REFERENCES
Copyright 2015 Christian Albrecht, Lara Brozio, Matthias Otto und Julia Sprengel.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License. To view a copy of this license, visit http://http://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Comments and Questions
;;========================================================================================================================================================================================== ;;=========================================================== Zugvogelmodell ============================================================================================================= ;;========================================================================================================================================================================================== Globals [AnfangsRastEnergie ;; Anlegen später gesetzer Variablen MomRastA ;; MomRastL ;; MomRast ;; weiterfliegen ;; RE ;; EnergieZuwachs ;; LebendR1 ;; LebendR2 ;; LebendR3 ;; Lebend ;; AufZiel ;; z ;; ] breed [Rastplätze Rastplatz] ;; Definieren von Singular und Plural der später verwendeten turtles breed [Vögel Vogel] breed [VögelR1 VogelR1] breed [VögelR2 VogelR2] breed [VögelR3 VogelR3] VögelR1-own ;; Benennen der Eigenschaften der auf Route 1 fliegenden Vögel [VogelEnergie ;; fliegt ;; lebt ;; Route ;; ZählerRoute ;; NächsteRast ;; ] VögelR2-own ;; Benennen der Eigenschaften der auf Route 2 fliegenden Vögel [VogelEnergie fliegt lebt Route ZählerRoute NächsteRast ] VögelR3-own ;; Benennen der Eigenschaften der auf Route 3 fliegenden Vögel [VogelEnergie fliegt lebt Route ZählerRoute NächsteRast ] Rastplätze-own ;; Benennen der Eigenschaften der Rastplätze [RastEnergie] ;; ;;=========== Ende der Deklaration ========================================================================================================================================================== ;;=========== Beginn der setup-Prozedur ===================================================================================================================================================== to setup clear-all reset-ticks display-labels set EnergieZuwachs 1 ;; Festlegen der Regeneration der Vögel während des Rastens (EnergieZuwachs pro tick) if file-exists? "/karte2.png" [import-pcolors-rgb "/karte2.png"] ;; Importieren einer Europa-Karte als Hintergrund (bei Existenz des Dokuments) set-default-shape Rastplätze "circle" Create-Rastplätze 11[ ;; Erzeugen von 11 Rastplätzen mit den Nummern 0-10 set size 3 ;; Festlegen der Größe der Rastplätze set color green ;; Bestimmen der Farbe der Rastplätze set RastEnergie AnfangsRastEnergie ;; Einstellen der Anfangsenergie der Rastplätze auf die auf die durch den Slider "AnfangsRastEnergie" festgelegten Werte ] ifelse Nummernanzeige-Rastplätze [ ask Rastplätze [ set label word who " "] ;; Anzeigen der Rastplatz-Nummern durch Einschalten des Switches "Nummernanzeige-Rastplätze" ] [ask Rastplätze [ set label "" ]] ;;========== Versetzung der Rastplätze ======================================== ask Rastplatz 0 [set xcor -12 ;; Versetzen der Rastplätze auf festgelegten Koordinaten set ycor 36] ask Rastplatz 1 [set xcor -17 set ycor 16] ask Rastplatz 2 [set xcor -26 set ycor 15] ask Rastplatz 3 [set xcor -49 set ycor -7] ask Rastplatz 4 [set xcor -66 set ycor -28] ask Rastplatz 5 [set xcor -87 set ycor -42] ask Rastplatz 6 [set xcor -15 set ycor 12] ask Rastplatz 7 [set xcor 25 set ycor 30] ask Rastplatz 8 [set xcor 27 set ycor -11] ask Rastplatz 9 [set xcor -25 set ycor -10] ask Rastplatz 10 [set xcor 82 set ycor -31] ;;=========== Einstellung der Startenergien der Rastplätze ==================== ask Rastplatz 0 [set RastEnergie AnfangsEnergieStartplatz1] ;; Einstellen der RastEnergie des Rastplatzes 0 auf die durch den Slider "AnfangsEnergieStartplatz1" festgelegten Werte ask Rastplatz 7 [set RastEnergie AnfangsEnergieStartplatz2] ask Rastplatz 1 [set RastEnergie AnfangsEnergieRastplatz1] ask Rastplatz 2 [set RastEnergie AnfangsEnergieRastplatz2] ask Rastplatz 3 [set RastEnergie AnfangsEnergieRastplatz3] ask Rastplatz 4 [set RastEnergie AnfangsEnergieRastplatz4] ask Rastplatz 5 [set RastEnergie AnfangsEnergieRastplatz5] ask Rastplatz 6 [set RastEnergie AnfangsEnergieRastplatz6] ask Rastplatz 8 [set RastEnergie AnfangsEnergieRastplatz8] ask Rastplatz 9 [set RastEnergie AnfangsEnergieRastplatz9] ask Rastplatz 10 [set RastEnergie AnfangsEnergieRastplatz10] ;;=========== Erzeugung der Links für die Routen 1-3 ======================== ;;=========== Erzeugung der Links für Route 1 =============================== ask Rastplatz 0 [create-link-to Rastplatz 1] ;; Erzeugen von Route 1 durch Verbindung von je zwei Rastplätzen mittels Link ask link 0 1 [set color 15] ;; Bestimmen der Farbe des Links ask Rastplatz 1 [create-link-to Rastplatz 2] ask link 1 2 [set color 15] ask Rastplatz 2 [create-link-to Rastplatz 3] ask link 2 3 [set color 15] ask Rastplatz 3 [create-link-to Rastplatz 4] ask link 3 4 [set color 15] ask Rastplatz 4 [create-link-to Rastplatz 5] ask link 4 5 [set color 15] ;;========== Erzeugung der links für Route 2 =============================== ask Rastplatz 7 [create-link-to Rastplatz 6] ;; Erzeugen von Route 2 durch Verbindung von je zwei Rastplätzen mittels Link ask link 7 6 [set color 114] ;; Bestimmen der Farbe des Links ask Rastplatz 6 [create-link-to Rastplatz 9] ask link 6 9 [set color 114] ask Rastplatz 9 [create-link-to Rastplatz 4] ask link 9 4 [set color 114] ask Rastplatz 4 [create-link-to Rastplatz 5] ;;=========== Erzeugung der links für Route 3 =============================== ask Rastplatz 7 [create-link-to Rastplatz 10] ;; Erzeugen von Route 3 durch Verbindung von je zwei Rastplätzen mittels Link ask link 7 10 [set color 62] ;; Bestimmen der Farbe des Links ask Rastplatz 10 [create-link-to Rastplatz 8] ask link 10 8 [set color 62] ask Rastplatz 8 [create-link-to Rastplatz 4] ask link 8 4 [set color 62] ask Rastplatz 4 [create-link-to Rastplatz 5] ;;============ Erzeugen der Vögel für die Routen 1-3 ======================= ;;============ Erzeugen der Vögel Routen 1 ================================= create-VögelR1 AnzahlVögelR1 [ set color 15 ;; Bestimmen der Farbe der auf Route 1 fliegenden Vögel set size 3 ;; Festlegen der Größe der Vögel set z random 25 ;; set xcor -5 + z ;; Versetzen und Verteilen der Vögel oberhalb einer diagonalen Linie set ycor 45 + z * 0.8 + random 10 ;; Versetzen und Verteilen der Vögel oberhalb einer diagonalen Linie set VogelEnergie AnfangsVogelR1Energie ;; Einstellen der VogelEnergie auf die durch den Slider "AnfangsVogelR1Energie" festgelegten Werte set Route [0 1 2 3 4 5] ;; Angeben der Rastplatz Nummern die ein VögelR1 abfliegen soll set ZählerRoute 0 ;; Setzen des Zählers auf 0 gibt später an auf welcher Position der Route ein Vogel ist set fliegt 1 ;; Setzen der Eigenschaft fliegt auf den Wert 1 => Vogelgrundzustang in Bewegung set lebt 1 ;; Einstellen der Eigenschaft lebt 1 => alle erzeugten Vögel leben ] ;;============= Erzeugen Vögel Route 2=================================== create-VögelR2 AnzahlVögelR2 [ set color 114 ;; Bestimmen der Farbe der auf Route 2 fliegenden Vögel set size 3 ;; Festlegen der Größe der Vögel set xcor 50 - random 20 ;; Versetzen und Verteilen der Vögel in einem Rechteck set ycor 60 - random 20 ;; Versetzen und Verteilen der Vögel in einem Rechteck set VogelEnergie AnfangsVogelR2Energie ;; Einstellen der VogelEnergie auf die durch den Slider "AnfangsVogelR2Energie" festgelegten Werte set Route [7 6 9 4 5] ;; Angeben der Rastplatz Nummern die ein VögelR2 abfliegen soll set ZählerRoute 0 ;; Setzen des Zählers auf 0 gibt später an auf welcher Position der Route ein Vogel ist set fliegt 1 ;; Setzen der Eigenschaft fliegt auf den Wert 1 => Vogelgrundzustang in Bewegung set lebt 1 ;; Einstellen der Eigenschaft lebt 1 => alle erzeugten Vögel leben ] ;;============== Erzeugen Vögel Route 3================================ create-VögelR3 AnzahlVögelR3 [ set color 62 ;; Bestimmen der Farbe der auf Route 3 fliegenden Vögel set size 3 ;; Festlegen der Größe der Vögel set xcor 50 + random 20 ;; Versetzen und Verteilen der Vögel in einem Rechteck set ycor 40 - random 30 ;; Versetzen und Verteilen der Vögel in einem Rechteck set VogelEnergie AnfangsVogelR3Energie ;; Einstellen der VogelEnergie auf die durch den Slider "AnfangsVogelR3Energie" festgelegten Werte set Route [7 10 8 4 5] ;; Angeben der Rastplatz Nummern die ein VögelR3 abfliegen soll set ZählerRoute 0 ;; Setzen des Zählers auf 0 gibt später an auf welcher Position der Route ein Vogel ist set fliegt 1 ;; Setzen der Eigenschaft fliegt auf den Wert 1 => Vogelgrundzustang in Bewegung set lebt 1 ;; Einstellen der Eigenschaft lebt 1 => alle erzeugten Vögel leben ] end ;;================ Ende der setup-Prozedur =================================================================================================================================================== ;;============================================================================================================================================================================================ ;;================ Beginn des Start-Prozesses ================================================================================================================================================ to Start tick ;; Starten und Zählen der ticks set AufZiel 0 ask (turtle-set VögelR1 VögelR2 VögelR3) ;; Festlegen der turtles, für die die folgenden befehle auszuführen sind [set NächsteRast (item ZählerRoute Route) ;; Erfragen der Nummer des Nächsten Rastplatzes face Rastplatz NächsteRast set MomRastA (Rastplätze in-radius 1.5 ) ;; Erstellen eines Agentsets des Rastplatzes, an dem der Vogel ist oder ein leeres Agentset (nobody) set MomRastL [who] of MomRastA; ;; Festlegen von MomRast als Liste mit einer Rastplatnummer oder eine leere Liste if (not (MomRastL = [])) [set MomRast (item 0 MomRastL) ;; Entnehmen der Nummer des Rastplatzes aus MomRast, wenn MomRast nicht leer ist if (MomRast = NächsteRast) and (ZählerRoute < length(Route) - 1) [set ZählerRoute (ZählerRoute + 1) set fliegt 0] if (MomRast = 5) [set AufZiel (AufZiel + 1) ] ;; Zählen der an ihrem Ziel befindlichen Vögel ] ;; =========== Fall: Vogel fliegt ======================================================================================== if (fliegt = 1) [forward 0.1 set VogelEnergie (VogelEnergie - VogelVerbrauch)] if (fliegt = 1) and (not (MomRastL = [])) [set VogelEnergie (VogelEnergie + VogelVerbrauch) ] ;; =========== Fall: Vogel fliegt nicht ================================================================================== if (fliegt = 0) and (not (MomRastL = [])) [ask Rastplatz (item 0 MomRastL) [ifelse (RastEnergie <= 0) [set weiterfliegen 1] [set weiterfliegen 0] if RastEnergie >= RastplatzVerbrauch and (not (MomRast = 5)) [ set RastEnergie round (RastEnergie - RastplatzVerbrauch) ] set RE RastEnergie ] if (weiterfliegen = 1 ) [set fliegt 1] if (RE > 0) [set VogelEnergie (VogelEnergie + EnergieZuwachs)] ] if (VogelEnergie >= 100) [set fliegt 1] ;; Festlegen, wann ein Vogel wieder losfliegen soll if (VogelEnergie <= 0 ) [set fliegt 0] ;; Festlegen, wann ein Vogel anhalten soll if (VogelEnergie <= 0) [set lebt 0] ;; Wann setzt ein Vögel seine Eigenschaft lebt auf 0 => Vogel tot ] set LebendR1 sum ([lebt] of VögelR1) ;; Berechnen aller lebenden Vögel auf Route 1 set LebendR2 sum ([lebt] of VögelR2) ;; Berechnen aller lebenden Vögel auf Route 2 set LebendR3 sum ([lebt] of VögelR3) ;; Berechnen aller lebenden Vögel auf Route 3 set Lebend (LebendR1 + LebendR2 + LebendR3) ;; Berechnen aller lebender Vögel aller Routen if (Lebend = AufZiel) [stop] ;; Stoppen des Programms, wenn alle lebenden Vögel am Ziel sind display-labels ;; Ausführen von display-labels end ;;============== Ende des Start-Prozesses ==================================================================================================================================================== ;;============================================================================================================================================================================================ ;;============== Anzeige der Labels ========================================================================================================================================================== to display-labels ;; Anzeigen der gerundeten Energie-Labels von Rastplätzen und Vögeln ifelse Energieanzeige-Rastplätze [ ask Rastplätze [set label word (round RastEnergie) "___" ]] ;; Abtrennen der Energien durch "___" [ask Rastplätze [ set label "___" ]] ifelse Energieanzeige-VögelR1 [ ask VögelR1 [set label word (round VogelEnergie) "" ]] [ask VögelR1 [ set label "" ] ] ifelse Energieanzeige-VögelR2 [ask VögelR2 [set label word (round VogelEnergie) "" ]] [ask VögelR2 [ set label "" ] ] ifelse Energieanzeige-VögelR3 [ask VögelR3 [set label word (round VogelEnergie) "" ]] [ask VögelR3 [ set label "" ] ] end ;;============== Ende Anzeigen der Labels===================================================================================================================================================== ;;============================================================================================================================================================================================ ;;=============== Programm - Ende ============================================================================================================================================================ ;;============================================================================================================================================================================================ ; Copyright 2015 Christian Albrecht, Lara Brozio, Matthias Otto und Julia Sprengel. ; See Info tab for full copyright and license.
There is only one version of this model, created almost 11 years ago by Matthias Otto.
Attached files
| File | Type | Description | Last updated | |
|---|---|---|---|---|
| Zugvögel.png | preview | Preview for 'Zugvögel' | almost 11 years ago, by Matthias Otto | Download |
This model does not have any ancestors.
This model does not have any descendants.
Download this model