SISTEMA DE SOPORTE ESPACIAL A DECISIONES (SDSS) · CÓDIGO ABIERTO

Modelado geoespacial y simulación predictiva para la erradicación de la malaria.

Plataforma colaborativa abierta en etapa inicial que integra simulaciones basadas en agentes (ABM), tensores climáticos satelitales y sustitutos neuronales de inferencia ultrarrápida para optimizar intervenciones de salud pública en territorio.

Un proyecto realizado con el apoyo de ANFAIA y CESGA
Pipeline Computacional Unificado
01 · Ingesta & Tensores
Datos Satelitales e Hidrológicos
ERA5 (temperatura y vientos), CHIRPS (precipitación), Sentinel-10m DSwX y MERIT DEM.
↓
02 · Generación de Datos (Profesor)
Motor ABM en C++ + 14 Scorers
Simulación estocástica precisa de millones de agentes generando pares de entrenamiento.
↓
03 · Inferencia Operativa (Estudiante)
Emulador U-Net & Asignación Óptima
Predicción mensual 100× más rápida para barrido masivo de escenarios de intervención.

METODOLOGÍA CIENTÍFICA

Descomposición de Peligro vs. Vulnerabilidad.

Siguiendo los avances de Morlighem et al. (2025) y Gbaguidi et al. (2026), MalariaSentinel desacopla la idoneidad del vector de la vulnerabilidad humana para producir mapas conjuntos de riesgo aplicables a toma de decisiones.

Peligro Vectorial (Hazard)

Ecológico & Climático

Modelado biofísico de idoneidad y dinámica poblacional del mosquito:

  • Procesos hidrológicos: Humedad del suelo, escorrentía superficial y charcas temporales (Smith et al. 2024).
  • Especies clave: Parametrización térmica diferenciada para An. coluzzii, An. gambiae, An. funestus y An. arabiensis.
  • Calendarios agrícolas: Influencia de cultivos de arroz en la proliferación estacional de vectores.

Vulnerabilidad y Exposición

Demográfico & Sanitario

Factores humanos que modulan el impacto real y la eficacia de las medidas preventivas:

  • Movilidad por fases: Desplazamientos humanos y ganaderos diurnos/nocturnos que alteran el contacto vector-hospedador.
  • Resistencia a insecticidas: Mutaciones de insensibilidad y desintoxicación metabólica que reducen el efecto del rociado IRS.
  • Cascada de efectividad: Tasa real de uso y durabilidad física de mosquiteros tratados (ITN IG2).

ARQUITECTURA DEL MONOREPO

Estructura técnica consolidada en mal-core.

Python 3.12+ · C++20 · Typer CLI
Paquete Nivel Rol y Responsabilidad Dependencias
mal-core/ Producción Núcleo consolidado: ABM en C++, red neuronal U-Net, predictores, scoring y servidor FastAPI. mal-commonlib
mal-commonlib/ Producción Cargadores espaciales (CHIRPS, ERA5, Sentinel, DEM, WorldPop, GLW4), paths y schemas comunes. —
mal-execution/ Producción Puntos de entrada CLI (malariasim) y scripts para orquestación de simulaciones batch. mal-core + mal-commonlib
mal-data-explorer/ Herramienta Visualización de coberturas geoespaciales, mapas de idoneidad y análisis de sesgo territorial. —
Comandos principales de malariasim uv run malariasim
# Descarga de tensores ambientales para un área (perfiles por defecto)
malariasim download --aoi ghana --years 2024,2025
malariasim ingest --aoi ghana --year 2024 --month 6

# Ejecución de simulación ABM estocástica para generar rollouts
malariasim abm --aoi ghana --days 30 --n-rollouts 5
malariasim score --run-dir runs/abm --tier fast

# Entrenamiento del emulador neuronal U-Net con los datos del ABM
malariasim train --run-dir runs/abm --epochs 50

# Predicción rápida de mapas de riesgo mensuales
malariasim predict --aoi ghana --year 2026

ESTADO ACTUAL Y NÚCLEO CONSOLIDADO

Avances consolidados en el paquete mal-core.

Todo el sistema principal de simulación, ingesta y evaluación se encuentra ya centralizado en mal-core, preparado para ejecuciones reproducibles y calibración científica continua.

Motor ABM en C++ de Alto Rendimiento

Consolidado en mal-core, simula dinámicas de ciclos gonotróficos y búsqueda de hospedadores con más de 261 tests en C++ y 14 evaluadores de calibración automatizados.

Ingesta y Tensores Ambientales Diarios

Pipeline robusto en mal-commonlib que procesa series climáticas CHIRPS (34 años), reanálisis ERA5, capas de agua superficial Sentinel-10m y elevación MERIT DEM.

Orquestación Modular & API REST

CLI malariasim unificado con 9 comandos para descarga, ingesta, entrenamiento y predicción, complementado con un servidor FastAPI para integración de servicios.

HERRAMIENTA VISUAL PARA INVESTIGADORES Y NOVELES

Configurador Interactivo de Simulación ABM & Flujo de Datos

Ajusta los parámetros de simulación o selecciona un escenario predefinido. El diagrama vectorial dinámico, las advertencias de datos requeridos y el manifiesto de salidas se actualizarán en tiempo real.

1. Escenarios de Simulación Predefinidos

2. Más opciones

Construye el binario mal_abm_fast desde el código fuente antes de lanzar la simulación. Desmárcalo si el motor ya está compilado para saltar la fase de build.

Superpone humanos (verde), ganado (marrón) y mosquitos (azul, I_V en rojo) tras la ejecución. Solo diagnóstico.

Ejecución Avanzada

Límite en segundos del subproceso del motor (vacío = sin límite).

Ruta a un worktree gawt para compilar y ejecutar de forma aislada.

Directorio que contiene el manifiesto del AOI (por defecto: data/).

Define la estación climática de partida.

Simulaciones concurrentes con semillas independientes.

Para reproducibilidad científica.

El equilibrio adulto depende de emergencia acuática ÷ mortalidad; la siembra solo cambia la velocidad de calentamiento.

Solo uniform: fracción de la capacidad (K) sembrada por parche. Más alta = calentamiento más rápido; el equilibrio no cambia.

Permite simular el movimiento y búsqueda de sangre de los mosquitos guiado por la densidad de ganado (vacas, cerdos, aves) y asentamientos humanos, incluso sin simular malaria.

Activa el ciclo bidireccional de infección entre mosquitos hembra (ingesta de gametocitos, incubación EIP) y población humana (incubación, recuperación e inmunidad).

Día en que se inyectan los casos índice (0 = al inicio).

Población mínima para que una celda sea candidata a foco.

Modo brote concentrado: UN clúster espacial con los casos repartidos según población. 0 = focos independientes.

Disparador adaptativo: el brote espera a que la mejor celda viable alcance esta densidad normalizada de mosquitos (agentes/K_MAX). 0 = día exacto. Umbrales altos (≥0.5) pueden no dispararse nunca.

En modo clúster: celdas más densas no pueden ser núcleo (los vectores se diluyen, R≪1). 0 = sin tope.

Parámetros Biológicos de Transmisión

Parte del pool de hembras ya infectadas al inicio (útil para incursiones vectoriales).

Registra la evolución diaria de huevos, larvas, pupas y adultos. Imprescindible para graficar pirámides demográficas y generar animaciones GIF.

Genera mapas animados de densidad de mosquitos y propagación de la infección.

Generado automáticamente a partir de AOI, año y duración.

Prerrequisitos de Datos & Guía de Configuración
Comando CLI Listo para Terminal

            
Manifiesto de Artefactos de Salida
GeoTIFFs de Población: 53 archivos
GeoTIFFs de Malaria: 53 archivos (SEIR)
Logs Demográficos: 1 archivo JSON
Animaciones GIF: 2 archivos (.gif)
Flujo de Datos Activo en Tiempo Real Transmisión Activa
1. INPUTS & DATOS 2. MOTOR ABM C++ (mal_core) 3. OUTPUTS GENERADOS ERA5 & CHIRPS Lluvia, Viento, Temp SENTINEL & DEM Agua DSwX y Relieve HOSPEDADORES Población & Ganado MOVILIDAD DÍA/NOCHE Desplazamientos OD MOTOR ABM ESTOCÁSTICO CICLO BIOLÓGICO Oviposición, desarrollo y vuelo ATRACCIÓN HOSPEDADORES Preferencia animal vs humano TRANSMISIÓN DE MALARIA Hembras I_V ↔ Humanos I_H Focos: 5 · Día Inyección: 180 FASE DE ESTABILIZACIÓN Equilibrio previo al brote 1 Rollout · Semilla 1 Snapshot: cada 7 días state_dayXXX.tif 53 GeoTIFFs (2 bandas) transmission_dayXXX.tif 53 GeoTIFFs (8 bandas) cohort.json 1 Serie demográfica Animaciones .gif 2 GIFs (Vectores + Malaria) overlay_hosts.gif Overlay de depuración

EMULACIÓN NEURONAL EFICIENTE

Generación masiva de escenarios sin el coste del ABM directo.

Simular millones de mosquitos en el ABM es preciso pero computacionalmente pesado. MalariaSentinel utiliza el ABM como generador de datos para entrenar una red U-Net que predice el estado epidemiológico de forma instantánea.

1. Fase de Entrenamiento (ABM → Dataset)

Generador de Verdad

El motor ABM en C++ ejecuta múltiples rollouts estocásticos con semillas variadas. El constructor de datasets extrae parches de 128×128 y pares temporales t → t+1.

  • Generación paralela de rollouts en clusters de cómputo.
  • Entrenamiento de arquitectura U-Net (32-64-128-256) con pérdida combinada MSE + soft-Dice.
  • Validación estricta de curvas de calibración frente al ABM base.

2. Fase de Producción Operativa (U-Net)

100× Más Rápido

En producción, la U-Net entrenada reemplaza la simulación pesada del ABM. Puede generar mapas de riesgo mensuales en milisegundos y evaluar miles de combinaciones de intervención en tiempo real.

  • Inferencia ágil para la toma de decisiones sobre el terreno.
  • Exploración interactiva de presupuestos de rociado IRS y mosquiteros.
  • Integración directa mediante endpoints REST en el servidor de producción.

HOJA DE RUTA TÉCNICA

Orden de ejecución planificado hacia el producto funcional.

La secuencia de desarrollo responde a dependencias biológicas y computacionales. Las fechas y plazos se definirán progresivamente en función de la acogida y las contribuciones de la comunidad.

5 Hitos Secuenciales
Hito 1 · Base

Consolidación del Núcleo Computacional Completado

Unificación de código en mal-core, motor C++ ABM optimizado, suite de 14 evaluadores de calibración (PR gate), pipelines de ingesta satelital (ERA5, CHIRPS, Sentinel-10m) y CLI malariasim.

Infraestructura
Hito 2 · Siguiente

Comportamiento Biológico Avanzado y Resistencia a Insecticidas En proceso

• Soporte Multi-Especie de Vectores: Integración de 4 especies de Anopheles (*coluzzii*, *gambiae*, *arabiensis*, *funestus*) con óptimos térmicos y hábitats específicos.
• Resistencia a Insecticidas: Modelado genético y metabólico de resistencia a piretroides que reduce la efectividad de mosquiteros e IRS.
• Movilidad Espacial por Fases: Matrices de movilidad humana y ganadera diurna/nocturna agregadas a la grilla territorial.

Modelado
Hito 3 · Secuencia

Emulación Masiva y Aceleración con Red Neuronal U-Net

Orquestación de ejecuciones concurrentes del ABM para generar datasets de entrenamiento a gran escala, entrenamiento de la red U-Net y sustitución del ABM en producción para generar predicciones en milisegundos.

Machine Learning
Hito 4 · Secuencia

Ingesta de Incidencia de Campo y Optimización Espacial

Conexión continua con datos epidemiológicos rutinarios (DHIS2) y motor de asignación óptima de mosquiteros IG2 y rociado IRS en micro-cuadrículas de 100m.

Integración
Hito 5 · Objetivo

Plataforma Centinela Operativa

Aplicación web interactiva completa para ministerios de salud y organizaciones en terreno: simulador visual de políticas sanitarias, evaluación de impacto por distrito y sistema de alertas tempranas estacionales.

Producto Final

CONTRIBUCIÓN ABIERTA

Un proyecto construido por una comunidad multidisciplinar.

Buscamos investigadoras, modeladores e ingenieros que deseen sumar esfuerzos en las distintas ramas técnicas del proyecto.

Epidemiología & Entomología

Ajuste de parámetros biológicos de vectores, frecuencias de resistencia a insecticidas y curvas de picadura.

Ingeniería Geoespacial

Pipelines satelitales automatizados, mallas espaciales Zarr/NetCDF y modelado de cuencas hidrológicas de alta resolución.

Machine Learning & Simulación

Entrenamiento de emuladores U-Net, paralelización en C++ y algoritmos de optimización bayesiana para políticas de salud.

Diseño & Producto

Diseño de experiencia para la plataforma interactiva Centinela, visualización cartográfica de riesgo y accesibilidad.

Paso 1 · Clonar & Sincronizar

Clonar el repositorio y sincronizar dependencias de forma reproducible con uv sync --all-packages.

Paso 2 · Validar el Entorno

Ejecutar la suite de pruebas y calibración con uv run pytest para verificar la integridad del sistema.

Paso 3 · Contribuir con un PR

Seleccionar un plan abierto en el repositorio y abrir un Pull Request tras pasar los checks automáticos.

Construyamos juntos el Centinela para la erradicación de la malaria.

Proyecto 100% abierto bajo licencia Apache 2.0. Código, planes de desarrollo y documentación técnica accesibles para toda la comunidad.