TEMPO

Integración y Arquitectura Completa

Ahora que conoces cada fuente de datos, aprenderemos cómo integrarlas en un sistema robusto y completo.

Arquitectura del Sistema

Integrador de Datos - Concepto

Datos que Debe Manejar tu Integrador

Estructura de datos integrados que tu aplicación debe combinar:

FuenteDatos ClaveCampos Importantes
TEMPONO₂, O₃, HCHO (columna)Valor, quality_flag, timestamp, disponibilidad
OpenAQPM2.5, PM10 (superficie)Valor, número de estaciones, distancia, timestamp
WeatherCondiciones meteorológicasTemperatura, viento (velocidad/dirección), humedad, presión
FIRMSIncendios activosCantidad, distancia más cercana, FRP total, nivel de impacto

Estrategia de Integración

Pasos conceptuales para integrar todas las fuentes:

  1. Fetch paralelo: Consultar todas las APIs simultáneamente para reducir latencia total
  2. Manejo de fallbacks: Si TEMPO no disponible (noche, nubes), usar solo fuentes terrestres
  3. Filtrado de calidad: Descartar datos con quality_flag > 1 o timestamps muy antiguos
  4. Normalización: Convertir todas las unidades a formato consistente
  5. Retornar estructura unificada: Un solo objeto con todos los datos organizados por fuente
Consideraciones de Performance

Optimizaciones clave:

  • Hacer requests en paralelo (no secuenciales) → ahorra 3-4 segundos
  • Cachear resultados por 60 minutos para TEMPO, 10-30 min para OpenAQ
  • Verificar cobertura TEMPO antes de consultar (evita requests innecesarios)
  • Implementar timeouts (5-10 segundos máximo por fuente)

Motor de Análisis - Componentes Clave

Qué Debe Hacer tu Motor de Análisis

Funcionalidades principales que debe incluir:

ComponenteQué HaceInputsOutputs
Calculador AQICalcula AQI para cada contaminante (PM2.5, O₃, NO₂)ConcentracionesValores AQI (0-500)
Identificador de FactoresDetecta qué está causando contaminaciónDatos integradosLista de factores (incendios, viento, T°)
Generador de AlertasCrea recomendaciones de saludAQI + factoresMensajes para población general y sensibles
Motor de PronósticoPredice evolución próximas horasMeteorología + tendenciasPronóstico 2h y 6h

Factores Contribuyentes a Identificar

Variables a analizar para explicar niveles de contaminación:

FactorCómo DetectarloSeveridadMensaje Típico
Incendios activosFIRMS count > 0 y distancia < 100kmAlta si FRP > 500MW"X incendio(s) a Y km - humo detectado"
Viento débilwind_speed < 2 m/sModerada"Viento débil - acumulación de contaminantes"
Formación de O₃T° > 30°C + hora 12-18hAlta"Condiciones ideales para ozono - evitar ejercicio"
HCHO elevadoTEMPO HCHO > 3×10¹⁶Alta"Humo o emisiones industriales detectadas"
NO₂ elevadoTEMPO NO₂ > 8×10¹⁵Moderada"Tráfico intenso o actividad industrial"

Generación de Pronósticos

Reglas simples para predecir evolución:

CondiciónPronóstico 2hPronóstico 6hTendencia
T° > 28°C + mediodía"O₃ continuará aumentando""O₃ descenderá al atardecer"Empeorando → Mejorando
Incendios cercanos"Humo puede desplazarse""Depende de dirección del viento"Empeorando
Viento < 2 m/s"Acumulación continúa""Poca mejora esperada"Empeorando
Viento > 5 m/s"Dispersión activa""Mejoría esperada"Mejorando
Hora 16-20h + O₃ alto"O₃ comenzará a bajar""Mejoría gradual"Mejorando
Fórmulas de Cálculo AQI

Para calcular AQI de cada contaminante, necesitas:

  • Breakpoints EPA oficiales (tablas de conversión concentración → AQI)
  • Fórmula lineal de interpolación entre breakpoints
  • Referencias: EPA AQI Calculator - Herramienta oficial

El AQI final de tu app = máximo AQI entre todos los contaminantes medidos.

Flujo del Sistema Completo

Secuencia de operaciones de tu aplicación:

  1. Usuario solicita datos → Proporciona lat/lon
  2. Fetch datos integrados → Consultar TEMPO + OpenAQ + Weather + FIRMS en paralelo
  3. Validar y filtrar → Descartar datos de baja calidad
  4. Calcular AQI → Para cada contaminante disponible
  5. Identificar factores → Analizar qué está causando los niveles actuales
  6. Generar pronóstico → Predecir evolución basado en meteorología
  7. Crear recomendaciones → Mensajes específicos según AQI y factores
  8. Retornar respuesta → Estructura unificada con todos los resultados

Ejemplo de Respuesta Final

Qué debe contener la respuesta de tu API:

SecciónContenidoEjemplo
Ubicación y tiempoCoordenadas, timestamp"CDMX, 2025-10-02 14:00"
AQI generalValor, nivel, color, contaminante dominante"AQI 85 - Moderado - PM2.5"
Contaminantes individualesValor y AQI de cada uno"PM2.5: 28 μg/m³ (AQI 85)"
Factores contribuyentesLista con severidad y descripción"Viento débil (Moderado)"
Recomendaciones saludGeneral, sensibles, actividades"Limitar ejercicio prolongado"
Pronóstico2h, 6h, tendencia"Mejorará con viento esperado"

Casos de Uso Prácticos

Caso 1: Sistema de Alertas de Incendios

Lógica de alerta a implementar:

CondiciónAcciónMensaje Típico
Incendios detectados + HCHO altoAlerta SEVERA"🔥 Incendio a X km - Humo confirmado por TEMPO - Permanezca en interiores"
Incendios detectados + PM2.5 altoAlerta ALTA"🔥 Incendio a X km - PM2.5 elevado - Evite actividades al aire libre"
Solo incendios (sin datos calidad aire)Alerta MEDIA"🔥 Incendio detectado a X km - Monitoree calidad del aire"
Viento hacia poblaciónAgregar contexto"Viento desde incendio - riesgo de humo en próximas horas"

Variables a monitorear:

  • FIRMS: count > 0, distance < 50 km, FRP > 200 MW
  • TEMPO: HCHO > 3×10¹⁶ confirma humo
  • OpenAQ: PM2.5 > 55 confirma impacto en superficie
  • Weather: wind_direction indica si humo viene hacia ubicación

Caso 2: Dashboard en Tiempo Real

Componentes esenciales del dashboard:

ComponenteDatos a MostrarActualización
AQI actualValor numérico + color + nivelCada 30-60 min
Gráfica 24hTendencia histórica de AQIAl cargar + cada hora
MapaOverlay de NO₂/O₃ de TEMPOCada hora (8-22h)
Alertas activasLista de condiciones adversasEn tiempo real
RecomendacionesAcciones específicas según contextoCada consulta
PronósticoEvolución esperada 2-6hCada consulta

Reglas para generar recomendaciones:

  • AQI > 150 → "Evite actividad prolongada al aire libre"
  • Tendencia empeorando → "Cierre ventanas en próximas horas"
  • Viento < 2 m/s → "Evite ejercicio - condiciones de acumulación"
  • Incendios cercanos → "Permanezca en interiores si es posible"

Resumen del Módulo 3: Datos Complementarios

Has completado el módulo sobre integración de fuentes complementarias. Ahora sabes:

Lección 1: Por Qué y Qué Fuentes Usar

  • ✅ Limitaciones de TEMPO (PM2.5, superficie, nocturno)
  • ✅ Las 3 fuentes esenciales: OpenAQ, Weather, FIRMS
  • ✅ Cuándo usar cada fuente (matriz de decisión)
  • ✅ Complementariedad y validación cruzada
  • ✅ Stack recomendado para el Challenge

Lección 2: APIs y Acceso a Datos

  • ✅ OpenAQ API v3 - PM2.5 y validación
  • ✅ Weather APIs - Open-Meteo, OpenWeather
  • ✅ FIRMS API - Detección de incendios
  • ✅ Código TypeScript práctico para cada API
  • ✅ Cliente unificado reutilizable

Lección 3: Integración y Arquitectura Completa

  • ✅ Arquitectura de integración multi-fuente
  • ✅ Motor de análisis avanzado (AQI, pronósticos)
  • ✅ Generación de alertas inteligentes
  • ✅ Casos de uso prácticos completos
  • ✅ Sistema end-to-end funcional

Habilidades Adquiridas

Puedes:

  • 🎯 Integrar TEMPO con OpenAQ, Weather y FIRMS
  • 🎯 Calcular AQI multi-contaminante
  • 🎯 Generar pronósticos basados en meteorología
  • 🎯 Identificar y explicar factores contribuyentes
  • 🎯 Crear alertas contextuales inteligentes
  • 🎯 Validar datos entre fuentes
  • 🎯 Diseñar arquitectura escalable

Stack Tecnológico Recomendado

Componentes sugeridos para tu aplicación:

CapaOpciones RecomendadasPor Qué
Fuentes de datosTEMPO + OpenAQ + Weather + FIRMSCore del challenge
Backend runtimeNode.js, Deno, o BunEcosistema maduro JavaScript
Framework backendExpress, Fastify, HonoAPIs REST simples
CachingRedis o In-memoryPerformance crítico
FrontendReact, Next.js, VueEcosistema robusto
MapasLeaflet o MapboxVisualización geoespacial
GráficasRecharts, Chart.jsSeries temporales
DeploymentVercel, Netlify, CloudflareServerless + escalable
Database (opcional)PostgreSQL, MongoDBSolo si guardas históricos

Checklist Final del Módulo

Antes de pasar al siguiente módulo, asegúrate de:

  • Entender qué fuente usar para cada necesidad (PM2.5 → OpenAQ, Contexto → Weather, etc.)
  • Saber acceder a OpenAQ, Weather y FIRMS APIs
  • Poder integrar múltiples fuentes en un solo sistema
  • Calcular AQI para PM2.5, O₃ y NO₂
  • Generar pronósticos simples basados en meteorología
  • Identificar factores contribuyentes (incendios, viento, temperatura)
  • Crear recomendaciones de salud contextuales

Próximos Pasos

En el Módulo 4 (siguiente), aprenderemos:

  • Cómo acceder específicamente a TEMPO (CMR, ArcGIS ImageServer)
  • Autenticación con Earthdata
  • Rate limits y mejores prácticas
  • Playground interactivo con APIs
  • Ejemplos avanzados de consultas

Estás listo para construir una aplicación completa que integre TEMPO con datos complementarios y genere insights accionables para mejorar la salud pública.