library(deSolve)
## Warning: package 'deSolve' was built under R version 4.4.3
InitialConditions <- c(niños = 1000000,
jovenes = 500000,
adultos = 2000000,
viejos = 500000,
reserva.agua = 100000000
)
times <- seq( 2010,#initial time
2060,#end time
1) #time step
agua <- function(t, state, parameters) {
with(as.list(c(state,parameters)), {
#Endogenous auxiliary variables
consumo.total.niños = consumo.per.capita.niños*niños
consumo.total.jovenes = consumo.per.capita.jovenes*jovenes
consumo.total.adultos = consumo.per.capita.adultos*adultos
consumo.total.viejos = consumo.per.capita.viejos*viejos
#Flow variables
nacimientos = adultos*tasa.natalidad
niñez = niños/tiempo.niños
madurez = jovenes/tiempo.jovenes
vida.adulta = adultos/tiempo.adultos
muerte = viejos/esperanza.vida
consumo = consumo.total.niños + consumo.total.jovenes + consumo.total.adultos + consumo.total.viejos
#Metricas
deficit.hidrico.per.capita = consumo/reserva.agua
estres.hidrico.adulto = (consumo.total.niños + consumo.total.jovenes + consumo.total.viejos)/adultos
#State (stock) variables (d)
d.niños = nacimientos - niñez
d.jovenes = niñez - madurez
d.adultos = madurez - vida.adulta
d.viejos = vida.adulta - muerte
d.reserva = recarga - consumo - evaporacion
list(c(d.niños,d.jovenes,d.adultos,d.viejos,d.reserva),
deficit.hidrico.per.capita = deficit.hidrico.per.capita,
estres.hidrico.adulto = estres.hidrico.adulto)
})
}
parameters<-c( tasa.natalidad = 25/1000,
tiempo.niños = 15,
tiempo.jovenes = 10,
tiempo.adultos = 40,
esperanza.vida = 20,
recarga = 5000000,
evaporacion = 10000000,
consumo.per.capita.adultos = 0.15, #150/1000 la medida esta en litros por dia ahora esta en m3 por año
consumo.per.capita.niños = 0.1, #100/1000 la medida esta en litros por dia ahora esta en m3 por año
consumo.per.capita.viejos = 0.15, #150/1000 la medida esta en litros por dia ahora esta en m3 por año
consumo.per.capita.jovenes = 0.1 #100/1000 la medida esta en litros por dia ahora esta en m3 por año
)
intg.method<-c("rk4")
out <- ode(y = InitialConditions,
times = times,
func = agua,
parms = parameters,
method =intg.method )
plot(out,
col=c("blue"))
# Pregunta 1 ¿En que año comenzará a haber un déficit hídrico per cápita
mayor a 1? En el año 2028 empezará a haber un déficit hídrico mayor a 1,
ya que en este año el déficit es de 13.66, sin embargo a partir de ese
momento el déficit
¿Cómo evoluciona el estrés hídrico por adulto activo en los próximos 50 años? El estrés hídrico aumenta en los próximos 50 años debido a que la población inactiva aumenta, por lo que el agua demandada por esta población es mayor. Sin embargo, el estrés hídrico tiene cada año un menor crecimiento, esto se debe a que la población muere y esto hace que el consumo disminuya.
¿Qué políticas podrían reducir el estrés hídrico? Debido a que el estres hídrico está dado por la suma del consummo de la población inactiva entre la población adulta y los adultos de tercera edad consumen más que los niños y jóvenes, una política que incentive el ahorro de este sector poblacional es lo más adecuado. A continuación se presenta el modelo introduciendo la variable de ahorro.
library(deSolve)
InitialConditions <- c(niños = 1000000,
jovenes = 500000,
adultos = 2000000,
viejos = 500000,
reserva.agua = 100000000
)
times <- seq( 2010,#initial time
2060,#end time
1) #time step
agua.ahorro <- function(t, state, parameters) {
with(as.list(c(state,parameters)), {
#Endogenous auxiliary variables
consumo.total.niños = consumo.per.capita.niños*niños
consumo.total.jovenes = consumo.per.capita.jovenes*jovenes
consumo.total.adultos = consumo.per.capita.adultos*adultos
consumo.total.viejos = (consumo.per.capita.viejos*viejos)*(1-ahorro)
#Flow variables
nacimientos = adultos*tasa.natalidad
niñez = niños/tiempo.niños
madurez = jovenes/tiempo.jovenes
vida.adulta = adultos/tiempo.adultos
muerte = viejos/esperanza.vida
consumo = consumo.total.niños + consumo.total.jovenes + consumo.total.adultos + consumo.total.viejos
#Metricas
deficit.hidrico.per.capita = consumo/reserva.agua
estres.hidrico.adulto = (consumo.total.niños + consumo.total.jovenes + consumo.total.viejos)/adultos
#State (stock) variables (d)
d.niños = nacimientos - niñez
d.jovenes = niñez - madurez
d.adultos = madurez - vida.adulta
d.viejos = vida.adulta - muerte
d.reserva = recarga - consumo - evaporacion
list(c(d.niños,d.jovenes,d.adultos,d.viejos,d.reserva),
deficit.hidrico.per.capita = deficit.hidrico.per.capita,
estres.hidrico.adulto = estres.hidrico.adulto)
})
}
parameters2<-c( tasa.natalidad = 25/1000,
tiempo.niños = 15,
tiempo.jovenes = 10,
tiempo.adultos = 40,
esperanza.vida = 20,
recarga = 5000000,
evaporacion = 10000000,
consumo.per.capita.adultos = 0.15, #150*365/1000 la medida esta en litros por dia ahora esta en m3 por año
consumo.per.capita.niños = 0.1, #100*365/1000 la medida esta en litros por dia ahora esta en m3 por año
consumo.per.capita.viejos = 0.15, #150*365/1000 la medida esta en litros por dia ahora esta en m3 por año
consumo.per.capita.jovenes = 0.1, #100*365/1000 la medida esta en litros por dia ahora esta en m3 por año
ahorro = 20/100
)
intg.method<-c("rk4")
out2 <- ode(y = InitialConditions,
times = times,
func = agua.ahorro,
parms = parameters2,
method =intg.method )
plot(out2,
col=c("blue"))