Skip to main content

IDEAM Data Automator

DOI PyPI Python License

Herramienta en Python para extraer, validar, organizar y descargar datos hidrometeorológicos del IDEAM publicados en Socrata / Datos Abiertos Colombia (www.datos.gov.co), directamente a tu PC.

Desarrollada como Trabajo de Grado de Ingeniería Civil en la Universidad de la Costa (CUC), Barranquilla. Automatiza en minutos lo que manualmente toma horas: consultar estación por estación en los portales del IDEAM, descargar, limpiar y organizar los archivos.

Guías visuales: si prefieres ver el proceso completo en una sola página, descarga la infografía del flujo local o el instructivo paso a paso (PDF). La versión web de la plataforma vive en ideam.sergiobc.com.

Cómo funciona

Diagrama de 4 pasos: datos.gov.co, valida y limpia, organiza en tu PC, y resumen de cobertura

Guía paso a paso: tus primeros datos en 5 minutos

¿Primera vez? Sigue estos pasos tal cual. No necesitas saber programar.

¿Sin Python y sin comandos? También hay un ejecutable de doble clic para Windows: descarga IDEAM-Data-Automator.exe desde la página de Releases, ábrelo con doble clic y saltas directo al Paso 0 de abajo. Si Windows muestra el aviso azul de protección, pulsa "Más información" y luego "Ejecutar de todas formas" (aparece con cualquier programa sin firma comercial).

Antes de empezar (solo la primera vez)

Instalación en 3 pasos: instala Python marcando Add python.exe to PATH, pega el comando python -m pip install ideam-data-automator en PowerShell, y abre la herramienta con ideam-socrata tui

  1. Instala Python (3.10 o superior) desde python.org/downloads. En Windows, marca la casilla "Add Python to PATH" en la primera pantalla del instalador.

  2. Abre una terminal: presiona la tecla Windows, escribe PowerShell y presiona Enter.

  3. Instala la herramienta: copia y pega esta línea y presiona Enter:

    python -m pip install ideam-data-automator
    

Y ya está. No hace falta nada más.

¿Prefieres pipx? Si ya usas pipx para tus herramientas de Python, pipx install ideam-data-automator también funciona y deja el comando ideam-socrata aislado en su propio entorno. Si aún no lo tienes, instálalo con python -m pip install --user pipx y luego python -m pipx ensurepath (anteponer python -m evita el clásico "no se reconoce como comando" de Windows). Cierra y abre la terminal después. Ojo: con pipx el programa vive aislado, así que la forma python -m ideam_socrata tui de abajo no aplica; usa siempre ideam-socrata tui.

El recorrido, pantalla por pantalla

Abre la herramienta: escribe esto en la terminal y presiona Enter:

ideam-socrata tui

¿Dice "ideam-socrata no se reconoce como comando"? Pasa en algunos Windows cuando la carpeta de scripts de Python no queda en el PATH. Usa esta forma equivalente, que funciona siempre:

python -m ideam_socrata tui

(Sirve para todos los comandos de esta guía: python -m ideam_socrata seguido de lo mismo. Requiere la versión 1.2.1 o superior; actualiza con python -m pip install -U ideam-data-automator.)

Paso 0 · Acepta los términos

Qué hacer: lee las condiciones de uso (datos abiertos del IDEAM, uso académico) y haz clic en el botón verde "Acepto los términos".

Pantalla de acuerdo de uso de la TUI

Paso 1 · Elige la variable

Qué hacer: escribe el nombre de lo que buscas (por ejemplo precipitación), baja con la flecha ↓ hasta la opción que quieres y presiona Enter.

Hay 21 variables disponibles: precipitación, niveles de río y mar, temperaturas, viento, humedad, presión, calidad de aire/agua, y más.

Paso 1 de la TUI: selección de variable

Paso 2 · Marca los departamentos

Qué hacer: muévete con las flechas ↑↓ y presiona Espacio para marcar con ✓ cada departamento que te interese (puedes marcar varios). Al terminar, haz clic en "Continuar".

Si necesitas afinar más, ahí mismo hay filtros avanzados: zona hidrográfica, municipio, categoría de estación, o códigos de estación escritos a mano.

Paso 2 de la TUI: selección de departamentos

Paso 3 · Revisa los años

Qué hacer: la herramienta consulta cuántos datos existen de verdad para tu selección (estaciones y rango real de fechas). Revisa el rango de años propuesto, ajústalo si quieres, y presiona Descargar.

Paso 3 de la TUI: selección de años

Paso 4 · Espera la descarga

Qué hacer: nada, solo espera. Verás el progreso en vivo (filas por segundo y tiempo restante). Al terminar, presiona la tecla O para abrir la carpeta con tus archivos, o N para hacer otra consulta.

Paso 4 de la TUI: descarga con progreso en vivo

¿Y ahora? Tus archivos quedaron en Documentos\IDEAM_Data\, organizados por departamento y municipio, listos para abrir en Excel (CSV) o en PowerBI/pandas (Parquet). El archivo RESUMEN_*.txt te dice cuántos datos trajo cada estación.

¿Prefieres no usar la terminal para nada? En ideam.sergiobc.com está la versión web: los mismos datos desde el navegador, sin instalar nada.

Otros modos de uso

Asistente clásico de consola

ideam-socrata interactive

Descarga directa scriptable (sin menús)

# Ver los datasets disponibles y sus IDs
ideam-socrata datasets

# Precipitación de Atlántico, ene-mar 2024, con copia CSV
ideam-socrata download --dataset s54a-sgyg --department ATLANTICO `
    --start-date 2024-01-01 --end-date 2024-04-01 --csv

download acepta --department repetido, --output-dir, --workers y --csv.

Qué obtienes

  • Dónde quedan tus archivos: por defecto en Documentos\IDEAM_Data\ (puedes cambiarlo con --output-dir o la variable IDEAM_OUTPUT_DIR). La TUI muestra la ruta exacta al terminar y la tecla O abre la carpeta.
  • Archivos organizados por carpetas: DEPARTAMENTO/MUNICIPIO/variable_*.parquet|csv.
  • Fechas reales (no texto): el CSV abre en Excel con filtros de fecha funcionales y el Parquet trae timestamps nativos para PowerBI/pandas.
  • CSV dividido automáticamente para no exceder el límite de filas de Excel.
  • RESUMEN_*.txt por descarga: rango real de los datos, filas por estación con primera/última observación y % de completitud mensual.
  • Deduplicación automática y homologación de variantes territoriales (ATLANTICO/ATLÁNTICO, mojibake del portal).

Configuración (opcional)

Un token de aplicación de Socrata (gratuito) mejora límites y estabilidad. Copia .env.example a .env:

SOCRATA_APP_TOKEN=
SOCRATA_DOMAIN=www.datos.gov.co
SOCRATA_LIMIT=50000
SOCRATA_MAX_WORKERS=10
SOCRATA_TIMEOUT=300

Para la herramienta basta con un solo SOCRATA_APP_TOKEN; el resto de variables son ajustes finos opcionales.

Estructura

src/ideam_socrata/
  tui.py               # Interfaz visual de pantalla completa (Textual)
  main.py / core.py    # Asistente clásico de consola
  cli.py               # Entry point (tui, interactive, datasets, download, verify)
  batch.py             # Descarga no interactiva / scriptable
  engine.py            # Motor de descarga silencioso (usado por la TUI)
  config.py            # Configuración, cliente Socrata y catálogo de datasets
  extract.py           # Paginación Socrata
  transform.py         # Normalización, floating_id, deduplicación
  query_validation.py  # Validación de variantes territoriales
  exporting.py         # Export Parquet/CSV + reporte de cobertura
  validation.py        # Modelos Pydantic
tests/                 # Pruebas unitarias
docs/                  # Guías e infografías

¿Y la versión web?

Este repositorio contiene la herramienta local: la instalas y los datos llegan directo a tu computador. Como parte del mismo proyecto también existe ideam.sergiobc.com, la plataforma web donde puedes explorar los mismos datos desde el navegador (gráficas, mapas y más) sin instalar nada. Usa la que se acomode a tu trabajo: la local para descargar series completas a tus carpetas, la web para consultar y visualizar.

Documentación

Documento Qué contiene
Infografía del flujo local El proceso completo de descarga en una página visual
Instructivo paso a paso Guía de instalación y uso con capturas
docs/HISTORIA.md Historia y evolución del proyecto

Pruebas

python -m pytest tests/

Cita académica

Si usas esta herramienta en tu investigación, cítala con los metadatos de CITATION.cff (GitHub muestra el botón "Cite this repository").

Limitaciones y preguntas frecuentes

¿Por qué no hay datos antes de ~2016 en mi municipio? El portal datos.gov.co publica la telemetría de las estaciones automáticas del IDEAM, que en su mayoría empezaron a reportar alrededor de 2016. Las series convencionales históricas (medidas a mano desde 1929 hasta ~2015) no están en datos abiertos: viven solo en el portal DHIME del IDEAM. Por eso, para muchas estaciones el inicio del registro disponible aquí es relativamente reciente. Revisa siempre el archivo RESUMEN_*.txt que acompaña cada descarga: ahí ves la cobertura real estación por estación (primera y última observación y % de completitud), que es la única fuente confiable de "hasta dónde llega" tu serie.

¿Por qué mi descarga tiene menos filas que las que muestra el portal? La herramienta deduplica los datos por la combinación estación + sensor + fecha: si el portal entrega la misma medición repetida (algo común cuando el IDEAM republica o corrige valores), aquí se conserva una sola. El conteo del portal incluye esos duplicados; tu archivo no. Menos filas no significa datos perdidos, sino datos limpios.

¿Hay límites de velocidad al descargar? Sí. Socrata (la plataforma de datos.gov.co) limita cuántas peticiones puede hacer un cliente por hora. Sin token, ese límite es compartido y bajo, así que descargas grandes pueden ralentizarse o cortarse. Un App Token gratuito (ver Configuración) sube ese límite y hace la descarga más estable. Aun con token, las descargas de varios años pueden tardar; la herramienta pagina, reintenta y reanuda automáticamente.

Política de datos

Los datos provienen del IDEAM bajo la Política de Datos Abiertos de Colombia y son de uso académico e investigativo. No se suben datos reales, logs ni credenciales al repositorio.

Licencia

Apache 2.0. Ver LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ideam_data_automator-1.2.2.tar.gz (74.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ideam_data_automator-1.2.2-py3-none-any.whl (65.5 kB view details)

Uploaded Python 3

File details

Details for the file ideam_data_automator-1.2.2.tar.gz.

File metadata

  • Download URL: ideam_data_automator-1.2.2.tar.gz
  • Upload date:
  • Size: 74.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for ideam_data_automator-1.2.2.tar.gz
Algorithm Hash digest
SHA256 9e10bb66e9bc8995123914fb828203c7ad52c97e842e362c6bcda7652dbe46da
MD5 36a3db8272002c180cd7607019b23063
BLAKE2b-256 ac394c9d3ef190ea317192c26981c36fac81f8e8fba49f7bd7b5f6c63e0952e0

See more details on using hashes here.

File details

Details for the file ideam_data_automator-1.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ideam_data_automator-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 03cf3659d1b7f393a0f6bc957b70fc7511e4a01334ec5dfa45b4a84d467790e9
MD5 90c032e1ef4615490a5e6a67f285d06d
BLAKE2b-256 656576fcedf27cc86d681af06cd48030a3a2d328d0a13ca114ab909eba969bba

See more details on using hashes here.

Release history Release notifications | RSS feed

1.2.3

2 files

This release

1.2.2 This release

2 files

1.2.1.post1

2 files

1.2.1

2 files

1.2.0.post1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.3

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page