Cómo la nueva era digital revolucionará las predicciones del tiempo
En las predicciones del tiempo y el clima el papel de la computación ha sido crucial. Un reciente artículo discute los límites actuales y propone el diseño de nuevas infraestructuras para revolucionar las predicciones.
La precisión alcanzada en la predicción del tiempo es una combinación de la mejora en el sistema de observaciones, mayor comprensión de los procesos físicos que ocurren en la atmósfera y el crecimiento de la tecnología computacional. Las predicciones del tiempo y del clima son una aplicación perfecta para poner a prueba los límites de la computación. Desde la pionera simulación numérica por ordenador diseñada por Jon von Neumann, muchos han sido los logros alcanzados hasta llegar a las predicciones actuales.
Según los autores, hay dos grandes retos que las predicciones del clima y el tiempo deberán superar. El primero está relacionado con los efectos del cambio climático que requieren de predicciones más precisas para que se puedan contribuir a rápidas tomas de decisiones. En particular, sobre la frecuencia y la intensidad de eventos extremos. En segundo lugar, están los retos de la adquisición masiva de datos (Big data) junto a la desactualización de las leyes computacionales de Moore y Dennard que garantizaban una constante mejora de la arquitectura manteniendo el coste constante.
El estado actual de las simulaciones numéricas del tiempo
La adaptación continua del código a la tecnología emergente se remonta a los años 70, cuando los supercomputadores fueron comercialmente alcanzables para los centros de predicción. En los 90 la tecnología sufrió un cambio brusco con la aparición de la paralelización de procesos que permiten aumentar la resolución espacial. Esto hace que varios nodos puedan simular diferentes partes del globo simultáneamente y se comuniquen entre ellas pasándose información sobre, por ejemplo, la evolución de un frente.
La predicciones actuales se realizan para todo el globo dividido en 10 millones de puntos, 100 niveles verticales, 10 variables de pronóstico, inicializados con 100 millones de observaciones al día. Estas simulaciones se realizan en cientos de nodos de CPUs (Central Processing Units).
Para poder resolver las ecuaciones diferenciales que gobiernan los procesos atmosféricos, éstas son convertidas a un sistema discreto de ecuaciones algebraicas; este proceso se denomina discretización. De este modo, los ordenadores pueden resolver las ecuaciones mediante los algoritmos apropiados, como por ejemplo diferencias finitas, obteniendo las soluciones en un conjunto discreto de puntos.
Un conjunto de ecuaciones se discretizan en el tiempo y en el espacio para poder resolver los procesos físicos conocidos. Además, usan lo que se conoce como parametrizaciones para resolver procesos como la microfísica de nubes o la turbulencia que a su vez influyen en las variables de pronóstico. Todo ello está escrito en miles de líneas de código, normalmente Fortran.
Este engranaje ha llevado a enormes códigos heredados que son principalmente escritos por científicos. Según Bauer et al. esto ha hecho que tales códigos sólo alcancen el 5% de rendimiento de CPUs. Este modo de programar los modelos atmosféricos fue suficiente mientras existió un crecimiento exponencial de la tecnología, pero ahora este crecimiento se detiene y el coste de la energía aumenta. Los autores auguran que nos acercamos a un abismo informático que nuestra comunidad debe superar para ofrecer predicciones mejores y más rentables.
Las nuevas tecnologías que se aplicarán
Hasta ahora las estrategias para acelerar las predicciones se han basado en la refactorización del código por informáticos, mejorando la memoria y la comunicación con la paralelización. Se han mejorado los flujos de trabajo mediante la superposición de computación y transferencias de datos. Otra estrategia está siendo el uso de tarjetas gráficas o GPU (Graphics Processing Unit) pero requieren la laboriosa reescritura del código. Por ejemplo, el National Oceanic and Atmospheric Administration (NOAA) está portando varias arquitecturas para usar las GPUs NVDIA.
Las evaluaciones recientes muestran que los códigos actuales caen por debajo de los objetivos de rendimiento necesarios para la producción operativa. Para superar estas barreras destacan tres estrategias.
- Estructura de datos y discretización. Para mejorar el rendimiento, algunas arquitecturas básicas requieren especial atención, como la discretización espacial, el paso del tiempo y el acoplamiento de los componentes del sistema terrestre (por ejemplo entre atmósfera, suelo y océano). Se puede lograr eficiencia y precisión combinando métodos de pasos de tiempo grandes con discretizaciones de orden superior. Otra solución propuesta es el uso de diferentes pasos de tiempo para diferentes componentes del sistema terrestre. Otro enfoque se refiere a paralelizar en el tiempo en vez de la discretización espacial, lo que supondría el reto de superar la dependencia del historial de tiempo del flujo manteniendo la precisión y la estabilidad numérica de las integraciones.
- Rendimiento y portabilidad. Software y hardware avanzan a diferentes escalas de tiempo. La vida útil del software puede ser de décadas, mientras que el hardware de alto rendimiento se suele utilizar durante menos de cinco años. Los códigos científicos suelen desarrollarse independientemente del hardware utilizado. La idea es pasar de lo que se conoce como lenguaje de propósito general al lenguaje específico de dominio.
- A pesar de la avalancha de proyectos dedicados a aplicar machine learning a las ciencias atmosféricas todavía es difícil saber cuál será el verdadero alcance de estas técnicas. Ya se han logrado modelos capaces de predecir desde el nowcasting (predicción de unas pocas horas) hasta predicciones estacionales. Sin embargo, la comunidad científica todavía permanece escéptica ante el uso de “una caja negra” frente a la resolución numérica de procesos físicos. Así pues, todavía se está en el compromiso de un uso mixto de ambas técnicas.