Módulo 2. Activiad 2. Daniel Delgado Pérez

knitr:: include_graphics("Diagrama de co-flujo.png")

library(deSolve)
InitialConditions <- c(niños = 1000000, 
                       jovenes = 500000,
                       adultos = 2000000,
                       tercera.edad = 500000, 
                       reservas.de.agua = 100000000)

times <- seq(2010,  #initial time
              2060, #end time
              1) #time step

estreshidrico <- function(t, state, parameters) {
  with(as.list(c(state,parameters)), {
    #Endogenous auxiliary variables
    consumo.total.de.agua.niños <- niños * consumo.pcniños
    consumo.total.de.agua.jovenes <- jovenes * consumo.pcjovenes 
    consumo.total.de.agua.adultos <- adultos * consumo.pcadultos
    consumo.total.de.agua.tercera.edad <- (tercera.edad * consumo.pctecera.edad) * (1 - ahorro) 

      
    #Flow variables
    nacimientos <- (adultos * tasa.de.natalidad)
    niños.a.jovenes <- niños / tiempo.promedio.niño
    jovenes.a.adultos <- jovenes / tiempo.promedio.joven
    adultos.a.tercera.edad <- adultos / tiempo.promedio.adulto 
    muertes <- tercera.edad / tiempo.promedio.tercera.edad 
    consumo <- consumo.total.de.agua.niños + consumo.total.de.agua.jovenes + consumo.total.de.agua.adultos +   consumo.total.de.agua.tercera.edad 
      
    #Métricas de desempeño 
    estres.hidrico.adulto.activo <- (consumo.total.de.agua.niños + consumo.total.de.agua.jovenes + consumo.total.de.agua.tercera.edad) / adultos #ojo con los parentesis 
    deficit.hidrico <- consumo / reservas.de.agua  
  
    #State (stock) variables (d)
    dniños <- nacimientos - niños.a.jovenes
    djovenes <- niños.a.jovenes - jovenes.a.adultos
    dadultos <- jovenes.a.adultos - adultos.a.tercera.edad
    dtercera.edad <- adultos.a.tercera.edad - muertes
    dreservas.de.agua <- recarga - evaporacion - consumo  #max = para que no tome valores negativos en las reservas de agua 
    
    list(c(dniños, djovenes, dadultos, dtercera.edad, dreservas.de.agua), 
         estres.hidrico.adulto.activo = estres.hidrico.adulto.activo, 
         deficit.hidrico = deficit.hidrico)
  })
}

parameters<-c(tasa.de.natalidad = 25 / 1000, #25 niños por cada 1000 adultos 
              tiempo.promedio.niño = 15, #años 
              tiempo.promedio.joven = 10, #años
              tiempo.promedio.adulto = 40, #años
              tiempo.promedio.tercera.edad = 20, #años
              recarga = 5000000, #(m³)
              evaporacion = 10000000, #(m³)
              consumo.pcniños = 100 / 1000, #(m³)
              consumo.pcjovenes = 100 / 1000, #(m³)
              consumo.pcadultos = 150 / 1000, #(m³)
              consumo.pctecera.edad = 150 / 1000, #(m³),
              ahorro = 20 / 100
    
  )


intg.method<-c("rk4")

out <- ode(y = InitialConditions,
           times = times,
           func = estreshidrico,
           parms = parameters,
           method =intg.method )

plot(out,
     col=c("blue"))

¿En qué año comenzará a haber un déficit hídrico per cápita mayor a 1? En el año de 2028, el déficit hídrico es mayor a 1 y toma el valor de 1.5969.

¿Cómo evoluciona el estrés hídrico por adulto activo en los próximos 50 años? El estrés hidrico por adulto activo aumenta con márgenes cada vez más reducidos hasta el año 50 que es lo que podemos observar en el periódo de años determinado.

¿Qué políticas podrían reducir el estrés hídrico? Una política de ahorro de agua podría impactar al consumo total de agua de la tercera edad. Este ahorro se podría lograr a través de una política pública o un incentivo hacia la población de la tercera edad a reducir su consumo, cambnniando así el comportamiento. Al haber introducido este cambio, se puede observar un cambio en el deficit hidríco en el año 18.