Un breve recuento sobre los generadores de productos y sus visualizadores desarrollados en Cuba hasta llegar al poderoso LAMULA™ WebViewer que actualmente oferta LADETEC.
Una vez que el dato de radar meteorológico ha sido digitalizado y guardado en una computadora se requiere de un programa que se encargue de generar los productos, que son matrices de números representando algún tipo de corte horizontal, vertical, obliquo o transversal con representación georeferenciada y unidades físicas. Luego de creados los productos hay que acudir a un generador de imágenes que alimente a un software que permita visualizar la información. En Cuba transitamos por todas las etapas de estas tecnología a tono con el mundo y a veces en la avanzada. Le cuento la historia con un poco más de detalle, si entra y la lee, se entera.
La historia en breve
Las aplicaciones de escritorio
Comenzamos con el HERMES, en 1988, una aplicación de escritorio para MS-DOS que creaba los productos y los visualizaba de forma muy rudimentaria (cuatro colores) en el monitor de una PC IBM-XT, sin control del radar. Luego tuvimos a ARGOS, ya con control total de un radar convencional (simultaneando el mando manual con el automático). El software de generación de productos y visualización para ARGOS también era una aplicación para MS-DOS. Ya en 1997 tuvimos el radar solo con mando automático y con el generador-visualizador que llamamos VESTA|Process, una aplicación de escritorio para Windows95, creada en 1996 y vigente hasta el día que escribo esto, 30 años después, a pesar de que la última versión de Windows para la que corrió bien fue Windows XP™.

La página web (VESTA|Web)
En el año 2006, ya con todos los radares modernizados, automatizados e informatizados, el ingeniero Wilfredo Pozas Pérez, de LADETEC, desarrolló una página web para mostrar las imágenes de los radares en la red corporativa del INSMET. La llamó VESTA|Web, mostraba imágenes fijas de radar, sobre mapa también fijo, generadas por VESTA|Process (o su automatismo VESTA|Distribuidor). La página estaba hecha en .NET y tuvo la apariencia visual de la página oficial del INSMET para no causar resquemores con un diseño propio.

La aplicación web (VESTA|WebView)
En el año 2008 decidimos asimilar las facilidades que abrió CODE (Common Operations and Development Environment) una versión pública y de código abierto del software que utiliza el RPG (Radar Product Generator) del NEXRAD, que es el procesador encargado de transformar los datos brutos del radar en imágenes y productos meteorológicos utilizables (como mapas de reflectividad o velocidad). Wilfredo se dio a esta tarea y ya en el año 2009 lo teníamos funcionando en el radar de Camagüey y en el 2010 con los ocho radares cubanos.
Existía una dificultad: ORPG crea los productos y las imágenes, pero no tiene visualizador. En los radares de EE.UU se usaba el PUP (Principal User Processor, ia interfaz gráfica y estación dedicada que solicita los productos al RPG, los despliega en pantalla para el analista y permite hacer acercamientos, cortes verticales o alertas) y con posterioridad, pasaron a usar OPUP (Open software) y luego AWIPS. Nosotros necesitábamos un visor para estos productos.
Para resolverlo, Wilfredo se dio a la tarea de desarrollar una aplicación web (es decir, un sitio web que permitiera a los usuarios del sistema meteorológico cubano interactuar con los productos de ORPG de los ocho radares cubanos). La aplicación web se hizo con Chameleon, un framework de desarrollo web sobre PHP. Wilfredo estaba consciente de que era una solución temporal para desarrollar posteriormente una versión más avanzada usando OpenLayers, una biblioteca de JavaScript de código abierto que permite integrar mapas interactivos y dinámicos en páginas web; pero Wilfredo no continuó trabajando en LADETEC ni en el INSMET, lamentablemente, porque su versión continuadora era muy prometedora.

Una disgresión histórica importante para entender lo que sigue
En junio de 2005, Google abrió su API al público, permitiendo a los desarrolladores incrustar mapas interactivos basados en teselas (tile maps: Google dividió el mapa del mundo en millones de imágenes cuadradas pequeñas de 256×256 píxeles cada una, llamadas literalmente teselas) y el uso de AJAX (Asynchronous JavaScript and XML, para actualizar en segundo plano solo las teselas involucradas) en sus propias páginas web por primera vez. Antes del lanzamiento de Google Maps en 2005, los servicios de mapas en la web (como el antiguo MapQuest) eran increíblemente lentos. Cada vez que querías mover el mapa o hacer zoom, el navegador tenía que recargar la página completa o generar una única imagen gigantesca desde el servidor, lo que interrumpía por completo la navegación (era lo que pasaba con VESTA|WebView, a menor escala, pero en nuestra muy lenta red corporativa).
El pionero fue Weather Underground —co-fundado por Jeff Masters (con quien yo solía intercambiar hablando de sus publicaciones en el blog sobre temas de radar)— quien supo ver el potencial descomunal de esta tecnología para la meteorología ciudadana y profesional. Fue así como lanzaron WunderMap, convirtiéndose en el primer gran sitio web en ofrecer datos de radar superpuestos de forma dinámica, fluida y totalmente interactiva, sobre un mapa navegable.

WunderMap no solo introdujo el zoom y el desplazamiento continuo sobre el radar, sino que permitió algo revolucionario para la época: la multicapa. Los usuarios podían encender o apagar de manera simultánea las imágenes de radar NEXRAD, las estaciones meteorológicas personales (PWS), los frentes fríos, los rayos en tiempo real y las imágenes satelitales, todo sobre la misma interfaz interactiva.

Para el Dr. José Rubiera, nuestro Pronosticador Principal en Cuba, semejante novedad no podía pasar desapercibida y no tardó en señalarme —yo quisiera uno así para los radares cubanos (recuerden mis lectores el papel que jugó el Dr. Rubiera en el desarrollo del radar Doppler cubano) y las palabras de Rubiera siempre han sido indicaciones para LADETEC.
LADETEC a por el mapa interactivo: VESTA|WebView2
En el 2014 LADETEC encargó a los ingenieros Vladímir Rodríguez Diez y Darío Vázquez Argüija dar continuidad a la tarea comenzada por Wilfredo y desarrollar un visor web a semejanza de WunderMap. Se llamó VESTA|WebView2.

Esta aplicación web fue desarrollada usando GWT (Google Web Toolkit). GWT es un marco de desarrollo de código abierto que permite a los programadores escribir aplicaciones web complejas utilizando Java y compilar dicho código directamente a JavaScript altamente optimizado e independiente del navegador. Esta tecnología facilitaba la creación de interfaces web dinámicas e interactivas AJAX.
VESTA|WebView2 usa OpenLayers y usa OpenStreetMap para los mapas de fondo. GWT nos pareció en el 2014 la mejor y más perspectiva opción para esta aplicación web. Y se logró.

VESTA|WebView2 es una aplicación web de código libre y abierto, depositado desde su creación en una cuenta de GitHub. LADETEC (en su versión actual de cooperativa) o cualquier otra empresa o grupo de trabajo puede hacer uso libre de este código sin conflicto de propiedad intelectual con el Instituto de Meteorología porque es un código desarrollado sobre plataformas libres y abiertas.
VESTA|WebView2 permite visualizar todos los productos que genera nuestra versión de RPG denominada VESTA|ORPG (Build 12, el último que permitía trabajar con radares que no fueran de polarización dual) para cada uno de los ocho radares cubanos (3 Doppler y 5 no-Doppler).

VESTA|WebView2 permite visualizar toda la información que genera ORPG con sus marcas de tormentas (granizo, tornados, mesociclones) y sus trayectorias.

Una de las características importantes de VESTA|WebView2 fue la de abir a pantalla completa, permitiendo un mejor uso de la información.

Con fines de redundancia, LADETEC (como grupo de trabajo del INSMET) dejó funcionando dos instancias en paralelo: la principal en Camagüey y una secundaria en Casa Blanca. Cada una es alimentada en tiempo real por ocho instancias de VESTA|ORPG, una por cada radar del país. Los datos primarios de cada radar viajan (en formato OBS) simultáneamente y en paralelo, a los Centros de Datos del Centro de Radares en Camagüey y en Casa Blanca. Así fue como lo dejamos en septiembre de 2022 cuando el INSMET prescindió de los servicios de LADETEC.
Solo para que tenga mi lector una idea, el Servicio Meteorológico de Estados Unidos (NWS) inauguró en diciembre del 2020 un servicio semejante de datos de radar sobre mapas navegables, No fuimos los primeros, tampoco estuvimos muy lejos de los punteros (vea la foto de portada).
Desde el año 2020 y hasta que hice entrega del cargo el 31 de octubre del 2022, ambas instancias de VESTA|WebView2 (la de Camagüey y la de Casa Blanca) podían ser vistas desde Internet sin restricciones.
Increíblemente, dentro de la red corporativa del Instituto de Meteorología ¡muchas provincias no podían verla!
Entonces … ¿Por qué LAMULA™ WebViewer?
¿Propiedad intelectual?
Como ya expliqué no hay un conflicto de propiedad intelectual, LADETEC puede usar libremente el código de VESTA|WebView2, es libre y abierto (lo que nadie se ha atrevido a volverlo a compilar desde que Darío lo hizo por última vez en el 2015).
¿Cumple con su cometido y expectativas?
Por lo explicado, VESTA|WebView2 cumple cabalmente las expectativas del Dr. Rubiera. Iguala a todos los otros sitios en mostrar la información de radar sobre un mapa navegable. Supera a otros sitios en que permite visualizar todos los productos que genera ORPG para cada radar y no una muy reducida selección como hacen aquellos. Supera a otros sitios en las facilidades interactivas con el usuario. Entonces ¿para qué desarrollar un nuevo visor?
Lo que habría que mejorar
Lo primero que debo comentarles es que los desarrolladores Vladímir Rodríguez Diez y Darío Vázquez Argüija dejaron de trabajar en el Centro de Radares en el año 2015. Algunos bugs (errores) quedaron pendientes, especialmente un error en la georreferenciación sobre el mapa de algunos ecos lejanos en la periferia de algunos de los radares. Algunas cuestiones de facilidades interactivas podrían haber sido mejoradas a la luz de las experiencias en la explotación. Los productos de perfil vertical del viento y el VAD (que genera ORPG) quedaron pendientes de incorporarse a la visualización en VESTA|WebView2.
Sin embargo, todo eso era soluble sobre el mismo código original en GWT.
El nuevo desarrollo: Vue 3 (JavaScript y TypeScript)
Pero los tiempos cambian y los paradigmas también. Decidimos abandonar el código de VESTA|WebView2 en GWT y pasar a usar Vue3. Vue 3 es un framework de JavaScript progresivo utilizado para construir interfaces de usuario y aplicaciones web de una sola página (SPAs). Destaca por ser extremadamente ligero, rápido y fácil de aprender. Permite dividir la interfaz en bloques de código independientes, reutilizables y fáciles de mantener. Permite agrupar y organizar la lógica del código por su funcionalidad en lugar de por opciones del framework, lo que facilita enormemente el manejo de proyectos grandes.
Si mi lector desea profundizar en el ecosistema de Vue.js, le sugiero consultar la Guía de Introducción oficial de Vue.js.
Vue 3 versus GWT: los motivos de programación
Migrar de GWT (Google Web Toolkit) a Vue 3 en un desarrollo moderno representa un salto abismal en términos de arquitectura, agilidad y rendimiento. La diferencia fundamental radica en pasar de un modelo mental enfocado en compilar Java a JavaScript pesado (estilo escritorio) a un desarrollo nativo web, reactivo y basado en componentes.
1. Paradigma y Experiencia de Desarrollo (DX)
- GWT: Obligaba a construir interfaces web usando un paradigma de «widgets» heredado de entornos de escritorio de Java (como Swing o AWT). Modificar el DOM requería escribir lógica en Java puro, y para interactuar con librerías de JavaScript externas (como OpenLayers) tenías que usar el engorroso JSNI (JavaScript Native Interface).
- Vue 3: Utiliza Componentes de Archivo Único (SFC) donde separas de forma limpia y natural el marcado (HTML), la lógica reactiva (JavaScript/TypeScript) y los estilos (CSS/SCSS). Su API de Composición (Composition API) permite reutilizar la lógica de manera modular, haciendo que el código sea infinitamente más legible y fácil de mantener.
2. Rendimiento y Carga Inicial
- GWT: Generaba archivos JavaScript mastodónticos (a menudo difíciles de optimizar por completo mediante tree-shaking), lo que ralentizaba la carga inicial de la página en navegadores antiguos o redes lentas.
- Vue 3: Está diseñado desde cero para ser extremadamente ligero (el núcleo pesa apenas unos cuantos kilobytes) y cuenta con un motor de reactividad basado en Proxies de JavaScript nativo que supera con creces el rendimiento de los antiguos modelos de enlace de datos de GWT.
3. Ecosistema de Construcción (Vite vs. Compilador GWT)
- GWT: Su proceso de compilación (Java-to-JS) era notoriamente lento, pesado y dependiente de configuraciones complejas de Maven o plugins dedicados.
- Vue 3: Se integra de la mano de Vite, un empaquetador moderno que ofrece un arranque instantáneo del servidor de desarrollo y recarga en caliente (Hot Module Replacement) casi imperceptible, agilizando drásticamente la programación diaria.
4. Integración con Librerías de Mapas (OpenLayers / Leaflet)
- Para un visor de radar, este punto es crítico. En GWT, integrar librerías geoespaciales requería wrappers complejos (si lo sabrán Vladímir y Darío que lo sufrieron). En Vue 3, la gestión del ciclo de vida de los componentes (
onMounted,onUnmounted) y su sistema de reactividad encajan a la perfección con la programación orientada a eventos de OpenLayers, permitiendo actualizar capas, geometrías y estilos de radar sobre el mapa (seguimos usando OpenStreetMAp, junto a otros) con un código mucho más limpio y directo.
En resumen, mientras que GWT fue una solución ingeniosa en su momento para que los desarrolladores de Java pudieran hacer web sin tocar JavaScript, Vue 3 ofrece un entorno nativo, ultrarrápido y perfectamente adaptado a los estándares modernos de la web geoespacial actual.
Para los suspicaces: podiamos haber reusado el código de VESTA|WebView2, pero no lo hicimos. La programación de LAMULA™ WebViewer no tienen ningún punto en común con nada de lo que hicimos para el Instituto de Meteorología en 32 años de existencia de LADETEC como grupo de desarrollo.
Cambio de paradigma y nuevas opciones
LAMULA™ WebViewer expande el paradigma, no se trata de un visor de los productos de ORPG solamente, también incorpora información de los satélites GOES (retornando a la idea original que Wilfredo reflejó en VESTA|Web), información del viento a diferentes alturas, información de las descargas eléctricas y algunas otras cosillas que están en planes muy próximos.

LAMULA™ WebViewer proporciona algunas otras facilidades de edición para anotar las imágenes (algo muy añorado por el personal del Grupo de Meteorología de Radar encabezado por Rafael Valdés) y está en desarrollo una herramienta de inserción de las espirales para determinar el ojo del huracán (una vieja deuda que tengo con la nunca bien ponderada Maritza Ballester).
LAMULA™ WebViewer permite crear animaciones de cualquier cantidad de cuadros deseados y permite exportarlas de forma muy sencilla e intuitiva.
Y por supuesto, LAMULA™ WebViewer es un software libre y abierto y su código está disponible en GitHub. El que se anime, puede bajárselo y usarlo.

Más que para visualizar productos de radar, LAMULA™ WebViewer es un entorno para el análisis de la información de los radares junto a otros sensores y la generación de avisos y alertas.
Bueno, LAMULA™ WebViewer es un componente dentro del nuevo ecosistema de LADETEC, si lo desea, eche un vistazo a los otros:
LAMULA™ ORPG para convertir el dato primario de cualquier radar a productos Level III.
LAMULA™ Process para generar productos a partir del dato primario (Level II o cualquier otro formato), en tiempo real o diferido, es el sucesor del querido VESTA|Process que acaba de cumplir 30 años, con nuevas facilidades online.
LAMULA™ DRx-DSP el nuevo y muy potente procesador de señales que puede acoplarse a cualquier radar (convencional, Doppler o Polarimétrico)
LAMULA™ RCP, el nuevo controlador del radar desde su teléfono móvil, completamente IoT-orientado.
LAMULA™ AWIPS, la implementación de LADETEC del formidable sistema de ayuda a los pronosticadores.

Deja una respuesta