Saltar a contenido

Precipitaciones DGAC — serie histórica diaria

Capa: precipitaciones_dgac. Granularidad: (fecha, id_estacion). Estado de integración: stable_publishable desde el 2026-10-25. Se publica en el bundle y tiene tarjeta propia en el catálogo del sitio; su reevaluación (review_by) está fijada al 2027-01-15 en data/source_registry.json.

Fuente y reutilización

Dirección General de Aeronáutica Civil (DGAC), datos.gob.cl. La serie agrega 143 archivos-mes abiertos (CC BY/CC0) desde enero 2013 hasta junio 2026, sin continuidad total, a partir de 24 paquetes CKAN.

Nunca redistribuimos los períodos 2014 ni enero-junio 2015, que solo identificamos en un paquete legado CC-NC. El mes enero 2017 no es lluvia: se publicó bajo ese nombre un CSV con T.Maxima/T.Minima y permanece en cuarentena. El segundo semestre de 2026 no constaba como publicado al verificar la fuente. No hay imputación de lluvia ni asociación arbitraria estación-comuna.

La fuente oficial otorga las licencias por archivo/paquete; el campo licencia_fuente, la URL del recurso y el archivo sidecar de extracción permiten atribuir y comprobar cada observación. La licencia MIT del software no sustituye las licencias CC BY/CC0 de los datos.

Datos y ejemplos

En la cosecha comprobada el 17 de octubre de 2026: 141.436 filas, 33 estaciones y 143 meses aprovechables. El número puede cambiar si la DGAC revisa las publicaciones. Las estaciones y fechas no siempre forman series densas/comparables: antes de estimar tendencias climáticas, verificar cobertura por estación y posibles cambios instrumentales.

from chile_hub import ChileHub
import polars as pl

df = ChileHub().load_polars("precipitaciones_dgac")
lluvia_observada = df.filter(pl.col("precipitacion_mm").is_not_null())
totales = lluvia_observada.group_by("id_estacion").agg(
    pl.col("precipitacion_mm").sum().alias("total_mm")
)
print(totales)
SELECT id_estacion, EXTRACT(YEAR FROM CAST(fecha AS DATE)) AS anio,
       SUM(precipitacion_mm) AS total_mm
FROM 'data/normalized/precipitaciones_dgac.parquet'
WHERE precipitacion_mm IS NOT NULL
GROUP BY 1, 2 ORDER BY 1, 2;

Interpretación: precipitacion_mm = null es ausencia de medida, no cero. latitud_dms y altitud_m se conservan del origen; no existe longitud verificada ni código CUT en la fuente seleccionada.

Procedencia y controles: la documentación de extracción histórica incluye el SHA-256 del CSV, hashes por mes, fechas, cobertura, duplicados resueltos e incidencias; [CI DGAC

38991196698](https://github.com/cortega26/chile-hub/actions/runs/38991196698).

Refresco y mantenimiento

El registro canónico utiliza access_method: api y fallback_policy: none, valores admitidos por los controles de publicación. En concreto, api identifica consultas al catálogo CKAN oficial de datos.gob.cl y descargas de archivos CSV por recurso; none prohíbe sustituir una descarga fallida por datos ficticios o un snapshot no validado.

El extractor de producción src/extractors/precipitaciones_dgac_extractor.py reutiliza el parser DGAC auditado y escribe en data/staging/ solo al completar toda la cobertura aprobada. El workflow de actualización trimestral conservará un snapshot auténtico, sin datos de muestra. Una publicación nueva requiere actualizar la lista de paquetes verificados y los tests; el script no fabrica datos de meses ausentes.

Schema (auto-generado desde contracts/datasets/precipitaciones_dgac.schema.json)

Columna Tipo Ejemplo Requerida Nota
fecha VARCHAR "2013-01-01" Sí PK
id_estacion VARCHAR(6) "180005" Sí PK
nombre_estacion VARCHAR "Chacalluta, Arica Ap." Sí —
latitud_dms VARCHAR "18° 21' 20'' S" Sí —
altitud_m DOUBLE 50 Sí —
precipitacion_mm DOUBLE 0.5 Sí —
url_fuente VARCHAR "https://datos.gob.cl/dataset/.../download/precipitacion_012013.csv" Sí —
licencia_fuente VARCHAR "cc-by" Sí —