library(deSolve)
reservagua<- function(t, state, parameters) {
  with(as.list(c(state,parameters)), {
    #Endogenous auxiliary variables
    consumo.niños= (niños*consumo.pc.niños)
    consumo.jovenes=(jovenes*consumo.pc.jovenes)
    consumo.adultos=(adultos*consumo.pc.adultos)
    consumo.terceraedad=(terceraedad*consumo.pc.terceraedad)
    
    #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.terceraedad=adultos/tiempo.promedio.adulto
    muerte=terceraedad/tiempo.promedio.terceraedad
    consumo=consumo.niños+consumo.jovenes+consumo.adultos+consumo.terceraedad
   
 #Metricas de desempeño     
    estres.hidrico.poradulto=(consumo.niños+consumo.jovenes+consumo.terceraedad)/adultos
    deficit.hidrico.pc=consumo/agua
      
        #State (stock) variables
    dniños<-nacimientos-niños.a.jovenes
    djovenes<-niños.a.jovenes-jovenes.a.adultos
    dadultos=jovenes.a.adultos-adultos.a.terceraedad
    dterceraedad=adultos.a.terceraedad-muerte
    dagua= recarga-consumo-evaporacion
    
    list(c(dniños,
           djovenes,
           dadultos,
           dterceraedad,
           dagua),
         estres.hidrico.poradulto=estres.hidrico.poradulto,
         deficit.hidrico.pc=deficit.hidrico.pc)
  })
}

parameters<-c(tasa.de.natalidad = 2.5/100,
              tiempo.promedio.niño= 15, 
              tiempo.promedio.joven = 10,
              tiempo.promedio.adulto=40,
              tiempo.promedio.terceraedad=20,
              consumo.pc.niños=.1,
              consumo.pc.jovenes=.1,
              consumo.pc.adultos=.15,
              consumo.pc.terceraedad=.15,
              recarga=5000000,
              evaporacion=10000000) 

InitialConditions <- c(niños= 1000000 ,
                       jovenes= 500000,
                       adultos= 2000000 ,
                       terceraedad= 500000,
                       agua= 100000000)

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

intg.method<-c("rk4")

out <- ode(y = InitialConditions,
           times = times,
           func = reservagua,
           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 2028 el deficit hídrico asciende a 13. A partir de este momento la disponibilidad de agua es menor a la demanda de esta.

¿Cómo evoluciona el estrés hídrico por adulto activo en los próximos 50 años?

El estrés hídrico aumenta año con año pero conforme pasan los años el aumento es cada vez menor.

¿Qué políticas podrían reducir el estrés hídrico?

Una política tiene que afectar a las variables de flujo o las variables endogenas (a los parametros tampoco), las variables que buscamos reducir son el consumo de cada grupo poblacional, sobre todo reducir el consumo de la tercera edad que tiene un consumo per capita mayor que los niños y jovenes. Además teniendo en mente la tasa de natalidad y la población actual la población de la tercera edad es cada vez mayor.

La política podría estar enfocada al ahorro o reutilización de agua, disminuyendo el consumo total de este grupo población y también el estres hidríco.