Simulacion CV Bacterias mangles pastos marinos camarones cangrejos garzas

Simulacion CV Bacterias mangles pastos marinos camarones cangrejos garzas preview image

1 collaborator

Default-person Santiago Ospina (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.4.0 • Viewed 7 times • Downloaded 0 times • Run 0 times
Download the 'Simulacion CV Bacterias mangles pastos marinos camarones cangrejos garzas' modelDownload this modelEmbed this model

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


Comments and Questions

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

Click to Run Model

; Simulación multiescalar en CV (Ciénaga de la Virgen)
; Fase Micro → Meso → Macro con continuidad ecológica y relacional entre agentes
; Información basada en ecología real: bacterias, mangles, pastos, fauna bentónica y aves

breed [bacterias bacteria]
breed [mangles mangle]
breed [pastos pasto]
breed [foraminiferos foraminifero]
breed [camarones camaron]
breed [cangrejos cangrejo]
breed [garzas garza]

patches-own [nutrientes]
mangles-own [salud expansion]
bacterias-own [activas]

; ========== SETUP GENERAL ==========

to setup
  clear-all
  ask patches [ set pcolor green set nutrientes random 10 ]

  set-default-shape bacterias "circle"
  set-default-shape mangles "tree"
  set-default-shape pastos "dot"
  set-default-shape foraminiferos "dot"
  set-default-shape camarones "fish"
  set-default-shape cangrejos "bug"
  set-default-shape garzas "airplane"

  create-bacterias 100 [
    setxy random-xcor random-ycor
    set color cyan
    set size 0.6
    set activas false
  ]

  create-mangles 12 [
    setxy random-xcor random-ycor
    set color brown
    set salud 5
    set expansion 1
  ]

  reset-ticks
end 

; ========== CICLO GENERAL ==========

to go
  if ticks < 50 [fase-micro]
  if ticks >= 50 and ticks < 150 [fase-meso]
  if ticks >= 150 [fase-macro]
  mover-fauna
  tick
end 

; ========== FASE MICRO ==========

to fase-micro
  ask bacterias [
    let objetivo one-of mangles in-radius 5
    if objetivo != nobody [
      face objetivo
      fd 0.5
      if distance objetivo < 1 [
        set activas true
        set color yellow
        ask objetivo [
          set salud salud + 1
        ]
      ]
    ]
  ]

  ask patches with [nutrientes > 10] [
    sprout 1 [
      set breed foraminiferos
      set color white
    ]
  ]
end 

; ========== FASE MESO ==========

to fase-meso
  ask mangles [
    if salud > 6 [
      set expansion expansion + 0.04
      let zona one-of patches in-radius expansion
      if zona != nobody and not any? mangles-on zona [
        ask zona [
          sprout 1 [
            set breed mangles
            set salud 5
            set expansion 1
            set color brown
          ]
        ]
      ]
    ]
  ]

  ; Generar más pastos marinos
  ask patches with [nutrientes > 3 and not any? pastos-here] [
    if random-float 1 < 0.3 [
      sprout 1 [
        set breed pastos
        set color green + 2
      ]
    ]
  ]

  ; Limitamos la cantidad y posicionamos fauna bentónica solo en pastos
  if (count camarones + count cangrejos) < 20 [
    ask pastos [
      if random-float 1 < 0.1 [
        let zona one-of patches in-radius 1 with [not any? turtles-here]
        if zona != nobody [
          ask zona [
            sprout 1 [
              if random 2 = 0 [ set breed camarones set color pink ]
              if random 2 = 1 [ set breed cangrejos set color blue ]
            ]
          ]
        ]
      ]
    ]
  ]
end 

; ========== MOVIMIENTO DE FAUNA ==========

to mover-fauna
  ask camarones [
    let refugio one-of pastos in-radius 5
    if refugio != nobody [ face refugio fd 0.3 ]
  ]
  ask cangrejos [
    let refugio one-of pastos in-radius 5
    if refugio != nobody [ face refugio fd 0.3 ]
  ]
end 

; ========== FASE MACRO ==========

to fase-macro
  if ticks = 150 [
    if count garzas < 3 [
      create-garzas 3 [
        setxy random-xcor random-ycor
        set color white
      ]
    ]
  ]

  ask garzas [
    let presa one-of (camarones in-radius 5)
    if presa = nobody [ set presa one-of cangrejos in-radius 5 ]
    if presa != nobody [
      face presa
      fd 1
      if distance presa < 1 [ ask presa [ die ] ]
    ]
  ]
end 

; ========== RESUMEN ==========

to mostrar-resumen
  let total-mangles count mangles
  let pastos-count count pastos
  let cam-count count camarones
  let crab-count count cangrejos
  let garzas-count count garzas
  let bact-count count bacterias with [activas]

  user-message (word "\nResumen final:\n"
                "• Mangles: " total-mangles "\n"
                "• Pastos marinos: " pastos-count "\n"
                "• Camarones: " cam-count ", Cangrejos: " crab-count "\n"
                "• Garzas: " garzas-count "\n"
                "• Bacterias activas: " bact-count)
end 

There is only one version of this model, created 4 days ago by Santiago Ospina.

Attached files

File Type Description Last updated
Simulacion CV Bacterias mangles pastos marinos camarones cangrejos garzas.png preview Preview for 'Simulacion CV Bacterias mangles pastos marinos camarones cangrejos garzas' 4 days ago, by Santiago Ospina Download

This model does not have any ancestors.

This model does not have any descendants.