Tasa equivalente de superficie

Tasa equivalente de superficie preview image

1 collaborator

Default-person Luis García (Author)

Tags

agriculture 

Tagged by Luis García 12 months ago

agroecology 

Tagged by Luis García 12 months ago

ecology 

Tagged by Luis García 12 months ago

spanish 

Tagged by Luis García 12 months ago

Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.4.0 • Viewed 433 times • Downloaded 17 times • Run 0 times
Download the 'Tasa equivalente de superficie' modelDownload this modelEmbed this model

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


¿QUÉ ES?

Los policultivos son sistemas donde se siembran dos o mas cultivos en una misma parcela de tal manera que éstos interacutan en el tiempo y el espacio. Esta es una práctia agrícola que puede tener muchos beneficios con respecto a los monocultivos.

El criterio más utilizado para comparar el desempeño de un policultivo y un monocultivo es la tasa equivalente de superficie o LER (por sus siglas en ingles "Land Equivalent Ratio"; en estudios ecológicos también se conoce como "Relative Yield Total"). La tasa equivalente de superficie es una cantidad que representa la superficie relativa requerida de monocultivo para obtener la misma producción que en policultivo. Para dos cultivos ésta se define como:

LER = RY1 + RY2 = ( P1 / M1) + ( P2 / M2 )

donde RYi es la producción relativa del cultivo i que está dado por el cociente de Pi y Mi que son las producciones en policultivo y en monocultivo del cultivo i, respectivamente. Un LER > 1 indica un beneficio del policultivo, mientras que un valor de LER < 1 indica desventaja del policultivo.

Este modelo busca explorar el concepto de tasa equivalente de superficie así como distintos arrelgos espaciales de los policultivos.

¿CÓMO FUNCIONA?

En el modelo hay 4 distintas parcelas:

  1. monocultivo de maíz,
  2. monocultivo de frijol,
  3. policultivo y
  4. los monocultivos de maíz y frijo equivalentes a la producción en policultivo

El crecimiento individual de cada planta está dado por un crecimiento logístico y puede interactuar con las plantas vecinas en un radio dado. Las interacciones cuyo efecto se considera son: la competencia intraespecífica, competencia interespecífica y facilitación. La tasa de cambio de las plantas está dada por la siguiente ecuación:

dBi / dt = Bi * Ri ( 1 - ( Bi / Bmax,i) - aii Ni,r - aijNj,r + bijNj,r )

donde Bi es la biomasa de una planta de la especie i, Ri es la tasa de crecimiento de una planta de la especie i, Bmax,i es la biomasa máxima de una planta de la especie i, aii es el efecto negativo per cápita de un índividuo de la especie i sobre el crecimiento de una planta de la especie i (competencia intraespecífica), Ni,r es el número de vecinos de la especie i en un radio r de una planta, aij es el efecto negativo per cápita de un índividuo de la especie j sobre el crecimiento de una planta de la especie i (competencia interespecífica) y bij es el efecto positivo per cápita de un índividuo de la especie j sobre el crecimiento de una planta de la especie i (facilitación).

¿CÓMO UTILIZAR EL MODELO?

Arreglo espacial

Primero se debe elegir el arreglo espacial de las parcelas. Para ello se dan los siguientes parámetros:

  • distanciaentresurcosmonocultivomaiz: distancia entre dos surcos en el monocultivo de maíz
  • distanciaentreplantasmonocultivomaiz: distacia entre dos plantas en un mismo surco en el monocultivo de maíz
  • distanciaentresurcosmonocultivofrijol: distancia entre dos surcos en el monocultivo de frijol
  • distanciaentreplantasmonocultivofrijol: distancia entre dos plantas en un mismo surco en el monocultivo de frijol
  • arreglo: arreglo espacial del policultivo (mixto, por surcos, por franjas, milpa)
  • distanciaentresurcospolicultivomaiz: distancia entre dos surcos de maíz en el policultivo (este parámetro solo sirve para un arreglo por franjas)
  • distanciaentreplantaspolicultivomaiz: distancia entre dos plantas de maíz en un mismo surco en el policultivo
  • distanciaentresurcospolicultivofrijol: distancia entre dos surcos de frijol en el policultivo (este parámetro solo sirve para un arreglo por franjas)
  • distanciaentreplantaspolicultivofrijol: distancia entre dos plantas de frijol en un mismo surco en el policultivo
  • distanciaentresurcospolicultivomaiz_frijol: distancia entre dos surcos de distintas especies en el policultivo
  • franjasmaizpolicultivo: número de surcos que forman una franja de maíz en el policultivo (solo aplica para arreglo por franjas)
  • franjasfrijolpolicultivo: número de surcos que forman una franja de frijol en el policultivo (solo aplica para arreglo por franjas)

Interacciones ecológicas

Los parámetros de las interacciones ecológicas son los siguientes:

  • R_maiz: tasa de crecimiento de una planta de maiz (Ri)
  • R_frijol: tasa de crecimiento de una planta de frijol (Ri)
  • biomasa_maiz: biomasa máxima del maíz (Bmax,i)
  • biomasa_frijol: biomasa máxima del frijol (Bmax,i)
  • radio_interaccion: tamaño del radio r de interaccion de una planta (una planta interactua por igual con todas las plantas dentro de este radio)
  • competenciaintramaiz: es el efecto negativo per cápita de un índividuo de maíz sobre el crecimiento de otra planta de maíz (competencia intraespecífica; aii)
  • competenciaintrafrijol: es el efecto negativo per cápita de un índividuo de frijol sobre el crecimiento de otra planta de frijol (competencia intraespecífica; aii)
  • competenciainterfrijol_maiz: es el efecto negativo per cápita de un índividuo de maíz sobre el crecimiento de una planta de frijol (competencia interespecífica; aij)
  • facilitacionfrijolmaiz: efecto positivo per cápita de un índividuo de maíz sobre el crecimiento de una planta de frijol (facilitación, bij).
  • facilitacionmaizfrijol: efecto positivo per cápita de un índividuo de frijol sobre el crecimiento de una planta de maíz (facilitación, bij).

Calculo de LER

El parámetro ajustaradensidad_relativa? hace que los cálculos del LER se hagan con respecto a las densidades relativas de los cultivos. Así por ejemplo, si las plants se siembran en policultivo en una densidad de 100:50 de los monocultivos, entonces se usa como referencia un valor de LER de 1.5. Nota que este ajuste al interactuar con el efecto de las interacciones puede dar resultados contrainutitivos.

Escenarios de ejemplo

Los botones dan ejemplos de distintos escenarios de LER a través de modificar unicamente la intensidad de las interacciones. El botón de LER > 1; Ptotal < Mprom da un escenario donde a pesar de tener un LER mayor que 1 se tiene que la producción total en policultivo es mayor que la producción promedio de los monocultivos. Esto se da cuando el cultivo menos productivo en monocultivo (el frijol en este caso) es el que más se beneficia en el policultivo.

COSAS A NOTAR

Nota como el LER no necesariamente nos indica beneficios en la productividad del sistema.

Cuando el parámetro ajustaradensidad_relativa? está activo el LER de referencia se normaliza para representar 1 ha.

COSAS A INTENTAR

Dos aspectos determinan el desempeño de un policultivo con respecto al monocultivo: 1) la densidad de siembra y 2) el efecto de las interacciones ecológicas.

Como primera exploración sugerimos dejar fijas las densidades de las plantas (poner todos los parámetros de arreglo espacial en 1) y solo explorar el efecto de las interacciones. Para ello puedes explorar los distintos escenarios configurados en los botones.

La densidad de siembra es un factor puede dificultar las comparaciones entre sistemas. Comparar un sistema de sustitución y uno de adición puede generar resultados totalmente distintos. Lo que en la práctica generlmente se hace es comparar el policultivo contra el monocultivo más productivo. Modifica los parámetros de arreglo espacial para encontrar los monocultivos más productivos. ¿Cómo cambian los resultados? ¿Puedes encontrar policultivos que sigan teniendo beneficios en el LER y en la productividad frente a este monocultivo más productivo?

Una comparación más adecuada cuando no tenemos sistemas de sustitución (con desnidades relativas en policultivo de 50:50) es tomando como criterio de comparación no el LER = 1 si no que usar la suma de las densidades relativas como criterio. Activa la opción ajustar_a_densidad_relativa? para cambiar el criterio. Nota como el LER_referencia cuando las densidades no son 50:50 ahora ya no es 1. Nota algunos arreglos espaciales generan valores de LER extraños difíciles de interpetar. Por ejemplo, el arreglo milpa deja de tener beneficios si se cambia el criterio del LER (idealmente uno debería comparar el arreglo de milpa con monocultivo donde en cada sitio se siembran dos plantas juntas). Además nota que el LER es un criterio que no considera las interacciones ecológicas solo las producciones obtenidas entonces su interpretación en casos como este se dificulta.

CRÉDITOS Y REFERENCIAS

Para saber más sobre la tasa equivalente de superficie consultar:

  • Vandermeer, J. (1992). The ecology of intercropping (1. paperback ed). Cambridge Univ. Press.

Desarrollado por Luis Guillermo García.

Comments and Questions

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

Click to Run Model

breed [ campesinos campesino ]
breed [ plantas planta ]
breed [ etiquetas etiqueta ]

patches-own [ tipo numero_parcela numero_surco ]
plantas-own [
  especie
  biomasa
  etapa
  mi_parcela
]

globals [
  largo_parcela
  ancho_parcela
  separacion_parcela
  ;; cordenadas (x,y) de la esquina inferior izquierda de cada parcela
  x_parcela_1
  x_parcela_2
  x_parcela_3
  x_parcela_4
  x_parcela_5
  y_parcela_1
  y_parcela_2
  y_parcela_3
  y_parcela_4
  y_parcela_5

  produccion_policultivo_1
  produccion_monocultivo_1
  produccion_policultivo_2
  produccion_monocultivo_2
  produccion_monocultivo_equivalente_1
  produccion_monocultivo_equivalente_2

  densidad_monocultivo_1
  densidad_monocultivo_2
  densidad_policultivo_1
  densidad_policultivo_2

  densidad_relativa_maiz
  densidad_relativa_frijol
  LER_referencia

  delta_t
]

to INICIALIZAR
  clear-all
  set largo_parcela 10 ;; el numero de cuadros que la conforman es + 1
  set ancho_parcela 10 ;; el numero de cuadros que la conforman es + 1
  set separacion_parcela 1
  set delta_t 1

  set-default-shape campesinos "campesino"
  crear_parcelas
  poner_etiquetas

  create-campesinos 1 [ set color red set size 1.5 ]

  colorear_parches
  reset-ticks
end 

to crear_parcelas
  set x_parcela_1 1
  set y_parcela_1 4
  set x_parcela_2 x_parcela_1 + largo_parcela + separacion_parcela
  set y_parcela_2 4
  set x_parcela_3 x_parcela_2 + largo_parcela + separacion_parcela
  set y_parcela_3 4
  set x_parcela_4 x_parcela_3 + largo_parcela + separacion_parcela
  set y_parcela_4 4
  ask patches [ set tipo "NA" ]
  let numero_parches largo_parcela * ancho_parcela

  crear_parcela 1 x_parcela_1 y_parcela_1 numero_parches largo_parcela x_parcela_1
  crear_parcela 2 x_parcela_2 y_parcela_2 numero_parches largo_parcela x_parcela_2
  crear_parcela 3 x_parcela_3 y_parcela_3 numero_parches largo_parcela x_parcela_3
end 

to sembrar_planta [ especie_sembrar ]
  hatch-plantas 1 [
    set especie especie_sembrar
    set etapa "semilla"
    if especie = "maíz"   [ set biomasa 0.1 ]
    if especie = "frijol" [ set biomasa 0.1 ]
    dibujar_planta
  ]
end 

to dibujar_planta
  if etapa = "semilla" [
    set size 0.5
    if especie = "maíz" [ set shape "semilla-maiz" ]
    if especie = "frijol" [ set shape "semilla-frijol" ]
  ]
  if etapa = "madura" [
    set size biomasa
    if especie = "maíz" [ set shape "planta-maiz" set color lime]
    if especie = "frijol" [ set shape "planta-frijol" set color green ]
  ]
  if etapa = "cosechada" [
    set color yellow
  ]
end 

to limpiar_todo
  ask plantas [ die ]
end 

to sembrar_monocultivo_maiz
  ask plantas with [ numero_parcela = 1 ][ die ]
  let surcos_sembrar_planta round ( ( largo_parcela  ) / distancia_entre_surcos_monocultivo_maiz )
  sembrar_num_surcos 1 x_parcela_1 y_parcela_1 "maíz" distancia_entre_plantas_monocultivo_maiz distancia_entre_surcos_monocultivo_maiz surcos_sembrar_planta
end 

to sembrar_monocultivo_frijol
  ask plantas with [ numero_parcela = 2 ] [die]
  let surcos_sembrar_planta round ( ( largo_parcela ) / distancia_entre_surcos_monocultivo_frijol )
  sembrar_num_surcos 2 x_parcela_2 y_parcela_2 "frijol" distancia_entre_plantas_monocultivo_frijol distancia_entre_surcos_monocultivo_frijol surcos_sembrar_planta
end 

to sembrar_policultivo
  ask plantas with [ numero_parcela = 3 ] [die]
  if arreglo = "milpa" [
    let surcos_sembrar_planta round ( ( largo_parcela ) / distancia_entre_surcos_policultivo_maiz )
    sembrar_num_surcos 3 x_parcela_3 y_parcela_3 "maíz" distancia_entre_plantas_policultivo_maiz distancia_entre_surcos_policultivo_maiz surcos_sembrar_planta
    sembrar_num_surcos 3 x_parcela_3 y_parcela_3 "frijol" distancia_entre_plantas_policultivo_maiz distancia_entre_surcos_policultivo_maiz surcos_sembrar_planta
  ]
  if arreglo = "mixto" [
    let y_inicia_surco y_parcela_3
    let x_extra_1 0
    let x_extra_2 distancia_entre_plantas_policultivo_maiz
    while [ y_inicia_surco - y_parcela_3 < largo_parcela ] [
      sembrar_num_surcos 3 (x_parcela_3 + x_extra_1) y_inicia_surco "maíz" ( 2 * distancia_entre_plantas_policultivo_maiz ) distancia_entre_surcos_policultivo_maiz 1
      sembrar_num_surcos 3 (x_parcela_3 + x_extra_2) y_inicia_surco "frijol" ( 2 * distancia_entre_plantas_policultivo_maiz ) distancia_entre_surcos_policultivo_maiz 1
      ifelse x_extra_1 = 0 [ set x_extra_1 distancia_entre_plantas_policultivo_maiz ] [ set x_extra_1 0 ]
      ifelse x_extra_2 = 0 [ set x_extra_2 distancia_entre_plantas_policultivo_maiz ] [ set x_extra_2 0 ]
      set y_inicia_surco y_inicia_surco + distancia_entre_surcos_policultivo_maiz
    ]
  ]
  if arreglo = "surcos" [
    let surcos_sembrar_planta round (( largo_parcela / distancia_entre_surcos_policultivo_maiz_frijol ) / 2)
    sembrar_num_surcos 3 x_parcela_3 y_parcela_3 "maíz" distancia_entre_plantas_policultivo_maiz ( distancia_entre_surcos_policultivo_maiz_frijol * 2 ) surcos_sembrar_planta
    sembrar_num_surcos 3 x_parcela_3 (y_parcela_3 + distancia_entre_surcos_policultivo_maiz_frijol) "frijol" distancia_entre_plantas_policultivo_frijol ( distancia_entre_surcos_policultivo_maiz_frijol * 2 ) surcos_sembrar_planta

  ]
  if arreglo = "franjas" [
    let y_inicia_franja y_parcela_3
    while [ y_inicia_franja - y_parcela_3 < largo_parcela ] [
      sembrar_num_surcos 3 x_parcela_3 y_inicia_franja "maíz" distancia_entre_plantas_policultivo_maiz distancia_entre_surcos_policultivo_maiz franjas_maiz_policultivo
      set y_inicia_franja y_inicia_franja + (( franjas_maiz_policultivo - 1) * distancia_entre_surcos_policultivo_maiz ) + distancia_entre_surcos_policultivo_maiz_frijol
      sembrar_num_surcos 3 x_parcela_3 y_inicia_franja "frijol" distancia_entre_plantas_policultivo_frijol distancia_entre_surcos_policultivo_frijol franjas_frijol_policultivo
      set y_inicia_franja y_inicia_franja + (( franjas_frijol_policultivo - 1) * distancia_entre_surcos_policultivo_frijol ) + distancia_entre_surcos_policultivo_maiz_frijol
    ]
  ]

  set densidad_relativa_maiz count plantas with [ especie = "maíz" and numero_parcela = 3] / count plantas with [ especie = "maíz" and numero_parcela = 1]
  set densidad_relativa_frijol count plantas with [ especie = "frijol" and numero_parcela = 3] / count plantas with [ especie = "frijol" and numero_parcela = 2]
  set LER_referencia densidad_relativa_maiz + densidad_relativa_frijol
end 

to sembrar_num_surcos [ num_parcela corx_inicio cory_inicio especie_sembrar distancia_entre_plantas distancia_entre_surcos num_surcos ]
  let surcos_sembrados 0
  let cory cory_inicio
  ask campesinos [
    set heading 90
    while [ surcos_sembrados < num_surcos ] [
      if cory > max-pycor [ user-message "No se pudo sembrar toda lo que se requería. La simulación continuará solo con la cantidad de semilla que se sembró." stop  ]
      setxy corx_inicio cory
      while [ xcor - corx_inicio < largo_parcela]
      [ if numero_parcela = num_parcela [ sembrar_planta especie_sembrar ]
        fd distancia_entre_plantas
        if mostrar_animaciones? [ display ]
      ]
      set cory cory + distancia_entre_surcos
      set surcos_sembrados surcos_sembrados + 1
    ]
  ]
end 

to crecer
  if not any? plantas with [ numero_parcela = 1 ] or not any? plantas with [ numero_parcela = 2 ][
    user-message "No hay nada para crecer... no se ha sembrado nada. Da click primero en SEMBRAR."
    stop
  ]

  repeat 30 [
    ask plantas [
      (ifelse
        especie = "maíz" [
          let competencia_intra competencia_intra_maiz * count other plantas in-radius radio_interaccion with [ especie = "maíz" ]
          let competencia_inter ifelse-value numero_parcela = 3 [ competencia_inter_maiz_frijol * count other plantas in-radius radio_interaccion with [ especie = "frijol" ] ][ 0 ]
          let facilitacion ifelse-value numero_parcela = 3 [ facilitacion_maiz_frijol * count other plantas in-radius radio_interaccion with [ especie = "frijol" ]][ 0 ]
          set biomasa biomasa + delta_t * ( biomasa * R_maiz * ( 1 - ( biomasa / biomasa_maiz) - competencia_intra - competencia_inter  + facilitacion ) )
          set etapa "madura"
        ]
        especie = "frijol" [
          let competencia_intra competencia_intra_frijol * count other plantas in-radius radio_interaccion with [ especie = "frijol" ]
          let competencia_inter ifelse-value numero_parcela = 3 [ competencia_inter_frijol_maiz * count other plantas in-radius radio_interaccion with [ especie = "maíz" ]] [ 0 ]
          let facilitacion ifelse-value numero_parcela = 3 [ facilitacion_frijol_maiz * count other plantas in-radius radio_interaccion with [ especie = "maíz" ]] [ 0 ]
          set biomasa biomasa + delta_t * ( biomasa * R_frijol * ( 1 - ( biomasa / biomasa_frijol) - competencia_intra - competencia_inter  + facilitacion ) )
          set etapa "madura"
        ]
      )
    ]

    set produccion_monocultivo_1 sum [ biomasa ] of plantas with [ numero_parcela = 1 ]
    set produccion_policultivo_1 sum [ biomasa ] of plantas with [ numero_parcela = 3 and especie = "maíz" ]
    set produccion_monocultivo_2 sum [ biomasa ] of plantas with [ numero_parcela = 2 ]
    set produccion_policultivo_2 sum [ biomasa ] of plantas with [ numero_parcela = 3 and especie = "frijol" ]
    set produccion_monocultivo_equivalente_1 sum [ biomasa ] of plantas with [ numero_parcela = 4 ]
    set produccion_monocultivo_equivalente_2 sum [ biomasa ] of plantas with [ numero_parcela = 5 ]
    ask plantas [ set etapa "madura" dibujar_planta ]

    tick

    inicializar_grafica_RY
    graficar_RYs
  ]
end 

to crear_monocultivos_equivalentes

  if produccion_monocultivo_1 = 0 and produccion_monocultivo_2 = 0
  [ user-message "Antes de crear los monocultivos equivalentes los cultivos deben crecer para obtener las producciones. Da click en CRECER." stop ]

  ask plantas with [ numero_parcela = 4 or numero_parcela = 5 ] [die]
  ask patches with [ numero_parcela = 4 or numero_parcela = 5 ] [ set tipo "NA"  set numero_parcela 0]

  let num_parches_parcela_4 0
  ifelse ajustar_a_densidad_relativa? [
    set num_parches_parcela_4 round (((RY produccion_monocultivo_1 produccion_policultivo_1) / LER_referencia ) * 100)
  ][
    set num_parches_parcela_4 round (((RY produccion_monocultivo_1 produccion_policultivo_1) ) * 100)
  ]
  crear_parcela 4 x_parcela_4 y_parcela_4 num_parches_parcela_4 largo_parcela x_parcela_4

  set y_parcela_5 max [pycor] of patches with [ numero_parcela = 4 ]
  set x_parcela_5 max [pxcor] of patches with [ numero_parcela = 4 and pycor = y_parcela_5 ] + 1

  let num_parches_parcela_5 0
  ifelse ajustar_a_densidad_relativa? [
    set num_parches_parcela_5 round (((RY produccion_monocultivo_2 produccion_policultivo_2) / LER_referencia ) * 100)
  ][
    set num_parches_parcela_5 round (((RY produccion_monocultivo_2 produccion_policultivo_2)) * 100)
  ]

  crear_parcela 5 x_parcela_5 y_parcela_5 num_parches_parcela_5 largo_parcela x_parcela_4

  ;; etiquetar parcela
  create-turtles 1 [
    setxy 43 3
    set shape "NA"
    let RY1 ifelse-value ajustar_a_densidad_relativa? [ precision ((RY produccion_monocultivo_1 produccion_policultivo_1) / LER_referencia) 2 ][ (RY produccion_monocultivo_1 produccion_policultivo_1)]
    let RY2 ifelse-value ajustar_a_densidad_relativa? [ precision ((RY produccion_monocultivo_2 produccion_policultivo_2) / LER_referencia) 2 ][ (RY produccion_monocultivo_2 produccion_policultivo_2)]
    let HA ifelse-value ajustar_a_densidad_relativa? [ precision ((LER produccion_monocultivo_1 produccion_policultivo_1 produccion_monocultivo_2 produccion_policultivo_2) / LER_referencia) 2 ][ (LER produccion_monocultivo_1 produccion_policultivo_1 produccion_monocultivo_2 produccion_policultivo_2) ]
    set label ( word "Monocultivo maíz (" RY1 " ha) \nMonocultivo frijol ( " RY2 " ha) \nSuperficie total = " HA " ha" )
    set label-color black
  ]

  colorear_parches
  sembrar_monocultivo_equivalente_1
  sembrar_monocultivo_equivalente_2

  crecer
end 

to sembrar_monocultivo_equivalente_1
  ask plantas with [ numero_parcela = 4 ] [die]
  let surcos_sembrar_planta round(( largo_parcela / distancia_entre_surcos_monocultivo_maiz ) * (RY produccion_monocultivo_1 produccion_policultivo_1)) + 2
  sembrar_num_surcos 4 x_parcela_4 y_parcela_4 "maíz" distancia_entre_plantas_monocultivo_maiz distancia_entre_surcos_monocultivo_maiz surcos_sembrar_planta
end 

to sembrar_monocultivo_equivalente_2
  ask plantas with [ numero_parcela = 5 ] [die]
  let surcos_sembrar_planta round(( largo_parcela / distancia_entre_surcos_monocultivo_frijol ) * (RY produccion_monocultivo_2 produccion_policultivo_2)) + 2
  sembrar_num_surcos 5 x_parcela_4 y_parcela_5 "frijol" distancia_entre_plantas_monocultivo_frijol distancia_entre_surcos_monocultivo_frijol surcos_sembrar_planta
end 

to crear_parcela [ num_parcela x_inicial y_inicial num_parches longitud_parcela x_extremo ]
  let contador_parches_creados 0
  let contador_surcos_creados 1
  let corx x_inicial
  let cory y_inicial
  let coninuar_creacion true
  while [ contador_parches_creados < num_parches and coninuar_creacion ][
    while [ corx - x_extremo + 1 <= longitud_parcela and contador_parches_creados < num_parches ][
      let celda patch corx cory
      ifelse celda != nobody [
        ask celda [ set tipo "monocultivo" set numero_parcela num_parcela set numero_surco contador_surcos_creados ]
      ][
        user-message "El espacio necesario para crear los monocultivos equivlentes es mayor al que se puede mostrar en la simulación. La simulación continuará sin considerar ese espacio."
        set coninuar_creacion false
        stop
      ]
      set contador_parches_creados contador_parches_creados + 1
      set corx corx + 1
    ]
    set cory cory + 1
    set contador_surcos_creados contador_surcos_creados + 1
    set corx x_extremo
  ]
end 

to-report RY [ M Y ]
  report precision ( Y / M ) 2
end 

to-report LER [ M1 Y1 M2 Y2 ]
  report precision (( RY M1 Y1 ) + ( RY M2 Y2 )) 2
end 

to graficar_RYs
  set-current-plot "producción relativa"
  set-current-plot-pen "RYs"
  plotxy ( RY produccion_monocultivo_1 produccion_policultivo_1) ( RY produccion_monocultivo_2 produccion_policultivo_2)
end 

to inicializar_grafica_RY
  let max_cor 1.5
  set-current-plot "producción relativa"
  clear-plot
  set-current-plot-pen "LER=1"
  plot-pen-up
  ifelse ajustar_a_densidad_relativa? [
    plotxy (densidad_relativa_maiz * 2) 0
    plot-pen-down
    plotxy 0 (densidad_relativa_frijol * 2)
  ] [
    plotxy 1 0
    plot-pen-down
    plotxy 0 1
  ]
  ;; referencias
  create-temporary-plot-pen "rel-1"
  set-plot-pen-color gray + 2
  ifelse ajustar_a_densidad_relativa? [
    plotxy densidad_relativa_maiz 0
    plot-pen-down
    plotxy densidad_relativa_maiz max_cor
  ][
    plotxy 0.5 0
    plot-pen-down
    plotxy 0.5 max_cor
  ]
  create-temporary-plot-pen "rel-2"
  set-plot-pen-color gray + 2
  ifelse ajustar_a_densidad_relativa? [
    plotxy 0 densidad_relativa_frijol
    plot-pen-down
    plotxy max_cor densidad_relativa_frijol
  ][
    plotxy 0 0.5
    plot-pen-down
    plotxy max_cor 0.5
  ]
  set-plot-x-range 0 max_cor
  set-plot-y-range 0 max_cor
end 

to colorear_parches
  ask patches [ set pcolor green + 2 ]
  ask patches with [ tipo = "monocultivo" or tipo = "policultivo" ][
    ifelse numero_surco mod 2 = 0
    [ set pcolor brown + 1 ]
    [ set pcolor brown + 1.5 ]
  ]
end 

to poner_etiquetas
  let x_cors [ 10 21 32 ]
  let y_cors [ 2 2 2 ]
  let labs ["Monocultivo maíz (1 ha)" "Monocultivo frijol (1 ha)" "Policultivo (1 ha)"]
  (foreach x_cors y_cors labs [
    [x y lab ] ->
    create-turtles 1 [
      setxy x y
      set shape "NA"
      set label lab
      set label-color black
    ]
    ]
  )
end 

There is only one version of this model, created 12 months ago by Luis García.

Attached files

File Type Description Last updated
Tasa equivalente de superficie.png preview Preview for 'Tasa equivalente de superficie' 12 months ago, by Luis García Download

This model does not have any ancestors.

This model does not have any descendants.