diseño e implementación de una herramienta de software...
TRANSCRIPT
Diseño e implementación de una herramienta de
software libre para la detección y corrección de
propagaciones anómalas en radares
meteorológicos para zonas ecuatoriales.
Autores
John Jairo Redondo Montero
Martin Hafid Calderón Cortes
Director
Universidad Distrital Francisco José De Caldas
Ingeniería electrónica
Bogotá, Colombia
Mayo de 2019
Julián Rolando Camargo López, MSc.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |2
CONTENIDO
TABLA DE FIGURAS .................................................................................................... 5
LISTA DE TABLAS ..................................................................................................... 10
RESUMEN .................................................................................................................. 11
Palabras Clave ........................................................................................................... 11
1. INTRODUCCIÓN .................................................................................................... 12
PLANTEAMIENTO DEL PROBLEMA ........................................................... 13
FORMULACIÓN DEL PROBLEMA ............................................................... 13
OBJETIVOS ................................................................................................. 14
1.3.1 Objetivo General .................................................................................... 14
1.3.2 Objetivos Específicos ............................................................................ 14
JUSTIFICACIÓN ........................................................................................... 15
1.4.1 Justificación Académica......................................................................... 15
1.4.2 Justificación Económica......................................................................... 15
1.4.3 Justificación Social ................................................................................ 15
1.4.4 Justificación Personal ............................................................................ 16
METODOLOGÍA ........................................................................................... 17
ALCANCES .................................................................................................. 18
LIMITACIONES ............................................................................................ 18
2. MARCO REFERENCIAL ......................................................................................... 20
2.1 MARCO CONCEPTUAL .................................................................................... 20
2.1.1 Radar meteorológico ................................................................................... 20
2.1.2 Tipos de radares meteorológicos ................................................................ 21
2.1.3 Ecuación del radar meteorológico ............................................................... 22
2.1.4 Imágenes generadas por un radar meteorológico ....................................... 23
2.1.5 Variables de estudio para la estimación de precipitación con radar
polarimétrico ........................................................................................................ 24
2.1.6 Clasificación de la precipitación ............................................................... 25
2.2 MARCO TEÓRICO ............................................................................................ 26
2.2.1 Modelamiento de software .......................................................................... 26
2.2.2 Lenguaje unificado de modelado (UML) ...................................................... 27
2.2.3 Software...................................................................................................... 27
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |3
2.2.4 Interfaces gráficas (GUI) ............................................................................. 28
2.3 MARCO ESPACIAL........................................................................................... 28
3 ESTADO DEL ARTE ................................................................................................ 29
3.1 MODELO PARA LA DETECCIÓN Y CORRECCIÓN DE PROPAGACIONES
ANÓMALAS EN RADARES METEOROLÓGICOS PARA ZONAS ECUATORIALES
[12] .......................................................................................................................... 29
3.1.1. Descripción ................................................................................................ 29
3.1.2 Metodología ................................................................................................ 29
3.1.3 Resultados .................................................................................................. 32
3.1.4 Conclusiones .............................................................................................. 35
3.2 MetGIS PROFESSIONAL WEATHER SERVICE [13] ........................................ 36
3.2.1 Descripción..................................................................................................... 36
3.2.2 Metodología ................................................................................................ 36
3.2.3 Resultados .................................................................................................. 37
3.3 MULTI-RADAR/MULTI-SENSOR SYSTEM (MRMS) [14] .................................. 39
3.3.1 Descripción ................................................................................................. 39
3.3.2 Metodología ................................................................................................ 39
3.3.3 Resultados .................................................................................................. 40
4. MODELO DEL APLICATIVO................................................................................... 42
4.1 Diagrama de casos de uso ................................................................................ 42
4.2 Lista de requerimientos ..................................................................................... 43
4.3 Formato de especificación de casos de usos .................................................... 45
4.4 Diagrama de clases ........................................................................................... 53
5. DESARROLLO DEL APLICATIVO PARA DETECCIÓN Y CORRECCIÓN DE
PROPAGACIONES ANÓMALAS EN RADARES METEOROLÓGICOS PARA ZONAS
ECUATORIALES ........................................................................................................ 55
5.1 Extracción de datos netCDF .............................................................................. 55
5.2 Generación de mapas ....................................................................................... 57
5.3 Desarrollo del clasificador.................................................................................. 60
5.4 Filtro de ventana 3X3 ........................................................................................ 69
5.5 Diseño del aplicativo.......................................................................................... 75
6. DISEÑO ALGORITMO ALTERNATIVO PARA CORRECIÓN DE PROPAGACIONES
ANÓMALAS .............................................................................................................. 100
6.1 Filtro de ventana de longitud variable y barrido doble ...................................... 101
7. PROTOCÓLO DE PRUEBAS Y RESULTADOS ................................................... 115
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |4
8. CONCLUSIONES ................................................................................................. 134
9. BIBLIOGRAFÍA ..................................................................................................... 135
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |5
TABLA DE FIGURAS
Fig. 1. Esquema de la energía captada y reflejada por una gota. (Radar Meteorology,
1997). ......................................................................................................................... 21 Fig. 2. Volumen de tamaño radial c t/2 que se corresponde con la energía medida en
un instante determinado y asociada a una distancia dada. (Radar Meteorology, 1997)
................................................................................................................................... 22 Fig. 3. Proyección del PPI sobre la horizontal. (Radar Meteorology, 1997) ................ 23 Fig. 4. Esquematización de los fragmentos de elevación utilizados para generar una
imagen CAPPI. (Radar Meteorology, 1997) ................................................................ 24 Fig. 5. Diferencial de fase .......................................................................................... 25 Fig. 6. Esquema básico de clasificador de hidrometeoro. .......................................... 26 Fig. 7. Imagen del radar Corozal (Google Maps) ....................................................... 30 Fig. 8. Diagrama de flujo para la conversión de datos generados por el radar. [12] ... 31 Fig. 9. Código del proceso de conversión del archivo a formato netCDF. [12] ........... 31 Fig. 10. Clasificador difuso propuesto. [12] ................................................................ 32 Fig. 11. Evento 1 de precipitación de lluvia sin modificaciones. [12]........................... 33 Fig. 12. Evento 1 zona modificada con propagaciones anómalas. [12] ...................... 33 Fig. 13. Evento 1 de precipitación de lluvia resultado con ventana 3x3. [12] .............. 34 Fig. 14. Porcentajes de error para cada uno de los eventos. [12] ............................... 35 Fig. 15.Mapa mundial con ubicación de los asociados al proyecto MeTGIS [13]........ 37 Fig. 16. MetGIS: pronóstico de la temperatura del aire para la ruta de ascenso en el
monte Elbrus (montañas del Cáucaso, Rusia) [13]. .................................................... 38 Fig. 17. Ejemplo de un pronóstico MetGIS de la velocidad del viento para el Monte Fuji
(Japón) [13]................................................................................................................. 38 Fig. 18. Interfaz Gráfica MRMS muestra los datos operativos de NCEP [14]. ............ 40 Fig. 19. MRMS produce estimaciones más precisas de la acumulación de
precipitación [14]. ........................................................................................................ 41 Fig. 20. Diagrama casos de uso (Elaboración propia). ............................................... 42 Fig. 21. Diagrama de clases del aplicativo (Elaboración propia). ............................... 54 Fig. 22. Nombres de las variables del archivo importado Cor20130625_103003.nc. . 55 Fig. 23. Propiedades de las variables “ZDR” y “KDP”. ............................................... 56 Fig. 24. Primeros 10 datos obtenidos de la variable “DBZ”. ....................................... 56 Fig. 25. Código para la extracción de datos del archivo Cor20130625_103003.nc
(Elaboración propia).................................................................................................... 57 Fig. 26. Código para cambiar de coordenadas polares a rectangulares (Elaboración
propia). ....................................................................................................................... 58 Fig. 27. Código para la generación del mapa colocando los intervalos de asignación
para la matriz RGB (Elaboración propia). .................................................................... 59 Fig. 28. Imagen de mapa obtenido como resultado a la ejecución del código de
extracción de datos y generación de mapas (Elaboración propia). ............................. 60 Fig. 29. Clasificador difuso propuesto. [12]. ............................................................... 60 Fig. 30. Código para obtención de la matriz SD(z) (Elaboración propia). ................... 62 Fig. 31. Funciones de pertenencia para cada una de las variables en para
Propagaciones anómalas, Objetivos biológicos y meteorológicos [12]. ....................... 63
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |6
Fig. 32. Código para la obtención de la matriz de función de pertenencia de AP para
Zdb (Elaboración pripia). ............................................................................................. 67 Fig. 33. Código para el cálculo de los pesos para AP, BIO o METEO (Elaboración
propia). ....................................................................................................................... 68 Fig. 34. Diagrama de flujo para obtención de datos generados por el clasificador
difuso [12] ................................................................................................................... 68 Fig. 35. Código para obtención de datos generados por el clasificador difuso
(Elaboración propia). ................................................................................................... 69 Fig. 36. Código donde se ejecuta la etapa 1 del proceso del filtro (Elaboración propia).
................................................................................................................................... 69 Fig. 37. Código donde se ejecuta la etapa 2 del proceso del filtro (Elaboración propia).
................................................................................................................................... 70 Fig. 38. Código donde se ejecuta la etapa 3 del proceso del filtro (Elaboración propia).
................................................................................................................................... 71 Fig. 39. Código donde se calcula el valor de Z corregido mencionado en la etapa IV
del proceso del filtro (Elaboración propia). .................................................................. 71 Fig. 40. Código completo que cubre el filtro barrido en el primer cuadrante de la matriz
de Z a corregir (Elaboración propia). ........................................................................... 72 Fig. 41. Código completo que cubre el filtro barrido en el segundo cuadrante de la
matriz de Z a corregir (Elaboración propia). ................................................................ 73 Fig. 42. Código completo que cubre el filtro barrido en el tercer cuadrante de la matriz
de Z a corregir (Elaboración propia). ........................................................................... 74 Fig. 43. Código completo que cubre el filtro barrido en el cuarto cuadrante de la matriz
de Z a corregir (Elaboración propia). ........................................................................... 75 Fig. 44. Diagrama de flujo, para la extracción de datos del archivo
Cor20130625_103003.nc (Elaboración propia). .......................................................... 77 Fig. 45. Bloque cuya funcionalidad permite importar el archivo .nc (Elaboración
propia). ....................................................................................................................... 78 Fig. 46. explorador de archivos restringido para solo importar archivos con extensión
.nc (Elaboración propia). ............................................................................................. 79 Fig. 47. Tabla generada con información general del dataset importado (Elaboración
propia). ....................................................................................................................... 80 Fig. 48. Botón generador de mapas importados. (Elaboración propia). ...................... 81 Fig. 49. Ventana con mapas generados originales del archivo importado. (Elaboración
propia). ....................................................................................................................... 82 Fig. 50. Diagrama de flujo, para el botón Grabar, parte 1 (Elaboración propia). ......... 83 Fig. 51. Diagrama de flujo, para el botón Grabar, parte 2 (Elaboración propia). ......... 84 Fig. 52. Diagrama de flujo método validar parámetros (Elaboración propia). ............. 85 Fig. 53. Bloque para insertar las propagaciones anómalas de prueba en un área
específica (Elaboración propia). .................................................................................. 86 Fig. 54. Excepción por tipo de dato ingresado en módulo Simulación AP (Elaboración
propia). ....................................................................................................................... 87 Fig. 55. Excepción por inconsistencia en los datos ingresados en módulo Simulación
AP (Elaboración propia). ............................................................................................. 87 Fig. 56. Aviso para generar mapas originales antes de insertar propagaciones
anómalas en el o los mapas (Elaboración propia). ...................................................... 88
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |7
Fig. 57. Aviso que indica los cambios ingresados en módulo Simulación AP fueron
guardados con éxito (Elaboración propia). .................................................................. 88 Fig. 58. Diagrama de flujo, método mapas originales, sin modificaciones (Elaboración
propia). ....................................................................................................................... 89 Fig. 59. Diagrama de flujo, método cartesianas (ingresa matriz 360x664 como
parámetro y retorna una matriz 1328x1328) (Elaboración propia). .............................. 90 Fig. 60. Diagrama de flujo, algoritmo de conversión de polares a cartesianas para el
primer cuadrante (Elaboración propia). ....................................................................... 91 Fig. 61. Diagrama de flujo, método para evaluar el rango del dato en cada variable, y
asignarle un vector RGB (ingresa una matriz 1328x1328 y retorna una matriz
1328x1328x3) (Elaboración propia). ........................................................................... 92 Fig. 62. Diagrama de flujo, método para evaluar la clasificación asignada a cada dato
y asignarle un vector RGB (ingresa una matriz 1328x1328 y retorna una matriz
1328x1328x3) (Elaboración propia). ........................................................................... 93 Fig. 63. Diagrama de flujo, método modificar, cambia los datos extraídos
originalmente para simular propagaciones anómalas en una zona específica
(Elaboración propia). ................................................................................................... 94 Fig. 64. Módulo Corregir AP's (Elaboración propia).................................................... 95 Fig. 65. Aviso de numero de propagaciones corregidas por el algoritmo usado.
(Elaboración propia).................................................................................................... 96 Fig. 66. Módulo donde el usuario selecciona los mapas que desee visualizar
(Elaboración propia). ................................................................................................... 97 Fig. 67. Mapa de Zdb con los datos originales generado por el aplicativo (Elaboración
propia). ....................................................................................................................... 98 Fig. 68. Mapa de Clasificación original (der.) y de Clasificación corregido (izq)
(Elaboración propia). ................................................................................................... 98 Fig. 69. Mapas de ZdB (sup. izq), Zdb corregida (sup. der), Zdr (inf. izq) y Zdr
corregida (inf. der) (Elaboración propia). ..................................................................... 99 Fig. 70. Matriz 360x664 dividida en cuadrantes (Elaboración propia)....................... 100 Fig. 71. Barrido en sentido hacia el centro (Elaboración propia). ............................. 101 Fig. 72. Barrido en sentido hacia las esquinas (Elaboración propia). ....................... 102 Fig. 73. Diagrama de flujo del algoritmo general del filtro de ventana de longitud
variable, parte I (Elaboración propia). ....................................................................... 103 Fig. 74. Diagrama de flujo del algoritmo general del filtro de ventana de longitud
variable, parte II (Elaboración propia). ...................................................................... 104 Fig. 75. Ventana de vecinos más cercanos. En amarillo se delimita la zona Y, y en
azul la zona X. a. Distribución de zonas primer cuadrante sentido hacia el centro y
cuarto cuadrante sentido hacia los extremos. b. Distribución de zonas segundo
cuadrante sentido hacia el centro y tercer cuadrante sentido hacia los extremos. c.
Distribución de zonas tercer cuadrante sentido hacia el centro y segundo cuadrante
sentido hacia los extremos. d. Distribución de zonas cuarto cuadrante sentido hacia el
centro y primer cuadrante sentido hacia los extremos (Elaboración propia). ............. 106 Fig. 76. a. ventana de distancia 1. b. ventana de distancia 2. c. ventana de longitud 3
(Elaboración propia). ................................................................................................. 107 Fig. 77. Diagrama de flujo del algoritmo de corrección sentido hacia el centro, parte I
(Elaboración propia). ................................................................................................. 109
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |8
Fig. 78. Diagrama de flujo del algoritmo de corrección sentido hacia el centro, parte II
(Elaboración propia). ................................................................................................. 110 Fig. 79. Diagrama de flujo del algoritmo de corrección sentido hacia el centro, parte III
(Elaboración propia). ................................................................................................. 111 Fig. 80. Diagrama de flujo del algoritmo de búsqueda de datos con distancia 1, parte I
(Elaboración propia). ................................................................................................. 113 Fig. 81. Diagrama de flujo del algoritmo de búsqueda de datos con distancia 1, parte II
(Elaboración propia). ................................................................................................. 114 Fig. 82. Mapa de clasificación de datos del evento 1 sin modificaciones (Elaboración
propia) ...................................................................................................................... 116 Fig. 83. a. Mapa aumentado de clasificación de datos del área de estudio. b. Mapa
aumentado para la variable ZdB. c. Mapa aumentado para la variable Zdr. d. Mapa
aumentado para la variable Rhohv. (Elaboración propia). ......................................... 117 Fig. 84. Áreas modificadas en cada variable, a. Área modificada de clasificación de
datos. b. Área modificada para la variable ZdB. c. Área modificada para la variable Zdr.
d. Área modificada para la variable Rhohv. (Elaboración propia). ............................. 118 Fig. 85. Correcciones de propagaciones anómalas, 100% del área modificada,
clasificación. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración
propia). ..................................................................................................................... 122 Fig. 86. Correcciones de propagaciones anómalas, 100% del área modificada,
Variable ZdB. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración
propia). ..................................................................................................................... 123 Fig. 87. Correcciones de propagaciones anómalas, 100% del área modificada,
Variable Zdr. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración
propia). ..................................................................................................................... 123 Fig. 88 Correcciones de propagaciones anómalas, 100% del área modificada,
Variable Rhohv. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración
propia). ..................................................................................................................... 124 Fig. 89. Áreas modificadas en cada variable, 70% del área modificada. a. Área
modificada de clasificación de datos. b. Área modificada para la variable ZdB. c. Área
modificada para la variable Zdr. d. Área modificada para la variable Rhohv.
(Elaboración propia). ................................................................................................. 125 Fig. 90. Correcciones de propagaciones anómalas, 70% del área modificada, Variable
ZdB. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración propia). ... 126 Fig. 91. Correcciones de propagaciones anómalas, 70% del área modificada, Variable
Zdr. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración propia)...... 126 Fig. 92. Correcciones de propagaciones anómalas,70% del área modificada,
Clasificación. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración
propia). ..................................................................................................................... 127 Fig. 93. Áreas modificadas en cada variable, 40% del área modificada. a. Área
modificada de clasificación de datos. b. Área modificada para la variable ZdB. c. Área
modificada para la variable Zdr. d. Área modificada para la variable Rhohv.
(Elaboración propia).................................................................................................. 128 Fig. 94. Correcciones de propagaciones anómalas, 40% del área modificada, Variable
ZdB. a. Filtro 7x7. b. Filtro de longitud variable (Elaboración propia)......................... 129 Fig. 95. Correcciones de propagaciones anómalas, 40% del área modificada, Variable
Zdr. a. Filtro 7x7. b. Filtro de longitud variable (Elaboración propia). ......................... 129
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |9
Fig. 96. Correcciones de propagaciones anómalas, 40% del área modificada, Variable
Rho. a. Filtro 7x7. b. Filtro de longitud variable (Elaboración propia)......................... 130 Fig. 97. Correcciones de propagaciones anómalas, 40% del área modificada,
Clasificación. a. Filtro 7x7. b. Filtro de longitud variable (Elaboración propia). .......... 130 Fig. 98. datos originales para el evento importado. (Elaboración propia). ................ 131 Fig. 99. Para la variable dBZ, a la izquierda los datos modificados en todo el mapa
con un 90% de datos modificados, a la derecha el resultado de corrección de
propagaciones anómalas (Elaboración propia). ........................................................ 132 Fig. 100. Para la variable Zdr, a la izquierda los datos modificados en todo el mapa
con un 90% de datos modificados, a la derecha el resultado de corrección de
propagaciones anómalas (Elaboración propia). ........................................................ 132 Fig. 101. Para la variable Rhohv, a la izquierda los datos modificados en todo el mapa
con un 90% de datos modificados, a la derecha el resultado de corrección de
propagaciones anómalas (Elaboración propia). ........................................................ 133 Fig. 102. Para el mapa de clasificación de datos, a la izquierda los datos modificados
en todo el mapa con un 90% de datos modificados, a la derecha el resultado de
corrección de propagaciones anómalas (Elaboración propia). .................................. 133
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |10
LISTA DE TABLAS
Tabla 1. Tipos de radares meteorológicos. ................................................................. 21 Tabla 2. Formato de los datos generados por el radar de Corozal [12] ....................... 30 Tabla 3. Porcentajes de error para cada uno de los eventos. [12] ............................... 34 Tabla 4. Tabla de requerimientos (Elaboración propia). .............................................. 44 Tabla 5. Especificación caso de uso Importar Datos .NC (Elaboración propia). .......... 46 Tabla 6. Especificación caso de uso Grabar Datos Simulación AP (Elaboración propia).
................................................................................................................................... 46 Tabla 7. Especificación caso de uso Corregir AP's (Elaboración propia)..................... 47 Tabla 8. Especificación caso de uso Generar Mapas Originales (Elaboración propia).49 Tabla 9. Especificación caso de uso Generar Mapas Corrección (Elaboración propia).
................................................................................................................................... 51 Tabla 10. Especificación caso de uso Generar Mapas Modificados Simulación
(Elaboración propia). ................................................................................................... 53 Tabla 11. Clasificación del método de obtención del dato corregido (Elaboración
propia). ..................................................................................................................... 105 Tabla 12. Detalle del tipo de clase asignado a cada corrección realizada (Elaboración
propia). ..................................................................................................................... 111 Tabla 13. Resultados obtenidos para diferentes valores de P3, P5 y P7, fase I
(Elaboración propia). ................................................................................................. 119 Tabla 14. Mejores resultados para diferentes valores de P7, con P3 y P7 fijos, fase II
(Elaboración propia). ................................................................................................. 120 Tabla 15. Mejores resultados para diferentes valores de P5, con P3y P7 fijos, faseIII
(Elaboración propia). ................................................................................................. 120 Tabla 16. Mejores resultados para diferentes valores de P3, con P5 y P7 fijos, fase IV
(Elaboracion propia). ................................................................................................. 121 Tabla 17. Resultados obtenidos por los filtros de ventana 3x3, 7x7 y de longitud
variable para diferentes eventos (Elaboración propia). ............................................. 121
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |11
RESUMEN
El trabajo desarrollado consiste en el diseño y desarrollo de una herramienta de software
libre y de libre acceso, para la detección y corrección de propagaciones anómalas de
los datos de un radar meteorológico banda C en zonas ecuatoriales, específicamente
en la geografía colombiana.
Inicialmente se realizó la decodificación de los datos generados por el radar, siendo
estos suministrados en un formato propietario de la marca fabricante del equipo. Se
desarrollaron los algoritmos necesarios para dar tratamiento a estos datos y para poder
ser mostrados sobre un mapa geográfico con centro en la ubicación del radar. Se
implementaron los algoritmos de detección y corrección de propagaciones anómalas,
desarrollados en un trabajo referenciado. Posteriormente, se realizó el modelado del
software, luego se desarrolló la interfaz gráfica de usuario y se validó su correcto
funcionamiento. Se desarrolló el algoritmo de implementación “filtro de ventana de
longitud variable” como un método alternativo para la corrección de las propagaciones
anómalas y se validaron los resultados obtenidos con este.
PALABRAS CLAVE
Radar meteorológico, propagaciones anómalas, filtro de ventana, Desarrollo de software
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |12
1. INTRODUCCIÓN
El radar polarimétrico mide campos de lluvia por medio de pulsos electromagnéticos de energía que viajan a través del espacio y que al encontrarse con las gotas retrodispersan energía que, después de usar técnicas matemáticas y físicas, se pueden convertir en estimados de precipitación. Los haces de radar no se propagan en forma rectilínea a través de la atmósfera. Los pulsos de ondas electromagnéticas, se encuentran sujetos al fenómeno de refracción debido a la heterogeneidad en la composición de la atmósfera (principalmente en cuanto a vapor de agua y oxígeno) y a que la velocidad de propagación varía ligeramente con la composición. Así, resulta que la trayectoria que siguen los pulsos es ligeramente curvilínea. Conocer la propagación normal de los haces es importante, pero el despliegue y cálculos internos en el radar ya consideran esto intrínsecamente, Sin embargo, la correcta interpretación de los datos del radar debe considerar la posibilidad de que estos se encuentren afectados en alguna medida por propagación anómala. La propagación anómala se presenta cuando la composición atmosférica se desvía significativamente de la normal, modificando la curvatura del haz de radar (hacia la superficie terrestre) e inclusive invirtiéndola en alguna parte de su recorrido. Desgraciadamente, el radar no mide la composición gaseosa de la atmósfera por lo que no tiene manera de contrarrestar o considerar la propagación anómala. El resultado final es que el volumen de muestreo real del radar puede encontrarse ligeramente más arriba o más abajo que la altura a la que los considera el radar. Solamente un operador experimentado en una ubicación específica (y que comprenda este fenómeno) puede identificar claramente la propagación anómala y sólo en caso de que se presenten ecos fijos de tierra en lugares distintos a los típicos. [1]
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |13
PLANTEAMIENTO DEL PROBLEMA
Hay numerosos factores que limitan el rango de acción y el buen funcionamiento de un
radar, la variabilidad natural de la distribución del tamaño de gotas y la falta de una única
correspondencia entre la efectividad observada y la estimación de la intensidad de
lluvia son quizás las causas más frecuentemente indicadas de errores del radar en la
medición de lluvias. Otros errores incluyen relaciones Z-R inapropiadas; errores en la
medición de la efectividad; problemas de atenuación de la señal; variabilidad de la
efectividad en la vertical; precipitación a baja altura no detectada por el radar; ecos
terrestres; propagación anormal de la señal; oscura miento y llenado parcial del haz [2].
En la actualidad se encuentran diversas investigaciones, específicamente en la zona
europea, cuyo propósito ha sido desarrollar sistemas para mejorar el análisis y previo
procesamiento de la información proveniente de datos de radar y satélites
meteorológicos, entre estos, investigaciones sobre sistemas integrados de pronóstico
de inundaciones y sistemas de soporte de decisiones; exploración del uso
complementario de satélites, radares terrestres y redes pluviométricas para la
estima y previsión de los campos de precipitaciones intensas; tecnologías de radar
avanzadas que utilizan técnicas Doppler y de Polarización para mejorar la estima
de las precipitaciones intensas [2].
Dado que estos estudios e investigaciones se han realizados en zonas europeas donde
las condiciones climáticas no son equiparables con las que se presentan en la zona
ecuatorial, específicamente en Colombia, dichos modelos para la detección y corrección
de propagaciones anómalas para un radar meteorológico requieren ser ajustados, para
que tengan aplicabilidad en esta zona de estudio.
Por consiguiente, con referente a los campos académicos y de investigación, se observa
que el interés de implementar soluciones computacionales abiertas para el estudio,
análisis y detección de propagaciones anómalas a partir de la gestión de las
(medidas/muestras) tomadas de los archivos que generan los radares meteorológicos
en Colombia ha incrementado, dado las implicaciones que tiene el hecho de acercarse
a predicciones más confiables y “precisas” en cuanto a eventos climáticos se refiere.
FORMULACIÓN DEL PROBLEMA
Pregunta de Investigación:
¿Es posible desarrollar una herramienta de software libre que permita visualizar mapas
de distribución de precipitaciones, implementando algoritmos de corrección de errores
debidos a propagaciones anómalas?
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |14
OBJETIVOS
1.3.1 Objetivo General
Desarrollar e implementar una herramienta de software libre que permita obtener
graficas de distribución de precipitaciones, implementando algoritmos de detección y
corrección de propagaciones anómalas en radares meteorológicos para zonas
ecuatoriales.
1.3.2 Objetivos Específicos
• Decodificar los datos obtenidos del radar meteorológico con formato
propiedad del fabricante, en el lenguaje de programación en que se
desarrollará el software.
• Proponer un algoritmo adicional al implementado en el trabajo guía para la
corrección de errores debidos a propagaciones anómalas.
• Desarrollar la interfaz de software libre que permita al usuario la
interpretación de la información por medio de gráficas.
• Implementar un sistema de pruebas que verifique el correcto funcionamiento
de los modelos y así comparar los resultados obtenidos por los modelos
trabajados.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |15
JUSTIFICACIÓN
La principal motivación para el desarrollo del presente trabajo de grado es proporcionar
a estudiantes, docentes, investigadores y en general, a usuarios que se encuentren
trabajando en el campo que involucra el análisis y tratamiento de datos provenientes de
radares meteorológicos, de una herramienta de software basada en un previo trabajo
investigativo que propone un modelo de detección y corrección de errores debidos a
propagaciones anómalas [3], realizando las gráficas de distribución de precipitación
sobre un mapa de la zona con la correspondiente corrección.
1.4.1 Justificación Académica
La realización de la herramienta de software es una forma de demostrar las
capacidades adquiridas durante el transcurso de la carrera en campos como la
Inteligencia Computacional, donde se requiere el análisis y la ejecución de
diferentes algoritmos enfocados a problemas de identificación de las variables
de estudio para el debido procesamiento de datos; Desarrollo de software, ya
que la base del proyecto está enfocado a la implementación de una interfaz
gráfica de usuario diseñada de tal forma que sea capaz de soportar tanto los
datos como los algoritmos que se ejecutaran para el procesamiento de los
mismos.
1.4.2 Justificación Económica
La realización del sistema de información se hará con herramientas de software
libre (lenguaje de programación, entorno de desarrollo). Para el programa
académico de Ingeniería le significará un ahorro en costos de adquisición y
licenciamiento de software que ejecutan modelos meteorológicos. Al tener
implementado una herramienta informática se podrán estudiar con mayor
eficiencia y comodidad los datos recolectados por el radar meteorológico, los
costos en recursos computacional disminuirían. Por otra parte, este software
será desarrollado buscando que se implemente para la prevención de riesgos,
por lo que este ayudaría evitar pérdidas económicas.
1.4.3 Justificación Social
El propósito del diseño e implementación de la herramienta de software es
brindar al usuario una manera más fácil de detectar propagaciones anómalas
generadas en un radar meteorológico en zona ecuatorial por medio de la
ejecución de diferentes modelos matemáticos para decodificar los datos
obtenidos, seleccionar los datos relevantes y generar los mapas de la zona que
cubre el radar donde se observen las propagaciones anómalas detectas y su
respectiva corrección.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |16
Con esto en mente, el ahorro de tiempo, facilidad de manejo de datos y
optimización en los procesos de análisis de los mapas generados por los radares
meteorológicos, representan ventajas en situaciones donde la toma de
decisiones por parte de los usuarios sea de riesgo, como puede ser la elección
de la ruta de una aeronave o por los organismos de prevención de riesgos
ambientales.
1.4.4 Justificación Personal
Ya que el desarrollo de tecnología de radar para meteorología es de suma
importancia para la industria aeronáutica, este proyecto se torna como una
excelente oportunidad para el crecimiento profesional, que surge del interés
hacia esta industria. Por otra parte, el interés que genera adentrarse hacia las
tecnologías de radar e inteligencia computacional, representa una experiencia
bastante productiva, así como también un reto como estudiantes y profesionales.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |17
METODOLOGÍA
La metodología de trabajo del proyecto se divide en cinco fases principales, con el fin
de lograr el cumplimiento de cada uno de los objetivos propuestos, donde cada fase
puede incluir el desarrollo de cada objetivo o una parte importante de este. A
continuación, se muestran las actividades que lo componen.
Fase I. Decodificar datos
Es necesario realizar la traducción de los datos a un formato que permita su manejo en
el lenguaje de programación ya que los datos obtenidos del radar inicialmente se
encuentran en un formato propietario de la marca fabricante del equipo, con este fin se
realizaran las siguientes acciones:
Estudiar las principales características del lenguaje de programación Python.
Descripción de los IDE utilizados para la programación y el entorno de desarrollo
gráfico de la herramienta: Python y PyQT.
Desarrollar e implementar algoritmos en el lenguaje de programación PYTHON
que permitan leer el formato NETCDF y convertirlo a formato de texto plano.
Realizar un algoritmo que permita graficar los datos sin detección ni corrección
de errores.
Fase II. Implementar los algoritmos previos
Como punto de referencia se tiene el trabajo “Modelo para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales” en el cual
el autor desarrollo un algoritmo en MATLAB para la detección y otro para la corrección
de propagaciones anómalas, en esta fase se realizarán las siguientes tareas:
Se implementarán dichos algoritmos desarrollados en MATLAB, en el lenguaje
PYTHON.
Se verificará su correcto funcionamiento realizando las pruebas que se
realizaron en dicho trabajo previo.
Fase III: Diseño de modelo alternativo
En el trabajo “Modelo para la detección y corrección de propagaciones anómalas en
radares meteorológicos para zonas ecuatoriales” se tiene un análisis estadístico de los
datos, el cual fue utilizado por el autor para proponer un modelo de detección y
corrección. En este proyecto se realizará un modelo alternativo para la corrección del
error detectado, haciendo uso de la información extraída del trabajo referente, lo cual
requiere de la realización de las siguientes tareas:
Con los resultados del análisis estadístico, se definirán las variables que serán
utilizadas y el peso que tendrán en el modelo cada una de ellas.
Se determinarán las herramientas más adecuadas para utilizar en el algoritmo
de corrección del modelo propuesto.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |18
diseñar el algoritmo de corrección de dicho modelo.
Fase IV: Modelamiento del software e implementación de software.
En esta fase se realizará la modelación y el desarrollo final del software implementando
los algoritmos desarrollados en las fases anteriores. El modelamiento se realiza con el
fin de poder obtener la documentación necesaria para futuros.
Se definirán las características principales y los requerimientos de la herramienta
de software final.
Se desarrollará el modelamiento de la herramienta de software final haciendo
uso del lenguaje unificado de modelamiento UML.
Con base en el modelo desarrollado en el ítem 1 de esta fase, se desarrollará el
software final, implementando los algoritmos obtenidos en las fases anteriores.
Fase V: Validación y comparación de los modelos
Se desarrollará un sistema de pruebas que permita validar el adecuado funcionamiento
del modelo de corrección obtenido y se compararan los resultados con el modelo previo
y de la herramienta de software en general.
Aplicar datos reales obtenidos de un radar meteorológico ubicado en la geografía
colombiana, al modelo propuesto.
Comparar y validar los resultados obtenidos de cada uno de los modelos.
ALCANCES
• Generar la herramienta de software, la cual permita visualizar mapas de las distribuciones espaciales de las precipitaciones corrigiendo errores de propagaciones anómalas.
• El proyecto cuenta con la ventaja de que está enfocado al “open source”, brindando la posibilidad de que los usuarios o futuros investigadores realicen mejoras o personalizaciones del software.
• El proyecto que se plantea es en última instancia una versión beta de lo que puede llegar a ser la versión final del mismo, trabajando primeramente con un mecanismo de importación de datos estáticos, sin embargo, posibilita que se desarrolle más adecuadamente como un elemento de visualización en tiempo real.
LIMITACIONES
Aunque se tiene acceso a información real de datos generados por un radar meteorológico ubicado en la geografía colombiana, el hecho que solamente se
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |19
tenga información uno solo limitará la verificación de los resultados obtenidos, no permitiendo generalizarla, para toda la geografía colombiana.
Ya que el trabajo se enfoca en la detección y corrección de errores de propagación anómala en zonas ecuatoriales, no se valida un correcto funcionamiento en otras regiones que no sean ecuatoriales.
La herramienta de software se desarrollará para la detección y corrección de
propagaciones anómalas, otro tipo de errores presentes en los datos no serán
corregidos.
Para el desarrollo de este trabajo, solo se decodificarán los datos que se
encuentren en el formato proporcionado por el fabricante del radar que se tiene
acceso a los datos.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |20
2. MARCO REFERENCIAL
2.1 MARCO CONCEPTUAL
2.1.1 Radar meteorológico
Radar (Radio Detection And Ranging), es un sensor electromagnético utilizado en
detección y localización de objetos mediante la reflexión del haz incidente en los
mismos; son tres los componentes principales que conforman el radar meteorológico los
cuales son: (i) transmisor, (ii) antena y (iii) receptor, el primer componente hace
referencia a la fuente de la radiación electromagnética emitida por el equipo, siendo una
señal de alta potencia, dentro de las clases de transmisores encontramos los
magnetrón, el klistrón y los de estado sólido, el segundo componente es la antena,
siendo el dispositivo que emite la señal electromagnética hacia la atmosfera y por último
el receptor, que detecta y recibe la señal emitida por el transmisor.
El principio de funcionamiento del radar meteorológico es el de emitir a través de una
antena un pulso de energía electromagnética de duración t (del orden de los ms) y de
longitud de onda l (del orden de los centímetros, ya que el blanco deseado son gotas de
agua). Esa energía se concentra en un haz que al emitirse al exterior y por efecto de la
difracción toma una forma cónica. En el interior de ese cono la energía no se distribuye
de forma uniforme sino en forma de lóbulo: es mucho mayor en el centro y decrece
rápidamente al alejarse de éste. Debido a que es imposible confinar toda la energía en
dicho cono parte de ésta escapa fuera de él. Como resultado la energía emitida se
distribuye en forma de un lóbulo central (que es el que contiene la mayor parte de la
energía) y una serie de lóbulos secundarios de menor energía.
Cuando esa energía es interceptada por un 'blanco' (por ejemplo, una gota de agua) se
dispersa en todas direcciones (ver fig. 1), de forma que una fracción es devuelta en
dirección al radar y captada por el receptor (normalmente localizado en la misma
antena). La distancia al 'blanco' se determina registrando el tiempo transcurrido entre la
emisión y recepción de la energía y sabiendo que dicha energía se trasmite a la
velocidad de la luz. [3]
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |21
Fig. 1. Esquema de la energía captada y reflejada por una gota. (Radar Meteorology, 1997).
2.1.2 Tipos de radares meteorológicos
Existen diversos tipos de radares meteorológicos utilizados para detección en diversos
rangos de distancias, en la ¡Error! No se encuentra el origen de la referencia. puede
verse un resumen de ellos:
Tabla 1. Tipos de radares meteorológicos.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |22
2.1.3 Ecuación del radar meteorológico
En realidad, lo que registra el radar es la energía devuelta en su dirección por las gotas
de agua situadas en el interior de un cierto volumen Vres (ver ¡Error! No se encuentra
el origen de la referencia.).
Fig. 2. Volumen de tamaño radial c t/2 que se corresponde con la energía medida en un instante determinado y asociada a una distancia dada. (Radar Meteorology, 1997)
Esa energía, que se mide en forma de potencia, se puede expresar como:
𝑃(𝑟0) = 𝐶
𝐿2(𝑟0)𝑟02 𝑍(𝑟0)
Donde P es la potencia media devuelta por las gotas situadas en el interior del Vres
situado a una distancia r0 del radar. La potencia se expresa como media debido a que
el radar usualmente emite un tren de n pulsos; así para un volumen situado a una
distancia r0 se miden n valores de potencia que luego se promedian.
El motivo de tomar n medidas de un volumen es que de esta forma la medida final es
más robusta (ya que la potencia varía en el tiempo debido al movimiento de las gotas
en el interior del volumen). Por otro lado, la constante C agrupa toda una serie de
características relacionadas con el radar, es lo que se conoce como la constante del
radar. Finalmente, la reflectividad, Z, es la variable relacionada con las gotas que se
puede derivar una vez medida la potencia P.
La reflectividad Z se define como la suma de los diámetros a la sexta potencia de las
gotas contenidas en el interior de un volumen, es decir:
𝑍 = ∫ 𝑁(𝐷)𝐷6∞
0
𝑑𝐷
Donde N(D) es función de distribución de las gotas de agua.
Por su parte la intensidad de lluvia se puede expresar como, el flujo de agua a través de
una superficie, y también se puede formular en función de N(D) como:
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |23
𝑅 =𝜋
6∫ 𝑉(𝐷)𝑁(𝐷)𝐷3𝑑𝐷∞
0
A partir de datos experimentales de Z y R se ha comprobado que la relación entre ambas
variables suele responder a una función potencial del tipo:
𝑍 = 𝑎𝑅𝑏, como 𝑍 = 200𝑅1.6
2.1.4 Imágenes generadas por un radar meteorológico
A partir de la información registrada por el radar en las diversas elevaciones se suelen
generar dos tipos de imágenes:
PPI (Plan Position Indicator):
Correspondiente con la reflectividad registrada en cada una de las elevaciones y que se
proyecta sobre el plano horizontal (fig. 3), que solo produce una imagen bidimensional
del retorno el radar. Debe recordarse que los datos (retornos) vienen de diferentes
distancias al radar, a diferentes alturas arriba del terreno.
Fig. 3. Proyección del PPI sobre la horizontal. (Radar Meteorology, 1997)
CAPPI (Constant Altitude Plan Position Indicator):
Este segundo tipo de imagen trata de representar la reflectividad registrada sobre un
plano a una altura constante. Para generar este segundo tipo de imagen se utilizan
aquellos fragmentos de información de las diversas elevaciones que se encuentran más
cerca de la altura para la que se quiere generar el CAPPI (ver fig. 4).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |24
Fig. 4. Esquematización de los fragmentos de elevación utilizados para generar una imagen CAPPI. (Radar Meteorology, 1997)
2.1.5 Variables de estudio para la estimación de precipitación con
radar polarimétrico
De acuerdo con [4], a partir del descubrimiento y uso de los radares polarimétricos, el
cual es sensible a las formas y velocidades de caída de los blancos meteorológicos, es
posible mejorar la estimación cuantitativa de la precipitación utilizando información
adicional diferente a la reflectividad. A continuación, se describen los principales
observables polarimétricos, los cuales se calculan a partir de las cuatro señales de
potencia percibidas por el receptor del radar (𝑆𝑉𝑉 potencia recibida en la vertical
debida a la onda vertical, 𝑆𝐻𝐻 potencia recibida en la horizontal debida a la onda
horizontal, 𝑆𝐻𝑉 , potencia recibida en la horizontal debida a la onda vertical y 𝑆𝑉𝐻
potencia recibida en la vertical debida a la onda horizontal):
Diferencial de reflectividad 𝑍𝐷𝑅
El diferencial de reflectividad 𝑍𝐷𝑅 está definido con la ecuación (2.1)
𝑍𝐷𝑅 = 10𝑙𝑜𝑔10𝑍𝐻𝐻𝑍𝑉𝑉
(2.1)
Donde: 𝑍𝐻𝐻 es la reflectividad horizontal y Z𝑍𝑉𝑉 es la efectividad vertical. El
parámetro anterior mide la proporción de señal recibida en la vertical respecto a la
horizontal.
Diferencial específico de fase
El diferencial específico de fase se define como la variación con respecto al rango del
radar (r) de la fase φ entre la reflectividad horizontal y la vertical como se aprecia en
la figura 5.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |25
Fig. 5. Diferencial de fase
El diferencial de fase específico se define con la ecuación (2.2) en términos de la
diferencia de fase 𝜑𝑑𝑝 y el rango del radar r.
𝐾𝑑𝑝 = 1
2
𝑑
𝑑𝑟𝜑𝑑𝑝 (2.2)
La razón de despolarización lineal LDR
La razón de despolarización lineal es otro esquema que ha sido estudiado durante un par de décadas. En este caso, el radar transmite polarización horizontal y recibe las señales de ambas polarizaciones, vertical y horizontal. La LDR se define con la ecuación (2.3)
𝐿𝐷𝑅 = 10𝑙𝑜𝑔10𝑍𝐻𝑉𝑍𝐻𝐻
(2.3)
Donde: 𝑍𝐻𝑉 es la reflectividad horizontal debida a la onda vertical y 𝑍𝐻𝐻 es la
reflectividad horizontal debida a la onda horizontal.
2.1.6 Clasificación de la precipitación
En base a la información encontrada en [6], el radar polarimétrico es una herramienta
remota muy útil para estudiar la microfísica de las tormentas. Las mediciones del
radar polarimétrico son sensibles a las formas y distribuciones de tamaños, así como
a los comportamientos de caída de los hidrometeoros en el volumen de resolución de
radar. En el desarrollo de sistemas automáticos de clasificación de hidrometeoros se
han explorado entre otros, las siguientes herramientas: arboles de decisión, teoría de
decisión de estadística clásica, RNA de lógica difusa, sistemas neuro-difusos y redes
bayesianas. [6]
Entre estos, la lógica difusa es quizás el más adecuado y el más utilizado en los
radares comerciales para el problema de clasificación de hidrometeoros. En la
figura 6 se puede observar un esquema de clasificación de hidrometeoros, la
herramienta a utilizar para el proceso de clasificación varia como se mencionó
anteriormente, de igual forma el número de entradas del sistema puede cambiar,
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |26
se han desarrollado clasificadores en donde solo se tienen en cuenta dos variables
de entrada, otros usan tres y algunos usan todos los observables polarimetricos.
Fig. 6. Esquema básico de clasificador de hidrometeoro.
2.2 MARCO TEÓRICO
2.2.1 Modelamiento de software
El modelado de sistemas de software es una técnica para tratar con la complejidad
inherente a estos sistemas. El uso de modelos ayuda al ingeniero de software a
visualizar el sistema a construir. Además, los modelos de un nivel de abstracción mayor
pueden utilizarse para la comunicación con el cliente. Por último, las herramientas de
modela y las de ingeniería de software automatizada pueden ayudar a verificar la
corrección del modelo.
Los métodos actuales de desarrollo orientados por objetos ofrecen un conjunto de
técnicas para especificar los diferentes aspectos de los sistemas de información y más
concretamente prestan especial atención a los aspectos estáticos o estructurales,
diagrama de relación, de objetos, de comportamiento, diagramas de clases. Pero para
otras, como las reglas de negocio o el conocimiento del dominio que están embebidas
en el sistema de información y la funcionalidad requerida por los usuarios modelado de
interacción usuario sistema, no prestan la misma atención. Además, las técnicas que
ofrecen los métodos actuales no son suficientes para lograr este modelado, por ejemplo,
la especificación de un dialogo el sistema y el usuario es difícil de modelar solo con
diagramas de estado y de relación de objetos; y los diagramas de secuencias tampoco
son totalmente adecuados, ya que no permiten representar las derivaciones y las
interacciones entre usuario y aplicativo. [7]
El desarrollo de una herramienta de software está constituido de una serie de
operaciones, que permiten establecer un conjunto de tareas que tienen que ser
realizadas para producir un producto de software de alta calidad (Desarrollo de
software). Por consiguiente, el proceso de software que se sigue para construir un
producto de este tipo, parte desde la concepción de una idea, hasta la entrega y el retiro
final del sistema. [9]
Las actividades en el proceso de desarrollo de software son:
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |27
- Análisis de requerimientos
- Especificación
- Diseño
- Programación
- Integración y gestión de configuraciones
- Validación y verificación
- Prototipaje
2.2.2 Lenguaje unificado de modelado (UML)
Los modelos UML son diagramas muy usados y efectivos porque el objetivo de estos
modelos es buscar las clases que pueden abstraer/modelar bien las características del
sistema para establecer relaciones entre ´estas mismas clases, que reflejen lo que
sucede realmente en el mundo real de la implementación de la aplicación. El Lenguaje
Unificado de Modelado prescribe un conjunto de notaciones y diagramas estándar para
modelar sistemas orientados a objetos, y describe la semántica esencial de lo que estos
diagramas y símbolos significan. Mientras que ha habido muchas notaciones y métodos
usados para el diseño orientado a objetos, ahora los modeladores solo tienen que
aprender una u ‘nica notación.
UML se puede usar para modelar distintos tipos de sistemas: sistemas de software,
sistemas de hardware, y organizaciones del mundo real. UML ofrece nueve diagramas
en los cuales modelar sistemas:
• Diagramas de Casos de Uso para modelar los procesos.
• Diagramas de Secuencia para modelar el paso de mensajes entre objetos.
• Diagramas de Colaboración para modelar interacciones entre objetos.
• Diagramas de Estado para modelar el comportamiento de los objetos en el
sistema.
• Diagramas de Actividad para modelar el comportamiento de los Casos de
Uso, objetos u operaciones.
• Diagramas de Clases para modelar la estructura estática de las clases en el
sistema.
• Diagramas de Objetos para modelar la estructura estática de los objetos en
el sistema.
• Diagramas de Componentes para modelar componentes.
• Diagramas de Implementación para modelar la distribución del sistema. [8]
2.2.3 Software
Python es un lenguaje de programación poderoso y fácil de aprender. Cuenta con
estricto- ras de datos eficientes y de alto nivel y un enfoque simple pero efectivo a la
programación orientada a objetos. La elegante sintaxis de Python y su tapado dinámico,
junto con su na- tú raleza interpretada, hacen de ´este un lenguaje ideal para scripting y
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |28
desarrollo rápido de aplicaciones en diversas a ‘reas y sobre la mayoría de las
plataformas.
El intérprete de Python y la extensa biblioteca estándar están a libre disposición en foro-
mi binaria y de código fuente para las principales plataformas desde el sitio web de
Python, https://www.python.org/, y puede distribuirse libremente. El mismo sitio contiene
también distribuciones y enlaces de muchos módulos libres de Python de terceros,
programas y he- grasientas, y documentación adicional.
El intérprete de Python puede extenderse fácilmente con nuevas funcionalidades y tipos
de datos implementados en C o C++ (u otros lenguajes accesibles desde C). Python
también puede usarse como un lenguaje de extensiones para aplicaciones
personalizables. [10]
2.2.4 Interfaces gráficas (GUI)
Existen varias librerías que implementan interfaces graficas de usuario (GUI) en Python,
las principales son [11]:
• Thinker: Basada en las librerías graficas TCL/TK, interface” de-facto” (1)
preinstalada con Python, es la generalmente recomendada para proyectos
triviales y/o de aprendizaje.
• WxPython: Basada en WxWidgets (una librería multiplataforma C/C++),”
bendecida” (2) como la” más pitonica” por GvR (creador de Python), y sería
la interface por defecto si no hubiese existido TK en primer lugar.
• PyQT: Basado en la librería C++ QT (KDE).
• PyGTK: Basado en la librería C GTK (GNOME).
2.3 MARCO ESPACIAL
El trabajo de investigación propuesto consiste en continuar la línea del trabajo realizado
en anteriores proyectos [12], con el propósito de automatizar los procedimientos
realizados para detectar y corregir los errores generados por propagaciones anómalas
en radares meteorológicos, como el procesamiento de los datos del radar, obtener los
mapas que describen el comportamiento climático de dicha zona, permitirán mejorar los
tiempos de estudio y análisis de los datos generados y obtenidos de los radares
meteorológicos ubicados en zonas ecuatoriales, específicamente en Colombia.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |29
3 ESTADO DEL ARTE
3.1 MODELO PARA LA DETECCIÓN Y CORRECCIÓN DE
PROPAGACIONES ANÓMALAS EN RADARES METEOROLÓGICOS
PARA ZONAS ECUATORIALES [12]
3.1.1. Descripción
El proyecto de investigación desarrollado consiste en el diseño de un modelo para la
detección y corrección de propagaciones anómalas de los datos de un radar
meteorológico banda C en zonas ecuatoriales, específicamente en la geografía
colombiana.
Inicialmente se realizó la decodificación de los datos generados por el radar ya que se
encuentran en un formato propietario de la marca fabricante del equipo, luego se realizó
un análisis estadístico de los mismos. Esta información permitió definir las variables que
se utilizaron y el peso de cada una de ellas en el diseño. A partir de toda la información
preliminar obtenida hasta este punto se diseñó un modelo conceptual que permitió
definir los límites y las relaciones entre los componentes del sistema. Luego se
determinaron las herramientas adecuadas para utilizar en el algoritmo de detección y
corrección del modelo propuesto, para luego diseñar el algoritmo de detección y
corrección de dicho modelo. Finalmente se diseñó y desarrolló un protocolo de pruebas
que permitió validar el adecuado funcionamiento del modelo obtenido, para así generar
las conclusiones del proyecto de investigación planteado.
3.1.2 Metodología
El autor en primer lugar hace una descripción de las características del radar y de su
posición geográfica, el cual le da un punto de partida para un posterior estudio de los
datos.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |30
Fig. 7. Imagen del radar Corozal (Google Maps)
Los datos generados por el software del radar son almacenados en formato propietario
de la marca fabricante del equipo en un archivo con extensión .NC cuyo nombre incluye
la fecha y hora de la toma de los datos, el archivo crea 101 variables de las cuales solo
7 tienen información potencialmente útil para el desarrollo del algoritmo mostrado en el
presente trabajo, se incluyen los datos de las 664 celdas manejados por el radar,
teniendo estas variables el formato mostrado en la ¡Error! No se encuentra el origen
de la referencia..
ID Variable units Sampling ratio
FillValue Scale factor
Add offset
94 DBZ dBZ 1 -128 0.5000 32
95 VEL m/s 1 -128 0.0525 0
96 ZDR dB 1 -128 0.0625 0
97 KDP deg/km 1 -128 1 128
98 PHIDP Deg 1 -128 0.7087 90
99 RHOHV * 1 -128 0.0040 0.5059
100 UNKNOWN_ID_55 * 1 -128 1 128 Tabla 2. Formato de los datos generados por el radar de Corozal [12]
El archivo .NC del radar debe ser convertido a un formato adecuado inicialmente netCDF
y luego a formato de texto plano para que los datos puedan ser analizados y utilizados
por el algoritmo.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |31
Fig. 8. Diagrama de flujo para la conversión de datos generados por el radar. [12]
Fig. 9. Código del proceso de conversión del archivo a formato netCDF. [12]
El siguiente paso es separar cada una de las variables de interés para así poderlas
analizar de manera individual. Para esta tarea se utiliza inicialmente la función
netcdf.inqVar(), que requiere como parámetros de entrada la información almacenada
en la variable x y el número de la variable a separar, en la 7 se muestra el proceso para
la variable #98 denominada Z.
A continuación, el autor presenta el análisis estadístico para cada uno de los cinco
eventos seleccionados para el desarrollo del algoritmo. Con los resultados del análisis
de la primera etapa se definieron las variables que se utilizaron y el peso asignado en
el proyecto para cada una de ellas, además diseñó un modelo conceptual.
Básicamente se propuso un sistema difuso para la detección de las propagaciones
anómalas,
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |32
Fig. 10. Clasificador difuso propuesto. [12]
Se determinaron las herramientas más adecuadas para utilizar en el algoritmo de
detección y corrección del modelo propuesto, para luego diseñar el algoritmo de
detección y corrección de dicho modelo.
El siguiente paso del proceso es realizar la corrección de las propagaciones anómalas
detectadas con el algoritmo explicado en la sección anterior. Al filtro se le realizó una
modificación para que su funcionamiento se adecue a las características de los datos a
corregir.
Inicialmente se saca una copia de la matriz Z que contiene las propagaciones anómalas
que se van a corregir, los datos clasificados y los de relleno, para así también poder
determinar los puntos que no contienen información marcados en la matriz con el valor
−128, para el proceso de corrección la matriz se dividió en cuatro cuadrantes a cada
uno se le aplica el filtro de media.
La matriz a analizar tiene una longitud de 664x360, el filtro de media de ventana 3x3
requiere puntos anteriores y puntos siguientes al punto a corregir por lo que el barrido
de la matriz se realiza desde la posición (2,2) hasta la posición (663,359). Al dividir en
cuatro cuadrantes la matriz, cada cuadrante maneja un rango de análisis particular de
esta manera es más eficiente el proceso de corrección de propagaciones anómalas
dado que minimiza los errores generados en el borde de la matriz.
3.1.3 Resultados
Se diseñó un protocolo de validación con todos los eventos extraídos de los datos,
Para todos los eventos el procedimiento de validación fue el mismo:
• Modificar evento agregando propagaciones anómalas en una zona del mapa
• Aplicar el algoritmo de clasificación
• Aplicar el algoritmo de corrección ventana 3x3
• Aplicar el algoritmo de corrección ventana 5x5
• Aplicar el algoritmo de corrección ventana 7x7
• Comparar matriz de datos originales con matriz corregida
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |33
• Calcular error
Fig. 11. Evento 1 de precipitación de lluvia sin modificaciones. [12]
Fig. 12. Evento 1 zona modificada con propagaciones anómalas. [12]
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |34
Fig. 13. Evento 1 de precipitación de lluvia resultado con ventana 3x3. [12]
En la ¡Error! No se encuentra el origen de la referencia. y en la ¡Error! No se
encuentra el origen de la referencia.4 se presenta un resumen con los porcentajes de
error promedio obtenidos para cada uno de los eventos diferenciándolos de acuerdo al
tamaño de la ventana utilizada en el filtro.
Evento No.
Fecha % Error
Ventana 3x3 % Error
Ventana 5x5 % Error
Ventana 7x7
1 25/06/2013 17,56 8,73 4,78
2 28/06/2013 15,50 6,91 5,81
3 11/07/2013 10,98 6,52 5,30
4 29/07/2013 8,87 5,89 4,67
5 30/07/2013 9,61 8,30 4,86 Tabla 3. Porcentajes de error para cada uno de los eventos. [12]
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |35
Fig. 14. Porcentajes de error para cada uno de los eventos. [12]
3.1.4 Conclusiones
• El proceso de clasificación de eventos en radares meteorológicos
polarimétricos depende en gran medida del tipo de información que se desee
obtener, cuando se requiere simplemente separar eventos meteorológicos
de eventos no meteorológicos se requiere entonces el uso de 3 variables
directas, Z, ZDR y HV, y de 2 variables indirectas SD(Z) y SD(ΦDP) cada
una de ellas tienen su peso específico en el proceso de clasificación.
• Para el clasificador diseñado se determinó que la variable con más peso
dentro del proceso es HV ya que esta permite diferenciar en gran medida
un objetivo meteorológico de uno no meteorológico, por los rangos que esta
variable maneja sobre todo es posible diferenciar eficientemente entre un eco
meteorológico y un eco biológico, además esta variable en particular es la
única que no se ve afectada por las atenuaciones típicas presentes en los
radares meteorológicos.
• Para el algoritmo de corrección se hizo uso de un filtro de media (modificado),
se seleccionó este tipo de filtro porque la información generada en el radar
puede ser vista como una imagen con ruido, al aplicar el filtro se elimina una
gran cantidad de ruido que para el caso del proyecto de investigación
corresponde a las propagaciones anómalas.
• La diferencia en el tamaño de las ventanas del filtro genera a su vez
diferencias en la eficiencia del mismo teniendo errores entre el 4.6% y el
17.5%, en el primer caso para una ventana de 7x7, el segundo caso para una
ventana de 3x3.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |36
3.2 METGIS PROFESSIONAL WEATHER SERVICE [13]
3.2.1 DESCRIPCIÓN
MetGIS es un potente sistema de pronóstico del tiempo internacional, especializado en
la producción automatizada de mapas de pronóstico meteorológico de extremadamente
alta resolución. Produce pronósticos en 8 idiomas para unas 200 regiones y varios
cientos de miles de ciudades, pueblos y cumbres alrededor del mundo, con varias
actualizaciones de predicción al día.
Esta herramienta se especializa en la construcción de mapas de pronóstico con gran
nivel de detalle, abarcando desde áreas a pequeña escala como centros de esquí a
montañas de expedición en regiones remotas, con resoluciones horizontales de 100 m
y más.
Los mapas de pronóstico interactivos proveen la posibilidad de acceder a la predicción
del tiempo en cualquier punto de dichos mapas, no sólo donde se ubican pueblos y
ciudades (el estándar habitual). Los valores numéricos de los parámetros predichos
están siempre visibles junto a posición respectiva del cursor del mouse. Además, el
desarrollo del estado del tiempo en sitios puntuales ("pronósticos puntuales") y a lo largo
de carreteras y de rutas de ascenso alpinas ("pronósticos de rutas") puede ser accedido
a través de simples clics del mouse en las localidades pertinentes de los mapas de
predicción.
3.2.2 Metodología
Los estudios de verificación están basados en observaciones de estaciones
meteorológicas "oficiales" (SYNOP) y en redes locales de estaciones de control de
avalanchas y compañías mineras a cielo abierto. Hasta el presente, la comparación
entre los pronósticos de MetGIS y observaciones ha incluido las siguientes regiones:
- Alpes (Austria): varios estudios desde el invierno 2007/08 - Pirineos (España): varios estudios desde el invierno 2008/09 - Andes del Sur (Chile): varios estudios desde el invierno 2009 - Himalayas (Bután): estudio con datos de 2010/11 - Cáucaso (Rusia): estudio de la región del Elbrus (2009)
La extraordinariamente alta calidad de los pronósticos de MetGIS es debida al hecho de
que tanto las técnicas de predicción, como así también las presentaciones gráficas de
los pronósticos han sido desarrolladas en el marco de proyectos de investigación
interdisciplinarios a nivel internacional a lo largo de varios años. Conocimiento altamente
específico de institutos de investigación, universidades y servicios meteorológicos de
numerosos países (ver el mapa mundial adyacente figura 15.) ha tenido un impacto
sobre MetGIS, abarcando un amplio rango de especialidades como la meteorología,
ciencias de la nieve, sistemas de información geográfica e ingeniería de software.
Los siguientes son los asociados al proyecto MetGIS:
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |37
- SLF (Instituto Federal para el Estudio de la Nieve y las Avalanchas), Davos, Suiza
- SENAMHI (Servicio Nacional de Meteorología e Hidrología), Lima, Perú - NIED/NISIS (Instituto Nacional de Investigación de Ciencias de la Tierra y
Prevención del Riesgo), Nagaoka, Japón - IANIGLA (Instituto Argentino de Nivología y Glaciología), Mendoza,
Argentina - DGF (Departamento de Geofísica, Universidad de Chile), Santiago de Chile,
Chile - IMG (Instituto de Meteorología y Geofísica, Universidad de Viena), Viena,
Austria
Fig. 15.Mapa mundial con ubicación de los asociados al proyecto MeTGIS [13].
3.2.3 Resultados
Los resultados de los estudios previamente mencionados han demostrado la excelente
calidad de los pronósticos MetGIS, lograda sólo gracias al extenso e intenso proceso de
desarrollo, involucrando numerosos asociados académicos internacionales.
Sin embargo, ningún pronóstico meteorológico, tanto producido por meteorólogos como
por sistemas de predicción automatizados, puede alcanzar la perfección. Esto es debido
a la limitada densidad de redes mundiales de observación del tiempo, a limitaciones en
la capacidad de los ordenadores (aún los supercomputadores más veloces no son lo
suficientemente veloces) y a otros factores.
A continuación, algunos de los mapas generados por la interfaz gráfica de la
herramienta que MeTGIS implementa:
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |38
Fig. 16. MetGIS: pronóstico de la temperatura del aire para la ruta de ascenso en el monte Elbrus (montañas del Cáucaso, Rusia) [13].
Fig. 17. Ejemplo de un pronóstico MetGIS de la velocidad del viento para el Monte Fuji (Japón) [13].
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |39
3.3 MULTI-RADAR/MULTI-SENSOR SYSTEM (MRMS) [14]
3.3.1 Descripción
El sistema MRMS fue desarrollado para producir productos de clima y precipitación
severos para mejorar la capacidad de toma de decisiones, mejorar los pronósticos
meteorológicos severos y las advertencias, la hidrología, la aviación y la predicción
meteorológica numérica.
MRMS es un sistema con algoritmos automatizados que integra rápida e
inteligentemente flujos de datos de múltiples radares, observaciones de aire en la
superficie y en la parte superior, sistemas de detección de rayos y modelos satelitales y
de pronóstico.
El sistema Multiple Radar Multiple Sensor (MRMS) combina flujos de datos de múltiples
radares, satélites, observaciones de superficie, observaciones de aire superiores,
informes de rayos, pluviómetros y modelos numéricos de predicción meteorológica para
producir un conjunto de productos de apoyo a la decisión cada dos minutos. Debido a
que proporciona una mejor representación de los fenómenos meteorológicos de alto
impacto, como fuertes lluvias, nieve, granizo, tornados y otras amenazas, los
pronosticadores pueden diagnosticar rápidamente el mal tiempo y emitir pronósticos y
advertencias más precisos y de forma temprana.
3.3.2 Metodología
MRMS divide el proceso de pronóstico del clima de alto impacto (o continuo) en una serie de siete, componentes interrelacionados o "facetas". Estas facetas son: 1. Método y forma: La naturaleza de los relojes, advertencias y avisos (WWA, por ejemplo, información determinista basada en texto creada a partir de peligros basados en zonas o polígonos información). 2. Observación y orientación: Las herramientas y datos por los cuales se logran las decisiones de vigilancia/advertencia (por ejemplo, radar, satélites, observaciones meteorológicas, predicción numérica del tiempo, orientación estadística, interacción entre el pronosticador y el pronosticador, etc.). 3. El pronosticador: El conocimiento, habilidades y habilidades de los pronosticadores necesarios para hacer decisiones de pronóstico efectivas. 4. Herramientas: El equipo utilizado para crear y diseminar información sobre riesgos. 5. Salida utilizable: El formato, contenido, equipo y medios por los cuales el peligro la información es comunicada 6. Respuesta efectiva: Todos los aspectos de la respuesta del receptor (o falta de respuesta) al NWS mensajes de peligro, incluidos todos los factores que condujeron a la recepción del mensaje (por ejemplo, educación, preparación, conciencia situacional, comprensión, respuesta y recuperación). 7. Verificación: Medidas cuantitativas y cualitativas tomadas para validar el
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |40
integridad y efectividad del programa de mensajes de riesgo y para informar mejoras en el sistema.
3.3.3 Resultados
MRMS se está utilizando para desarrollar y probar nuevos productos NextGen de la
Administración Federal de Aviación (FAA) además de avanzar en técnicas de control de
calidad, detección de formación de hielo y turbulencia en colaboración con el Centro
Nacional de Investigación Atmosférica, la Corporación Universitaria de Investigación
Atmosférica y Lincoln Laboratorios.
El Sistema MRMS también está en uso por el Centro Nacional de Predicción Ambiental.
MRMS se implementó operacionalmente en 2014. Todos los más de 100 productos que
produce están disponibles a través de NCEP para todos los centros de servicio WFO,
RFC, CWSU y NCEP. Además, el conjunto de productos de MRMS está públicamente
disponible para cualquier otra entidad que desee acceder y utilizar los datos. Otras
agencias federales que usan MRMS incluyen FEMA, DOD, FAA y USDA. MRMS es la
versión operativa propuesta de los sistemas de investigación WDSS-II y NMQ.
El sistema MRMS fue desarrollado conjuntamente en cooperación con el Instituto
Cooperativo de Estudios Meteorológicos de Mesoescala (CIMMS), y la Universidad de
Oklahoma conserva el derecho de licencia comercial del software. Varias compañías
líderes en información meteorológica han autorizado previamente el sistema MRMS de
la Universidad de Oklahoma para uso comercial, aunque el software está disponible
para el gobierno sin costo alguno.
Fig. 18. Interfaz Gráfica MRMS muestra los datos operativos de NCEP [14].
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |41
Fig. 19. MRMS produce estimaciones más precisas de la acumulación de precipitación [14].
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |42
4. MODELO DEL APLICATIVO
En este capítulo se pretende dar una visión general del documento de modelado del
aplicativo, el cual es la principal fuente de información para empezar con el desarrollo
del aplicativo. Con el propósito de generar una descripción de la arquitectura del sistema
con los aspectos más importantes que la rodean, se desarrollaron diferentes modelos
basados en el lenguaje unificado de modelado UM, los cuales están distribuidos de la
siguiente manera.
4.1 Diagrama de casos de uso
Con el diagrama de casos de uso se realiza una descripción gráfica de las acciones del
aplicativo desde el punto de vista del usuario, y por medio de esta descripción de pude
modelar la funcionalidad del sistema usando al usuario como actor y casos de uso que
representan las funciones provistas por el sistema para el usuario. De esta forma se
facilita el trabajo para obtener lo que luego se definirá como los requerimientos del
sistema.
En la figura 20 se muestra el diagrama de casos de uso modelado para el aplicativo de
detección y corrección de propagaciones anómalas en radares meteorológicos en zonas
ecuatoriales.
Fig. 20. Diagrama casos de uso (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |43
4.2 Lista de requerimientos
Primero se llevó a cabo el proceso de especificación de requerimientos. Estos se
dividieron en requerimientos funcionales y no funcionales, donde los requerimientos
funcionales especifican los servicios que provee el aplicativo por medio de una
descripción concreta. Estos se clasifican en tres niveles de prioridad, alta, media y baja,
ordenados de mayor a menor, permitiendo visualizar el impacto que cada uno tiene en
el proceso del desarrollo de la aplicación.
Por otro lado, los requerimientos no funcionales no involucran directamente las
funciones específicas que entrega el sistema, sino a las propiedades de sistema de las
cuales depende el aplicativo para poder ser desarrollado y ejecutado.
En la tabla 4 se presenta la tabla de requerimientos funcionales.
ID Descripción Prioridad
Req000 El sistema debe generar un módulo que permita
cargar datos del archivo con extensión .NC. Alta
Req001 El sistema debe permitir Ingresar un intervalo
de grados (°) para realizar simulación de
propagaciones anómalas (PA).
Alta
Req002 El sistema debe permitir Ingresar un intervalo
de radio(Km) para realizar simulación de
propagaciones anómalas.
Alta
Req003 El sistema debe permitir ingresar intervalo del
rango de los valores que tendrán las
propagaciones anómalas.
Alta
Req004 El sistema debe generar un módulo que permita
grabar los datos para realizar simulación de
propagaciones anómalas.
Alta
Req005 El sistema debe permitir seleccionar algoritmo
filtro de corrección 3x3. Alta
Req006 El sistema debe permitir seleccionar algoritmo
filtro de corrección 7x7.
Alta
Req007 El sistema debe permitir seleccionar algoritmo
alternativo de corrección.
Alta
Req008 El sistema debe generar un módulo para
ejecutar algoritmo de corrección seleccionado. Alta
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |44
Req009 El sistema debe permitir seleccionar mapa de
variable Z a generar.
Alta
Req010 El sistema debe permitir seleccionar mapa de
variable Z Corregido a generar.
Alta
Req011 El sistema debe permitir seleccionar mapa de
variable ZDR a generar. Alta
Req012 El sistema debe permitir seleccionar mapa de
variable ZDR Corregido a generar.
Alta
Req013 El sistema debe permitir seleccionar mapa de
variable RHO a generar.
Alta
Req014 El sistema debe permitir seleccionar mapa de
variable RHO Corregido a generar. Alta
Req015 El sistema debe permitir seleccionar mapa de
Clasificación a generar. Alta
Req016 El sistema debe permitir seleccionar mapa de
Clasificación Corregido a generar. Alta
Req017 El sistema debe generar un módulo para
mapa(s) seleccionado(s). Alta
Req018 El sistema debe generar un módulo con
información general del archivo con extensión
.NC cargado.
Media
Req019 El sistema debe permitir realizar zoom sobre el
gráfico de los mapas generados. Media
Req020 El sistema debe permitir realizar
desplazamiento por toda el área de los mapas
generados.
Media
Req021 El sistema debe permitir guardar imágenes de
los mapas generados. Media
Req022 El sistema debe permitir visualizar mapa con la
ubicación geográfica del radar. Baja
Tabla 4. Tabla de requerimientos (Elaboración propia).
A continuación, se especifican la lista de requerimientos no funcionales,
correspondientes a las plataformas que se utilizaron para la implementación del
proyecto son:
Versión del sistema operativo: Windows 10
Lenguaje de Programación: Python
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |45
Entorno de Programación: SublimeText (Diseño del programa y GUI)
Modelamiento de Problemas: DIA
4.3 Formato de especificación de casos de usos
En este apartado se elabora el formato de especificación de casos de usos que plasma
la relación entre los casos de usos generados en la descripción del diagrama de casos
de usos con los requerimientos de que definieron para la elaboración del aplicativo.
Este formato especifica los diferentes flujos que se pueden generar a partir de la
interacción entre el usuario con el aplicativo, donde se describen los posibles escenarios
que involucran directamente la funcionalidad del sistema y las reglas que debe seguir.
A continuación, se observan las tablas 5,6,7,8,9 y 10 con los formatos generados para
el aplicativo de detección y corrección de propagaciones anómalas en radares
meteorológicos en zonas ecuatoriales.
Nombre de Caso de uso: <Importar Datos .NC>
Autores: John Redondo Montero, Martín Calderón Cortés
Fecha de Elaboración: 05/02/2019
Fecha de última modificación: 04/05/2019
Descripción: Este caso de uso permite al usuario acceder a la ruta donde se encuentre el archivo de formato .NC que se importa al aplicativo para el procesamiento de los datos
Actores: Usuario
Relaciones: Req000 (Requerimientos funcionales)
Precondiciones: El usuario debe haber abierto el aplicativo
Flujo Principal (Escenario 1)
Actor Sistema
1.El usuario visualiza el aplicativo.
2. El usuario oprime el botón “Importar” ubicado en el módulo Importar archivo .NC.
3.El sistema despliega ventana para que usuario ubique el archivo con extensión .NC en el equipo.
4.El usuario selecciona el archivo con extensión .NC y presiona el botón “Abrir”
5. El sistema carga en el módulo Información, datos referentes a características generales de la fuente del
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |46
archivo .NC (el radar), y un mapa con la posición geográfica de este.
6. Ahora el Usuario puede Generar los Mapas con los datos originales de las variables Z, ZDR y RhoHV; o puede pasar al módulo Simulación AP para agregar propagaciones anómalas.
Post condiciones: El sistema permite el acceso del usuario al Módulo Simulación AP y Mapas a generar.
Tabla 5. Especificación caso de uso Importar Datos .NC (Elaboración propia).
Nombre de Caso de uso: <Grabar Datos Simulación AP> Autores: John Redondo Montero, Martín Calderón
Cortés
Fecha de Elaboración: 05/02/2019 Fecha de última modificación: 04/05/2019
Descripción: Este caso de uso permite al usuario ingresar parámetros de grados (°),
radio (Km) y un rango de valores correspondiente a las propagaciones anómalas que van a ser insertadas en los datos originales para su posterior corrección.
Actores: Usuario
Relaciones: Req001, Req002, Req003 y Req004 (Requerimientos funcionales)
Precondiciones: El usuario debe haber importado el archivo de extensión .NC
Flujo Principal (Escenario 1)
Actor Sistema
1. El usuario visualiza el módulo “Grabar Datos Simulación AP” sobre el aplicativo.
2. El usuario ingresa intervalo de unidades de grados en dos casillas, grad_1 y grad_2
3. El usuario ingresa intervalo de unidades de radio en dos casillas, rad_1 y rad_2
4. El usuario ingresa intervalo de unidades de radio en dos casillas, rang_1 y rang_2
5. El usuario oprime el botón Grabar para guardar los datos ingresados anteriormente.
6. El sistema valida que los datos ingresados sean correctos y los guarda, notificando con una ventana emergente que los datos han sido guardados exitosamente
7. El usuario puede continuar con el siguiente módulo , Corregir AP’s.
Post condiciones: El sistema permite el acceso del usuario al módulo Corregir AP’s.
Tabla 6. Especificación caso de uso Grabar Datos Simulación AP (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |47
Nombre de Caso de uso: <Corregir AP’s>
Autores: John Redondo Montero, Martín Calderón Cortés
Fecha de Elaboración: 05/02/2019
Fecha de última modificación: 04/05/2019
Descripción: Este caso de uso permite al usuario seleccionar el algoritmo de corrección que desee ejecutar, entre el filtro 3x3, el filtro 7x7 y el algoritmo alternativo.
Actores: Usuario
Relaciones: Req005, Req006, Req007 y Req008 (Requerimientos funcionales)
Precondiciones: El usuario debe haber guardado los datos de simulación de las propagaciones anómalas.
Flujo Principal (Escenario 1)
Actor Sistema
1. El usuario visualiza el módulo “Corregir AP’s” sobre el aplicativo.
2. El usuario selecciona uno de los filtros que ejecuta el algoritmo de corrección correspondiente
3. El sistema reconoce el algoritmo seleccionado
4. El usuario presiona el botón “Corregir AP’s”
5. El sistema ejecuta el algoritmo seleccionado.
6. El usuario puede continuar con el siguiente módulo , Mapas a generar.
Post condiciones: El sistema permite el acceso del usuario al módulo Mapas a generar.
Tabla 7. Especificación caso de uso Corregir AP's (Elaboración propia).
Nombre de Caso de uso: <Generar Mapas Originales>
Autores: John Redondo Montero, Martín Calderón Cortés
Fecha de Elaboración: 05/02/2019
Fecha de última modificación: 04/05/2019
Descripción: Este caso de uso permite al usuario generar los mapas de las variables Z, ZDR, RhoHV y el mapa de clasificación (BIO, METEO y AP) con base a los datos que por defecto trae el archivo de extensión .NC
Actores: Administrador
Relaciones: Req009, Req011, Req013 y Req015 (Requerimientos funcionales)
Precondiciones: El usuario debe haber importado el archivo de extensión .NC
Flujo Principal (Escenario 1)
Actor Sistema
1.El usuario visualiza el módulo “Mapas a generar”
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |48
2. El usuario selecciona el mapa que desea generar (Z, ZDR, RhoHV, Clasificación)
3. El usuario presiona el botón Generar
4. El aplicativo genera el mapa seleccionado.
5. Ahora el usuario puede realizar tareas para el análisis del mapa obtenido como realizar acercamiento (zoom) sobre zonas específicas del mapa, desplazarse sobre toda el área del mapa, retornar al tamaño original del mapa luego de hacer acercamiento sobre una zona específica, guardar la imagen del mapa en su equipo.
Post condiciones: El sistema permite el acceso del usuario al módulo Mapas a generar.
Flujo Alternativo 1 (Escenario 2)
Actor Sistema
2. El usuario selecciona 2 mapas que desee generar
3. El usuario presiona el botón Generar
4. El aplicativo genera el mapa seleccionado.
5. Ahora el usuario puede realizar tareas para el análisis de los mapas obtenidos como realizar acercamiento (zoom) sobre zonas específicas de los mapas, desplazarse sobre toda el área de los mapas, retornar al tamaño original de los mapas luego de hacer acercamiento sobre una zona específica, guardar la imagen del mapa en su equipo.
Flujo Alternativo 2 (Escenario 3)
Actor Sistema
2. El usuario selecciona 3 mapas que desee generar
3. El usuario presiona el botón Generar
4. El aplicativo genera el mapa seleccionado.
5. Ahora el usuario puede realizar tareas para el análisis de los mapas obtenidos como realizar acercamiento (zoom) sobre zonas específicas de los mapas, desplazarse sobre toda el área de los mapas, retornar al tamaño original de los mapas luego de hacer acercamiento sobre una zona específica, guardar la imagen del mapa en su equipo.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |49
Flujo Alternativo 3 (Escenario 4)
Actor Sistema
2. El usuario selecciona 4 mapas que desee generar
3. El usuario presiona el botón Generar
4. El aplicativo genera el mapa seleccionado.
5. Ahora el usuario puede realizar tareas para el análisis de los mapas obtenidos como realizar acercamiento (zoom) sobre zonas específicas de los mapas, desplazarse sobre toda el área de los mapas, retornar al tamaño original de los mapas luego de hacer acercamiento sobre una zona específica, guardar la imagen del mapa en su equipo.
Volver al menú principal.
Tabla 8. Especificación caso de uso Generar Mapas Originales (Elaboración propia).
Nombre de Caso de uso: <Generar Mapas Corrección>
Autores: John Redondo Montero, Martín Calderón Cortés
Fecha de Elaboración: 05/02/2019
Fecha de última modificación: 04/05/2019
Descripción: Este caso de uso permite al usuario generar los mapas de las variables Z, ZDR, RhoHV y el mapa de clasificación (BIO, METEO y AP) con base a la corrección realizada por el algoritmo de corrección seleccionado (filtro 3x3, filtro 5x5 o algoritmo alternativo).
Actores: Administrador
Relaciones: Req010, Req012, Req014 y Req016 (Requerimientos funcionales)
Precondiciones: El usuario debe haber realizado corrección de las propagaciones anómalas con alguno de los algoritmos de corrección del módulo Corregir AP’s.
Flujo Principal (Escenario 1)
Actor Sistema
1.El usuario visualiza el módulo “Mapas a generar”
2. El usuario selecciona el mapa que desea generar (Z Corregido, ZDR Corregido, RhoHV Corregido, Clasificación Corregido)
3. El usuario presiona el botón Generar
4. El aplicativo genera el mapa seleccionado.
5. Ahora el usuario puede realizar tareas para el análisis del mapa obtenido como
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |50
realizar acercamiento (zoom) sobre zonas específicas del mapa, desplazarse sobre toda el área del mapa, retornar al tamaño original del mapa luego de hacer acercamiento sobre una zona específica, guardar la imagen del mapa en su equipo.
Post condiciones: El sistema permite el acceso del usuario al módulo Mapas a generar.
Flujo Alternativo 1 (Escenario 2)
Actor Sistema
2. El usuario selecciona 2 mapas que desee generar
3. El usuario presiona el botón Generar
4. El aplicativo genera el mapa seleccionado.
5. Ahora el usuario puede realizar tareas para el análisis de los mapas obtenidos como realizar acercamiento (zoom) sobre zonas específicas de los mapas, desplazarse sobre toda el área de los mapas, retornar al tamaño original de los mapas luego de hacer acercamiento sobre una zona específica, guardar la imagen del mapa en su equipo.
Flujo Alternativo 2 (Escenario 3)
Actor Sistema
2. El usuario selecciona 3 mapas que desee generar
3. El usuario presiona el botón Generar
4. El aplicativo genera el mapa seleccionado.
5. Ahora el usuario puede realizar tareas para el análisis de los mapas obtenidos como realizar acercamiento (zoom) sobre zonas específicas de los mapas, desplazarse sobre toda el área de los mapas, retornar al tamaño original de los mapas luego de hacer acercamiento sobre una zona específica, guardar la imagen del mapa en su equipo.
Flujo Alternativo 3 (Escenario 4)
Actor Sistema
2. El usuario selecciona 4 mapas que desee generar
3. El usuario presiona el botón Generar
4. El aplicativo genera el mapa seleccionado.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |51
5. Ahora el usuario puede realizar tareas para el análisis de los mapas obtenidos como realizar acercamiento (zoom) sobre zonas específicas de los mapas, desplazarse sobre toda el área de los mapas, retornar al tamaño original de los mapas luego de hacer acercamiento sobre una zona específica, guardar la imagen del mapa en su equipo.
Volver al menú principal.
Tabla 9. Especificación caso de uso Generar Mapas Corrección (Elaboración propia).
Nombre de Caso de uso: <Generar Mapas Modificados Simulación>
Autores: John Redondo Montero, Martín Calderón Cortés
Fecha de Elaboración: 05/02/2019
Fecha de última modificación: 04/05/2019
Descripción: Este caso de uso permite al usuario generar los mapas de las variables Z, ZDR, RhoHV y el mapa de clasificación (BIO, METEO y AP) con base a la distribución de propagaciones anómalas sobre el mapa que fueron ingresadas por el usuario en el módulo “Grabar datos simulación AP”
Actores: Administrador
Relaciones: Req009, Req010, Req011, Req012, Req013, Req014, Req015 y Req016
(Requerimientos funcionales)
Precondiciones: El usuario debe haber ingresado los valores de grados(°), radio (Km) y rango para la simulación de las propagaciones anómalas.
Flujo Principal (Escenario 1)
Actor Sistema
1.El usuario visualiza el módulo “Mapas a generar”
2. El usuario selecciona el mapa que desea generar (Z, Z Corregido, ZDR, ZDR Corregido, RhoHV, RhoHV Corregido, Clasificación, Clasificación Corregido)
3. El usuario presiona el botón Generar
4. El aplicativo genera el mapa seleccionado.
5. Ahora el usuario puede realizar tareas para el análisis del mapa obtenido como realizar acercamiento (zoom) sobre zonas específicas del mapa, desplazarse sobre toda el área del mapa, retornar al tamaño original del mapa luego de hacer acercamiento sobre una zona específica, guardar la imagen del mapa en su equipo.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |52
Post condiciones: El sistema permite el acceso del usuario al módulo Mapas a generar.
Flujo Alternativo 1 (Escenario 2)
Actor Sistema
2. El usuario selecciona 2 mapas que desee generar
3. El usuario presiona el botón Generar
4. El aplicativo genera el mapa seleccionado.
5. Ahora el usuario puede realizar tareas para el análisis de los mapas obtenidos como realizar acercamiento (zoom) sobre zonas específicas de los mapas, desplazarse sobre toda el área de los mapas, retornar al tamaño original de los mapas luego de hacer acercamiento sobre una zona específica, guardar la imagen del mapa en su equipo.
Flujo Alternativo 2 (Escenario 3)
Actor Sistema
2. El usuario selecciona 3 mapas que desee generar
3. El usuario presiona el botón Generar
4. El aplicativo genera el mapa seleccionado.
5. Ahora el usuario puede realizar tareas para el análisis de los mapas obtenidos como realizar acercamiento (zoom) sobre zonas específicas de los mapas, desplazarse sobre toda el área de los mapas, retornar al tamaño original de los mapas luego de hacer acercamiento sobre una zona específica, guardar la imagen del mapa en su equipo.
Flujo Alternativo 3 (Escenario 4)
Actor Sistema
2. El usuario selecciona 4 mapas que desee generar
3. El usuario presiona el botón Generar
4. El aplicativo genera el mapa seleccionado.
5. Ahora el usuario puede realizar tareas para el análisis de los mapas obtenidos como realizar acercamiento (zoom) sobre zonas específicas de los mapas, desplazarse sobre toda el área de los mapas, retornar al tamaño original de los mapas luego de hacer acercamiento sobre
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |53
una zona específica, guardar la imagen del mapa en su equipo.
Volver al menú principal.
Tabla 10. Especificación caso de uso Generar Mapas Modificados Simulación (Elaboración propia).
4.4 Diagrama de clases
Cuando ya se han establecido la relación entre los casos de usos y los requerimientos
se procede a desarrollar el aplicativo, y en este punto es donde se genera el diagrama
principal de diseño y análisis del sistema, el diagrama de clases.
En este, la estructura de clases del sistema se especifica, con relaciones entre clases y
estructuras de herencia. Durante el análisis del sistema, el diagrama es desarrollado
con el objetivo de encontrar una solución ideal para la elaboración del aplicativo.
Durante el diseño, se utiliza el mismo diagrama, y se modifica para satisfacer los detalles
de las implementaciones.
En este caso, se obtuvieron dos clases, la clase Operaciones y la clase GUI (Anomalous
Propagation Correction).
- En la clase Operaciones se encuentran definidos las funcionalidades, o métodos,
que ejecutan toda la parte lógica del aplicativo, como lo son los métodos donde
se extraen de las variables principales del archivo .NC, los métodos donde se
define el clasificador basado en el sistema difuso para la detección de las
propagaciones anómalas, los métodos correspondientes a los algoritmos de
corrección de propagaciones anómalas (tanto los filtros de ventana como al
algoritmo alternativo), los métodos para la conversión de coordenadas polares a
cartesianas, y finalmente los métodos para la generación de los mapas de cada
una de las variables y del clasificador.
- En la clase GUI (Anomalous Propagation Correction) se encuentran definidos los
atributos y los métodos pertenecientes a los componentes que conforman la
interfaz gráfica con la que interactúa el usuario, y que son los que invocan las
funcionalidades instanciadas en la clase Operaciones.
A continuación, se muestra en la figura 21 el diagrama de clases descrito
anteriormente, correspondiente al aplicativo.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |54
Fig. 21. Diagrama de clases del aplicativo (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |55
5. DESARROLLO DEL APLICATIVO PARA DETECCIÓN Y
CORRECCIÓN DE PROPAGACIONES ANÓMALAS EN
RADARES METEOROLÓGICOS PARA ZONAS
ECUATORIALES
5.1 Extracción de datos netCDF
Para iniciar el desarrollo del proyecto inicialmente se buscaron las diferentes alternativas
proporcionadas y soportadas por el lenguaje de programación Python, encontrándose
como mejor solución para el importe y tratamiento de datos en archivos .nc la librería
NETCDF4 [14]. Se buscó en la documentación los métodos necesarios para la lectura
de los datos de un archivo ‘.nc’ proporcionados por NETCDF4.
En la documentación [15] se encontró que se requerida únicamente de la importación
de la clase “Dataset” y “variables” se encuentran los métodos necesarios para leer los
elementos de archivo a extraer. Se procede a instanciar un objeto de tipo dataset de un
archivo especifico “.nc” llamado “Cor20130625_103003.nc” a modo de prueba, a
continuación, se leyeron las variables y su nombre para posteriormente extraer sus
datos, con el método de la clase “variables”, keys().
Fig. 22. Nombres de las variables del archivo importado Cor20130625_103003.nc.
A partir de este momento son conocidos los nombres de cada variable, por lo que se
procede a leer las propiedades de cada una, como lo son entre otros las unidades, el
tipo de dato, factor de escala, offset y “Fill value”.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |56
Fig. 23. Propiedades de las variables “ZDR” y “KDP”.
Con los parámetros observados y haciendo uso de la clase “variables” de NETCDF4 y
la librería “numpy” y método “array” se importan los datos de cada variable, en forma de
arreglo de datos, con parámetro “dtype” para el tipo de dato.
Fig. 24. Primeros 10 datos obtenidos de la variable “DBZ”.
En la figura 25 se observa el algoritmo implementado para código para extraer los datos
leer las llaves de las variables, la información de variable, y la creación del arreglo con
todos los datos de las variables a utilizar en los algoritmos de clasificación y corrección,
además el código para imprimir en consola los valores de la variable
“time_coverage_end” la cual contiene la fecha y hora de la medición, concatenado y los
datos de la variable DBZ guardados en un arreglo.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |57
Fig. 25. Código para la extracción de datos del archivo Cor20130625_103003.nc (Elaboración propia)
5.2 Generación de mapas
Obtenidos los datos de cada variable se procede a diseñar y desarrollar un algoritmo
para generar los mapas de cada una de las variables. Ya que los datos guardados en
el arreglo generados en su extracción del dataset, son unidimensionales, se procede a
trasladar este arreglo a una matriz bidimensional de 360 x 664, con el fin de simplificar
la tarea de tratamiento de los datos haciendo más entendible la aplicación de los
algoritmos. Obtenida la matriz bidireccional dbzm, para el caso de Zdb siendo esta de
360 x 664 se requiere que la imagen sea cuadrada para poderla ilustrar, por ende, se
realiza el algoritmo de conversión a coordenadas cartesianas, ilustrada en la figura 26,
con un relleno de ceros para las posiciones donde el radio es mayor 664. Finalmente se
obtiene una matriz de 1328 x 1328 con los datos de relleno y los datos de la matriz con
la información de la variable Zdb.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |58
Fig. 26. Código para cambiar de coordenadas polares a rectangulares (Elaboración propia).
Se hace ahora necesario la utilizacion de una librería llamada skimage, cuyo proposito
es la utilizacion de del metodo “io” el cual lee una imagen de tipo jpg, png entre otros, y
devuelve la matriz con la informacion RGB de cada pixel, de longitud igual al de la
imagen. Se utilizo una imagen de tamaño 1328 x 1328, llamada corozal.jpg con centro
en la ubicación del radar corozal para hacer las pruebas siguientes en el desarrollo del
trabajo.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |59
Fig. 27. Código para la generación del mapa colocando los intervalos de asignación para la matriz RGB (Elaboración propia).
En la figura 27 se ilustra el desarrollo del código para modificar la matriz generada por
la imagen, para ser esta modificada en las coordenadas donde se tiene información de
Zdb, colocando una gama de colores en RGB dependiendo de su propio valor.
Finalmente se hace uso de la librería matplotlib para ilustrar el mapa obtenido por medio
de una matriz RGB, con el método “imshow”.
En la figura 28 se observa el resultado obtenido por los algoritmos realizados y
codificados en esta fase del trabajo.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |60
Fig. 28. Imagen de mapa obtenido como resultado a la ejecución del código de extracción de datos y generación de mapas (Elaboración propia).
5.3 Desarrollo del clasificador
Para el desarrollo del código para la clasificación de propagaciones anómalas, se toma
como referencia el algoritmo diseñado en el trabajo de referencia [12]. Se identifican y
separan las variables que son de utilidad para el aplicativo [Z, ZDR, HV, SD(Z) y SD(DP)],
siendo SD(Z) y SD(DP), dos variables derivadas de las originales Zdb Y DP,
suministradas en el dataset del archivo importado. Se identifica que se implementó un
sistema difuso para la clasificación de los datos (ver fig. 29).
Fig. 29. Clasificador difuso propuesto. [12].
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |61
[12] El clasificador propuesto se basa en el desarrollado por Park, Ryzhkov y Zrnic en
2008, con algunas modificaciones. El proceso utilizado para realizar esta primera tarea
se puede resumir en los siguientes pasos:
Suavizar Z utilizando una ventana de corrimiento de 1.35Km, calculando el
promedio de los datos de 3 celdas consecutivas.
Suavizar ZDR utilizando una ventana de corrimiento de 2.25Km, calculando el
promedio de los datos de 5 celdas consecutivas.
Suavizar HV utilizando una ventana de corrimiento de 2.25Km, calculando el
promedio de los datos de 5 celdas consecutivas.
Calcular la textura de Z denotada como SD(Z) promediando 3 datos de celdas
consecutivas (ventana de corrimiento de 1.35Km), luego se resta el suavizado
estimado de Z desde los valores originales, para luego calcular el valor RMS de
los residuos.
Calcular la textura del diferencial de fase DP denotada como SD(DP)
promediando 5 datos de celdas consecutivas (ventana de corrimiento de
2.25Km), luego se resta el suavizado estimado de DP desde los valores
originales, para luego calcular el valor RMS de los residuos.
En la figura 30 se ilustra el código para la obtención de la matriz sd(Z), de igual modo
se realiza la obtención de SD(DP).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |62
Fig. 30. Código para obtención de la matriz SD(z) (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |63
[12] En la Fig. 31 se muestran estos valores para los tres tipos de objetivos que serán
clasificados, en color Rojo se tienen las propagaciones anómalas, en Azul los objetivos
meteorológicos y en Verde los objetivos biológicos.
Fig. 31. Funciones de pertenencia para cada una de las variables en para Propagaciones anómalas, Objetivos biológicos y meteorológicos [12].
Implementando este modelo en código, se realizan las siguientes asignaciones de
función de pertenencia.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |64
Asignación para propagaciones anómalas:
𝑍(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ 15, 𝑣(𝑥, 𝑦) = 0
15 > (𝑥, 𝑦) < 20, 𝑣(𝑥, 𝑦) = 0.2 ∗ (𝑥, 𝑦) − 3
20 ≥ (𝑥, 𝑦) ≤ 70, 𝑣(𝑥, 𝑦) = 1
70 > (𝑥, 𝑦) < 80, 𝑣(𝑥, 𝑦) = −0.1 ∗ (𝑥, 𝑦) + 8(𝑥, 𝑦) ≥ 80, 𝑣(𝑥, 𝑦) = 0
𝑍𝐷𝑅(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ −4, 𝑣(𝑥, 𝑦) = 0
−4 > (𝑥, 𝑦) < −2, 𝑣(𝑥, 𝑦) = 0.5 ∗ (𝑥, 𝑦) + 2
−2 ≥ (𝑥, 𝑦) ≤ 1, 𝑣(𝑥, 𝑦) = 1
1 > (𝑥, 𝑦) < 2, 𝑣(𝑥, 𝑦) = −1 ∗ (𝑥, 𝑦) + 2(𝑥, 𝑦) ≥ 2, 𝑣(𝑥, 𝑦) = 0
𝜌𝐻𝑉(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ 0.5, 𝑣(𝑥, 𝑦) = 0
0.5 > (𝑥, 𝑦) < 0.6, 𝑣(𝑥, 𝑦) = 10 ∗ (𝑥, 𝑦) − 5
0.6 ≥ (𝑥, 𝑦) ≤ 0.9, 𝑣(𝑥, 𝑦) = 1
0.9 > (𝑥, 𝑦) < 0.95, 𝑣(𝑥, 𝑦) = −20 ∗ (𝑥, 𝑦) + 19(𝑥, 𝑦) ≥ 0.95, 𝑣(𝑥, 𝑦) = 0
𝑆𝐷(𝑍)(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ 2, 𝑣(𝑥, 𝑦) = 0
2 > (𝑥, 𝑦) < 4, 𝑣(𝑥, 𝑦) = 0.5 ∗ (𝑥, 𝑦) − 1
4 ≥ (𝑥, 𝑦) ≤ 10, 𝑣(𝑥, 𝑦) = 1
10 > (𝑥, 𝑦) < 15, 𝑣(𝑥, 𝑦) = −0.2 ∗ (𝑥, 𝑦) + 3(𝑥, 𝑦) ≥ 15, 𝑣(𝑥, 𝑦) = 0
𝑆𝐷(∅𝐷𝑃)(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ 30, 𝑣(𝑥, 𝑦) = 0
30 > (𝑥, 𝑦) < 40, 𝑣(𝑥, 𝑦) = 0.1 ∗ (𝑥, 𝑦) − 3
40 ≥ (𝑥, 𝑦) ≤ 60, 𝑣(𝑥, 𝑦) = 1
60 > (𝑥, 𝑦) < 70, 𝑣(𝑥, 𝑦) = −0.1 ∗ (𝑥, 𝑦) + 7(𝑥, 𝑦) ≥ 70, 𝑣(𝑥, 𝑦) = 0
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |65
Asignación para objetivos biológicos:
𝑍(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ 5, 𝑣(𝑥, 𝑦) = 0
5 > (𝑥, 𝑦) < 10, 𝑣(𝑥, 𝑦) = 0.2 ∗ (𝑥, 𝑦) − 1
10 ≥ (𝑥, 𝑦) ≤ 20, 𝑣(𝑥, 𝑦) = 1
20 > (𝑥, 𝑦) < 30, 𝑣(𝑥, 𝑦) = −0.1 ∗ (𝑥, 𝑦) + 3(𝑥, 𝑦) ≥ 30, 𝑣(𝑥, 𝑦) = 0
𝑍𝐷𝑅(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ 0, 𝑣(𝑥, 𝑦) = 0
0 > (𝑥, 𝑦) < 2, 𝑣(𝑥, 𝑦) = 0.5 ∗ (𝑥, 𝑦)
2 ≥ (𝑥, 𝑦) ≤ 10, 𝑣(𝑥, 𝑦) = 1
10 > (𝑥, 𝑦) < 12, 𝑣(𝑥, 𝑦) = −0.5 ∗ (𝑥, 𝑦) + 6(𝑥, 𝑦) ≥ 12, 𝑣(𝑥, 𝑦) = 0
𝜌𝐻𝑉(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ 0.3, 𝑣(𝑥, 𝑦) = 0
0.3 > (𝑥, 𝑦) < 0.5, 𝑣(𝑥, 𝑦) = 5 ∗ (𝑥, 𝑦) − 1.5
0.5 ≥ (𝑥, 𝑦) ≤ 0.8, 𝑣(𝑥, 𝑦) = 1
0.8 > (𝑥, 𝑦) < 0.83, 𝑣(𝑥, 𝑦) = −3.33 ∗ (𝑥, 𝑦) + 2.76(𝑥, 𝑦) ≥ 0.83, 𝑣(𝑥, 𝑦) = 0
𝑆𝐷(𝑍)(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ 1, 𝑣(𝑥, 𝑦) = 0
1 > (𝑥, 𝑦) < 2, 𝑣(𝑥, 𝑦) = (𝑥, 𝑦) − 1
2 ≥ (𝑥, 𝑦) ≤ 4, 𝑣(𝑥, 𝑦) = 1
4 > (𝑥, 𝑦) < 7, 𝑣(𝑥, 𝑦) = −0.33 ∗ (𝑥, 𝑦) + 2.33(𝑥, 𝑦) ≥ 7, 𝑣(𝑥, 𝑦) = 0
𝑆𝐷(∅𝐷𝑃)(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ 8, 𝑣(𝑥, 𝑦) = 0
8 > (𝑥, 𝑦) < 10, 𝑣(𝑥, 𝑦) = 0.5 ∗ (𝑥, 𝑦) − 4
10 > (𝑥, 𝑦) ≤ 40, 𝑣(𝑥, 𝑦) = 1
40 > (𝑥, 𝑦) < 60, 𝑣(𝑥, 𝑦) = −0.05 ∗ (𝑥, 𝑦) + 3(𝑥, 𝑦) ≥ 60, 𝑣(𝑥, 𝑦) = 0
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |66
Asignación para objetivos meteorológicos:
𝑍(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ 5, 𝑣(𝑥, 𝑦) = 0
5 > (𝑥, 𝑦) < 10, 𝑣(𝑥, 𝑦) = 0.2 ∗ (𝑥, 𝑦) − 1
10 ≥ (𝑥, 𝑦) ≤ 65, 𝑣(𝑥, 𝑦) = 1
65 > (𝑥, 𝑦) < 75, 𝑣(𝑥, 𝑦) = −0.1 ∗ (𝑥, 𝑦) + 7(𝑥, 𝑦) ≥ 75, 𝑣(𝑥, 𝑦) = 0
𝑍𝐷𝑅(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ −0.5, 𝑣(𝑥, 𝑦) = 0
−0.5 > (𝑥, 𝑦) < 0, 𝑣(𝑥, 𝑦) = 2 ∗ (𝑥, 𝑦) + 1
0 ≥ (𝑥, 𝑦) ≤ 1.5, 𝑣(𝑥, 𝑦) = 1
1.5 > (𝑥, 𝑦) < 4, 𝑣(𝑥, 𝑦) = −0.4 ∗ (𝑥, 𝑦) + 1.6(𝑥, 𝑦) ≥ 4, 𝑣(𝑥, 𝑦) = 0
𝜌𝐻𝑉(𝑥, 𝑦) = {
(𝑥, 𝑦) ≤ 0.9, 𝑣(𝑥, 𝑦) = 0
0.9 > (𝑥, 𝑦) < 0.97, 𝑣(𝑥, 𝑦) = 14.28 ∗ (𝑥, 𝑦) − 12.85
0.97 ≥ (𝑥, 𝑦) ≤ 1, 𝑣(𝑥, 𝑦) = 1
𝑆𝐷(𝑍)(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ 0, 𝑣(𝑥, 𝑦) = 0
0 > (𝑥, 𝑦) < 0.5, 𝑣(𝑥, 𝑦) = 2 ∗ (𝑥, 𝑦)
0.5 ≥ (𝑥, 𝑦) ≤ 3, 𝑣(𝑥, 𝑦) = 1
3 > (𝑥, 𝑦) < 6, 𝑣(𝑥, 𝑦) = −0.33 ∗ (𝑥, 𝑦) + 2(𝑥, 𝑦) ≥ 6, 𝑣(𝑥, 𝑦) = 0
𝑆𝐷(∅𝐷𝑃)(𝑥, 𝑦) =
{
(𝑥, 𝑦) ≤ 0, 𝑣(𝑥, 𝑦) = 0
0 > (𝑥, 𝑦) < 1, 𝑣(𝑥, 𝑦) = (𝑥, 𝑦)
1 ≥ (𝑥, 𝑦) ≤ 15, 𝑣(𝑥, 𝑦) = 1
15 > (𝑥, 𝑦) < 30, 𝑣(𝑥, 𝑦) = −0.066 ∗ (𝑥, 𝑦) + 2(𝑥, 𝑦) ≥ 30, 𝑣(𝑥, 𝑦) = 0
Se ilustra únicamente como evidencia el código de obtención de Z-ap correspondiente
a la asignación de función de pertenencia a una propagación anómala para cada dato
de Zdb, (Fig. 32). el algoritmo y código desarrollado para la asignación de función de
pertenencia a AP, BIO o METEO (propagación anómala, biológico o meteorológico) es
similar para todas las variables, como el código mostrado en la figura. 30
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |67
Fig. 32. Código para la obtención de la matriz de función de pertenencia de AP para Zdb (Elaboración pripia).
Al terminar los algoritmos y su desarrollo, se han obtenido 15 matrices 360 x 664 con
la asignación de función de pertenencia de cada uno de los datos para cada una de
las variables. Con la asignación de valores antes mostrada se procede a sumar cada
valor con su respectivo peso, tal como se ve en las siguientes ecuaciones.
𝑝(𝑥, 𝑦)𝐴𝑃 = 𝑍(𝑥, 𝑦) ∗ 0.05 + 𝑍𝐷𝑅(𝑥, 𝑦) ∗ 0.25 + 𝜌𝐻𝑉(𝑥, 𝑦) ∗ 0.3 + 𝑆𝐷(𝑍)(𝑥, 𝑦) ∗ 0.35
+ 𝑆𝐷(∅𝐷𝑃)(𝑥, 𝑦) ∗ 0.05
𝑝(𝑥, 𝑦)𝐵𝑖𝑜 = 𝑍(𝑥, 𝑦) ∗ 0.05 + 𝑍𝐷𝑅(𝑥, 𝑦) ∗ 0.4 + 𝜌𝐻𝑉(𝑥, 𝑦) ∗ 0.3 + 𝑆𝐷(𝑍)(𝑥, 𝑦) ∗ 0.05
+ 𝑆𝐷(∅𝐷𝑃)(𝑥, 𝑦) ∗ 0.2
𝑝(𝑥, 𝑦)𝑀𝑒𝑡 = 𝑍(𝑥, 𝑦) ∗ 0.1 + 𝑍𝐷𝑅(𝑥, 𝑦) ∗ 0.05 + 𝜌𝐻𝑉(𝑥, 𝑦) ∗ 0.4 + 𝑆𝐷(𝑍)(𝑥, 𝑦) ∗ 0.2
+ 𝑆𝐷(∅𝐷𝑃)(𝑥, 𝑦) ∗ 0.25
Las anteriores ecuaciones se desarrollaron en código, como se ilustra en la figura. 33.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |68
Fig. 33. Código para el cálculo de los pesos para AP, BIO o METEO (Elaboración propia).
Para finalizar el proceso de clasificación se utiliza una última regla que determina el
tipo de objetivo clasificado, la cual se muestra en el diagrama de flujo a continuación
en la ¡Error! No se encuentra el origen de la referencia.34, y su código desarrollado
en la Fig. 35.
Fig. 34. Diagrama de flujo para obtención de datos generados por el clasificador difuso [12]
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |69
Fig. 35. Código para obtención de datos generados por el clasificador difuso (Elaboración propia).
Al finalizar la implementación de los algoritmos, se obtiene una matriz 360 x 664 con
datos de tipo string, que pueden ser AP, BIO, METEO o un valor entero de (-128) como
valor de relleno.
5.4 Filtro de ventana 3X3
Para el algoritmo del filtro de ventana se crea el método filtro_3x3 que se ejecuta en
una serie de etapas que se explicaran a continuación:
Etapa 1: Se crea un arreglo bidimensional (𝑧𝑐𝑜𝑟𝑟𝑒𝑔[𝑖][𝑗]), de longitud 664x360 donde
se inserten los valores de la variable Z que contiene las propagaciones anómalas que
se van a corregir, los datos clasificados y los de relleno, para poder determinar los
puntos marcados con el valor de -128 que no contienen información.
Esto se realiza con un bucle for como se muestra a continuación:
Fig. 36. Código donde se ejecuta la etapa 1 del proceso del filtro (Elaboración propia).
La matriz (𝑧𝑐𝑜𝑟𝑟𝑒𝑔[𝑖][𝑗]) se divide en cuatro cuadrantes, y cada cuadrante maneja un
rango de análisis particular, que consiste en omitir el barrido del filtro sobre los bordes
de la matriz dado que el filtro requiere se puntos anteriores y puntos siguientes al punto
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |70
a corregir, con esto se busca minimizar los errores generados en el los bordes de la
matriz haciendo más eficiente el proceso de corrección de las propagaciones anómalas.
Etapa 2: En el primer cuadrante el barrido se realiza en las filas desde la posición 2 a
la 333 y en las columnas desde la posición 2 a la 181, en el barrido se verifica si el dato
de referencia es uno de relleno es decir el valor -128, si no lo es se verifica si en la
clasificación el dato de referencia se determinó como AP, si lo es se asignan los pesos
1 a cada una de las celdas de la ventana de 3x3, el valor 0 se asigna si la celda es otra
AP dado que la ponderación del dato de referencia se realizara en base a los datos que
hacen parte de la ventana del filtro estén clasificados como objetivos de tipo METEO o
BIO. Las variables asignadas a las celdas están nombradas con los valores D1 a D9.
Fig. 37. Código donde se ejecuta la etapa 2 del proceso del filtro (Elaboración propia).
Etapa III: Se verifica si las celdas continuas a la celda de referencia tienen el valor -128
o si tienen asignado el valor AP, si es así, se le asigna a dicha celda el valor 0 y se
decrementa una unidad a la variable conteo que es inicializada con el valor de 9; si las
celdas continuas no son otra AP o su valor no es -128 se le deja el valor asignado
inicialmente, es decir, 1.
En el caso que el valor asignado sea 0, una variable de conteo que fue inicializada con
el valor 9, (𝑐𝑜𝑢𝑛𝑡 = 9), se decrementa en una unidad, esta variable es utilizada como
divisor en el cálculo del promedio, por lo que en resumen lo que se hace es eliminar
aquellas celdas que no son útiles en el cálculo del promedio, a la celda de referencia
donde está el AP a corregir se le asigna el peso 0.5 para disminuir más rápidamente el
error.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |71
Fig. 38. Código donde se ejecuta la etapa 3 del proceso del filtro (Elaboración propia).
Etapa IV: Con la matriz generada en la etapa III se calcula el valor de Z corregido
(𝑧𝑐𝑜𝑟𝑟𝑒𝑔[𝑖][𝑗]) haciendo uso de la ecuación mostrada en la figura 39. Como se indicó
antes, el barrido de la matriz se realiza sobre un primer cuadrante de la matriz original,
por lo que las variables i y j que la barren son incrementadas hasta los valores 333 y
181 respectivamente, finalizando así el análisis del primer cuadrante.
Fig. 39. Código donde se calcula el valor de Z corregido mencionado en la etapa IV del proceso del filtro (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |72
Fig. 40. Código completo que cubre el filtro barrido en el primer cuadrante de la matriz de Z a corregir (Elaboración propia).
Para los demás cuadrantes el procedimiento es exactamente el mismo, la diferencia
está en el rango del barrido realizado en el respectivo cuadrante y la asignación de
valores a la matriz de la ventana 3x3. Para el cuadrante dos i=663…332 y j=2…181,
para el tres i=2…333 y j=359…180, finalmente para el cuadrante cuatro i=663…332 y
j=359…180.
La ecuación en los cuadrantes para los filtros de venta de 5x5 y de 7x7 es similar, la
diferencia está dada en la matriz de ventana.
A continuación se adjuntan imágenes de los cuadrantes restantes para la corrección de
toda la matriz Z corregido (𝑧𝑐𝑜𝑟𝑟𝑒𝑔[𝑖][𝑗]).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |73
Fig. 41. Código completo que cubre el filtro barrido en el segundo cuadrante de la matriz de Z a corregir (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |74
Fig. 42. Código completo que cubre el filtro barrido en el tercer cuadrante de la matriz de Z a corregir (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |75
Fig. 43. Código completo que cubre el filtro barrido en el cuarto cuadrante de la matriz de Z a corregir (Elaboración propia).
5.5 Diseño del aplicativo
Como se indicó en capítulos anteriores, se desarrollará un aplicativo en el editor Sublime
Text, en el lenguaje de programación Python, que cumpla con las características
necesarias para que al ser implementado pueda importar, procesar y visualizar la
información del dataset obtenido del radar meteorológico para el análisis de las
propagaciones anómalas.
A continuación, se realiza la descripción del diseño del aplicativo:
Primero se importan las librerías necesarias para el procesamiento de datos del dataset,
la edición y ejecución del código fuente.
Con la librería netCDF4 se crea el método que importa el archivo obtenido del radar en
el formato de origen (.nc), y con la librería numpy el acceso a los datos del fichero
netCDF se realizará de forma efectiva por medio del manejo de arreglos, de esta forma.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |76
Se importa la librería Tkinter para el diseño de la interfaz gráfica de usuario, donde se
generan las funciones que definen la ventana principal de la aplicación y sus
componentes como lo son:
- El botón Importar, del módulo Importar archivo .nc, que al ser oprimido despliega
la venta con la dirección desde el disco C del equipo para que el usuario busque
y seleccione el archivo (.nc). Esto se ejecuta desde el método Boton_Importar,
donde una vez seleccionado el archivo, extrae información general del radar de
una serie de variables como la ubicación del radar, la latitud, la longitud, la fecha
y hora en que el archivo registro la información el radar, frecuencia en la que
operación el radar, entre otras.
Al terminar este proceso, la información es cargada en la ventana principal de la
aplicación.
- Las casillas grados, radio y rango, del módulo Simulación AP, definen los
parámetros de grados, radio y rango, en los que el usuario desea generar un
conjunto de valores clasificados como objetivos de propagación anómala; se
valida que la primera casilla del par de casillas sea menor que la segunda, de no
cumplirse con este condicional, se genera una excepción con un mensaje que
advierte al usuario que los datos ingresados no son consistentes.
Invocando la función validar_parametros, se evalúa que el tipo de dato sea de
tipo entero, si no se cumple con esta condicional se genera una excepción con
un mensaje que advierte al usuario que el valor ingresado debe ser numérico y
de tipo entero
De cumplir con los condicionales mencionados, al oprimir el botón Grabar que
se encuentra en el mismo módulo, se despliega un mensaje que notifica al
usuario que los cambios agregados han sido registrados.
- En el módulo Mapas a generar se encuentran 8 checkbutton, Z, Z corregida, Zdr,
Zdr corregida, Rho hv, Rho hv corregido, Clasificacion y Clasificacion Corr. el
usuario puede seleccionar uno, dos, o cuatro de los 8 checkbutton para después
al presionar en el botón Generar se invoque la función Boton_Generar que
implementará las funciones asociadas al conjunto de variables [Z, ZDR, HV,
SD(Z) y SD(DP)] para poder implementar los algoritmos de las reglas difusas y
el clasificador de objetivos meteorológicos para la detección de AP, y el filtro de
ventana para la corrección de error generados por las propagaciones anómalas,
y poder visualizar el o los mapas seleccionados.
Para cada una de las variables se definen las matrices con dimensión 664x360, de esta
forma se tiene acceso a los valores por coordenadas para establecer las reglas del
sistema difuso para generar la matriz del clasificador con los correspondientes objetivos
que serán clasificados (BIO, METEO y AP).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |77
Ya identificadas las propagaciones anómalas en la matriz de clasificación se dispone a
identificar dichos objetivos en la matriz de la variable Z para implementar la corrección
sobre esta.
Se implementa el método filtro_3x3 cuya función hace el barrido de la matriz Z con un
filtro de ventana 3x3 y realiza la ponderación del valor sobre el objetivo AP con respecto
a los valores que lo rodeen en esta ventana.
A continuación, se realiza una descripción gráfica de la distribución de los módulos del
aplicativo:
- Al iniciar el aplicativo se despliega una ventana con los bloques funcionales que
se mencionaron al inicio de este capítulo, el primer módulo tiene el botón
Importar, que permite buscar el archivo (.nc) en la ruta que se encuentre para
cargarlo al aplicativo. (Fig. 44. Diagrama de flujo botón importar, Fig. 45. Módulo
con funcionalidad del botón importar).
Fig. 44. Diagrama de flujo, para la extracción de datos del archivo Cor20130625_103003.nc (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |78
Fig. 45. Bloque cuya funcionalidad permite importar el archivo .nc (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |79
Fig. 46. explorador de archivos restringido para solo importar archivos con extensión .nc (Elaboración propia).
- Al realizar la importación del archivo, se mostrará una tabla con información del
archivo cargado, entre eso la ubicación, la latitud y longitud, fecha y hora en que
se generó el archivo, entre otros. (Fig. 47. Tabla de información del archivo .NC
desde el aplicativo).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |80
Fig. 47. Tabla generada con información general del dataset importado (Elaboración propia).
- En el módulo de importación de datos se dispone de un botón para realizar la
visualización de los mapas por defecto extraídos de archivo importado (Fig.
48). Desplegada la ventana de Visualización de los mapas originales el usuario
dispone de varias herramientas de navegación en cada mapa, como la
posibilidad de guardar el mapa visualizado (Fig. 49).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |81
Fig. 48. Botón generador de mapas importados. (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |82
Fig. 49. Ventana con mapas generados originales del archivo importado. (Elaboración propia).
- El siguiente modulo permite generar objetivos AP, donde el usuario pueda
ingresar los grados, el radio y el porcentaje de datos que desea que estas sean
insertadas en el mapa. (Fig. 50. y Fig. 51 Diagrama de flujo de la funcionalidad
del botón grabar)
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |83
Fig. 50. Diagrama de flujo, para el botón Grabar, parte 1 (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |84
Fig. 51. Diagrama de flujo, para el botón Grabar, parte 2 (Elaboración propia).
Como se puede observar en las figuras 50 y 51, el modulo grabar generalizado contiene
varios métodos, usados para validar los datos ingresados, y para dar opción de generar
mapas originales (sin modificar).
En la figura 52, se ilustra el diagrama de flujo correspondiente al algoritmo que valida
los datos ingresados por el usuario en el módulo Simulación AP. En la Figura 53 se
ilustra el módulo de simulación de las propagaciones anómalas donde se aplica la
funcionalidad descrita en el diagrama de flujo de la figura 52.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |85
Fig. 52. Diagrama de flujo método validar parámetros (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |86
Fig. 53. Bloque para insertar las propagaciones anómalas de prueba en un área específica (Elaboración propia).
En el módulo Simulación AP, las variables grados, radio y rango están restringidas a
recibir por parámetros valores numéricos de tipo entero, por consiguiente, si el usuario
ingresa un valor que no es de este tipo, el aplicativo genera una excepción con una
advertencia con una ventana indicándole al usuario el tipo de dato que debe ingresar,
como se muestra en la figura 54.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |87
Fig. 54. Excepción por tipo de dato ingresado en módulo Simulación AP (Elaboración propia).
Por otro lado, si el usuario no ingresa los valores en todas las variables en el módulo
Simulación AP, o si ingresa un número mayor en la primera casilla que el
correspondiente a la segunda casilla de cualquiera de las variables, el aplicativo genera
una excepción donde le indica al usuario que existe una inconsistencia en los datos, por
lo que el usuario debe ingresar nuevamente los valores en el módulo. La ventana para
esta excepción se muestra en la figura 55.
Fig. 55. Excepción por inconsistencia en los datos ingresados en módulo Simulación AP (Elaboración propia).
Cuando el usuario ha ingresado los valores de forma correcta, y presione el botón
Grabar en el módulo Simulación AP, el aplicativo genera un aviso donde le brinda la
opción al usuario de generar los mapas originales para que el usuario pueda graficar
primero los mapas con la información que viene por defecto en el archivo .NC antes de
generar las propagaciones anómalas. La ventana de este aviso se muestra en la figura
56.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |88
Fig. 56. Aviso para generar mapas originales antes de insertar propagaciones anómalas en el o los mapas (Elaboración propia).
Luego que el usuario decida qué tipo de mapas generar, si primero los originales o solo
los mapas con las propagaciones anómalas, el aplicativo genera un aviso donde notifica
al usuario que los valores ingresados en el módulo Simulación AP han sido guardados
exitosamente. El aviso generado en este caso se muestra en la figura 57.
Fig. 57. Aviso que indica los cambios ingresados en módulo Simulación AP fueron guardados con éxito (Elaboración propia).
Si el usuario selecciona la opción ver mapas originales se hace necesario realizar varios
cálculos para procesar los datos extraídos y convertirlos a mapas cuadrados con imagen
de fondo y con una asignación de vectores RGB según su valor en cada dato, además
se hace necesario aplicar el algoritmo de clasificación implementado para generar el
mapa de clasificación. En la figura 58, se ilustra diagrama de flujo que describe el
proceso completo para generar mapas originales. Los detalles de algunos métodos
utilizados se encuentran en las ilustraciones de las figuras 59, 60, 61 y 62. Estos
métodos hacen las operaciones de conversión de coordenadas polares a cartesianas,
la asignación de vectores RGB para cada dato y los métodos de generación de mapas
basados en las matrices resultantes.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |89
Fig. 58. Diagrama de flujo, método mapas originales, sin modificaciones (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |90
Fig. 59. Diagrama de flujo, método cartesianas (ingresa matriz 360x664 como parámetro y retorna una matriz 1328x1328) (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |91
Fig. 60. Diagrama de flujo, algoritmo de conversión de polares a cartesianas para el primer cuadrante (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |92
Fig. 61. Diagrama de flujo, método para evaluar el rango del dato en cada variable, y asignarle un vector RGB (ingresa una matriz 1328x1328 y retorna una matriz 1328x1328x3) (Elaboración
propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |93
Fig. 62. Diagrama de flujo, método para evaluar la clasificación asignada a cada dato y asignarle un vector RGB (ingresa una matriz 1328x1328 y retorna una matriz 1328x1328x3)
(Elaboración propia).
Finalmente se realiza la modificación de los datos originales con el método Modificar
donde su funcionalidad se muestra en el diagrama de flujo de la figura 63.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |94
Fig. 63. Diagrama de flujo, método modificar, cambia los datos extraídos originalmente para simular propagaciones anómalas en una zona específica (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |95
- A continuación, el aplicativo contiene el módulo Corregir AP’s donde el usuario
cuenta con dos opciones para escoger el tipo de algoritmo de corrección que
desee implementar, el primero es el algoritmo de corrección por filtro de ventana
de 7x7 y el segundo es el algoritmo de corrección alternativo llamado filtro de
ventana de longitud variable. En la figura 64 se muestra la ubicación del módulo
en el aplicativo.
Fig. 64. Módulo Corregir AP's (Elaboración propia).
Realizadas las correcciones por cualquiera de los algoritmos que se seleccione, el sistema
muestra un aviso que muestra cuantos datos han sido corregidos (Fig. 65).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |96
Fig. 65. Aviso de numero de propagaciones corregidas por el algoritmo usado. (Elaboración propia)
- Por último, tiene un módulo donde el usuario puede seleccionar los mapas que
desee visualizar, ya sea los mapas de las variables o el clasificador con los datos
originales del dataset, los mapas con las propagaciones anómalas y/o los mapas
con las propagaciones anómalas corregidas. La figura 66 muestra resaltado el
módulo correspondiente a la generación de los mapas.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |97
Fig. 66. Módulo donde el usuario selecciona los mapas que desee visualizar (Elaboración propia).
En la figura 67 se observa el mapa generado con la variable Zdb con propagaciones
anómalas insertadas por el módulo Simulación AP del aplicativo.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |98
Fig. 67. Mapa de Zdb con los datos originales generado por el aplicativo (Elaboración propia).
En la figura 68 se observa en la izquierda el mapa de Clasificación con propagaciones
anómalas, y en la derecha el mapa de clasificación con la corrección de las
propagaciones anómalas.
Fig. 68. Mapa de Clasificación original (der.) y de Clasificación corregido (izq) (Elaboración propia).
En la figura 69 se observa en la parte superior izquierda el mapa de Zdb con
propagaciones anómalas insertadas desde el módulo Simular AP, en la parte superior
derecha el mapa de Zdb corregida con uno de los algoritmos del módulo Corregir AP’s,
en la parte inferior izquierda el mapa de Zdr con propagaciones anómalas insertadas
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |99
desde el módulo Simular AP y en la parte inferior derecha el mapa de Zdr corregida con
uno de los algoritmos del módulo Corregir AP’s.
Fig. 69. Mapas de ZdB (sup. izq), Zdb corregida (sup. der), Zdr (inf. izq) y Zdr corregida (inf. der) (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |100
6. DISEÑO ALGORITMO ALTERNATIVO PARA
CORRECIÓN DE PROPAGACIONES ANÓMALAS
Observando el trabajo Modelo para la detección y corrección de propagaciones
anómalas en radares meteorológicos para zonas ecuatoriales [12], se observó que el
método de corrección más efectivo propuesto fue el filtro de ventana 7x7, sin embargo,
se observa que para zonas extensas de área con propagaciones anómalas el método
no puede llegar a una buena aproximación de corrección, debido a que se divide la
matriz 360x664 a corregir en 4 cuadrantes como se observa en la figura 70, procediendo
desde las esquinas o puntos (0,0), (0,664), (360, 0) y (360,664) hacia el centro punto
(180,332), figura 71 haciendo que las correcciones más cercanas al centro no sean muy
próximas al valor verdadero por que se toman los datos de los más cercanos a las
esquinas.
Por otro lado, se observa que, en ciertas ocasiones para propagaciones más reducidas
en área, resultaría conveniente tomar solo los valores más cercanos como lo hacer el
filtro 3x3 o el 5x5, ya que sus promedios se obtienen muy acertados si son eventos
biológicos o meteorológicos en su mayoría.
Fig. 70. Matriz 360x664 dividida en cuadrantes (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |101
Fig. 71. Barrido en sentido hacia el centro (Elaboración propia).
Por lo anteriormente analizado, se llegó a la hipótesis que podría resultar conveniente
implementar un filtro de longitud variable y de hacer un doble barrido de correcciones,
uno en sentido hacia el centro y otro en sentido hacia las esquinas, esto con el fin de
llegar a minimizar el error producido en las correcciones de eventos de Propagación
Anómala.
6.1 FILTRO DE VENTANA DE LONGITUD VARIABLE Y BARRIDO DOBLE
El algoritmo diseñado, de igual manera que el filtro de ventana 7x7, divide la matriz 360
x 664 en cuatro cuadrantes, esto como se observa en la figura 70. Se hace un barrido
en sentido hacia el centro de correcciones de propagaciones anómalas y se guardan
estos datos en una matriz 360 x 664 a la que se llamara “corrección” (figura 71), se hace
un segundo barrido ahora en dirección hacia las esquinas como se observa en la figura
72.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |102
Fig. 72. Barrido en sentido hacia las esquinas (Elaboración propia).
El algoritmo generalizado se ilustra en las figuras 73 y 74, donde se inicia creando 4
matrices 360 x 664 en las que las dos se igualan a la matriz a corregir que es un
parámetro de entrada de la función Filtro_variable(), las otras dos matrices se crean
para guardar la clase asignada a cada corrección realizada en los dos barridos, más
adelante se explica en detalle el sistema de clasificación de corrección.
A continuación de realizar la preparación de las matrices utilizadas, se procede a realizar
el primer barrido, en sentido hacia esquinas, obteniendo al final una matriz 360 x 664
con las correcciones realizadas y otra matriz 360 x 664, con la clase de cómo fue
realizado la corrección. A continuación, se realiza el segundo barrido, desde el centro
hacia las esquinas, obteniendo una matriz 360 x664 con las correcciones realizadas y
otra matriz 360 x 664 de igual manera que el primer barrido con las clases de cómo se
realizaron las correcciones.
Se crea un ciclo iterable 360 veces por 664 veces para verificar en cada posición como
fueron corregidas las propagaciones anómalas, y así obtener un resultado final.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |103
Fig. 73. Diagrama de flujo del algoritmo general del filtro de ventana de longitud variable, parte I (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |104
Fig. 74. Diagrama de flujo del algoritmo general del filtro de ventana de longitud variable, parte II (Elaboración propia).
El resultado final según el sistema de clasificación se ilustra mejor en la tabla 11 en el
cual se define que dato de corrección se asigna para cada dato corregido en la matriz
corrección final (correcciónf). Si en las dos matrices para la posición en evaluación
resultan de la misma clase, se realiza el promedio de las dos correcciones, si la clase
es de menor grado en una que en otra se asigna a la matriz de corrección final, el dato
con clase de menor grado (clase A menor grado que clase B, C y D). Por ejemplo, si en
la matriz de corrección “correccion” se obtuvo un dato corregido con clase C y en la de
corrección2 se obtuvo el dato corregido con clase D, se procede a asignar el dato
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |105
obtenido en la matriz de corrección “corrección” ya que clase C es de menor grado que
clase D.
Tabla 11. Clasificación del método de obtención del dato corregido (Elaboración propia).
En este punto resulta conveniente explicar las zonas de una ventana y la distancia que
tiene una ventana del punto del dato a corregir.
En la figura 75.a. se ilustra la ventana 7x7 para el barrido desde esquina hacia el centro,
en el primer cuadrante. Se observa que hay 48 datos alrededor de la “AP” que pueden
ser datos clasificados como “AP”, “BIO”, “METEO” o valor de relleno -128, sin embargo,
existen dos zonas muy diferentes ya que en una zona (amarilla) o “zona Y” se registran
datos que posiblemente fueron corregidos, y en la otra (azul) o “zona X” son datos que
aún no han sido tratados en el barrido. Estas zonas son determinadas según el
cuadrante en el que se encuentre analizando, como también el sentido del barrido en el
que se esté. En la figura 75.b. se ilustra la ventana 7x7 para el sentido hacia el centro,
con las zonas demarcadas Y y X, de igual modo amarillo resulta ser la “zona Y” y en
azul la “zona X”. La figura 75.c. ilustra la ventana 7x7 para el cuadrante 3 y la figura
75.d. ilustra la venta 7x7 para el cuarto cuadrante todo para el barrido hacia el centro o
desde las esquinas.
En el sentido desde el centro resulta ser que la demarcación de las zonas es invertida
entre el primer cuadrante de un sentido y el cuarto del otro, también entre el segundo
cuadrante de un sentido y el cuarto cuadrante del otro sentido. Por lo anterior en la
misma figura 75.d. se aprecia la demarcación de las zonas para el primer cuadrante
sentido hacia el centro figura 75.c. para el cuadrante dos, figura 75.b. para el cuadrante
tres y figura 75.a. para el cuadrante uno, todo en el sentido hacia esquinas.
Clasificacion1 Clasificacion2 Correccion final
A A Promedio
A B correcion
A C correcion
A D correcion
B A correcion2
B B Promedio
B C correcion
B D correcion
C A correcion2
C B correcion2
C C Promedio
C D correcion
D A correcion2
D B correcion2
D C correcion2
D D Promedio
Tabla Correccion final
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |106
Fig. 75. Ventana de vecinos más cercanos. En amarillo se delimita la zona Y, y en azul la zona X. a. Distribución de zonas primer cuadrante sentido hacia el centro y cuarto cuadrante sentido hacia los extremos. b. Distribución de zonas segundo cuadrante sentido hacia el centro y tercer cuadrante sentido hacia los extremos. c. Distribución de zonas tercer cuadrante sentido hacia
el centro y segundo cuadrante sentido hacia los extremos. d. Distribución de zonas cuarto cuadrante sentido hacia el centro y primer cuadrante sentido hacia los extremos (Elaboración
propia).
Como se indica anteriormente, la idea del algoritmo es implementar una ventana de
distancia variable, esto quiere decir que se analizan posiblemente datos de distancia
uno, dos o hasta tres casillas. En la figura 76. se ilustran las ventanas de cada una de
las distancias alcanzadas. En figura 76.a. se ilustra los datos posicionados a una
distancia uno, en la figura 76.b. los datos a una distancia dos y en figura 76.c. los datos
a una distancia 3 del dato a corregir.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |107
Fig. 76. a. ventana de distancia 1. b. ventana de distancia 2. c. ventana de longitud 3 (Elaboración propia).
El hecho de implementar una ventana de distancia variable permite la posibilidad de que
los datos corregidos sean basados en datos muy cercanos si se cuenta con información
útil, o si no, poder determinar un valor con datos un poco más distantes, con esto dicho
se prevé un incremento en la efectividad de corrección con respecto a los ya
anteriormente implementados en este trabajo.
En las figuras 77, 78 y 79, se ilustra el algoritmo de barrido en el primer cuadrante desde
el centro hacia las esquinas, en el cual se itera 178 veces por 330 veces la matriz (desde
179 hasta 2 en i y desde 332 hasta 2 en j) en búsqueda de datos clasificados como
propagación anómala (“AP”) en la matriz de clasificación de datos. Se inicializan dos
listas iterables importantes para el desarrollo del algoritmo, la primera llamada “buend”
en el cual cada vez que se encuentre un dato clasificado como BIO o METEO en la
matriz de clasificación en alguna de las ventanas se anexaran a dicha lista de datos. La
segunda se usará para anexar los datos encontrados en cada una de las ventanas
diferentes a -128, “BIO” y “METEO” o en otras palabras un dato de la “zona Y” clasificado
como “AP”, o mejor un dato corregido en el barrido, esta última lista iterable llamada
“exap”.
Se declaran 3 constantes llamadas P3, P5 y P7 las cuales son los números minimos de
datos “BIO” o “METEO” correspondientes a cada una de las ventanas para determinar
si se cuenta con la suficiente información para cambiar el dato.
Se realiza el proceso de búsqueda de datos no AP y se van anexando uno por uno en
la lista de “buend” y los datos que han sido corregidos en “exap”. El proceso detallado
de cómo se buscan estos datos en las ventanas se explica más adelante en este
documento o pueden ser resumidos en los diagramas de flujo de las figuras 77 y 78 y
79.
A continuación, se verifica si la longitud de “buend” es mayor o igual al número mínimo
de datos P3, si se cumple esta condición, se promedian los datos en “buend”, se clasifica
como “A” en “clase1” y se agrega este dato a “corrección”.
Si la anterior condición no se cumple se guarda la longitud de “buend” en una variable
llamada numb3 y se verifica ahora la ventana de longitud dos, solo se registran los datos
a una distancia de dos, y se realiza el mismo procedimiento que para los de longitud
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |108
uno. Se verifica si la longitud de “buend” restándole numb3 es mayor o igual al número
mínimo de datos P5, si se cumple esta condición, se promedian los datos en “buend”,
se clasifica como “B” en “clase1” y se agrega este dato a “corrección”.
Si la anterior condición tampoco se cumple se guarda la longitud de “buend” en una
variable llamada numb5 y se verifica ahora la ventana de longitud tres, solo se registran
los datos a una distancia de tres, y se realiza el mismo procedimiento que para los de
longitud uno. Se verifica si la longitud de “buend” restándole numb5 es mayor o igual al
número mínimo de datos P7, si se cumple esta condición, se promedian los datos en
“buend” y se clasifica como “C” en “clase1” y agregando este dato a “corrección”,
finalmente si no se logra obtener una clase “C”, se promedian los datos de “buend” y
“exap”, se clasifica como “D” en “clase1” y se agrega este dato a “corrección”.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |109
Fig. 77. Diagrama de flujo del algoritmo de corrección sentido hacia el centro, parte I (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |110
Fig. 78. Diagrama de flujo del algoritmo de corrección sentido hacia el centro, parte II (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |111
Fig. 79. Diagrama de flujo del algoritmo de corrección sentido hacia el centro, parte III (Elaboración propia).
La clasificación de corrección se resume en la tabla 12, y es la clase la que va a
determinar con cual dato o si los dos sirven en cada celda (i, j) para los dos barridos
realizados.
Tabla 12. Detalle del tipo de clase asignado a cada corrección realizada (Elaboración propia).
Clase especificacion
Adato conseguido en
ventana de distancia 1
Bdato conseguido en
ventana de distancia 2
Cdato conseguido en
ventana de distancia 3
D
dato conseguido con el
promedio de Buend y
exap
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |112
Se ilustra en las figuras 80 y 81 el algoritmo de búsqueda de datos de distancia uno,
este algoritmo es único dependiendo del sentido del barrido, el cuadrante y la distancia
de la ventana a analizar, sin embargo, su estructura es igual para todos los casos.
El algoritmo de búsqueda de datos inicia definiendo un arreglo, que para distancia uno
se define T3 = [-1,0,1] y es un arreglo que servirá como posicionamiento auxiliar ya que
simplifica la tarea de definir la ventana sin requerir condicionales innecesarios. Para el
algoritmo de ventana con distancia dos este arreglo contendrá los valores [-2,-1,0,1,2] y
para distancia tres [-3,-2,-1,0,1,2,3].
Se procede a verificar si el dato en cuestión es de posición (1,1) y se descarta de tomar
en cuenta ya que es ahí donde se encuentra el dato que se requiere corregir, se verifica
que no sea un dato relleno ni una “AP”, si es así, se agrega ese dato a la lista buend, y
si no, se verifica nuevamente que no sea un dato relleno y que se encuentre en zona
“Y” para así agregarlo entonces a la lista “exap”.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |113
Fig. 80. Diagrama de flujo del algoritmo de búsqueda de datos con distancia 1, parte I (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |114
Fig. 81. Diagrama de flujo del algoritmo de búsqueda de datos con distancia 1, parte II (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |115
7. PROTOCÓLO DE PRUEBAS Y RESULTADOS
Antes de realizar las pruebas de funcionamiento del algoritmo de corrección alternativo,
la tarea se centró en definir las constantes P3, P5 y P7 que resultaran más eficientes.
Como se dijo anteriormente estas constantes representan el número mínimo de datos
clasificados como biológicos o meteorológicos encontrados para realizar la corrección
en cada una de las ventanas, por lo que se procedió estudiar varias zonas de prueba en
varios eventos con diferentes áreas donde se cambiarían los datos para generar
propagaciones anómalas y obtener una comparación con el filtro de ventana 3x3 y 7x7.
Se requirió diseñar una ecuación que pudiera establecer el grado de efectividad de los
algoritmos implementados, tomando en cuenta el valor corregido, el valor nominal u
original y el valor modificado, de esta manera se llegó a la ecuación 7.1:
𝐸𝑓 = |𝑜𝑟𝑖𝑔 −𝑚𝑒𝑑
𝑜𝑟𝑖𝑔| − |
𝑜𝑟𝑖𝑔 − (𝑜𝑟𝑖𝑔 + 𝐶)𝑜𝑟𝑖𝑔
|
|𝑜𝑟𝑖𝑔 − (𝑜𝑟𝑖𝑔 + 𝐶)
𝑜𝑟𝑖𝑔|
∗ 100 (7.1)
Donde:
Ef. Es el llamado porcentaje de eficacia de correccion.
Orig. Es el dato original sin modificaciones
Med. Es el dato resultante después de la corrección.
C. Es la constante que se añade al dato original para ser modificado.
Dada esta ecuación, la cual representa el porcentaje de efectividad de corrección, se
puede verificar que, si el dato obtenido es igual al dato original, la efectividad es de
100%, mientras que si el dato medido es igual al valor del dato original más la constante
C la efectividad de corrección es de 0%, por lo que es la ecuación que permitirá verificar
que algoritmo implementado da mejor resultado y el grado en el que es efectivo.
En las figuras 82 y 83 se ilustran una de las zonas estudiadas para la tarea de buscar
P3, P5 y P7, los cuales se dieron entre los grados 30 y 90 tomando en Norte como el
grado 0 y entre los 45,8Km y los 54,96Km de radio representados en 30 casillas (desde
100 hasta 130 casillas radiales).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |116
Fig. 82. Mapa de clasificación de datos del evento 1 sin modificaciones (Elaboración propia)
Las zonas de estudio aumentadas para cada una de las variables y el mapa de
clasificacion son ilustradas en la figura 83,.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |117
Fig. 83. a. Mapa aumentado de clasificación de datos del área de estudio. b. Mapa aumentado para la variable ZdB. c. Mapa aumentado para la variable Zdr. d. Mapa aumentado para la
variable Rhohv. (Elaboración propia).
En la figura 84 se detallan las zonas modificadas para cada una de las variables y el
mapa de clasificacion, para la prueba 1, donde se obtine un gran porcentaje de objetivos
meteorologicos clasificados.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |118
Fig. 84. Áreas modificadas en cada variable, a. Área modificada de clasificación de datos. b. Área modificada para la variable ZdB. c. Área modificada para la variable Zdr. d. Área
modificada para la variable Rhohv. (Elaboración propia).
Se procede a realizar varias pruebas registradas en las tablas 13, 14, 15 y 16 en las
cuales se registran los porcentajes de efectividad de las correcciones realizadas para la
zona de estudio, usando el filtro de ventana de longitud variable, se realizaron pruebas
para varios valores de P3, P5 y P7 esto con el fin de dar una mayor aproximación a los
resultados finales.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |119
Tabla 13. Resultados obtenidos para diferentes valores de P3, P5 y P7, fase I (Elaboración propia).
A continuación, se hace un nuevo estudio para los valores más cercanos a las
constantes obtenidas, en la primera prueba (Tabla 13). En la Tabla 14 se logra encontrar
P3 P5 P7 ZdB Zdr Rhohv
2 3 4 92,86 92,84 98,05
2 3 10 92,704 92,74 98,06
2 3 16 92,706 92,74 98,06
2 3 22 92,706 92,74 98,06
2 8 4 92,806 92,73 98,06
2 8 10 92,505 92,54 98,07
2 8 16 92,506 92,54 98,08
2 8 22 92,506 92,54 98,07
2 14 4 92,808 92,74 98,06
2 14 10 92,508 92,54 98,07
2 14 16 92,508 92,54 98,07
2 14 22 92,508 92,54 98,07
4 3 4 92,84 92,83 98,06
4 3 10 92,66 92,68 98,06
4 3 16 92,66 92,68 98,06
4 3 22 92,66 92,68 98,07
4 8 4 92,77 92,7 98,07
4 8 10 92,43 92,34 98,09
4 8 16 92,33 92,3 98,09
4 8 22 92,33 92,3 98,09
4 14 4 92,77 92,69 98,07
4 14 10 92,43 92,34 98,09
4 14 16 92,34 92,28 98,09
4 14 22 92,34 92,28 98,09
6 3 4 92,83 92,83 98,05
6 3 10 92,66 92,68 98,06
6 3 16 92,66 92,68 98,07
6 3 22 92,66 92,68 98,06
6 8 4 92,76 92,69 98,07
6 8 10 92,43 92,34 98,09
6 8 16 92,33 92,29 98,09
6 8 22 92,33 92,29 98,09
6 14 4 92,77 92,69 98,07
6 14 10 92,44 92,34 98,09
6 14 16 92,34 92,28 98,09
6 14 22 98,34 92,28 98,09
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |120
para una primera prueba que los P con mayor efectividad de corrección son P3=2, P5=3
y P7=4. Se realiza un barrio de recolección de datos para diferentes valores de P7, para
valores fijos de P3 y P5, concerniente a la Fase II de pruebas.
Tabla 14. Mejores resultados para diferentes valores de P7, con P3 y P7 fijos, fase II (Elaboración propia).
Se logra aproximar un valor eficiente de P7, donde el valor de efectividad para todas las
variables es más alto. Con la constante de P7 obtenida, se procede a la fase III,
registrada en la tabla 15, donde se realiza el estudio para diferentes valores de P5 y así
obtener la mejor respuesta posible.
Tabla 15. Mejores resultados para diferentes valores de P5, con P3y P7 fijos, faseIII (Elaboración propia).
Se logra aproximar un valor eficiente de P5, obteniendo un valor aproximado de P3=5.
Con la constante de P7 obtenida y la constante P5 también obtenida, se procede a la
fase IV, registrada en la tabla 16, donde se realiza el estudio para diferentes valores de
P3 y así obtener la mejor respuesta posible.
P3 P5 P7 ZdB Zdr Rhohv
4 3 3 92,84 92,83 98,06
4 3 4 92,86 92,84 98,05
4 3 5 92,84 92,83 98,05
4 3 6 92,84 92,83 98,06
4 3 7 92,84 92,83 98,06
4 3 8 92,66 92,68 98,07
4 3 9 92,66 92,68 98,07
4 3 10 92,66 92,68 98,06
P3 P5 P7 ZdB Zdr Rhohv
4 3 6 92,84 92,83 98,06
4 4 6 92,84 92,83 98,05
4 5 6 92,84 92,83 98,06
4 6 6 92,78 92,72 98,07
4 7 6 92,77 92,72 98,07
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |121
Tabla 16. Mejores resultados para diferentes valores de P3, con P5 y P7 fijos, fase IV (Elaboracion propia).
De lo observado en la tabla 16, se logró concertar que los P que mostraban resultados
más eficientes para diferentes áreas de propagaciones anómalas simuladas, eran los
siguientes:
𝑃3 = 3
𝑃5 = 5
𝑃7 = 7
Dadas las anteriores constantes se procedió a verificar los porcentajes de efectividad y
compararlos con los obtenidos para el filtro de ventana 7x7 con ayuda de la ecuación 7
los cuales son registrados en la Tabla 17. Como se puede observar, los resultados
obtenidos para el filtro de ventana 3x3 no son consistentes, esto debido a que se
implementó el algoritmo sugerido en el trabajo Modelo para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales [12], en el
cual se daba un valor en la ecuación de ponderación de corrección al mismo dato
registrado como “AP”, esto genera un importante error en la corrección, además que la
variable rhohv, es un factor. Por lo que no se validan los datos obtenidos por este
método. Para el filtro de ventana 7x7 se realizó la modificación necesaria, y no se tuvo
en cuenta el valor del mismo dato ”AP” para su eventual corrección, registrando un
importante mejoramiento en la efectividad de corrección.
Tabla 17. Resultados obtenidos por los filtros de ventana 3x3, 7x7 y de longitud variable para diferentes eventos (Elaboración propia).
P3 P5 P7 ZdB Zdr Rhohv
1 5 6 92,86 92,84 98,05
2 5 6 92,86 92,84 98,05
3 5 6 92,86 92,84 98,05
4 5 6 92,84 92,83 98,06
5 5 6 92,84 92,83 98,05
6 5 6 92,83 92,83 98,05
porcentaje de
Propagaciones
anomalas
Tipo de
correccion usadoZdB Zdr Rhohv
3x3 88,46 65,25 45,56
7x7 94,11 93,78 98,08
variable 95,28 94,02 98,006
3x3 90,122 74,97 40,36
7x7 94,84 94,25 98,15
variable 95,49 94,26 98,02
70%
40%
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |122
Como se observa en la Tabla 17, se obtiene un importante mejoramiento en todas las
correcciones de la variable ZdB con respecto al filtro de ventana 7x7, en la medida que
el área de propagaciones anómalas disminuye, de igual manera para las variables Zdr
y rhohv, se logra superar el porcentaje de efectividad para varias pruebas realizadas, en
mayor medida para un área no tan extensa nuevamente de propagaciones anómalas.
En la figura 85 se ilustra la corrección de propagaciones anómalas con cada uno de los
filtros, en el área modificada con un 100% de propagaciones anómalas en el área
definida (30° a 90°, 45,8Km a 54,96Km).
Fig. 85. Correcciones de propagaciones anómalas, 100% del área modificada, clasificación. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración propia).
De igual manera se ilustra las correcciones realizadas para cada una de las variables
utilizando los filtros de ventana 3x3, 7x7 y de longitud variable en la figura 86 con un
100% de datos modificados dentro del área mencionada se ilustra las correcciones
realizadas para la variable ZdB, donde se logra visualizar un importante mejoramiento
de corrección por el filtro de longitud variable, donde las correcciones realizadas por
cada filtro son:
𝐸𝑓(3𝑥3)𝑍𝑑𝐵 = 83.604%
𝐸𝑓(7𝑥7)𝑍𝑑𝐵 = 87.902%
𝐸𝑓(𝑙𝑜𝑛𝑔. 𝑣𝑎𝑟. )𝑍𝑑𝐵 = 92.86%
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |123
Fig. 86. Correcciones de propagaciones anómalas, 100% del área modificada, Variable ZdB. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración propia).
En la figura 87 se ilustran las correcciones realizadas para la variable Zdr, con un 100%
de datos modificados dentro del área mencionada, donde también se logra visualizar un
importante mejoramiento de corrección con el filtro de longitud variable, donde las
correcciones realizadas por cada filtro son:
𝐸𝑓(3𝑥3)𝑍𝑑𝑟 = 53.18%
𝐸𝑓(7𝑥7)𝑍𝑑𝑟 = 91.68%
𝐸𝑓(𝑙𝑜𝑛𝑔. 𝑣𝑎𝑟. )𝑍𝑑𝑟 = 92.84%
Fig. 87. Correcciones de propagaciones anómalas, 100% del área modificada, Variable Zdr. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración propia).
De igual manera se ilustran los resultados obtenidos para la variable Rhohv en el área
estudiada con 100% de datos modificados en el área mencionada, mostrando en la
figura 88, con un importante mejoramiento de corrección con el filtro de longitud variable.
La efectividad de corrección por cada uno de los filtros en la variable Rhohv son:
𝐸𝑓(3𝑥3)𝑅ℎ𝑜ℎ𝑣 = 18,03%
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |124
𝐸𝑓(7𝑥7)𝑅ℎ𝑜ℎ𝑣 = 98,1%
𝐸𝑓(𝑙𝑜𝑛𝑔. 𝑣𝑎𝑟. )𝑅ℎ𝑜ℎ𝑣 = 98,05%
Fig. 88 Correcciones de propagaciones anómalas, 100% del área modificada, Variable Rhohv. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración propia).
Posteriormente se redujo la cantidad de datos modificados en la misma área de estudio,
con el fin de verificar resultados con datos de apoyo dentro del área. Se procedió a
restarle el 30% de propagaciones anómalas en el área, como se ilustra en la figura 89,
para cada una de las variables y el mapa de clasificación de datos.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |125
Fig. 89. Áreas modificadas en cada variable, 70% del área modificada. a. Área modificada de clasificación de datos. b. Área modificada para la variable ZdB. c. Área modificada para la variable Zdr. d. Área modificada para la variable Rhohv. (Elaboración propia).
En las figuras 90 y 91, se ilustran los mapas obtenidos posterior a la corrección con los
filtros de ventana 3x3, 7x7 y de longitud variable, para las variables ZdB y Zdr. Donde
se ve para todos los filtros un mejoramiento de los resultados acercándose más al valor
real los métodos de filtro de ventana 7x7 y de longitud variable. Sin embargo, el filtro de
ventana de longitud variable muestra resultados más eficientes, obteniéndose un
porcentaje de efectividad de 95,28% para ZdB y 94,02% para Zdr, en comparación con
94,11% y 93, 78% respectivamente obtenidos por el filtro 7x7.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |126
Fig. 90. Correcciones de propagaciones anómalas, 70% del área modificada, Variable ZdB. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración propia).
Fig. 91. Correcciones de propagaciones anómalas, 70% del área modificada, Variable Zdr. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración propia).
Para la corrección de propagaciones anómalas, se puede observar en la figura 92, como
para el filtro de ventana 3x3, después de la corrección se obtienen todavía ciertos puntos
clasificados como propagación anómala, para el área modificada. Sin embargo, pare los
filtros 7x7 y de longitud variable, se muestra cómo se han corregido todos los datos
modificados.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |127
Fig. 92. Correcciones de propagaciones anómalas,70% del área modificada, Clasificación. a. Filtro 3x3. b. Filtro 7x7. c. Filtro de longitud variable (Elaboración propia).
Posteriormente se redujo la cantidad de datos modificados dentro de la misma arrea de
estudio proporcionando solo el 40% de datos modificados. Se ilustra en la figura 93 las
zonas modificadas para cada una de las variables y el mapa de clasificación de datos
obtenido.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |128
Fig. 93. Áreas modificadas en cada variable, 40% del área modificada. a. Área modificada de clasificación de datos. b. Área modificada para la variable ZdB. c. Área modificada para la
variable Zdr. d. Área modificada para la variable Rhohv. (Elaboración propia)
En las figuras 94, 95 y 96, se ilustran los mapas obtenidos posterior a la corrección con
los filtros de ventana 7x7 y de longitud variable, para las variables ZdB, Zdr y Rhohv
respectivamente. Donde se ve como el filtro de ventana de longitud variable muestra
resultados más eficientes, obteniéndose un porcentaje de efectividad de 95,49% para
ZdB y 94,26% para Zdr, en comparación con 94,84% y 94,25% respectivamente
obtenidos por el filtro 7x7. Para la variable Rhohv los resultados obtenidos son muy
similares, ambos resultados por encima del 98%.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |129
Fig. 94. Correcciones de propagaciones anómalas, 40% del área modificada, Variable ZdB. a. Filtro 7x7. b. Filtro de longitud variable (Elaboración propia).
Fig. 95. Correcciones de propagaciones anómalas, 40% del área modificada, Variable Zdr. a. Filtro 7x7. b. Filtro de longitud variable (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |130
Fig. 96. Correcciones de propagaciones anómalas, 40% del área modificada, Variable Rho. a. Filtro 7x7. b. Filtro de longitud variable (Elaboración propia).
Finalmente se ilustra en la figura 97, como nuevamente los filtros 7x7 y de longitud
variable logran eliminar todas las propagaciones anómalas generadas en el área de
estudio, validando nuevamente el funcionamiento del algoritmo del filtro de ventana de
longitud variable.
Fig. 97. Correcciones de propagaciones anómalas, 40% del área modificada, Clasificación. a. Filtro 7x7. b. Filtro de longitud variable (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |131
Se hicieron pruebas de funcionamiento del simulador implementado en la interfaz gráfica
de usuario, la cual permite modificar los datos en rangos determinados para un archivo
importado, desde los 2 grados hasta los 358 grados, y desde los 2 hasta 662 casillas
radiales. Se integró un sistema por el cual el usuario puede determinar el porcentaje de
datos modificados dentro del área seleccionada y así realizar la simulación de corrección
de errores debidos a propagaciones anómalas.
Fig. 98. datos originales para el evento importado. (Elaboración propia).
En la figura 98. Se ilustran los datos originales importados por el archivo, la zona de
estudio será todo el mapa con datos no clasificados como AP. Se evalúa con un 90%
de datos modificados, esto con el fin de probar en todos los rangos posibles en todas
las variables el funcionamiento del algoritmo de corrección en un caso extremo. En la
figura 99 (izquierda), se logra apreciar cómo es modificada con el 90% de datos la
totalidad del mapa para la variable dBZ, y en esta misma figura el mapa obtenido con
correcciones realizadas de igual modo para la variable dBZ.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |132
Fig. 99. Para la variable dBZ, a la izquierda los datos modificados en todo el mapa con un 90% de datos modificados, a la derecha el resultado de corrección de propagaciones anómalas
(Elaboración propia).
Lo que se aprecia en los mapas de corrección realizada, en comparación con los mapas
originales es sin duda una muy buena aproximación al original, esto teniendo en cuenta
que el algoritmo se pone a prueba con tan solo 10% de información útil para el corrector
y aun así se logran visualizar las formas más importantes con zonas en los rangos
aproximados, no solo para la variable Dbz, si no para las demás variables (Zdr, Rhohv.)
como se puede apreciar en las figuras 100 y 101.
Fig. 100. Para la variable Zdr, a la izquierda los datos modificados en todo el mapa con un 90% de datos modificados, a la derecha el resultado de corrección de propagaciones anómalas
(Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |133
Fig. 101. Para la variable Rhohv, a la izquierda los datos modificados en todo el mapa con un 90% de datos modificados, a la derecha el resultado de corrección de propagaciones anómalas
(Elaboración propia).
Finalmente se evalúa el comportamiento en general del algoritmo de corrección con los
mapas de clasificación generados. En la figura 102 (izquierda), se ilustra cómo se
clasifica casi la totalidad del mapa como propagaciones anómalas (90% de datos
modificados), y como resultado (Fig. 102 derecha) se obtiene un mapa con la mayoría
de datos clasificados como objetivos meteorológicos y biológicos.
Fig. 102. Para el mapa de clasificación de datos, a la izquierda los datos modificados en todo el mapa con un 90% de datos modificados, a la derecha el resultado de corrección de
propagaciones anómalas (Elaboración propia).
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |134
8. CONCLUSIONES
El algoritmo de corrección desarrollado en este trabajo (Filtro de ventana de
longitud variable), incremento el llamado porcentaje de efectividad de corrección
en las variables ZdB y Zdr, pasando del 89% al obtenido en el filtro de ventana
7x7 al 95% en los mejores casos. Para la variable Rhohv el porcentaje de
efectividad de corrección, en la mayoría de pruebas realizadas no se obtuvo más
de 1% de diferencia entre la utilización del filtro de ventana 7x7 y el algoritmo de
filtro de ventana de longitud variable.
El filtro de ventana 3x3, aunque en todas las pruebas realizadas obtuvo siempre
los peores porcentajes de efectividad de corrección, requiere un muy bajo costo
computacional, viéndose esto reflejado en tiempos de ejecución importantes
para los filtros de ventana 7x7 y de longitud variable.
La utilización de algoritmos de procesamiento de imágenes suplidas por las
diferentes librerías proporcionadas para Python, no mostraron resultados de
mayor favorabilidad, por lo que se despreciaron y se diseñó el filtro de ventana
de longitud variable, el cual es una versión mejorada de los filtros de ventana
propuestos en el trabajo Modelo para la detección y corrección de propagaciones
anómalas en radares meteorológicos para zonas ecuatoriales [12], basado en
aumentar las restricciones en el momento de tomar datos vecinos a una eventual
propagación anómala, y un doble barrido de corrección por cada cuadrante.
La implementación del aplicativo en el lenguaje de programación Python, fue
favorable en el desarrollo de este trabajo, debido a que es un lenguaje totalmente
orientado a objetos, con facilidad para trabajar con listas iterables, además de
poseer una gran variedad de documentación y librerías open source de tipo
científico, incluyendo opciones para desarrollo de interfaces graficas de usuario.
TRABAJOS FUTUROS
En el presente trabajo se diseñó un software que permitiera al usuario interactuar en
tres modos de uso diferentes, Generar mapas extraídos, corregir Propagaciones
anómalas y simular Eventos de propagaciones anómalas. Se vería enriquecido el
software con la implementación de un sistema de visualización de mapas en tiempo real
o la generación de otras funciones específicas con fines de tratamiento de datos
provenientes de los sistemas de radar.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |135
9. BIBLIOGRAFÍA
[1] Michael Rosengaus Moshinsky (2015) “Fundamentos de radares meteorológicos: aspectos clásicos (primera de dos partes)”, Instituto Mexicano de Tecnología del Agua,
Ingeniería Hidráulica en México. Vol X. [2] S. Fattorelli; R. Casale, M. Borga; D. Da Ros (2015) “Integración de técnicas radar y
sensores remotos para la estimación de lluvias en aplicaciones hidrológicas y mitigación
de riesgos de inundación”, Comisión Europea Dirección General XII Ciencia,
Investigación y Desarrollo. Bruselas.
[3] Rafael Sánchez-Diezma Guijarro (2001). Tesis Doctoral Optimización de la medida
de lluvia por radar meteorológico para su aplicación hidrológica. España.
[4] Ernesto Gómez Vargas (2015) Modelo para la estimación cuantitativa de precipitación a partir de datos de radares polarimétricos. Bogotá.
[5] Bringi, V.N. Thurai, M. Hannesen, R. (2007) Dual Polarization Weather Radar Handbook. Segunda Edicion. Selex –Gematronik. [6] Liu, H. Chandrasekar, V. (1999). Classification of Hydrometeors Based on Polarimetric Radar Measurements: Development of Fuzzy Logic and Neuro-Fuzzy Systems, and in Situ Verification. Journal of atmospheric and oceanic technology.
Volume 27. Fort Collins.
[7] Madows, Gloria G. (2011), Análisis comparativo a las técnicas para modelar el
funcionamiento de los sistemas de información, Atlanta.
[8] Popkin Software and Systems, (2001) Modelado de Sistemas con UML, New York.
[9]” Modelos de desarrollo de software” (2007) [en línea] disponible en:
https://pdfs.semanticscholar.org/presentation/2403/7678f5cfd0d23d1a7d59b9b9ff2bab
c31d99.pdf recuperado: 30 de octubre de 2018.
[10] “El tutorial de PYTHON, por Guido van Rossum”. (2017), [en línea] disponible en:
http://docs.python.org.ar/tutorial/pdfs/TutorialPython3.pdf. Rrecuperado: 16 de enero de
2019.
[11] “Interfaces Graficas (Phyton)”, [en línea] disponible en:
http://www.python.org.ar/wiki/InterfacesGraficas. Recuperado: 5 de febrero de
2019.
[12] MSc. Camargo López, Julián Rolando. Tesis de Maestría (2018). Modelo para la
detección y corrección de propagaciones anómalas en radares meteorológicos para
zonas ecuatoriales, Bogotá.
Diseño e implementación de una herramienta de software libre para la detección y corrección de
propagaciones anómalas en radares meteorológicos para zonas ecuatoriales.
Página |136
[13] “Professional service weather”, [en línea] disponible en:
https://www.metgis.com/es Recuperado: 8 de febrero de 2019.
[14] “MULTI-RADAR/MULTI-SENSOR SYSTEM (MRMS)” [en línea] disponible en:
https://www.nssl.noaa.gov/projects/mrms/ Recuperado: 15 de febrero de 2019.
[15] “netCDF4 1.5.1.2” librería para tratamiento de archivos CDF [en línea] disponible
en: https://pypi.org/project/netCDF4/ Recuperado: 16 de febrero de 2019.
[16] “netCDF4 module” Documentación uso de los módulos de librería netCDF4 para
Python [en línea] disponible en: http://unidata.github.io/netcdf4-
python/netCDF4/index.html#netCDF4.Dataset Recuperado: 20 de febrero de 2019.