Caso

En una región semiárida, los recursos hídricos están bajo presión debido al crecimiento poblacional y al cambio climático. En 2010, la población está compuesta por 1 millón de niños (0-14 años), 0.5 millones de jóvenes (15-24 años), 2 millones de adultos (25-64 años) y 0.5 millones de personas de la tercera edad (65+ años). El crecimiento poblacional se modela con una tasa de natalidad de 25 niños por cada 1,000 adultos por año, y las personas pasan por las siguientes transiciones:

El consumo de agua per cápita varía por grupo de edad, donde los adultos y las personas de la tercera edad consumen 150 litros de agua por día, mientras que los niños y jóvenes consumen 100 litros. Las reservas de agua de la región son de 100 millones de metros cúbicos (m³), con una tasa de recarga anual de 5 millones de m³ y una pérdida por evaporación de 10 millones de m³ al año.

El “déficit hídrico per cápita” se define como la cantidad de agua demandada por la población total dividida por el suministro disponible. El “estrés hídrico por adulto activo” se calcula como la cantidad de agua demandada por los grupos inactivos (niños, jóvenes y personas de la tercera edad) dividida por el número de adultos.

Diagrama de flujo

imagen 1: diagrama de flujo
imagen 1: diagrama de flujo
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?

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

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