Quesada, J.A.; Medinilla, J. y Medinilla, F. Aplicación web para la automatización de las variables… Pág. 51-63 Recibido: 31/10/2022 Aceptado: 23/12/2022 Publicado: 25/01/2023 |
Universidad & ciencia Vol. 12, No. 1, enero-abril (2023) ISSN: 2227-2690 RNPS: 2450 |
APLICACIÓN WEB PARA LA AUTOMATIZACIÓN DE LAS VARIABLES METEOROLÓGICAS VIENTO Y CAUDAL DE BOMBEO
WEB APPLICATION FOR THE AUTOMATION OF THE WEATHER VARIABLES WIND AND PUMPING FLOW
Autores: Jorge Adrián Quesada Perdomo
https://orcid.org/0000-0003-2897-2920
Jénice Medinilla Padrón
https://orcid.org/0000-0003-2035-196X
Fernando Medinilla Nápoles
https://orcid.org/0000-0002-0379-2475
Institución: Centro Meteorológico Provincial de Sancti Spíritus, Cuba
Correo electrónico: quesadajorge1991@gmail.com
RESUMEN
La implementación de nuevos modelos numéricos de pronósticos meteorológicos en el Centro Meteorológico Provincial de Sancti Spíritus, puede contribuir al desarrollo de múltiples servicios dirigidos a la agricultura y a otras esferas de la economía y la sociedad. Uno de estos modelos es el Weather Research and Forecasting (WRF), el cual genera grandes cantidades de datos de pronóstico, en una compleja matriz espacial y temporal, que es muy difícil gestionar por las actuales limitaciones de recursos tecnológicos en el centro. Para contribuir con la gestión de estos datos y elaborar nuevos pronósticos agrometeorológicos, a partir de los datos de salida del WRF, se desarrolló una aplicación WEB, integrada al sistema automatizado de vigilancia meteorológica del centro. Para el desarrollo de esta aplicación se utilizó la metodología eXtreme Programming (XP) y el Lenguaje Unificado de Modelado (UML), y para su implementación los frameworks Java Server Faces (JSF), con la biblioteca de componentes Primefaces e Hibernate, con su lenguaje Hibernate Query Language (HQL). Se utilizó el lenguaje de programación Java y el gestor de base de datos Postgre SQL. Como resultado de su implementación, se logra decodificar y acceder a los ficheros NetCDF del modelo WRF, que posibilita el pronóstico de nuevas variables e indicadores agrometeorológicos, como son el viento y el caudal de agua bombeada por molinos de vientos, entre otros.
Palabras clave: Aplicación WEB, Automatización de datos, Java, Variables meteorológicas.
ABSTRACT
The implementation of new numerical models of meteorological forecasts in the Provincial Meteorological Center of Sancti Spíritus, can contribute to the development of multiple services aimed at agriculture and other spheres of the economy and society. One of these models is the Weather Research and Forecasting (WRF), which generates large amounts of forecast data, in a complex spatial and temporal matrix, very difficult to manage due to the current limitations of technological resources at the center. In order to contribute to the management of these data and to elaborate new agrometeorological forecasts, based on the WRF output data, a WEB application was developed, integrated to the center's automated weather monitoring system. The eXtreme Programming (XP) and Unified Modeling Language (UML) methodologies were used to develop this application, and the Java Server Faces (JSF) frameworks were used for its implementation, with the Primefaces component library and Hibernate, with its Hibernate Query Language (HQL). In addition, the Java programming language and the PostgreSQL database manager were used. As a result, it was possible to decode and access the NetCDF files of the WRF model, which enable the forecast of new agrometeorological variables and indicators, such as wind and water flow pumped by windmills, among others.
Keywords: Data automation, Java, Meteorological variables, WEB application.
En la actualidad el empleo de las Tecnologías de la Informática y las Comunicaciones (TIC) abarca un amplio número de sectores, tanto de la economía como de la sociedad. Un ejemplo de ellos es el uso de las mismas en la vigilancia y la previsión meteorológica y climática, a través de sistemas de observación especializados, sistemas avanzados de las telecomunicaciones, así como un gran número de modelos matemáticos, que son capaces de recibir y procesar millones de datos en tiempo real y de archivos, procedentes de redes de observaciones meteorológicas, radares y satélites.
Diversos autores a nivel internacional han escrito sobre la necesidad de automatizar las variables meteorológicas, con el apoyo de software que optimicen el proceso de análisis y permiten la visualización del comportamiento de los mismos. Entre ellos se destacan (Molina Aguilar, Trejo Alonso y Gutiérrez López, 2018; Sánchez Zambrano y Zaraza Aguilera, 2019; Peñaloza Bonilla, 2021). En Cuba, dentro de los más destacados en este tema, se encuentra (Navarro, 2020).
En correspondencia con esta realidad el Instituto de Meteorología de Cuba (INSMET), aplica estas tecnologías para facilitar el trabajo de intercambio de datos y de los pronósticos meteorológicos del país. Algunos de los resultados obtenidos en esta esfera son: el Sistema Automatizado de Revisión de Observaciones Meteorológicas (SAROM), software para el asentamiento y revisión de la calidad del dato a nivel nacional (INSMET, 2020); el Sistema automático de predicción a mesoescala de cuatro ciclos diarios (SISPI) (Sierra Lorenzo et al., 2015); entre otros.
La transferencia de datos del sistema meteorológico de Cuba es por Protocolo de Transferencia de Archivos (entre sistemas conectados a una red, basado en la arquitectura cliente-servidor) o File Transfer Protocol (FTP, por sus siglas en inglés) y se visualiza a través de un servicio web. El procesamiento estadístico y el cálculo de los indicadores se realizan con la utilización del Microsoft ACCESS y el programa diseñado por el INSMET para procesamientos de datos climáticos “R-Clindex”, entre otros (CMPSS, 2022).
A pesar de estos resultados, el desafío que plantea el cambio climático mundial con las exigencias de nuevos servicios meteorológicos especializados, de mayor calidad y rapidez, dirigidas a los diferentes sectores de la economía, está incrementando las demandas de informaciones de varios centros especializados de la OMM, que posibiliten la elaboración y utilización de modelos numéricos para la obtención automatizada de nuevas variables e indicadores del clima destinados a estos usuarios. Actualmente el INSMET utiliza numerosos modelos para el análisis y pronóstico del tiempo y el clima. Uno de los más utilizados es el modelo de pronósticos global Weather Research and Forecasting (WRF) de amplio uso a nivel internacional, ya que tiene pronósticos más exactos y brinda una gran cantidad de datos. El mismo fue desarrollado por una asociación de colaboración de EE.UU (NCAR, 2022).
El modelo inicial WRF está configurado para todo el globo terráqueo en una escala espacial tridimensional de 27x27 km en la horizontal y 22 niveles en la vertical, lo que implica un volumen elevado de informaciones en el orden de los millones de datos. El INSMET hace un rediseño de la malla para la región de Cuba para resoluciones de 27 km, 9 km y 3 km, modelando en cada una de ellas los correspondientes parámetros físicos de la atmósfera. Sin embargo, las salidas de estos modelos, aún a menor escala, no son suficientes para detallar las condiciones meteorológicas específicas de la provincia Santi Spíritus y sus localidades; y como es un modelo de pronóstico de variables meteorológicas no calcula los indicadores para pronósticos agrometeorológicos y otros relacionados con la energía eólica para el bombeo de agua, tales como altura o carga total de bombeo y el caudal de agua de los molinos, que solicitan los usuarios del territorio como la Agricultura, la Comisión de Energía, entre otros.
Para darle respuesta al problema descrito se planteó como objetivo general: desarrollar una aplicación web para la automatización de datos de las variables meteorológicas viento y caudal de agua de los molinos, en el Centro Meteorológico Provincial de Sancti Spíritus. Esta aplicación posibilita el acceso de forma automatizada a las bases de datos del modelo WRF en una matriz simplificada para la provincia de Sancti Spíritus y el cálculo de las variables descritas anteriormente.
Para el desarrollo del trabajo se utilizaron las metodologías estructuradas orientadas a datos, donde se tomó como referencia el patrón entrada/proceso/salida de un sistema, de forma que los datos se introducen en el sistema y este responde ante ellos para transformarlos y obtener salidas. Es decir, se centran en la parte entrada/salida (García-Peñalvo, 2018). En estas metodologías las actividades de análisis comienzan evaluando, en primer lugar, los datos y sus interrelaciones, para determinar la arquitectura de datos subyacente. Cuando esta arquitectura está definida, se precisan las salidas a producir y los procesos y entradas necesarios para obtenerlas. Ejemplos representativos de este grupo son los métodos Jackson Structured Programming (JSP) y Jackson Structured Design (JSD) (Jackson, 1975; Cameron, 1983).
El diseño del patrón "entrada/proceso/salida", se desarrolló por método empírico, basado en resultados anteriores, donde se han utilizado estas aplicaciones para la gestión de datos, gestión de procesos, entre otros; en este caso, para la automatización y el procesamiento de datos meteorológicos a través de herramientas computacionales.
Esta metodología, de acuerdo con (Naeem, 2020), implica tres elementos comunes: extraer, transformar, y cargar (también llamado ETL), o se puede clasificar en tres pasos simples:
Extraer datos de una o más fuentes.
Transformar en el formato requerido del sistema de destino mediante la aplicación de transformaciones, como ordenar, filtrar, etc.
Cargar en el sistema de destino, como una base de datos o un almacén de datos.
El objetivo fundamental de la automatización de los datos meteorológicos consiste en captar, procesar, analizar y almacenar los datos de manera automática, y así eliminar los errores humanos y ahorrar tiempo. En la presente investigación la entrada o la extracción de datos del modelo WRF, debe permitir a partir de procesos de cálculos simples, obtener como salida nuevos indicadores agrometeorológicos. El modelo WRF cuenta con dos núcleos dinámicos, un sistema de asimilación de datos y una arquitectura de software que admite computación paralela y extensibilidad del sistema. De esta manera, para el desarrollo de la aplicación, se cumplió con el siguiente procedimiento:
En primer lugar, se simplifica la malla del modelo WRF al tamaño de la provincia Sancti Spíritus. Esta malla se conforma a partir de una matriz numérica “i,j” con las coordenadas obtenidas para cada punto y son almacenadas en un fichero Network Common Data Form (NetCDF). NetCDF es un conjunto de bibliotecas de software y formatos de datos autodescriptivos e independientes de la máquina, que admiten la creación, el acceso y el intercambio de datos científicos orientados a matrices. Se desarrolló y se mantiene en el programa Unidata, parte de la Corporación Universitaria para la Investigación Atmosférica (UCAR), que proporciona datos y herramientas de software para su uso en la investigación de geociencias (Rew et al., 2022). Una de sus características más importantes es que son archivos que se describen a sí mismos, gracias a las series de metadatos que ellos mismos incluyen y de este modo facilitan su interpretación.
Se seleccionan los datos de entrada al algoritmo de cálculo.
Se formulan los algoritmos de las nuevas variables o indicadores a calcular.
Se obtienen los resultados y se muestran en una tabla Excel, a partir de la cual se pueden elaborar los gráficos y mapas.
Se muestran los resultados en la aplicación WEB.
Después de un análisis entre las metodologías existentes para el desarrollo de software, ágiles y tradicionales, se determinó utilizar la metodología ágil XP, por la facilidad que muestra la misma a la hora del desarrollo del software. Las metodologías ágiles enfatizan las comunicaciones, no solamente entre el equipo de desarrollo de software, sino también con el usuario final, en vez de la documentación. La mayoría de los equipos ágiles están localizados en una simple oficina abierta, a veces llamadas "plataformas de lanzamiento" (bullpen en inglés).
Esta metodología utiliza el Lenguaje Unificado de Modelado (UML) y está especialmente orientada para proyectos pequeños, además constituyen una solución a la medida para esos entornos, aportando una elevada simplificación, que a pesar de ello no renuncia a las prácticas esenciales para asegurar la calidad del producto.
En la implementación de esta aplicación se utilizó JSF, con la biblioteca de componentes Primefaces, para potenciar la vista de la aplicación web, de acuerdo con las recomendaciones hechas por (Caliskan y Varaksin, 2015). JSF es un framework para crear aplicaciones java basadas en el patrón Modelo Vista Controlador (MVC) y está destinada a facilitar la construcción de interfaces para aplicaciones basadas en entornos web. Ofrece componentes muy extensas de herramientas predesarrolladas, para facilitar la creación de interfaces tales como: botones, cajas de texto, tablas etc.
La conexión y consultas a la de la base de datos se realizó con Hibernate, que permite desarrollar clases persistentes siguiendo el lenguaje orientado a objetos, incluyendo la asociación, herencia, polimorfismo, composición y colecciones; además proporciona un lenguaje de consulta orientado a objetos llamado HQL, similar a SQL, con un criterio orientado a objetos.
Para el almacenamiento de los datos necesarios se seleccionó como Gestor de Base de Datos PostgreSQL, que es un sistema que tiene muchas cualidades que lo hacen ser una muy buena alternativa para instalar sistemas en empresas, universidades y una gran cantidad de otras aplicaciones.
Una de las características que tiene una aplicación web es su acceso a través de un servidor que se encarga de recibir las peticiones desde un navegador utilizando el protocolo HTTP y responder al cliente mediante el código HTML de la página, para que el cliente, una vez recibido el código, lo interprete y lo muestre en la pantalla. Se utilizó Glassfish, que es un servidor de aplicaciones desarrollado por Sun Microsystems que implementa las tecnologías definidas en la plataforma Java EE y permite ejecutar aplicaciones que siguen esta especificación. Soporta las últimas versiones de tecnologías como: JSP, Servlets, EJBs, Java API para Servicios Web (JAX-WS), Arquitectura Java para Enlaces XML (JAXB), Metadatos de Servicios Web para la Plataforma Java 1.0, y muchas otras tecnologías.
Se siguieron las tres reglas básicas para el diseño de interfaces gráficas según, (Pressman, 2010, p. 292):
Dar el control al usuario.
Definir los modos de interacción de manera que no obligue a que el usuario realice. acciones innecesarias y no deseadas.
Tener en consideración una interacción flexible.
Diseñar la interacción directa con los objetos que aparecen en la pantalla.
Reducir la carga de memoria del usuario.
Reducir la demanda de memoria a corto plazo.
Establecer valores por defectos útiles.
El formato visual de la interfaz se deberá basar en una metáfora del mundo real.
Construir interfaces consecuentes.
Permitir que el usuario realice una tarea en el contexto adecuado.
Mantener la consistencia en toda la familia de aplicaciones.
Como resultado se obtuvo una aplicación web para la automatización de los datos de las variables meteorológicas viento y caudal de agua bombeada por los molinos. Es decir, se automatizan tanto datos meteorológicos, como las informaciones del estado del manto freático, procedentes del Instituto de Recursos Hidráulicos, ya que ambas informaciones se introducen para el pronóstico del caudal de agua de molinos de viento. Este resultado difiere del propuesto por (Sierra Lorenzo et al., 2015), para la predicción a mesoescala de cuatro ciclos diarios, el cual da como salida el pronósticos de solamente variables meteorológicas y difiere de la herramienta informática propuesta por (Almeida Maldonado et al., 2022) para el análisis integral de las precipitaciones diarias y extremas en cuencas hidrográficas, ya que en ninguno de los casos se visualizan los datos de las cuencas subterráneas, ni se obtiene la variable caudal de agua.
En las consultas de otras bibliografías sobre los sistemas de automatización de las variables meteorológicas, no se encontró una solución donde se analicen los nuevos indicadores necesarios como el caudal de bombeo.
Para la elaboración de la aplicación web, en una primera instancia, se diseñó un diagrama o modelo entidad-relación, para el modelado de datos y la representación de las entidades relevantes del sistema de información, así como sus interrelaciones y propiedades a partir del patrón entrada/proceso/salida. Este es un modelo conceptual donde se representa la vista estructural de datos de un sistema a través de entidades y relaciones, el cual es utilizado en el proceso de diseño de bases de datos, que se muestra en la figura 1, correspondiente a las variables meteorológicas Viento y Caudal de agua.
Se obtuvieron 24 historias de usuarios correspondientes a la variable meteorológico viento, aunque se consideraron otros indicadores tratados cuyo total resultó en 54 historias.
Las Historias de Usuario fueron elaboradas en el propio lenguaje del cliente, e indican lo que el sistema debe realizar. Las mismas contribuyeron a realizar precisiones durante la elaboración y la implementación de la aplicación.
Durante la fase de implementación de la aplicación web se tuvo entre las prioridades evitar la ocurrencia de excepciones y errores indeseados. Para esto se aprovecharon las potencialidades del framework JFS con la biblioteca de componentes Primefaces. Además, se realizó la validación de la automatización de los datos provenientes de los ficheros de entrada al software de forma tal que el usuario no haga la entrada incorrecta de estos, y así evitar la pérdida tiempo y la generación de excepciones.
La seguridad del sistema se gestionó a través de la autenticación de usuarios, mediante la cual el usuario debe registrar su nombre y contraseña de manera correcta, para poder tener acceso a las opciones que brinda la aplicación (figura 2). Para lograr esto en la base de datos se elaboró una tabla para los usuarios, donde se guardan sus datos y contraseña.