Skip to content
Víctor Hernández edited this page Sep 15, 2026 · 2 revisions

English · Español

Estado del proyecto

Última actualización: septiembre de 2026

Hoja de ruta

Etapa Objetivo Estado
0 Red de seguridad: tests de regresión, comprobaciones de determinismo, integración continua ✅ Hecho
1 Correcciones del núcleo y base de seguridad del portal ✅ Hecho
2 Rendimiento y endurecimiento ✅ Hecho
Consolidación antes de la etapa 3 ✅ Hecho
3 Generalización: ambos hemisferios, régimen polar, parámetros configurables, máscaras CF-NetCDF 🔄 En curso
4 Seguimiento temporal de episodios (TempestExtremes) y portal desplegable 📅 Previsto
5 Validación frente a índices de bloqueo establecidos y despliegue público 📅 Previsto

En qué se trabaja ahora (etapa 3)

  • Resolución de la rejilla y límites de latitud tomados del fichero de entrada al ejecutar, sin recompilar.
  • Ambos hemisferios con la misma lógica.
  • Todos los umbrales en un único fichero de parámetros, volcado en la cabecera de cada salida.
  • Filtros por área real de la celda en lugar de por número de celdas.
  • Estructuras que cruzan el meridiano ±180° o el polo tratadas como un único objeto.
  • Categoría propia para las altas polares.
  • Tests de simetría entre hemisferios y de invariancia a la resolución de la rejilla.

Completado recientemente (consolidación)

  • Validación de principio a fin del portal completo: petición, ejecución del núcleo, mapas y resultados.
  • Tests automáticos del portal en navegador, obligatorios en cada pull request.
  • Las peticiones del portal usan las versiones OpenMP y MPI del núcleo.
  • Peticiones simultáneas gestionadas por separado y errores del pipeline notificados al usuario.
  • Tests de integración de la API en la integración continua.
  • Variante de temperatura: agrupamiento iterativo, identificadores y centroides reales de cada agrupación y su propio test de regresión.
  • Más tests de la validación de entrada del núcleo y tipado más estricto en la API.

Completado en la etapa 2

Núcleo científico

  • Escalado OpenMP corregido. En un caso ERA5 de 60 pasos con 12 hilos, el tiempo bajó de unos 10 s a unos 5 s.
  • Lectura de la entrada paso a paso: la memoria pico pasó de 75 MB a menos de 30 MB.
  • Versiones MPI e híbrida MPI + OpenMP corregidas y cubiertas por tests de determinismo. Con 12 procesos, el mismo caso tarda unos 2,6 s.
  • Coste de cálculo medido frente a TempestExtremes en las mismas condiciones.

Portal

  • El rol del usuario se lee de la base de datos en cada petición.
  • CORS limitado a una lista blanca y cabeceras de seguridad añadidas.
  • Limitación de peticiones, sobre todo en la autenticación.
  • Documentación de la API desactivada en producción.
  • Endpoint de estado (health check).
  • Los errores del pipeline se notifican al usuario en lugar de dejar las peticiones esperando.

Mediciones detalladas: docs/benchmark.md.

Clone this wiki locally