Metavalley- MAVM's social-ecological performance
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model was built to test and demonstrate the functionality of the GIS NetLogo extension. It simulates raindrops flowing downhill over the Earth's surface.
HOW IT WORKS
This model loads a raster file of surface elevation for a small area near Cincinnati, Ohio. It uses a combination of the gis:convolve primitive and simple NetLogo code to compute the slope (vertical angle) and aspect (horizontal angle) of the earth surface using the surface elevation data. Then it simulates raindrops flowing downhill over that surface by having turtles constantly reorient themselves in the direction of the aspect while moving forward at a constant rate.
HOW TO USE IT
Press the setup button, then press the go button. You may press any of the "display-..." buttons at any time; they don't affect the functioning of the model.
EXTENDING THE MODEL
It could be interesting to extend the model so that the "raindrop" turtles flow more quickly over steeper terrain. You could also add land cover information, and adjust the speed with which the turtles flow based on the land cover.
RELATED MODELS
The other GIS code example, GIS General Examples, provides a greater variety of examples of how to use the GIS extension.
Comments and Questions
extensions [ gis ]
globals [socioeco-dataset
aquifer1-dataset
aquifer2-dataset
aquifer3-dataset
ish-dataset
z1-dataset
z2-dataset
z3-dataset
socioeco2-dataset
social-dataset
ecological-dataset
boundaries-dataset
elevation-dataset
landprice-dataset
i8t-dataset]
breed [ socioeco-vertices socioeco-vertex]
breed [ aquifer1-vertices aquifer1-vertex]
breed [ aquifer2-vertices aquifer2-vertex]
breed [ aquifer3-vertices aquifer3-vertex]
breed [ ish-vertices ish-vertex]
breed [ z1-vertices z1-vertex]
breed [ z2-vertices z2-vertex]
breed [ z3-vertices z3-vertex]
breed [ social-vertices social-vertex]
breed [ ecological-vertices ecological-vertex]
breed [ landprice-labels landprice-label ]
breed [ boundaries-labels boundaries-label ]
breed [ boundaries-vertices boundaries-vertex]
patches-own [i8t socioeco aquifer1 aquifer2 aquifer3 ish z1 z2 z3 socioeco2 social ecological landprice elevation boundaries]
;SETUP!
to setup
ca
;set x-dataset gis:load-dataset "data/x.shp"
set socioeco-dataset gis:load-dataset "data/N_socialeco.asc"
set aquifer1-dataset gis:load-dataset "data/N_aa1.asc"
set aquifer2-dataset gis:load-dataset "data/N_aa2.asc"
set aquifer3-dataset gis:load-dataset "data/N_aa3.asc"
set ish-dataset gis:load-dataset "data/N_ISHa.asc"
set z1-dataset gis:load-dataset "data/N_Z1a.asc"
set z2-dataset gis:load-dataset "data/N_Z2a.asc"
set z3-dataset gis:load-dataset "data/N_Z3a.asc"
set i8t-dataset gis:load-dataset "data/i8_t.asc"
set ecological-dataset gis:load-dataset "data/ecologicalresilience.asc"
set elevation-dataset gis:load-dataset "data/slopemaybe.asc"
set landprice-dataset gis:load-dataset "data/landprice_raster.asc"
set boundaries-dataset gis:load-dataset "data/statesmaybe.shp"
; Set the world envelope to the union of all of our dataset's envelopes
gis:set-world-envelope (gis:envelope-union-of (gis:envelope-of socioeco-dataset)
(gis:envelope-of aquifer1-dataset)
(gis:envelope-of aquifer2-dataset)
(gis:envelope-of aquifer3-dataset)
(gis:envelope-of ish-dataset)
(gis:envelope-of z1-dataset)
(gis:envelope-of z2-dataset)
(gis:envelope-of z3-dataset)
(gis:envelope-of ecological-dataset)
(gis:envelope-of landprice-dataset)
(gis:envelope-of boundaries-dataset))
end
; TO TRANSFORM RASTER INTO PATCHES
to sample-socioeco-with-patches
let min-socioeco gis:minimum-of socioeco-dataset
let max-socioeco gis:maximum-of socioeco-dataset
ask patches
[ set socioeco gis:raster-sample socioeco-dataset self]
end
to sample-aquifer1-with-patches
let min-aquifer1 gis:minimum-of aquifer1-dataset
let max-aquifer1 gis:maximum-of aquifer1-dataset
ask patches
[ set aquifer1 gis:raster-sample aquifer1-dataset self]
end
to sample-aquifer2-with-patches
let min-aquifer2 gis:minimum-of aquifer2-dataset
let max-aquifer2 gis:maximum-of aquifer2-dataset
ask patches
[ set aquifer2 gis:raster-sample aquifer2-dataset self]
end
to sample-aquifer3-with-patches
let min-aquifer3 gis:minimum-of aquifer3-dataset
let max-aquifer3 gis:maximum-of aquifer3-dataset
ask patches
[ set aquifer3 gis:raster-sample aquifer3-dataset self]
end
to sample-ish-with-patches
let min-ish gis:minimum-of ish-dataset
let max-ish gis:maximum-of ish-dataset
ask patches
[ set ish gis:raster-sample ish-dataset self]
end
to sample-z1-with-patches
let min-z1 gis:minimum-of z1-dataset
let max-z1 gis:maximum-of z1-dataset
ask patches
[ set z1 gis:raster-sample z1-dataset self]
end
to sample-z2-with-patches
let min-z2 gis:minimum-of z2-dataset
let max-z2 gis:maximum-of z2-dataset
ask patches
[ set z2 gis:raster-sample z2-dataset self]
end
to sample-z3-with-patches
let min-z3 gis:minimum-of z3-dataset
let max-z3 gis:maximum-of z3-dataset
ask patches
[ set z3 gis:raster-sample z3-dataset self]
end
; TO INTERVENTIONS
to evaluate
if socioeco <= 5 [set pcolor red + 4.9]
if socioeco > 5 and socioeco <= 10 [set pcolor red + 4.5]
if socioeco > 10 and socioeco <= 15 [set pcolor red + 4]
if socioeco > 15 and socioeco <= 20 [set pcolor red + 3.5]
if socioeco > 20 and socioeco <= 25 [set pcolor red + 3]
if socioeco > 25 and socioeco <= 30 [set pcolor red + 2.5]
if socioeco > 30 and socioeco <= 35 [set pcolor red + 2]
if socioeco > 35 and socioeco <= 40 [set pcolor red + 1.5]
if socioeco > 40 and socioeco <= 45 [set pcolor red + 1]
if socioeco > 45 and socioeco <= 50 [set pcolor red + 0.5]
if socioeco > 50 and socioeco <= 55 [set pcolor red + 0]
if socioeco > 55 and socioeco <= 60 [set pcolor red - 0.5]
if socioeco > 60 and socioeco <= 65 [set pcolor red - 1]
if socioeco > 65 and socioeco <= 70 [set pcolor red - 1.5]
if socioeco > 70 and socioeco <= 76 [set pcolor red - 2]
if socioeco > 75 and socioeco <= 80 [set pcolor red - 2.5]
if socioeco > 80 and socioeco <= 85 [set pcolor red - 3]
if socioeco > 85 and socioeco <= 90 [set pcolor red - 3.5]
if socioeco > 90 and socioeco <= 95 [set pcolor red - 4]
if socioeco > 95 and socioeco <= 100 [set pcolor red - 4.5]
end
to wtp-a-ss/2
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 6.87 ]
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 6.87]
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 6.87]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.18]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.83]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + .83]
end
to wtp-i-10/2
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.9]
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.9 ]
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.9 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.32]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.42]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.43]
end
to wtp-a/2
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 8.05 ]
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 8.05]
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 8.05]
ask patches with [ish = 1 and socioeco <= 100 ] [set socioeco socioeco + 8.05]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.725]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 3.21]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 3.22]
end
to z2-h/2
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 8.25]
end
to z3-h/3
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.75]
end
to z2-25-Rainfall/2
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.06 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.31]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.165]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.185]
end
to z2-50-Rainfall/3
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.37 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.41]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.03]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.016]
end
to z3-25-Rainfall/2
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.06 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.61]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.045]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.025]
end
to z3-50-Rainfall/3
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.37 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.82]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.06]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.033]
end
to wells-increase/3
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco - 3.04]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco - 15.66]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco - 12.28]
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;ZONES
to z1-h
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 25]
end
to z2-h
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 16.5]
end
to z3-h
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 8.25]
end
to ISH-wetland
ask patches with [ish = 1 and socioeco <= 100 ] [set socioeco socioeco + 6.1 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.4]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.35]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.45]
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,RAINFALL
to ISH-Rainfall
ask patches with [ish = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.12 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.08]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.63]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.58]
end
to z1-25-Rainfall
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.12 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.085]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.045]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.205]
end
to z1-50-Rainfall
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.12 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.17]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.095]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.41]
end
to z1-75-Rainfall
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.12 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.25]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.14]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 3.615]
end
to z1-100-Rainfall
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.12 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.34]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.19]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.82]
end
to z2-12-Rainfall
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.12 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.31]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.165]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.185]
end
to z2-25-Rainfall
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.12 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.62]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.33]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.37]
end
to z2-50-Rainfall
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.12 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.24]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.66]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.74]
end
to z3-12-Rainfall
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.12 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.615]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.045]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.025]
end
to z3-25-Rainfall
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.12 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.235]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.09]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.05]
end
to z3-50-Rainfall
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.12 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.475]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.18]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.10]
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; WTP
to wtp-i
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 9.68 ]
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 9.68 ]
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 9.68 ]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.64]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.84]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.86]
end
to wtp-a
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 16.13 ]
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 16.13]
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 16.13]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.45]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 6.42]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 6.44]
end
to wtp-a2
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.68 ]
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.68]
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.68]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.37]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0]
end
to wtp-a3
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.785 ]
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.785]
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.785]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.805]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0]
end
to wtp-a-ss
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 13.745 ]
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 13.745]
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 13.745]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.375]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.66]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.675]
end
to wtp-a2-ss
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.285]
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.285]
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.285]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.615]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0]
end
to wtp-a3-ss
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.565]
ask patches with [z2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.565]
ask patches with [z3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.565]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.47]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0]
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; WETLANDS
to wetland-z1-25
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 3.05]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.013]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.007]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.17]
end
to wetland-z1-50
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 3.05]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.025]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.15]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.38]
end
to wetland-z1-75
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 3.05]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.05]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.025]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.765]
end
to wetland-z1
ask patches with [z1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 3.05]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.1]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.45]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.5]
end
to wetland-z2-12
ask patches with [z2 = 2 and socioeco <= 100 ] [set socioeco socioeco + 3.05]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.135]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.155]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.29]
end
to wetland-z2-25
ask patches with [z2 = 2 and socioeco <= 100 ] [set socioeco socioeco + 3.05]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.275]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.29]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + .58]
end
to wetland-z2-50
ask patches with [z2 = 2 and socioeco <= 100 ] [set socioeco socioeco + 3.05]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.55]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.55]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.15]
end
to wetland-z3-12
ask patches with [z3 = 3 and socioeco <= 100 ] [set socioeco socioeco + 3.05]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.27]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.035]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.02]
end
to wetland-z3-25
ask patches with [z3 = 3 and socioeco <= 100 ] [set socioeco socioeco + 3.05]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.54]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.07]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.04]
end
to wetland-z3-50
ask patches with [z3 = 3 and socioeco <= 100 ] [set socioeco socioeco + 3.05]
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.095]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.14]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.125]
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; WATER EXTRACTION
to wells-increase
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco - 9.212]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco - 47.07]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco - 36.845]
end
to lagoon
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.025]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.985]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 4.345]
end
to lagoon-z2
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.75]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 12.65]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 3.04]
end
to lagoon-z3
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.445]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 16.3]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 5.915]
end
to well
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.21]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.21]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.21]
end
to well-z2
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.21]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.21]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.21]
end
to well-z3
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.21]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.21]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.21]
end
to inyection
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.115]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.34]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.445]
end
to vegetation_low
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.44]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.17]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.87]
end
to vegetation_high
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.095]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.525]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.025]
end
to terracing_low
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.31]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.83]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.325]
end
to terracing_high
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.065]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.395]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.725]
end
to vegetationterracing_low
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.575]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.53]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 2.44]
end
to vegetationterracing_high
ask patches with [aquifer1 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.125]
ask patches with [aquifer2 = 1 and socioeco <= 100 ] [set socioeco socioeco + 0.685]
ask patches with [aquifer3 = 1 and socioeco <= 100 ] [set socioeco socioeco + 1.335]
end
; TO WORK WITH NEIGHBOURS
to regeneration-10
if (z1 = 1) and (socioeco >= 25)
[ask neighbors [set pcolor magenta]]
end
to regeneration-20
if ( pcolor = magenta) and (socioeco >= 25)
[ask neighbors [set pcolor magenta]]
end
to regeneration-30
if ( pcolor = magenta) and (socioeco >= 25)
[ask neighbors [set pcolor magenta]]
end
; TO STORE!
to store
let patches_out nobody
ask one-of patches [
set patches_out gis:patch-dataset pcolor
]
gis:store-dataset patches_out "R_E_Process_20y2.asc"
end
There is only one version of this model, created almost 6 years ago by Emma Paola Flores Herrera.
Attached files
No files
This model does not have any ancestors.
This model does not have any descendants.
Download this model