Simulador de decisión: ¿qué enlaces y qué almacenamiento amortiguan la variabilidad del ENSO? — proyecto social, Juan Carlos Isaza
Serie mensual real del IDEAM (2003–2026), deseasonalizada (anomalías z-score por mes-calendario). La pregunta que decide el proyecto: ¿las regiones se compensan (anticorreladas) o caen juntas (en fase)?
Par más anticorrelado: Arauca ↔ Chocó (-0.45) — extremos opuestos y lejanos.
🔎 Determinación: los departamentos se mueven casi en fase (el ENSO golpea coherente). El caso en que una malla ayudaría ocurre apenas 7% de los meses — menos que el de ambos secos a la vez. La transferencia inter-regional queda refutada; el valor está en el almacenamiento temporal + resiliencia local.
Reproducible: cargo run --bin balance-hidrico · 47 pruebas en verde (incluye caso rojo y prueba de discriminación).
Muestra CÓMO operaría malla + almacenamiento SI las regiones se compensaran. Ojo: el hallazgo real (panel izquierdo) mostró que casi no se compensan — así que este panel ilustra el mecanismo, no el caso colombiano.
🔴 Simulación negativa (la lección de brain): bajo el peor caso el sistema evita 62% del déficit — y lo honesto es lo que queda sin cubrir cuando el embalse se agota. Ahí se ve cuánto hay que dimensionar.
| Chocó | Páramo | Andina | Caribe | Orinoq | |
|---|---|---|---|---|---|
| Chocó | 1.00 | 1.00 | 1.00 | 1.00 | -1.00 |
| Páramo | 1.00 | 1.00 | 1.00 | 1.00 | -1.00 |
| Andina | 1.00 | 1.00 | 1.00 | 1.00 | -1.00 |
| Caribe | 1.00 | 1.00 | 1.00 | 1.00 | -1.00 |
| Orinoq | -1.00 | -1.00 | -1.00 | -1.00 | 1.00 |
| enlace | desnivel | tipo | transporte |
|---|---|---|---|
| Páramo → Andina | -2300 m | gravedad | 5617 |
| Andina → Páramo | +2300 m | trans-andino (rechazado) | no se construye |
| Andina → Caribe | -850 m | gravedad | 0 |
| Caribe → Andina | +850 m | bombeado | 0 |
| Páramo → Caribe | -3150 m | gravedad | 2766 |
| Caribe → Páramo | +3150 m | trans-andino (rechazado) | no se construye |
| Orinoq → Andina | +700 m | bombeado | 591 |
| Andina → Orinoq | -700 m | gravedad | 40 |
La culminación: las cuatro mediciones combinadas en una palanca principal por departamento y una prioridad, con reglas transparentes y umbrales derivados de los datos. Ningún departamento se resuelve con trasvase nacional.
| Prio | Departamento | holgura | ENSO | osc | Palanca principal | calidad |
|---|---|---|---|---|---|---|
| 1 | Bogotá D.C. | 3× | -0.13 | 1.1 | Eficiencia de demanda + proteger la fuente (páramo/cuenca) | |
| 1 | Atlántico | 30× | +0.22 | 2.1 | Eficiencia de demanda + proteger la fuente (páramo/cuenca) | |
| 1 | Tolima | 40× | -0.21 | 0.9 | Eficiencia de demanda + proteger la fuente (páramo/cuenca) | ⚠ tratar |
| 1 | Córdoba | 52× | -0.12 | 2.0 | Eficiencia de demanda + proteger la fuente (páramo/cuenca) | ⚠ tratar |
| 1 | Cundinamarca | 52× | -0.10 | 1.1 | Eficiencia de demanda + proteger la fuente (páramo/cuenca) | |
| 1 | San Andrés y Providencia | 57× | -0.06 | 2.5 | Eficiencia de demanda + proteger la fuente (páramo/cuenca) | |
| 1 | Norte de Santander | 62× | -0.19 | 1.4 | Eficiencia de demanda + proteger la fuente (páramo/cuenca) | |
| 1 | Magdalena | 86× | -0.06 | 1.7 | Eficiencia de demanda + proteger la fuente (páramo/cuenca) | |
| 1 | Amazonas | 153567× | +0.41 | 1.8 | Almacenamiento anticipatorio (aprovecha el aviso ENSO ~3-6 meses) | |
| 2 | Bolívar | 188× | -0.20 | 1.7 | Almacenamiento estacional (buffer de la oscilación) | |
| 2 | Santander | 302× | -0.16 | 5.5 | Almacenamiento estacional (buffer de la oscilación) | |
| 2 | Cauca | 319× | -0.12 | 1.7 | Almacenamiento estacional (buffer de la oscilación) | |
| 2 | Putumayo | 488× | +0.30 | 0.6 | Almacenamiento anticipatorio (aprovecha el aviso ENSO ~3-6 meses) | |
| 2 | La Guajira | 641× | -0.12 | 4.6 | Almacenamiento estacional (buffer de la oscilación) | |
| 2 | Valle del Cauca | 666× | +0.22 | 2.3 | Almacenamiento estacional (buffer de la oscilación) | |
| 2 | Arauca | 6757× | -0.10 | 1.5 | Almacenamiento estacional (buffer de la oscilación) | |
| 2 | Caquetá | 7236× | +0.01 | 1.7 | Almacenamiento estacional (buffer de la oscilación) | |
| 3 | Boyacá | 94× | -0.18 | 1.0 | Resiliencia local básica (cosecha de lluvia, MAR) | |
| 3 | Quindío | 113× | +0.01 | 0.8 | Resiliencia local básica (cosecha de lluvia, MAR) | |
| 3 | Risaralda | 126× | -0.06 | 0.9 | Resiliencia local básica (cosecha de lluvia, MAR) | |
| 3 | Caldas | 180× | -0.15 | 0.5 | Resiliencia local básica (cosecha de lluvia, MAR) | |
| 3 | Huila | 209× | -0.02 | 1.5 | Resiliencia local básica (cosecha de lluvia, MAR) | |
| 3 | Nariño | 240× | -0.06 | 0.7 | Resiliencia local básica (cosecha de lluvia, MAR) | ⚠ tratar |
| 3 | Sucre | 249× | -0.11 | 1.1 | Resiliencia local básica (cosecha de lluvia, MAR) | ⚠ tratar |
| 3 | Antioquia | 269× | -0.21 | 0.6 | Resiliencia local básica (cosecha de lluvia, MAR) | |
| 3 | Cesar | 293× | -0.03 | 1.3 | Resiliencia local básica (cosecha de lluvia, MAR) | ⚠ tratar |
| 3 | Meta | 2367× | +0.05 | 0.8 | Resiliencia local básica (cosecha de lluvia, MAR) | |
| 3 | Casanare | 3397× | +0.25 | 1.0 | Resiliencia local básica (cosecha de lluvia, MAR) | |
| 3 | Chocó | 22747× | +0.08 | 1.4 | Resiliencia local básica (cosecha de lluvia, MAR) | ⚠ tratar |
| 3 | Vichada | 25905× | +0.22 | 0.9 | Resiliencia local básica (cosecha de lluvia, MAR) | ⚠ tratar |
| 3 | Vaupés | 60006× | +0.10 | 0.6 | Resiliencia local básica (cosecha de lluvia, MAR) | ⚠ tratar |
| 3 | Guainía | 63431× | -0.22 | 0.8 | Resiliencia local básica (cosecha de lluvia, MAR) | ⚠ tratar |
Cómo leerlo: demanda + fuente donde el volumen propio aprieta (Bogotá y los densos, que viven de páramos vecinos); almacenamiento anticipatorio donde el ENSO manda y el aviso de ~3-6 meses sirve; buffer estacional donde la oferta oscila mucho (La Guajira); resiliencia local donde hay holgura y estabilidad. Es un AYUDA a la decisión desde señales medidas —umbrales reajustables—, no un mandato; el coeficiente de oscilación hereda el ruido del índice IDEAM, así que vale el patrón, no cada decimal. La columna calidad (⚠) marca dónde el agua NO es segura para beber (abajo).
Índice de Riesgo de la Calidad del Agua (INS/SIVICAP): 0 sin riesgo, 5-14 bajo, 14-35 medio, 35-80 alto. Es ortogonal al balance: mide si el agua que hay se puede BEBER. 9 de 33 departamentos están en riesgo medio o peor.
🔎 El caso que lo prueba: Chocó —el sitio más lluvioso del planeta, con holgura de miles de veces— tiene de las peores aguas del país (alto riesgo). La abundancia no llega a la llave. Y lo RURAL es dramático incluso en departamentos "sin riesgo" (Caldas rural ~50, Nariño ~47, Tolima ~41). Donde hay ⚠, la palanca humana es tratamiento y acceso, no almacenar ni transferir.
| Peor calidad | IRCA | nivel | rural | año |
|---|---|---|---|---|
| Vaupés | 51.4 | Riesgo alto | s/d | 2022 |
| Chocó | 44.8 | Alto riesgo | s/d | 2024 |
| Guainía | 32.8 | Riesgo medio | s/d | 2024 |
| Nariño | 19.5 | Riesgo medio | 47 | 2024 |
| Cesar | 17.6 | Riesgo medio | 24 | 2024 |
| Sucre | 15.8 | Riesgo medio | 5 | 2024 |
| Tolima | 15.8 | Riesgo medio | 41 | 2024 |
| Córdoba | 15.8 | Riesgo medio | 22 | 2024 |
Nota: se toma el año más reciente por departamento (algunos difieren), y el desglose rural tiene vacíos; lo robusto es el nivel de riesgo, no el decimal. Dato: MinSalud/INS vía datos.gov.co (nxt2-39c3).
Sobre la serie real, tomando como déficit cada mes por debajo de la climatología de su departamento (sin calibrar demanda). ¿Cuánto tapa un buffer de almacenamiento con estado vs. cuánto añade una malla que reparte el superávit del mismo mes entre vecinos?
| Buffer | Absorbe el almacén | Añade la malla | Sin cubrir |
|---|---|---|---|
| 1 meses | 9% | 21% | 70% |
| 6 meses | 19% | 18% | 63% |
| 12 meses | 25% | 17% | 58% |
| 24 meses | 31% | 16% | 53% |
Lectura: el almacenamiento escala con el buffer (9%→31%); la malla, incluso modelada optimista (transferencia libre, sin energía), tiene techo bajo y plano (~16–21%) porque los vecinos se secan juntos. Y lo más importante: incluso con ambos y 24 meses de buffer, >50% del déficit contra-la-normal queda sin cubrir — un ENSO coherente no se resuelve moviendo agua. La palanca de fondo es la resiliencia de demanda + proteger los páramos, no el tubo. ("Déficit" = desviación bajo la normal, no escasez absoluta: mide cuánta VARIABILIDAD del ENSO se puede suavizar.)
Oferta = precipitación anual × área (COTA SUPERIOR, no descuenta evapotranspiración); demanda = doméstica (150 L/hab·día) + AGRÍCOLA (área de distritos de riego ADR/UPRA, dato real de datos.gov.co, × 12.000 m³/ha·año). La agricultura es el sector que manda; la razón sigue siendo optimista.
→ Aun con la agricultura, la oferta DESBORDA la demanda (~540×): no es problema de CANTIDAD. Pero incluirla CAMBIA la lista de estrechos:
| Más estrechos (razón sobre demanda total) | razón | agr hm³ |
|---|---|---|
| Bogotá D.C. | 3× | 0 |
| Atlántico | 30× | 348 |
| Tolima | 40× | 727 |
| Córdoba | 52× | 575 |
| Cundinamarca | 52× | 376 |
| San Andrés y Providencia | 57× | 0 |
| Norte de Santander | 62× | 234 |
El dato agrícola real (355.611 ha de distritos ADR) sube al ranking a los departamentos de riego intensivo que la demanda doméstica no veía: Tolima (arroz) pierde 11× de holgura, Córdoba 6×. Bogotá sigue #1 (denso, sin riego, vive de páramos).
🔎 Remate: La Guajira —la crisis hídrica icónica del país— está en el puesto #22/33 de holgura (razón 641×): NO es de las estrechas por volumen anual. Su crisis es temporal (sequía, variabilidad ENSO) e infraestructural, no de cantidad — la prueba de que el volumen anual es el lente equivocado, y el correcto es el tiempo (frente 3) + la resiliencia local.
Aviso de método: el índice IDEAM no es lámina areal calibrada (algún depto sale con mm/año inflado), así que los mm absolutos tienen ruido; lo robusto es el orden de magnitud nacional y el ranking relativo.
Cruce del índice ONI (NOAA CPC) con las anomalías de precipitación. Dos preguntas falsables: ¿el ONI es pronosticable (persistente)?, ¿deja huella medible en la lluvia?
El ONI es muy persistente a pocos meses (por eso se pronostica) y decae hacia ~0 a 9-12: el horizonte útil es de ~3-6 meses, no más. Respuesta al ENSO: 21 de 32 departamentos con signo negativo (El Niño → menos lluvia).
| Más sensibles al ENSO | corr | adelanto útil |
|---|---|---|
| Amazonas | +0.41 | 4 meses |
| Putumayo | +0.30 | 2 meses |
| Casanare | +0.25 | 0 meses |
| Valle del Cauca | +0.22 | 5 meses |
| Guainía | -0.22 | 0 meses |
| Vichada | +0.22 | 6 meses |
🔎 Lectura honesta: la huella del ENSO es real pero modesta (máx ~0.4) y heterogénea (los más sensibles son los llanos del este, no la zona andina poblada). La acción anticipatoria —llenar reservas antes de la sequía— tiene base medible, pero con skill acotado y por-cuenca. Esto vindica la cautela de la propuesta: declarar el horizonte por temporada y validar por hindcast, nunca anclar una decisión a un pronóstico débil.
La infraestructura posible, no la simulación: enlaces entre departamentos VECINOS (frontera real de los polígonos DANE), medidos entre capitales (centros de demanda) con distancia geodésica, desnivel de elevaciones reales y el piso energético de bombeo. Verde = por gravedad; naranja = bombeo; rojo punteado = trans-andino que no se construye. Es el COMPLEMENTO, no la columna: el hallazgo mostró que estos enlaces se aprovechan pocas veces (los vecinos se secan juntos).
82 enlaces candidatos (departamentos vecinos); 70 construibles, 12 trans-andinos rechazados. La energía es el PISO físico de bombear cuesta arriba (solo elevación, η=0,70); el sentido cuesta abajo es por gravedad. Fricción del ducto aparte.
| enlace (capital→capital) | dist. | desnivel | tipo | energía bombeo |
|---|---|---|---|---|
| Riohacha → Santa Marta | 145 km | +2 m | recuperable | 0.008 kWh/m³ |
| Cartagena → Barranquilla | 101 km | +11 m | recuperable | 0.043 kWh/m³ |
| Bogotá → Facatativá | 37 km | +11 m | recuperable | 0.043 kWh/m³ |
| Mitú → San José del Guaviare | 305 km | +13 m | recuperable | 0.051 kWh/m³ |
| Montería → Cartagena | 188 km | +17 m | recuperable | 0.066 kWh/m³ |
| Villavicencio → Neiva | 227 km | +19 m | recuperable | 0.074 kWh/m³ |
| Santa Marta → Cartagena | 171 km | +25 m | recuperable | 0.097 kWh/m³ |
| Santa Marta → Barranquilla | 72 km | +36 m | recuperable | 0.140 kWh/m³ |
| Puerto Carreño → Inírida | 263 km | +45 m | recuperable | 0.175 kWh/m³ |
| Pereira → Armenia | 31 km | +47 m | recuperable | 0.183 kWh/m³ |
| Pereira → Medellín | 161 km | +68 m | recuperable | 0.265 kWh/m³ |
| Puerto Carreño → Arauca | 375 km | +75 m | recuperable | 0.292 kWh/m³ |
| San José del Guaviare → Florencia | 346 km | +75 m | recuperable | 0.292 kWh/m³ |
| Inírida → Mitú | 388 km | +75 m | recuperable | 0.292 kWh/m³ |
| Mitú → Florencia | 599 km | +88 m | recuperable | 0.343 kWh/m³ |
| Inírida → San José del Guaviare | 543 km | +88 m | recuperable | 0.343 kWh/m³ |
| Yopal → Villavicencio | 190 km | +96 m | recuperable | 0.374 kWh/m³ |
| Leticia → Mitú | 608 km | +97 m | recuperable | 0.378 kWh/m³ |
| Puerto Carreño → San José del Guaviare | 699 km | +133 m | recuperable | 0.518 kWh/m³ |
| Cartagena → Valledupar | 248 km | +134 m | recuperable | 0.522 kWh/m³ |
| Valledupar → Cúcuta | 297 km | +136 m | recuperable | 0.529 kWh/m³ |
| Santa Marta → Valledupar | 135 km | +159 m | recuperable | 0.619 kWh/m³ |
| Riohacha → Valledupar | 126 km | +161 m | recuperable | 0.627 kWh/m³ |
| Cartagena → Sincelejo | 122 km | +171 m | recuperable | 0.666 kWh/m³ |
| Facatativá → Tunja | 136 km | +174 m | recuperable | 0.677 kWh/m³ |
| Florencia → Villavicencio | 357 km | +174 m | recuperable | 0.677 kWh/m³ |
| Arauca → Cúcuta | 212 km | +175 m | recuperable | 0.681 kWh/m³ |
| Leticia → Florencia | 903 km | +185 m | recuperable | 0.720 kWh/m³ |
| Montería → Sincelejo | 82 km | +188 m | recuperable | 0.732 kWh/m³ |
| Ibagué → Pereira | 66 km | +189 m | recuperable | 0.736 kWh/m³ |
| Florencia → Neiva | 151 km | +193 m | recuperable | 0.751 kWh/m³ |
| Santa Marta → Sincelejo | 252 km | +196 m | recuperable | 0.763 kWh/m³ |
| Arauca → Yopal | 266 km | +211 m | recuperable | 0.821 kWh/m³ |
| Ibagué → Armenia | 51 km | +236 m | recuperable | 0.919 kWh/m³ |
| San José del Guaviare → Villavicencio | 206 km | +249 m | recuperable | 0.969 kWh/m³ |
| Cali → Ibagué | 181 km | +266 m | recuperable | 1.036 kWh/m³ |
| Puerto Carreño → Yopal | 551 km | +286 m | recuperable | 1.113 kWh/m³ |
| Florencia → Mocoa | 127 km | +332 m | bombeado | 1.292 kWh/m³ |
| Puerto Carreño → Villavicencio | 717 km | +382 m | bombeado | 1.487 kWh/m³ |
| Cali → Pereira | 179 km | +455 m | bombeado | 1.771 kWh/m³ |
| Manizales → Facatativá | 132 km | +479 m | bombeado | 1.865 kWh/m³ |
| Bucaramanga → Medellín | 287 km | +493 m | bombeado | 1.919 kWh/m³ |
| Ibagué → Popayán | 270 km | +496 m | bombeado | 1.931 kWh/m³ |
| Cali → Armenia | 153 km | +502 m | bombeado | 1.954 kWh/m³ |
| Leticia → Mocoa | 954 km | +517 m | bombeado | 2.013 kWh/m³ |
| Medellín → Manizales | 131 km | +623 m | bombeado | 2.425 kWh/m³ |
| Armenia → Manizales | 63 km | +644 m | bombeado | 2.507 kWh/m³ |
| Manizales → Tunja | 244 km | +653 m | bombeado | 2.542 kWh/m³ |
| Pereira → Manizales | 35 km | +691 m | bombeado | 2.690 kWh/m³ |
| Cúcuta → Bucaramanga | 109 km | +692 m | bombeado | 2.694 kWh/m³ |
| Cali → Popayán | 111 km | +762 m | bombeado | 2.966 kWh/m³ |
| Neiva → Ibagué | 167 km | +777 m | bombeado | 3.025 kWh/m³ |
| Popayán → Pasto | 156 km | +817 m | bombeado | 3.180 kWh/m³ |
| Valledupar → Bucaramanga | 371 km | +828 m | bombeado | 3.223 kWh/m³ |
| Ibagué → Manizales | 77 km | +880 m | bombeado | 3.426 kWh/m³ |
| Quibdó → Cali | 251 km | +933 m | bombeado | 3.632 kWh/m³ |
| Cartagena → Bucaramanga | 449 km | +962 m | bombeado | 3.745 kWh/m³ |
| Medellín → Facatativá | 209 km | +1102 m | bombeado | 4.290 kWh/m³ |
| Mocoa → Popayán | 144 km | +1134 m | bombeado | 4.415 kWh/m³ |
| Cali → Manizales | 213 km | +1146 m | bombeado | 4.461 kWh/m³ |
| Neiva → Popayán | 158 km | +1273 m | bombeado | 4.956 kWh/m³ |
| Medellín → Tunja | 256 km | +1276 m | bombeado | 4.967 kWh/m³ |
| Sincelejo → Medellín | 340 km | +1284 m | bombeado | 4.998 kWh/m³ |
| Ibagué → Bogotá | 129 km | +1348 m | bombeado | 5.248 kWh/m³ |
| Ibagué → Facatativá | 106 km | +1359 m | bombeado | 5.290 kWh/m³ |
| Quibdó → Pereira | 145 km | +1388 m | bombeado | 5.403 kWh/m³ |
| Cartagena → Medellín | 461 km | +1455 m | bombeado | 5.664 kWh/m³ |
| Quibdó → Medellín | 136 km | +1456 m | bombeado | 5.668 kWh/m³ |
| Florencia → Popayán | 145 km | +1466 m | bombeado | 5.707 kWh/m³ |
| Montería → Medellín | 280 km | +1472 m | bombeado | 5.730 kWh/m³ |
| Arauca → Tunja | 336 km | +2636 m | trans-andino (rechazado) | no se construye |
| Neiva → Bogotá | 229 km | +2125 m | trans-andino (rechazado) | no se construye |
| Villavicencio → Bogotá | 73 km | +2144 m | trans-andino (rechazado) | no se construye |
| Yopal → Tunja | 109 km | +2425 m | trans-andino (rechazado) | no se construye |
| Villavicencio → Tunja | 158 km | +2329 m | trans-andino (rechazado) | no se construye |
| Cúcuta → Tunja | 279 km | +2461 m | trans-andino (rechazado) | no se construye |
| Bucaramanga → Tunja | 179 km | +1769 m | trans-andino (rechazado) | no se construye |
| Yopal → Facatativá | 225 km | +2251 m | trans-andino (rechazado) | no se construye |
| Neiva → Facatativá | 233 km | +2136 m | trans-andino (rechazado) | no se construye |
| Villavicencio → Facatativá | 110 km | +2155 m | trans-andino (rechazado) | no se construye |
| Bucaramanga → Facatativá | 291 km | +1595 m | trans-andino (rechazado) | no se construye |
| Mocoa → Pasto | 71 km | +1951 m | trans-andino (rechazado) | no se construye |
De abajo hacia arriba: muchos enlaces CORTOS y locales (intra-cuenca o cruzando divisorias bajas), cada uno solo donde la topografía paga (gravedad/ariete), creciendo enlace por enlace por costo-beneficio. El grueso lo hace el ALMACENAMIENTO (páramos, embalses, acuíferos): guardar el pulso húmedo para el déficit lento. Lo "nacional" es el cerebro de datos + reglas (balance por ENSO), no un tubo — como la red eléctrica. La última milla es la interconexión veredal.
NO por tubo (lejos y alto → el modelo lo rechaza como trans-andino). Se resuelve LOCAL: desalación pagada por el VIENTO (mejor recurso eólico del país → sin gastar hidro en El Niño) + captura de lluvia + recarga de acuíferos (MAR). El sistema no es uniforme: cada punto crítico con su tecnología.
Saneamiento (PTAR): aguas abajo de los centros que hoy vierten sin tratar, sobre todo el corredor Magdalena/Cauca (contamina la toma del Caribe). Modelos reales: río Medellín (PTAR Bello), río Bogotá (Salitre/Canoas). Municipios pequeños: humedales construidos. Purificación: en el punto de uso (cada acueducto veredal/municipal).
La propuesta formal completa (13 secciones, con las cifras a verificar y las fuentes) acompaña este simulador.