Changelog

Qué cambió recientemente

Mejoras visibles para usuarios. El detalle técnico completo es auditable a pedido a contacto@rioslimpios.com.ar.

Fix

Auditoría LSTM + GloFAS recalibrado + lluvia extrema

Cinco mejoras grandes: (1) Auditoría LSTM contra MAE producción real — activamos v6 en estaciones urbanas donde gana al v3 (San Fernando 40.7→4.2 cm, Buenos Aires 34.8→7.2 cm a 24 h), activamos 11 estaciones huérfanas que estaban entrenadas pero sin flag, deactivamos Piedra Larga porque el sensor estaba stuck. (2) GloFAS recalibrado tras detectar 22 falsos positivos de evacuación en arroyos chicos — agregamos floors absolutos (peak ≥ 50 m³/s, baseline ≥ 0.5 m³/s) y subimos thresholds a 2.0×/3.0×/5.0×. Las alertas malas se marcaron inactivas. (3) Detector nuevo de lluvia extrema multi-fuente — cruza pronósticos de OpenMeteo + ECMWF + GFS + WRF y dispara cuando ≥3 de 4 coinciden, pensado para los 5 territorios sin PNA (Jujuy, Santiago del Estero, Córdoba, La Pampa, Tierra del Fuego). v2 con re-keying lat/lon (celdas 0.25°, ~28 km) cubre las 24 jurisdicciones. (4) Backfilleamos 92 días de historia GloFAS (50→736 estaciones con baseline estable) y 12 meses de meteorología histórica desde Open-Meteo Archive (466 mil filas) — esto desbloqueó 22 candidatas nuevas para entrenar LSTM v6 dedicado. (5) Entrenamos localmente 22 estaciones nuevas con TensorFlow CPU (sin GPU Colab): 15 pasaron el gate dual-NSE auto y se activaron en producción (Delta + Paraná Inferior + Litoral). Total: 41 LSTM activos (de 25 al inicio del día) cubriendo el Delta del Paraná completo (Tigre vía statistical), Paraná Inferior, parte del Río Uruguay y stations urbanas AMBA.

Nuevo

Cobertura nacional: viento, GloFAS y fuego en todo el país

Tres detectores nuevos extienden la plataforma a las 24 jurisdicciones por construcción: (1) Viento extremo — Open-Meteo grid global, dispara con sostenido ≥60/80/110 km/h, pensado para Patagonia, Sudestada en el Río de la Plata y Zonda en Cuyo; (2) GloFAS tier-2 — caudal extremo cuando el pronóstico ensemble supera el p95 de los 60 días previos en la misma estación, complementa al LSTM y al PNA fuera de la Cuenca del Plata; (3) NASA FIRMS extendido de 5 cuencas litorales a 11 bboxes que cubren NOA + Cuyo + Centro + Pampa-Sur + Patagonia. Los tres llegan dormant detrás de feature flags hasta validar 1-2 ciclos de cron y se activan con un flip de variable de entorno. Disclosure honesto en metadata + UI: son pronósticos de modelo, no mediciones locales.

Fix

Auditoría completa + mapa más rápido

Repasamos página por página: alineamos toda la copy a la versión real del modelo en producción (LSTM v6 con 11 features, ya no v4), removimos métricas estáticas de modelo viejo y números inventados de terceras organizaciones, y centralizamos los conteos en una sola fuente para que cada vez que crezca la red el sitio entero refleje el cambio. En el mapa, las cards de detalle se reorganizaron sobre los controles, el descarte por viewport ahora solo procesa lo que cambió y la lluvia se trae desde el server con caché. Carga inicial y pan en zoom alto notablemente más fluidos, especialmente en celular.

Fix

+24 estaciones recuperadas: detector ya no trunca silencio

Detectamos que las consultas a la base de datos estaban devolviendo silenciosamente solo las primeras 1.000 filas (un cap por defecto del backend), descartando ~75% del histórico que el detector necesita para decidir. Estaciones como ina-53 San Isidro nunca aparecían en el primer batch y por eso no disparaban alertas en eventos reales (Río de la Plata 2026-04-21). Aplicamos paginación + RPC server-side a todos los detectores y al pipeline de validación. Empíricamente confirmado contra Supabase live: pre-fix se perdían 2.108 filas en mediciones de precipitación 24h y 4.381 filas en weather_snapshots 24h. 24 estaciones recuperaron visibilidad.

Nuevo

Lluvia satelital y cobertura nacional en el mapa

Sumamos lluvia satelital de NASA IMERG con resolución de 11 km cada 30 minutos para todo el país, sin importar si hay estación cercana. El mapa ahora muestra las 1.900 estaciones de la red nacional —antes solo las 54 con umbrales oficiales— y una capa de calor con la lluvia satelital del momento. En el celular, el panel 'Capas' permite encender u ocultar cada fuente. Junto con esto, la próxima generación del modelo de predicción ya está cableada para usar la observación satelital como una señal independiente de los pluviómetros y los pronósticos.

Fix

Validación más estricta de alertas

Ajustamos cómo cruzamos cada alerta de lluvia contra lo que efectivamente cayó después del evento, dándole prioridad a las mediciones en tierra (INA y SMN) por sobre los modelos. Las métricas de precisión ahora reflejan mejor la realidad y nos sirven para mejorar los modelos de forma más honesta.

Nuevo

Ensemble de pronóstico y WRF fresco en alertas de lluvia

El detector de lluvia ahora evalúa Open-Meteo y WRF 4km en paralelo y dispara alerta si ≥2 fuentes coinciden en un umbral reducido (convección). El LSTM toma el mayor entre ambas fuentes. El cron de WRF pasó de 1 a 4 corridas diarias (pickea la run más fresca).

Fix

ONNX bundling para Vercel + cron +60% duración

WASM del runtime ONNX ahora queda empacado en la serverless function. Scrape-data cron maxDuration 180→300s. Se incluye sólo el backend WASM que usamos.

Nuevo

LSTM real en producción + 18 meses de training

12 estaciones con LSTM ONNX activo en producción (antes caía silenciosamente a fallback). Backfill histórico del INA a 352K mediciones. Framework de validación auditable con 1.409 puntos match contra observado.

Datos

SMN + WRF 4km + IMERG + alertas post-lluvia

3 fuentes nuevas integradas: SMN SYNOP, WRF 4km SMN para Argentina, NASA IMERG. Nuevo detector CSO (combined sewer overflow) para contaminación post-lluvia en cuencas urbanas.

Nuevo

72h de predicción + benchmark global

Horizonte de predicción extendido de 24 a 72h. Documento de benchmark global publicado. Fix de altura 0.00m en estaciones sin lectura reciente.

Nuevo

Multi-signal alerts, GWIS, eBird y rediseño del mapa

Alertas combinando ≥2 señales independientes. Integración de GWIS (peligro de incendio 10 días). eBird para biodiversidad. Rediseño completo del mapa.

¿Querés aportar mejoras?

El código es abierto y auditable a pedido. Escribinos para sugerir mejoras, reportar bugs o pedir acceso al repositorio.