NBSINFRA Cologne

NBSINFRA Cologne preview image

1 collaborator

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by the author
Model was written in NetLogo 3D 6.4.0 • Viewed 30 times • Downloaded 2 times • Run 0 times
Download the 'NBSINFRA Cologne' modelDownload this modelEmbed this model

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


WHAT IS IT?

(a general understanding of what the model is trying to show or explain)

HOW IT WORKS

(what rules the agents use to create the overall behavior of the model)

HOW TO USE IT

(how to use the model, including a description of each of the items in the Interface tab)

THINGS TO NOTICE

(suggested things for the user to notice while running the model)

THINGS TO TRY

(suggested things for the user to try to do (move sliders, switches, etc.) with the model)

EXTENDING THE MODEL

(suggested things to add or change in the Code tab to make the model more complicated, detailed, accurate, etc.)

NETLOGO FEATURES

(interesting or unusual features of NetLogo that the model uses, particularly in the Code tab; or where workarounds were needed for missing features)

RELATED MODELS

(models in the NetLogo Models Library and elsewhere which are of related interest)

CREDITS AND REFERENCES

(a reference to the model's URL on the web if it has one, as well as any other necessary credits, citations, and links)

Comments and Questions

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

Click to Run Model

globals
[
   meander_rec_rate ;variable to regulate the meander footprint and the NBS of meander reconstruction

   ;; soil water retention variables ;;
   soil_humidity
   soil_suction ; related to soil humidity

   ;; vegetation variables ;;
   ntree_num  ; number of patches with trees of naturally green areas
   nshrub_num ; number of patches with shrubs of naturally green areas
   nveg_ratio ; ratio of trees over shrubs of naturally green areas
   fshrub_num ; number of patches with vegetation of fluvial areas
   utree_num  ; number of patches with trees of urban green areas
   ushrub_num ; number of patches with shrubs of urban green areas
   uveg_ratio ; ratio of trees over shrubs of urban green areas

   flora ; IVI, composite index to monitor the diversity and density of flora species
   veg_cover ; ratio between vegetation elements (vgts) and total area (patches)
   ideal_veg ; intial IVI at tick 0, estimated at 79.33 for woody plants in urban green spaces by Muthulingam & Thangavel, 2012
   current_regeneration_rate ; the regeneration rate of every tick, as defined by soil humidity and fertility
   sfi ; soil fertility index calculated as: SFI= organic C% + pH adjusted from Panwar et al. 2011
   ideal_sfi ;  soil fertility index for min carbon content 5% and max soil acidity 6.0
   vegetation   ; composite index to monitor the condition of the flora and the soil fertility

   ;; biodiversity variables ;;
   flora_diversity ; Shannon's divesity index (H') -Σp*lnp (Morris et al. 2014) at the beginning of the simulation
   fl_d ; Shannon's divesity index (H') at every tick
   fauna_diversity ; correlated to flora_diversity and soil quality according to Qian 2007
   fn_d ; fauna diversity at every tick
   ideal_biodiversity ; ideal biodiversity value calculated at the begginging of the run
   biodiversity ; total biodiversity performance index assessed in every tick

   ;; economic variables ;;
   std_socioeconomic ; base case of socio-economic index at the setup of the run
   socioeconomic ; assessed socioeconomic index in every tick

   ;; BUTTONS, SWITCHES AND SLIDERS ;;
   ; meander_reconstruction ; NBS alternative defined by end-user
      ; menader_rec_type ; [moderate, extensive] chooser (qualitative) to determine the extent of the meander reconstruction
   ; riparian_revegetation ; NBS alternative defined by end-user
      ; rip_reveg_rate ; [0,1,2] variable to define the intensity of riparian revegatation (intervention)
   ; tree_planting ; NBS alternative defined by end-user
      ; tree_plant_rate ; [10-30%] variable to define the intensity of tree planting (intervention)
   ; drought? ; switch to start the procedure of drought
      ; drought_duration ; user-defined varaible for the duration of the drought
   ; flood? ; switch to start the procedures of flood
      ; flood_intensity ; 0, 1, 2 and 3 defines the size of flooded area
]

breed [nvgts nvgt]
breed [fvgts fvgt]
breed [uvgts uvgt]
breed [anms anm]

patches-own
[
  is-natural?  ;whether a patch represents natural surface
  is-paved?    ;whether a patch represents paved surface
  is-agric?    ;whether a patch represents agricultural land
  atmosphere?  ;whether a patch represents atmospheric volume

  ; related to soil water retention
  surface      ; composite index of surface characterisitcs (LID BMP parameter)
               ; storage depth/berm height/barrel height, vegetation volume, surface roughness, surface slope
  soil         ; composite index of soil characterisitcs (LID BMP parameter)
               ; wilting point, humidity
  soil_water_retention ; index combining both the surfance and soil indices
  surface_roughness; 0.1 for soil and different vegetation roughness
  ideal_roughness; 0.1 for RG
  vegetation_volume ; average size of vegetation agents in radius 3 of the examined patch
  ideal_vegetation_volume ;5/100 for RG
  ideal_soil_humidity; 0.32 /32% for normal clay (Minnesota Stormwater Manual, 2022)
  s_h; soil humidity of patches
  max_soil_humidity; 0.45 for average normal clay
  wilting_point; 0.20 minimum amount of water in the soil that the plant requires not to wilt
  min_wilting_point; 0.15 for normal clay (Minnesota Stormwater Manual, 2022)
  ideal_soil_suction ; max soil suction for 32% relative humidity in 25oC

  ; related to vegetation
  organic_content; percnetage of organic material in soil, necessary for the vegetation

  ; related to air quality - cooling due to shading and evapotranspiration and reduction of the pollution levels
  cooling ; percentage of air patches with reduced temperature * mean temperature reduction
  cool_dif ; absolute mean temperature difference during daytime determined by Kim et al. 2024

  ; related to socioeconomic ecosystem
  s-e_pro ; index for the socioeconomic productivity per land use (agriculture, urban, green spaces)
  s-e
  attractiveness ; index for socio-economic attractiveness per land use
  att

]

turtles-own
[
  ; related to flora health condition
  plants_condition ; composite index comprising the flora population diversity and regeneration
                   ; density, frequency, abandance and importance value as well as the natural regeneration rate

]

to setup
  clear-all
  import-pcolors "Background and contours.png"
  setup-model
  setup-NBS_conditions
  setup-vegetation
  setup-soil-water-retention
  setup-biodiversity
  setup-socioeconomic
  reset-ticks
end 

to go
  assess-soil-water-retention
  assess-vegetation
  assess-biodiversity
  assess_socioeconomic
  if drought?
     [drought]
  if flood? = true and drought? = false
    [flood
     retain_water]

  regenerate_trees

  tick

  if ticks >= 25
    [stop]
end 

;;; SETUP PROCEDURES ;;;  SETUP PROCEDURES ;;;  SETUP PROCEDURES ;;;

to setup-model
  ;;; setup green areas ;;;
  ask patches with [pcolor >= 57.0 and pcolor < 58]
    [set pcolor green
     set is-natural? true]
  ask patches with [pcolor = green]
     [set organic_content 50
      set is-paved? false
      set atmosphere? false]

  ask patches with [pcolor >= 58 and pcolor <= 69]
    [set pcolor 57
     set is-natural? true]
  ask patches with [pcolor != 57 or pcolor != cyan]
    [if count neighbors4 with [pcolor = 57 or pcolor = cyan] >= 3
      [set pcolor 57
       set is-natural? true]]
  ask patches with [pcolor = 57]
      [set is-paved? false
       set atmosphere? false
       set organic_content 36]

 ;;; setup permeable productive land ;;;
 ask patches with [pcolor >= 39 and pcolor <= 40 and pycor > 10]
    [set pcolor 37
     set is-natural? true]
 ask patches with [pcolor != 37]
    [if count neighbors4 with [pcolor = 37] >= 3
      [set pcolor 37
       set is-natural? true]]
 ask patches with [pcolor = 37]
    [set is-paved? false
     set atmosphere? false
     set is-agric? true
     set organic_content 60]

  ;;; setup fluvial areas ;;;
  ask patches with [pcolor >= 75.0 and pcolor < 110]
    [set pcolor cyan
     set atmosphere? false
     set is-natural? true]
  ;;;;;; specific exceptions ;;;;;
  ask patches with [pxcor >= -44 and pxcor <= -39 and pycor = 30 and pzcor = 0]
    [set pcolor cyan
     set atmosphere? false
     set is-natural? true]

  ask (patch-set patch -51 24 0 patch -50 25 0 patch -49 26 0 patch -48 27 0 patch -47 28 0 patch -45 30 0
                 patch -53 22 0 patch -54 21 0 patch -55 20 0 patch -55 19 0 patch -57 17 0
                 patch -37 31 0 patch -36 32 0 patch -35 33 0 patch -34 32 0 patch -33 32 0 patch -32 31 0 patch -31 31 0)
      [set pcolor cyan
       set is-natural? true]

  ask patches with [pcolor = cyan]
    [set organic_content 60]

  ;;; setup built environment ;;;
  ask patches with [pzcor = 0 and is-natural? != true]
    [set pcolor 8
     set is-paved? true
     set is-natural? false
     set atmosphere? false
     set organic_content 5]

  ask patches with [pcolor = 8]
    [if count neighbors4 with [pcolor = green or pcolor = cyan] >= 3
      [set pcolor green
       set is-natural? true
       set organic_content 50]]

  ask patches with [pcolor = 0]
    [set is-natural? true
     set atmosphere? true]
end 

to setup-vegetation

  ;;; Natural green ;;;
  set ntree_num 60
  set nshrub_num ntree_num
  set nveg_ratio 2
  let ntrees n-of ntree_num patches with [pcolor = green]
  ask ntrees
    [sprout-nvgts 1 [set color green
                     set zcor size
                     set shape "circle"
                     set size (random-normal 0.719 0.10) ]] ;updated standard deviation of forest zone's plants (Louma et al. 2017)
  ask ntrees
    [let nshrubs n-of nshrub_num other patches with [pcolor = green]
     ask nshrubs
         [sprout-nvgts nveg_ratio [set color green
                                   set shape "circle"
                                   set size (random-normal 0.24 0.40)
                                   set zcor size + 0.3
                                   forward 0.5]]]

  ;;; Fluvial green ;;;
  set fshrub_num 3
  let fshrubs patches with [pcolor = cyan]
  ask fshrubs
     [sprout-fvgts fshrub_num [set color cyan
                               set shape "circle"
                               set size (random-normal 0.24 0.40) ;updated standard deviation of riparian zone's plants (Arif et al. 2021)
                               set zcor size + 0.3
                               forward random-float 0.5]]

  ;;; Urban green ;;;
  set utree_num 50
  set ushrub_num utree_num
  set uveg_ratio 2
  let utrees n-of utree_num patches with [pcolor = 57]
  ask utrees
    [sprout-uvgts 1 [set color green
                     set zcor size
                     set shape "circle"
                     set size (random-normal 0.719 0.50) ]] ; sd (Luoma et al 2017)

 ask utrees
    [let ushrubs n-of ushrub_num other patches with [pcolor = 57]
     ask ushrubs
         [sprout-nvgts uveg_ratio [set color green
                                   set shape "circle"
                                   set size (random-normal 0.24 0.20)
                                   set zcor size + 0.3
                                   forward random-float 0.5]]]
 ;;; Tree Planting
    set_tree_planting


 ;;; Agricultural land ;;;
end 

to setup-NBS_conditions

 ;; Meander Reconstruction
 if meander_reconstruction = true and meander_rec_type = "moderate"
  [set meander_rec_rate 2
   ask patches with [pcolor = 55 or pcolor = 57 ]
    [if count neighbors4 with [pcolor = cyan] >= meander_rec_rate
      [set pcolor cyan
       set is-natural? true]] ]

 if meander_reconstruction = true and meander_rec_type = "extensive"
  [set meander_rec_rate 2
   ask patches with [pcolor != 55 or pcolor != cyan ]
    [if count neighbors4 with [pcolor = cyan] >= meander_rec_rate
      [set pcolor cyan
       set is-natural? true]] ]

  ;;; Riparian Revegetation
  if riparian_revegetation = false
    [set fshrub_num 3]

  if riparian_revegetation = true and rip_reveg_rate = 0
    [ask patches with [pcolor = cyan]
       [sprout-fvgts 1 [forward 0.2]] ]
  if riparian_revegetation = true and rip_reveg_rate = 1
    [ask patches with [pcolor = cyan]
       [sprout-fvgts 3 [set size (random-normal 0.48 1.05)  ;standard deviation for riparian zone (Arif et al. 2021)                        set zcor size + 0.3
                        forward (random-normal 0.04 0.06)]]]
  if riparian_revegetation = true and rip_reveg_rate = 2
    [ask patches with [pcolor = cyan]
       [sprout-fvgts 6 [set size (random-normal 0.48 1.7) ;double standard deviation due to controlled species selection
                        set zcor size + 0.3
                        forward (random-normal 0.1 0.1)]] ]
  ask fvgts [set color cyan
             set shape "circle"
             set size (random-normal 0.40 0.80) ;standard deviation for riparian zone (Arif et al. 2021)
             set zcor size + 0.3
             forward random-float 0.5]
end 

to set_tree_planting

  if tree_planting = true
      [let u_trees count uvgts with [size >= 0.5]
       ask n-of (u_trees * (tree_plant_rate / 100)) uvgts with [size < 0.7]
                   [set size (random-normal 0.36 1.20)]
      let n_trees count nvgts with [size >= 0.5]
       ask n-of (n_trees * (tree_plant_rate / 100)) nvgts with [size < 0.7]
                   [set size (random-normal 0.5 1.20)]]
end 

to setup-soil-water-retention
ask patches with [atmosphere? = false]
  [set ideal_vegetation_volume 0.05
   set ideal_roughness 0.1
   set ideal_soil_humidity 0.32
   set s_h ideal_soil_humidity
   set soil_humidity mean [s_h] of patches with [pzcor = 0]
   set max_soil_humidity 0.40
   set min_wilting_point 0.15
   set ideal_soil_suction -0.00001 * ((8.314 * 298)/ 1 * 18.016) * ln(0.32)]

ifelse soil_humidity != 0
  [set soil_suction -0.00001 * ((8.314 * soil_temperature)/ 1 * 18.016) * ln(soil_humidity)]
  [set soil_suction -0.00001 * (8.314 * soil_temperature)/ 1 * 18.016 ]

 ask patches with [pzcor = 0]
    [ifelse any? turtles-here
      [set vegetation_volume mean [size] of turtles in-radius 1]
      [set vegetation_volume 0]]

 ask patches
     [ifelse vegetation_volume > 0.001
        [set surface_roughness vegetation_volume ]
        [set surface_roughness 0.10]  ]
end 

to setup-biodiversity

   ask (turtles)
       [let diversity_1 (count nvgts with [size <= 0.30] / count nvgts) ; Shannon's divesity index (H') in Morris et al. 2014
        let diversity_2 (count nvgts with [size > 0.30] / count nvgts)
        let diversity_3 (count fvgts / count fvgts)
        let diversity_4 (count uvgts with [size <= 0.70] / count uvgts)
        let diversity_5 (count uvgts with [size > 0.70] / count uvgts)

        set flora_diversity -1 * diversity_1 * ln diversity_1 + -1 * diversity_2 * ln diversity_2 +
                            -1 * diversity_3 * ln diversity_3 + -1 * diversity_4 * ln diversity_4 +
                            -1 * diversity_5 * ln diversity_5]

   set fauna_diversity (flora_diversity * 0.80) + (2.43 * 0.20) ; 4.43 calculated mean soil fertility at the ideal beginning
   set ideal_biodiversity flora_diversity + fauna_diversity
end 

to setup-socioeconomic

  ask patches with [is-agric? = true]
      [set s-e_pro (soil / 2) + 3 ; 3:equivalent of economic production
       set attractiveness NBS_attractiveness / 3]

  ask patches with [pcolor = green]
      [set s-e_pro (soil + ideal_biodiversity)
       set attractiveness NBS_attractiveness]

  ask patches with [pcolor = 57]
      [set s-e_pro (surface + soil + ideal_biodiversity) + 1 ;1:equivalent of economic production
       set attractiveness NBS_attractiveness * 2]

  ask patches with [pcolor = cyan]
      [set s-e_pro (surface + soil + ideal_biodiversity)
       set attractiveness NBS_attractiveness * 2]

  ask patches with [is-paved? = true]
      [set s-e_pro (surface + ideal_biodiversity) + 2 ;2:equivalent of economic production
       set attractiveness NBS_attractiveness]

  set std_socioeconomic mean [s-e_pro + attractiveness] of patches
end 


;;; ASSESSMENT PROCEDURES ;;;  ASSESSMENT PROCEDURES ;;;  ASSESSMENT PROCEDURES ;;;

to assess-soil-water-retention

  ask patches with [ideal_vegetation_volume > 0]
       [set surface (((vegetation_volume - ideal_vegetation_volume)/ ideal_vegetation_volume) / 2 +
                     ((surface_roughness - ideal_roughness) / ideal_roughness) / 2 ) * 100

        set soil (((max_soil_humidity - s_h) / ideal_soil_humidity) / 3 +
                  ((s_h - min_wilting_point ) / min_wilting_point) / 3 +
                  ((soil_suction) / ideal_soil_suction) / 3 ) * 100 ]

  ask patches
    [set soil_water_retention (surface / 2) + (soil / 2)]
end 

to assess-vegetation

  ask patches with [atmosphere? = false]
    [ifelse organic_content > 1 ;and soil_humidity > 0 min_wilting_point and soil_humidity < max_soil_humidity
       [set sfi (organic_content / 100) + (soil_humidity / min_wilting_point) + (max_soil_humidity / soil_humidity)] ;average soil pH at 6.5
       [set sfi 0]
     set ideal_sfi 21.785 + (60 / 30) + (45 / 30)] ;21.785 :mean [organic_content] of patches of the ground

     set veg_cover count (turtle-set nvgts fvgts uvgts) / count patches with [pzcor = 0]

  if ticks = 1
     [set ideal_veg count patches with [is-natural? ] * 3 / count patches with [pzcor = 0] ]
   if ideal_veg > 0 ;; set a standard ideal_veg for this type of city
     [set flora (veg_cover - ideal_veg) / ideal_veg] ;

   ;if sfi > 0 and soil_humidity > 0.20
   ;    [set current_regeneration_rate ((organic_content / 20) * regeneration_rate +  regeneration_rate)]

   let sfi_perf (sfi - ideal_sfi / ideal_sfi)
   set vegetation flora + sfi_perf
end 

to assess-biodiversity

  ask (turtles)
       [let diversity_1 (count nvgts with [size <= 0.20] / count nvgts) ; Shannon's divesity index (H') in Morris et al. 2014
        let diversity_2 (count nvgts with [size > 0.20 and size <= 0.30] / count nvgts)
        let diversity_3 (count nvgts with [size > 0.30 and size <= 0.50] / count nvgts)
        let diversity_4 (count nvgts with [size > 0.50 and size <= 0.70] / count nvgts)
        let diversity_5 (count nvgts with [size > 0.70] / count nvgts)
        let diversity_6 (count fvgts with [size <= 0.30] / count fvgts)
        let diversity_7 (count fvgts with [size > 0.30] / count fvgts)
        let diversity_8 (count uvgts with [size <= 0.40] / count uvgts)
        let diversity_9 (count uvgts with [size > 0.40] / count uvgts)

        set fl_d -1 * diversity_1 * ln diversity_1 + -1 * diversity_2 * ln diversity_2 +
                 -1 * diversity_3 * ln diversity_3 + -1 * diversity_4 * ln diversity_4 +
                 -1 * diversity_5 * ln diversity_5 + -1 * diversity_6 * ln diversity_6 +
                 -1 * diversity_7 * ln diversity_7 + -1 * diversity_8 * ln diversity_8 +
                 -1 * diversity_9 * ln diversity_9]

  set fn_d (fl_d * 0.80) + (mean [soil] of patches * 0.20)
  set biodiversity ((fl_d + fn_d) - ideal_biodiversity ) / ideal_biodiversity
end 

to assess_socioeconomic

  ask patches with [is-agric? = true]
      [set s-e (soil / 2) + 3 ; 3:equivalent of economic production
       set att NBS_attractiveness / 3]

  ask patches with [pcolor = green]
      [set s-e (soil / 2  + ideal_biodiversity)
       set att NBS_attractiveness]

  ask patches with [pcolor = 57]
      [set s-e (surface / 2 + soil / 2  + ideal_biodiversity) + 1 ;1:equivalent of economic production
       set att NBS_attractiveness * 2]

  ask patches with [pcolor = cyan]
      [set s-e (surface / 2 + soil / 2  + ideal_biodiversity)
       set att NBS_attractiveness * 2]

  ask patches with [is-paved? = true]
      [set s-e (surface / 2 + ideal_biodiversity) + 2 ;2:equivalent of economic production
       set att NBS_attractiveness]

  set socioeconomic (mean [s-e + att] of patches - std_socioeconomic) / std_socioeconomic
end 

;;; NORMAL PROCEDURES ;;; NORMAL PROCEDURES ;;;  NORMAL PROCEDURES ;;;

to regenerate_trees

  ask n-of random 6 nvgts
       [die]

  ask n-of random 6 uvgts
       [die]

  ask n-of random 6 fvgts
       [die]

  ask n-of 10 patches with [pcolor = green and soil_humidity < max_soil_humidity and soil_humidity > min_wilting_point]
      [sprout-nvgts 1 * ((max_soil_humidity - soil_humidity) / ideal_soil_humidity)
        [set color green
         set shape "circle"
         set size (random-normal 0.24 0.03)
         set zcor size + 0.3]]

  ask n-of 10 patches with [pcolor = 57 and soil_humidity < max_soil_humidity and soil_humidity > min_wilting_point]
      [sprout-uvgts 1 * ((max_soil_humidity - soil_humidity) / ideal_soil_humidity)
        [set color green
         set shape "circle"
         set size (random-normal 0.24 0.03)
         set zcor size + 0.3]]

  ask n-of 10 patches with [pcolor = cyan and soil_humidity < max_soil_humidity and soil_humidity > min_wilting_point]
      [sprout-fvgts 1 * ((max_soil_humidity - soil_humidity) / ideal_soil_humidity)
         [set color cyan
          set shape "circle"
          set size (random-normal 0.24 0.03)
          set zcor size + 0.3]]
end 

to retain_water

if flood? = false
  [ask patches with [pzcor = 0]
   [if any? patches with [s_h > ideal_soil_humidity]
     [ask patches with [is-natural? = true]
        [set s_h s_h * (1 - soil_suction)]

      ask patches with [is-paved? = true]
        [set s_h s_h * (1 - soil_suction / 2)]]]

       ask patches with [pzcor = 0]
     [if s_h > ideal_soil_humidity
        [set pcolor (s_h * 100) + 60]] ]

  ask patches with [pzcor = 0 and is-natural? = true]
     [if not any? patches with [s_h > ideal_soil_humidity]
        [set s_h ideal_soil_humidity]]
end 

;;; DISRUPTIVE EVENTS ;;; DISRUPTIVE EVENTS ;;; DISRUPTIVE EVENTS ;;;

to drought

  set soil_temperature 303

  ask patches with [is-natural? = true and pzcor = 0]
    [set s_h ideal_soil_humidity * (1 - ticks * 10) ]

  ask patches with [is-paved? = true]
       [set s_h s_h * (1 - soil_suction / 2)]

  if ticks > drought_duration
    [set drought? false]
end 

to flood


  if flood_intensity = "0"
    [ask (patch-set patch -1 8 0 patch -1 9 0 patch 0 8 0 patch 1 8 0 patch 0 9 0 patch 1 9 0 patch 0 10 0 patch 1 10 0
                    patch 27 -30 0 patch 27 -29 0 patch 28 -30 0 patch 28 -29 0
                    patch -61 14 0 patch -62 14 0 patch -61 13 0 patch -62 13 0 patch -63 13 0 patch -63 12 0 patch -64 12 0)
      [set s_h max_soil_humidity]

      ask (patch-set patch -1 8 1 patch -1 9 1 patch 0 8 1 patch 1 8 1 patch 0 9 1 patch 1 9 1 patch 0 10 1 patch 1 10 1
                     patch 27 -30 1 patch 27 -29 1 patch 28 -30 1 patch 28 -29 1
                     patch -61 14 1 patch -62 14 1 patch -61 13 1 patch -62 13 1 patch -63 13 1 patch -63 12 1 patch -64 12 1)
           with [any? turtles-here]
               [ask turtles-here
                 [die]] ]

  if flood_intensity = "1"
     [ask (patch-set  patch 0 8 0 patch 27 -29 0 patch -61 13 0 )
        [ask patches with [pzcor = 0] in-radius 3
           [set s_h max_soil_humidity ]]

      ask (patch-set  patch 0 8 1 patch 27 -29 1 patch -61 13 1 )
        [ask patches with [pzcor = 1 and any? turtles-here] in-radius 3
               [ask turtles-here
            [die]]] ]

  if flood_intensity = "2"
     [ask (patch-set  patch 0 8 0 patch 27 -29 0 patch -61 13 0 )
        [ask patches with [pzcor = 0] in-radius 6
           [set s_h max_soil_humidity ]]

      ask (patch-set  patch 0 8 1 patch 27 -29 1 patch -61 13 1 )
        [ask patches with [pzcor = 1 and any? turtles-here] in-radius 6
               [ask turtles-here
            [die]]] ]

  if flood_intensity = "3"
     [ask (patch-set  patch 0 8 0 patch 27 -29 0 patch -61 13 0 )
        [ask patches with [pzcor = 0] in-radius 9
           [set s_h max_soil_humidity ]]

      ask (patch-set  patch -20 -16 0 )
        [ask patches with [pzcor = 0] in-radius 3
           [set s_h max_soil_humidity ]]

      ask (patch-set  patch 0 8 1 patch 27 -29 1 patch -61 13 1 )
        [ask patches with [pzcor = 1 and any? turtles-here] in-radius 9
               [ask turtles-here
            [die]]] ]


  ask patches with [pzcor = 0]
     [if s_h > ideal_soil_humidity
        [set pcolor (s_h * 100) + 60]]

   if ticks > drought_duration + 2
        [set flood? false]

;     if ticks > 2
;        [set flood? false]
end 

There is only one version of this model, created 17 days ago by Anastasia Tzioutziou.

Attached files

File Type Description Last updated
NBSINFRA Cologne.png preview Preview for 'NBSINFRA Cologne' 17 days ago, by Anastasia Tzioutziou Download

This model does not have any ancestors.

This model does not have any descendants.