arrow_back Prototipos
Transparencia · Datos abiertos
En vivo

Cuánta lluvia falta en cada ciudad

¿Cuánta agua ha caído este año, comparado con la historia de cada estación meteorológica del país?

FastAPI · SQLite · APScheduler · DGAC/DMC · :8018

Estado
En vivo · se actualiza solo
Fuente de datos
DGAC / Dirección Meteorológica · datos.gob.cl
Stack
FastAPI · SQLite · APScheduler
Cadencia
Refresco quincenal (días 5 y 20)
Cobertura
33 estaciones · diario · desde 2013
Infraestructura
Raspberry Pi · $0 cloud

El problema

Chile lleva más de una década de megasequía, pero "está lloviendo poco" es una frase que casi nunca viene con un número al lado. El dato existe: la Dirección Meteorológica publica, vía la DGAC en datos.gob.cl, la lluvia diaria de sus estaciones históricas —un CSV por mes, repartido en datasets que cambian de nombre en cada publicación—. Quise responder algo concreto: al día de hoy, ¿cuánta agua lleva acumulada cada ciudad, y cuánto le falta (o le sobra) respecto de su propia historia?

Qué construí

Un monitor que cosecha la precipitación y temperatura diaria de 33 estaciones —de Arica a la Antártica— y calcula el balance hídrico de cada una: el acumulado del año contra el promedio de sus años anteriores al mismo día del calendario.

  • check_circle Un ranking ciudad por ciudad: acumulado del año, normal histórica y balance en %, con la curva diaria de cada estación contra su normal.
  • check_circle La ingesta descubre sola los archivos nuevos en el catálogo CKAN de la DGAC —no hay URLs escritas a mano— y se refresca los días 5 y 20 de cada mes.
  • check_circle Serie diaria desde 2013: ~282 mil registros de lluvia y temperatura en una base SQLite que la Pi cosecha completa en un minuto.
  • check_circle Corre 24/7 sobre una Raspberry Pi, con $0 de costo cloud. Apache hace de proxy hacia el servicio interno.

Cómo funciona

La fuente publica un CSV por mes y variable, dentro de datasets semestrales cuyo slug cambia en cada publicación. En vez de perseguir esos nombres, la ingesta consulta la organización completa en la API CKAN de datos.gob.cl y reconoce los archivos por su patrón; lo histórico no se vuelve a descargar. Las coordenadas y la región de cada estación salen del catastro de estaciones automáticas de la Dirección Meteorológica. Sobre esa base, la "normal" de cada estación es el promedio del acumulado al mismo (mes, día) en sus años base —solo años con al menos 80 % de cobertura de datos, y mínimo 5 años para publicar el balance.

Decisiones técnicas

Comparar cada estación contra sí misma

No tiene sentido comparar los 2.000 mm de Puerto Montt con los 1 mm de Iquique. El balance es siempre contra la propia historia de la estación, al mismo día del calendario, y el detalle por defecto destaca la mayor brecha en milímetros —no el % más extremo, que en el desierto puede ser un -100 % de menos de 1 mm.

Descubrir por organización, no por dataset

"Precipitacion-1er-semestre-2026", "precipitaciones-2do-semestre-2025v2"… los slugs de la fuente son un desorden. La ingesta barre la organización completa y arma el inventario sola, así el monitor sobrevive a la próxima publicación creativa.

Ciudades como lectura, estaciones como dato

La fuente publica por estación (aeródromos, casi todas). El monitor las etiqueta por ciudad para que se puedan leer —"Santiago", "Valdivia"— pero no promedia estaciones: Santiago aparece tres veces (Pudahuel, Quinta Normal, Tobalaba) porque son tres series distintas, y fundirlas inventaría un dato que la fuente no entrega.

Qué es real y qué es parcial

Es un prototipo, no un producto meteorológico oficial, y conviene ser preciso.

  • verified Real: los milímetros son los que publica la DGAC, sin retoque ni imputación. El monitor solo los acumula y los compara.
  • schedule Parcial: la "normal histórica" es el promedio 2013–2025 de la propia estación, no la normal climatológica 1991–2020 de la OMM — la serie abierta no alcanza para eso, y se dice.
  • build Huecos de la fuente: la DGAC no publicó 2014 ni el primer semestre de 2015 en formato usable. Los años incompletos se excluyen solos de la línea base por el umbral de cobertura.

¿Quieres ver el balance de tu ciudad?

El monitor corre ahora mismo sobre la Pi y se actualiza solo.

Abrir el prototipo arrow_forward