Cooperacion territorial - Municipio minero

Cooperacion territorial - Municipio minero preview image

1 collaborator

Default-person Jerson Lizarazo (Author)

Tags

coal 

Tagged by Jerson Lizarazo 2 days ago

ecological economics 

Tagged by Jerson Lizarazo 2 days ago

ecosystem 

Tagged by Jerson Lizarazo 2 days ago

energy transition 

Tagged by Jerson Lizarazo 1 day ago

energy transition\ 

Tagged by Jerson Lizarazo 1 day ago

sustainability 

Tagged by Jerson Lizarazo 2 days ago

Visible to everyone | Changeable by the author
Model was written in NetLogo 6.4.0 • Viewed 11 times • Downloaded 2 times • Run 0 times
Download the 'Cooperacion territorial - Municipio minero' 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 [casco-urbano rios nucleos-minas minas-primarias minas-secundarias incidencia]

patches-own [
  vocacion-suelo ;; 75 = forestal, verde = agroforestal
               ;; rojo = ganadería, naranja = agricultura
               ;; negro = mina, gris = casco-urbano
  vocacion-inicial ;; para después recuperarla en el procedimiento recolor: cuando se clausuran las minas
  carbon ;; indicador de 0 a 99
  max-carbon ;; inicializa carbon
  usuario ;; la familia más cercana al parche
  modo-resiliencia ;; degradarse enviar-alerta estabilizarse regenerarse -1 0 1
  salud-ambiental ;; índice de 0 a 99 ;; empezando así es uniforme
]

; vocacion-suelo usuario salud-ambiental resiliencia biodiversidad valor-plural

breed [familias familia]
familias-own [
  finca ;; parches voronoi
  sugarfinca ;; abstraccion del dinero y la energía
  min-sugarfinca ; minimo de 10 para que pida ayuda a su comunidad
  saberes ;; es igual a los usos del suelo
  modo-produccion ;; agroecologico convencional
  ;; se altera cuando llega la mina y la cambia a mineria
]

breed [comunidades comunidad]
comunidades-own [
  sugarcomunidad ;; cantidad de recursos recibidos desde empresas y desde entidades
  lista-vecinos ;; listas auxiliares para actualizar miembros de comunidad
  vecinos-de-vecinos
]

breed [empresas empresa]
empresas-own [
  mis-minas ;; lista de las minas que tiene (direcciones del parche)
  trabajadores ;; lista de familias que dependen de la mina
  ;; y así pueden saber también sus fincas y los territorios de influencia directa
]

breed [minas mina]
minas-own [
  vecinos-mina ; conjunto de 8 familias más cercanas
  conjunto-parches
  activa?
  empresa-usuaria
  prioridad-explotacion
  vida-util
]

breed [entidades entidad]
entidades-own [
  rol ;; municipal departamental nacional
  ;legitimidad ;; influencia en la toma de decisiones random 100
  ;compatibilidad ;; 0 no se asocia 1 se asocia con 1 nivel 2 se asocia con 2 niveles
   ;; por defecto siempre se asocia con empresas a nivel de regulaciones e incentivos
   ;; se usa como links
]


;;;;;;;;;;;;;;;;;;;;;;;; PROCEDIMIENTOS SETUP

to setup
  clear-all
  crear-casco-urbano
  crear-layout-territorio ;; aquí se crean también las familias como subprocedimiento

  ;Antes de llamar a crear-comunidades debo calcular incidenc
  ;de acuerdo a los escenarios
  ;que es el número de 1 a 4 que configura la incidencia

  set incidencia 1
  (ifelse escenarios = "complementario" [ set incidencia 4 ]
  escenarios = "no-mineria" [ set incidencia 3 ]
  escenarios = "dependencia-mineria" [ set incidencia 2 ]
  escenarios = "mineria-fortalecida" [ set incidencia 1 ])
  crear-comunidades incidencia

  ;; después de esta configuración de escenarios, se prosigue con los demás procedimientos setup

  crear-empresas
  inicializar-carbon ;; no geológicamente sino que se activa su presencia por la intención minera
  crear-entidades
  ; crear-rios ;; se crean después para evaluar si existen conflictos
  inicializar-escenarios
  reset-ticks
end 

;procedimiento de parches

to crear-casco-urbano
  set casco-urbano patches with [distancexy 0 0  < 10]
  ask casco-urbano [set pcolor pink set vocacion-suelo "casco urbano"] ;; aquí se fija color casco urbano
end 

;procedimiento de tortugas y parches

to crear-layout-territorio
  create-familias num-familias [
    set color one-of [orange green 75 red]
    set shape "triangle"
    set size 2
    hide-turtle
    set modo-produccion one-of ["agroecologia" "convencional"] ;; están divididos mitad y mitad

    ;; lo siguiente es para que tome el color de acuerdo a la zona del mundo en la que está
    (ifelse color = orange [ setxy random min-pxcor random min-pycor ]
      color = green [ setxy random min-pxcor random max-pycor   ]
      color = 75 [ setxy random max-pxcor random-ycor  ]
      [setxy (random 90 - 45) (random 90 - 45) ]
    )
  ]

  ; lo siguiente es para que las familias ubicadas en el casco urbano salgan al "campo"
    ask casco-urbano [
    if any? familias-here [ ask familias-here [facexy 0 0 set heading heading + 180 fd 10 ] ]
  ]

  ; lo siguiente es para dibujar el voronoi
  configurar-finca

  ; lo siguiente es para resaltar las familias y asignarles una finca
  ; es de notar que el parche sabe quién es su usuario (ver subprocedimiento anterior línea 3)
  ; y todos los usuarios saben cuáles parches son su finca
end 

to configurar-finca

  ;; 1. Configura usuario y uso del suelo para los parches

  ask patches with [not member? self casco-urbano] [
    set pcolor [color] of min-one-of familias [distance myself]
    set usuario [who] of min-one-of familias [distance myself] ; ver aquí / ver abajo
    ;aquí asigna vocacion vocacion-suelo suelo
    (ifelse pcolor = 75 [ set vocacion-suelo "forestal" ]
      pcolor = orange [ set vocacion-suelo "agricola" ]
      pcolor = green [ set vocacion-suelo "agroforestal" ]
      pcolor = red [set vocacion-suelo "ganaderia"])

    set vocacion-inicial vocacion-suelo ;; con esta variable puedo recuperar el uso del suelo antes de que llegue la mineria
  ]

  ;; 2. Asigna las fincas

    ask familias [
       set color white
       set finca patches with [usuario = [who] of myself]
       ;; LA ANTERIOR ES LA LÍNEA MÁGICA PARA CREAR EL PATCHSET DESDE UNA RELACIÓN CON UNA TURTLE!!

  ;; 3. Configura variables iniciales de las fincas

    set saberes vocacion-suelo
    let temp random 25
    ask finca [
      set salud-ambiental 75 + temp
      ; aquí es donde se pintan los voronoi
      recolorear-parches salud-ambiental pcolor 100
  ]
    set sugarfinca salud-ambiental / 2  ;va de 75 a 99 inicialmente
    set min-sugarfinca 10
    ;; sugarfinca va de 0 a 99 y es función de la salud ambiental
    ;hide-turtle
    ;set plabel salud-ambiental
  ]
end 

to inicializar-carbon
  ; yacimientos primarios tienen de 80 a 100 unidades de carbon
  ask n-of (num-minas) patches with [distancexy 0 0 > 20] [
    set vocacion-suelo "mineria"
    set pcolor black
    sprout-minas 1 [ hide-turtle set prioridad-explotacion 1 set activa? 0]
  ]
  set nucleos-minas patches with [vocacion-suelo = "mineria"]

  ask minas [
    let yo [who] of self
    ask patches in-radius (5 + random 5) [
         set vocacion-suelo "mineria"
         set usuario yo
         set carbon random 20 + 80 ;aquí se les da un carbón inicial
         set max-carbon carbon
         if mostrar-mina-primaria? [
         set pcolor black
      ]
      ]
    set conjunto-parches patches with [usuario = [who] of myself]
    ;; esta línea y la de set usuario yo (guardando who en yo)
    ;; es muy útil para asignarle un conjunto de parches a un agente
  ]
    set minas-primarias patches with [carbon >= 80]

  ; yacimientos secundarios tienen desde 0 a 80 unidades de carbon

    ask n-of (num-minas * 5) patches with [distancexy 0 0 > 10 and pcolor != black] [
    set vocacion-suelo "mineria"
    sprout-minas 1 [ hide-turtle set prioridad-explotacion 2 set activa? 0]
  ]
  ask minas with [prioridad-explotacion = 2] [
    let yo [who] of self
    ask patches in-radius (1 + random 2) [
         set vocacion-suelo "mineria"
         ;set salud-ambiental 20
         set usuario yo
         set carbon random 20 + 80 ;aquí se les da un carbón inicial
         set max-carbon carbon
         if mostrar-mina-secundaria? [
         set pcolor black
         ;set pcolor scale-color pcolor carbon 100 0
      ]
      ]
    set conjunto-parches patches with [usuario = [who] of myself]
    ;; esta línea y la de set usuario yo (guardando who en yo)
    ;; es mágica para asignarle un pedazo de terreno a un agente
  ]
    set minas-secundarias patches with [carbon > 0 and carbon < 80]
end 

to crear-comunidades [num]

 ; 1. crea las relaciones de vecindad

  ask familias [
   let vecinos min-n-of ceiling 5 other familias [distance myself] ;; crea relaciones de vecindad de acuerdo a la incidencia
                               ;; que es num
    create-links-with vecinos [
      if not mostrar-vecindad? [
        hide-link
      ]
    ]
   set vecinos link-neighbors
  ]

  ;; aquí es donde se puede modificar para que sean las familias
  ;; con peor condición ambiental que buscan asociarse
  ;; los que tengan mina cerca o en su propio terreno

  ; 2. crea una cantidad de comunidades que depende de la legitimidad
  ; es decir de num....

  let max-comunidad ( num-familias * num / 100 ) ;; aqiuí se configura cuántas comunidades se crean
                                            ;; en funcion de num que es la incidencia de la comunidad
  ask n-of (max-comunidad) familias [
    hatch-comunidades 1 [
     set shape "arrow"
     set heading 0
     set color white
     set size 5
     set sugarcomunidad num * 10
    ]
  ]


  ;; 3. aquí se calculan las comunidades
  ;; es decir, cuántos vecinos se asocia
  ;; podría configurarlo para que dependa del sugarfinca
  ;; pero por ahora lo voy a dejar solo dependiendo de num (que es la incidencia, dada por el escenario)

  ;; calcular-comunidad SIEMPRE VA DENTRO DE UN ASK COMUNIDADES


  ask comunidades [

    calcular-comunidad ;; CONFIGURA LISTAS DE VECINOS

    ; aquí usar la probabilidad de asociación
    ; luego voy a las minas para asociarlas con las empresas
    ; y generar todo lo que implica una mina
    create-links-with other lista-vecinos [
       if not mostrar-comunidad? [
        hide-link
      ]
     set color white set thickness 0
    ]
    ; modes es la moda, el que más se repite
  ]
end 

to calcular-comunidad
    set lista-vecinos turtle-set [link-neighbors] of familias-here with [breed != empresas]
    set vecinos-de-vecinos turtle-set [link-neighbors] of lista-vecinos with [breed != empresas]
    set lista-vecinos (turtle-set lista-vecinos vecinos-de-vecinos)
    ; set saberes modes
end 

to crear-empresas
  ; empresas tienen minas y trabajadores
  ; trabajadores son familias que dependen de la mina
  ;se crean 3 empresas

  ask n-of 3 casco-urbano [
   sprout-empresas 1 [
      set color blue - 1
      set shape "house"
      set size 8   ]  ]
end 


; vocacion-suelo usuario salud-ambiental resiliencia biodiversidad valor-plural

to crear-entidades
  ;entidades tienen política extractiva o colaborativa
  ;y nivel de integración o puede estar dado por la política
  ;comparación con otras entidades y empresas
  ask n-of 3 casco-urbano with [not any? empresas-here] [
   sprout-entidades 1 [
      set color yellow
      set shape "flag"
      set size 8
      set rol one-of ["municipal" "departamental" "nacional" ]
    ]
    ask entidades [
      set rol one-of ["municipal" "departamental" "nacional" ]
      create-links-with empresas [hide-link]
    ]
  ]
end 

;;;;;;;;;;;;;;;;;;;;;;; INICIALIZAR ESCENARIOS


;procedimiento empresas

to activar-minas-empresas [num prior]
  ask empresas [
  (ifelse prior = 1 [
    if num > ( num-minas / 3 ) [
     set num floor ( num-minas / 3 )
    ]
    ]
   prior = 2 [
     set num floor ( num-minas * 5 / 3 )

    ] )
    ; si prior es igual a 2 el cálculo de num varía

    set mis-minas n-of num minas with [prioridad-explotacion = prior and activa? = 0 ]
    ;; en esta fórmula está el error
    ;; hay que hacerlo al múltiplo de 3 más cercano por abao
    ;; usando mod
      ask mis-minas [
      ;set vida-util vida-util - 1
         ;; aquí empieza a correr el contador de vida útil
         ;; cuando llega a 0 se llama a desactivar minas empresas
         ;; allá es donde debo remodificar los empleados de las minas
      set shape "star" set size ( 5 / prior ) set color yellow
      set activa? 1
      set vida-util max-vida-util-minas
      ;if vida-util < 1 [desactivar-minas-empresas]
      ;set label vida-util
      show-turtle
      let yo [who] of self
      ask conjunto-parches [set usuario yo
        set pcolor black
      ]
  ]


    create-links-with mis-minas [set color yellow]
  ]
  ;mis-minas es una lista de agentes tipo mina que tiene cada empresa
  ;minas como agente tiene los parches en conjunto-parches
  ;hay que usar estructura anidada
end 


;; el siguiente procedimiento se llama dento de ask mis-minas [ ] que va dentro de ask empresas

to desactivar-minas-empresas
  set activa? 0
  die
end 

;procedimiento empresas

to contratar-trabajadores-empresas [num]
  ask empresas [
   set trabajadores n-of (count familias * (num) ) familias
   ; cada empresa tiene su propio conjunto de trabajadores
    create-links-with (trabajadores with [color != yellow])  [hide-link]
    ask trabajadores [show-turtle set color yellow ask finca [set vocacion-suelo "mineria"]]
    ; recolorear las fincas de los trabajadores de las minas
    ; reorganizar familias
    ; (sacarlas de la mina activa y recalcular voronoi con vecino más cercano)
  ]
end 

to configurar-resiliencia-parches
  ask familias [
   ifelse vocacion-suelo = saberes [
    ifelse  modo-produccion = "agroecologia" [
     set modo-resiliencia 1
    ] [set modo-resiliencia 0]
    ]
    [set modo-resiliencia -1]
  ]
  ask patches [
    (ifelse vocacion-suelo = "casco urbano" [ set modo-resiliencia 0 ] ; estabilizarse
      vocacion-suelo = "mineria" [ set modo-resiliencia -1 ] ; degradarse
    )
  ]
end 

to configurar-cambio-uso-suelo-familias
    ask familias [
    (ifelse any? link-neighbors with [breed = empresas] [  ask finca [set vocacion-suelo "mineria" ]]
       [ set saberes vocacion-suelo ] )
  ]
end 


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to inicializar-escenarios
  run escenarios
end 

to complementario
  activar-minas-empresas 2 1 ;; numero de minas - prioridad de la mina
  contratar-trabajadores-empresas 0.1  ;proporcion de la población que contrata cada empresa - prioridad de la mina
  configurar-resiliencia-parches
  configurar-cambio-uso-suelo-familias
end 

to no-mineria
  ask empresas [
    if mis-minas = 0 [stop]
    ask mis-minas [
    desactivar-minas-empresas
    ]
  ]
  configurar-resiliencia-parches
  configurar-cambio-uso-suelo-familias
end 

to dependencia-mineria
  activar-minas-empresas 3 1 ;; numero de minas - prioridad de la mina
  contratar-trabajadores-empresas 0.1  ;proporcion de la población que contrata cada empresa - prioridad de la mina
  configurar-resiliencia-parches
  configurar-cambio-uso-suelo-familias
end 

to mineria-fortalecida
  activar-minas-empresas 3 1 ;; numero de minas - prioridad de la mina
  let minas-segundo-nivel minas with [prioridad-explotacion = 2]
  activar-minas-empresas 7 2
  contratar-trabajadores-empresas 0.15  ;proporcion de la población que contrata cada empresa - prioridad de la mina
  configurar-resiliencia-parches
  configurar-cambio-uso-suelo-familias
end 

;; PROCEDIMIENTOS PARA RECALCULAR EL COLOR DEL PARCHE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to recover-color
    if pcolor != black [
      (ifelse vocacion-suelo = "forestal" [ set pcolor 75 ]
      vocacion-suelo = "agricola"  [ set  pcolor orange]
      vocacion-suelo = "agroforestal"  [ set pcolor green ]
      vocacion-suelo = "ganaderia"  [set pcolor red ]
      vocacion-suelo = "mineria" [set pcolor gray - 1]
    )
  ]
  ;; SE PODRÍA USAR DIRECTAMENTE EL INDICE DE RESILIENCIA PARA RECALCULAR SALUD AMBIENTAL!!!!!!
end 

;; procedimiento opera a nivel de finca

to recolorear-parches [indicador colorp tamaño-escala]
  ;; por qué dividido tres? o 30
  ;; el rango de variación del color es de 3
  ;; entonces sin importar el tamaño de la escala, se debe renormalizar a 3 unidades
  ;; hay que dividir el tamaño de la escala para que el indicador quede de 3 unidades
  if pcolor != black and pcolor != 135 [ ; omite también el casco urbano
  set pcolor colorp - 2 + floor (indicador * 3 / tamaño-escala)
  ]
end 


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;; PROCEDIMIENTOS GO
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to actividad-familia
    ask familias [
    ; let uso-suelo vocacion-suelo
    ;aquí es si la familia tiene contrato con una minera
    ;luego hay que comparar su modo-produccion
    let modoprod modo-produccion ;modo produccion lo tienen las familias
    ifelse any? link-neighbors with [breed = empresas] [
      set saberes "mineria"
      set sugarfinca sugarfinca + 3 ; salario
      ask finca [
          if salud-ambiental > 5 and salud-ambiental < 100 [ ; y que no sea propiedad de la mina, están igual condición > 5
          ifelse modoprod = "agroecologia" [  ;la condicion real es que el uso-suelo (saberes? de la familia)= sea igual a vocacion-suelo
                     ; SI TRABAJA EN MINA Y MODO PRODUCCION AGROECOLOGIA MANTENGA SALUD-AMBIENTAL IGUA
          set salud-ambiental salud-ambiental ;disminuye en 2 la salud ambiental si se dedica a la mineria

          ]
             ; SI TRABAJA EN MINA Y MODO PRODUCCION CONVENCIONAL DEGRADA 2 UNIDADES SALUD AMBIENTAL DE SU FINCA
          [
             set salud-ambiental salud-ambiental - 2
          ]
         ; aquí termina ifelse

        ]
      ]
    ]
    ; aquí termina if de si es empleado de empresa minera
    ;print sum [sugarfinca] of familias
    ;línea para debugging


    ; aquí empieza el else: no es empleado de empresa minera
    [
      set sugarfinca sugarfinca + 3
      set saberes vocacion-suelo
        ask finca [
          if salud-ambiental > 5 and salud-ambiental < 100 [

           ifelse modoprod = "agroecologia" [
            set salud-ambiental salud-ambiental + 2

          ]

           [
             set salud-ambiental salud-ambiental - 1
          ]
        ]
      ]
    ]
  ]
end 

to recolorear-finca
    ask familias [
    ask finca with [vocacion-suelo != "mineria" and vocacion-suelo != "casco urbano"] [
      recover-color
      recolorear-parches salud-ambiental pcolor 100
  ]
    ask finca with [vocacion-suelo = "mineria"] [
      recover-color
      ;; aquí le pasa el color 135 y lo que haya en salud ambiental
      ;; entonces se corrigió el cálculo de salud ambiental
      ;; y luego sí...
      recolorear-parches salud-ambiental pcolor 100
    ]
  ]
end 

to actividad-empresas [prior] ; prior es la prioridad de explotación: nivel 1 o nivel 2

  ;cuando hay minas de segundo nivel
  ;no elimina las de primer nivel
  ;es un bug en el código

  if escenarios = "no-mineria" [stop]

  ask empresas [
   ;; 1. hay que configurar la vida util de las minas
   ;; Hecho en: activar-minas-empresas

    ;vida-util ya está configurada cuando se activan las minas


    ask mis-minas [
      ifelse vida-util < 1 [
       ask turtles-here [
         set pcolor red
        ]
        die
      ]
     [
      set vida-util vida-util - 1
    ]
    ]

   ;  ask trabajadores [ que se vuelvan rojos ]

    ;; validar que la empresa tenga minas. esto opera a nivel de la empresa
    if count mis-minas < 1 [
      ask trabajadores [set color white
        set modo-produccion "convencional" ;; los que se salen de trabajar en la mina se vuelven produccion convencional
        ask finca [set vocacion-suelo vocacion-inicial
        set salud-ambiental 50
        ;set modo-produccion "convencional"
        ;; en la línea anterior hay error
        ]

        ;; aqui voy

      stop]
    ]

    ;; 2. PROCESO DE EXTRACCIÓN DE CARBON
    ;; aquí se usa la vida util de la mina
    ;; max-vida-util-minas es un global mínimo en 10 años
    ;; usar primarias y secundarias para dar este tiempo
    ;; disminuye la variable carbon en max-carbon / vida-util
    let parches-de-mis-minas (patch-set [conjunto-parches] of mis-minas)
    ; hay que inicializar un contador y que lo haga disminuir en cada tick
    ask parches-de-mis-minas [
      set carbon carbon - ( carbon / max-vida-util-minas )
      ; por la forma de la ecuación anterior, nunca se va a llegar a cero, pero sí asintóticamente
      ; entonces si se necesita comparar si es igual a cero, se puede hacer con un round
      set salud-ambiental 10
    ]
    ;; QUÉ PASA SI SALUD AMBIENTAL ES IGUAL A 0
    ;; no sucede, tiene un límite inferior de 5 en la actividad económica de la familia


    ;; 3. PROCESO DE CONTAMINACION - DISMINUCION DE LA SALUD-AMBIENTAL
    ;; USAR DIFFUSE PARCHES VECINOS USAR LEY CUADRADO INVERSO

    ;; se hace a nivel de salud-ambiental DE LA FINCA
    ;; entonces tiene que encontrar 8 vecinos más cercanos (para conservar lo del vecindario moore)
    ;; la mina le pide a los 8 familias más cercanas
    ;; que disminuyan su salud ambiental en cuántas unidades???
    ;;;; vida util de la mina * 2 / salud ambiental

    ask mis-minas [
      ; set color red
      ; busque a las 8 familias más cercanas
      ; con vecinos-mina
       set vecinos-mina min-n-of 8 familias [distance myself] ;; distance myself siempre va en el mismo corchete
      ; y bájeles la salud ambiental
      ask vecinos-mina [
       if salud-ambiental > 5 [
        ask finca [
          set salud-ambiental salud-ambiental - 2 ;; este es un parámetro un tanto arbitrario
      ]
      ]
      ]
    ]
  ]
end 

to actividad-entidades
;; SE HABÍAN DEFINIDO INICIALMENTE LAS ENTIDADES COMO AGENTE
;; LUEGO SE DECIDIÓ IMPLEMENTARLAS COMO PARÁMETROS QUE AFECTAN A LOS DEMÁS AGENTES
;; por eso no se utiliza este procedimiento
end 

to actividad-comunidades

  ; paso 1: crear las redes
  ;; se hace desde el setup usando la incidencia con crear-comunidades

  ;; 2. RECIBIR SUGARCOMUNIDAD
  ;; depende de los escenarios si es solo de entidades o de empresas
  ;; se configuran 4 casos
  ;es la que recibe sugarcomunidad desde empresas o desde gobiernos
  ;la magnitud de incidencia simplifica si recibe recursos de la empresa, del gobierno, de ambos, solo de miembros

  ;; lo siguiente ya está en el setup
  ;; pero se deja aquí para actualizarlo en vivo
  set incidencia 1
  (ifelse escenarios = "complementario" [ set incidencia 4 ]
  escenarios = "no-mineria" [ set incidencia 3 ]
  escenarios = "dependencia-mineria" [ set incidencia 2 ]
  escenarios = "mineria-fortalecida" [ set incidencia 1 ])

  ask comunidades [
    set sugarcomunidad sugarcomunidad + (incidencia * (count link-neighbors)) ;; recibir sugar de entidades y empresas
  ;; 3. REPARTIR SUGARCOMUNIDAD anula la línea anterior
    set sugarcomunidad sugarcomunidad  - (incidencia * (count lista-vecinos with [breed = familias]))
    ask lista-vecinos with [breed = familias] [
      set sugarfinca sugarfinca + incidencia ;; repartir sugar a familias
      set modo-produccion "agroecologia"; PONE A TODOS LOS MIEMBROS DE LA COMUNIDAD COMO AGROECOLOGIA
        ;; no funciona porque vocacion-suelo cambia cuando se activa minería
        ;; hay que guardar saberes

        ; aquí es para que cambie los saberes de sus miembros que están contratados con empresas
        ; y que esas personas ya no trabajen más con las empresas
        ; aquí es importante validar que se actualice el color usando vocacion-suelo
        ; de los trabajadores que renuncian a las minas
    ]
  ]
end 

;; la regeneración ecosistémica va implícita en las relaciones de calidad-ambiental y sugarfinca

to actividad-ecosistema

  ; ya se incluy+o límite máximo de salud ambiental a 100
  ; la señal de alerta es que salud-ambiental es =< 5


  ask familias [
    if mean [salud-ambiental] of finca <= 5 [
      let sugar-inicial sugarfinca
      ask finca [
        ; set pcolor black + 1
         set plabel "x" ; esta linea demarca las fincas en regeneracion
      ]

      if sugarfinca > 100 [
       set sugarfinca (sugarfinca / 2)
        ask finca [
         set salud-ambiental salud-ambiental + 20

          ;; CUESTA 100 UNIDADES DE SUGARFINCA MEJORAR LA CALIDAD AMBIENTAL EN 20 UNIDADES!!!!

         set plabel "" ; esta linea demarca las fincas en regeneracion
      ]
      ]
    ]
  ]
end 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;PROCEDIMIENTO GO

to go
  if ticks > (max-vida-util-minas + 20) [stop]

  actividad-empresas 1 ; este 1 significa que es extractivismo de primer nivel, no ha pasado a las de segundo nivel
  actividad-familia
  actividad-comunidades
  actividad-ecosistema
  recolorear-finca

  tick
end 


;;;;;;;;;;;;;;;;;;;;;; OTROS PROCEDIMIENTOS

to crear-rios
  create-turtles 4 [set color blue
    setxy random-xcor random-ycor
  ]
  let counter 5
  while [counter > 0] [
    let river-turtles turtles with [color = blue]
    ask river-turtles [
      repeat (random 20 * counter) [
       if vocacion-suelo = "casco urbano" [stop]
        ;se permite que se superponga mina y río para representar ese conflicto
       if any? other turtles-here [
          ask turtles-here [fd 2 ]
        ]
       set pcolor color
       set vocacion-suelo "rio"
       rt random 36
       lt random 36
       fd 1]
      hatch 1 [set heading (240 + random 60)]
      ]
    set counter counter - 1
  ]
  ask turtles with [color = blue] [die]
  set rios patch-set patches with [pcolor = blue]
    ask rios [
     set salud-ambiental 9
  ]
end 



;;;;;;;;;;;; PRUEBA NUEVO CONFIGURAR-ENTIDADES
;;;;;;;;;;;; COMENTARIOS SOBRE RELACIÓN CON EMPRESAS
;;;;;;;;;;;; (QUIZÁS CON COMUNIDADES ES SIMILAR)

;to configurar-entidades [legitim compatib]
    ;ask entidades [
    ;set legitimidad legitim

; habría que defininir politica-territorial para lo siguiente

;(ifelse escenarios = "complementario" [ set politica-territorial "regenerar" ]
; escenarios = "no-mineria" [set politica-territorial "regenerar"]
; escenarios = "dependencia-mineria" [set-politica-territorial igual]
; escenarios = "mineria-fortalecida" [set-politica-territorial intensificar])
;este bloque se puede meorar usando índice de compatibilidad
; para este escenario es 2, es decir, todas las entidades cooperan en regenerar
; mina toma como estrategia seguir igual (puede empeorar o irse) o incluso dar sugarfinca


;; Y LA COMPATIBILIDAD CÓMO ENTRA AQUÍ???
;; entidad crea enlace con empresa (creo que ya lo tiene)
;; la empresa toma como estrategia la votación de la política territorial de cada entidad
;; así se hace regenerar - seguir igual - intensificar
;; si no hay acuerdo entre entidades, la empresa intensifica

;; LA COMPATIBILIDAD ESTÁ IMPLICITA EN LOS ESCENARIOS
;; SI QUISIERA HACERSE MÁS FLEXIBLE PARA TODOS LOS ESCENARIOS
;; SÍ HABRÍA QUE INTEGRAR LA COMPATIBILIDAD DE MODO EXPLÍCITO
;; USANDO LA SIGUIENTE ESTRUCTURA DE CÓDIGO


;(ifelse compatib = 2 [
; ask entidades [ set politica-territorial "regenerar" ]
;]
 ;      compatib = 1 [
; ask entidades [ ]
 ;]
  ;     compatib = 0 [
; ask entidades [ set politica-territorial one of ["regenerar" "mantener igual" "intensificar"  ] ]
;])

  ;  set compatibilidad compatib
  ; compatibilidad entidades significa que se asocia con empresas y con las otras dos
   ; hay que crear links con cantidad de compatibilidad
    ; pero se hace en el go
 ; ]
;end
;legitimidad está en 7 y compatibilidad 2: es decir, cooperan todas las instituciones

There are 5 versions of this model.

Uploaded by When Description Download
Jerson Lizarazo 2 days ago reloaded Download this version
Jerson Lizarazo 2 days ago Reverted to older version Download this version
Jerson Lizarazo 2 days ago Reverted to older version Download this version
Jerson Lizarazo 2 days ago Se actualizó Licencia Creative Commons 4.0 Download this version
Jerson Lizarazo 2 days ago Initial upload Download this version

Attached files

File Type Description Last updated
Cooperacion territorial - Municipio minero.png preview preview 2 days ago, by Jerson Lizarazo Download

This model does not have any ancestors.

This model does not have any descendants.