diseño e implementación de una herramienta de software...

136
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.

Upload: others

Post on 16-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 2: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 3: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 4: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 5: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 6: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 7: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 8: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 9: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 10: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 11: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 12: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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]

Page 13: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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?

Page 14: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 15: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 16: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 17: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 18: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 19: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 20: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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]

Page 21: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 22: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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:

Page 23: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 24: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 25: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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,

Page 26: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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:

Page 27: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 28: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 29: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 30: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 31: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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,

Page 32: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 33: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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]

Page 34: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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]

Page 35: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 36: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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:

Page 37: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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:

Page 38: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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].

Page 39: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 40: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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].

Page 41: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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].

Page 42: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 43: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 44: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 45: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 46: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 47: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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”

Page 48: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 49: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 50: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 51: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 52: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 53: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 54: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 55: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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”.

Page 56: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 57: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 58: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 59: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 60: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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].

Page 61: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 62: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 63: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 64: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 65: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 66: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 67: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 68: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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]

Page 69: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 70: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 71: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 72: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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 (𝑧𝑐𝑜𝑟𝑟𝑒𝑔[𝑖][𝑗]).

Page 73: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 74: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 75: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 76: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 77: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 78: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 79: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 80: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 81: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 82: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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)

Page 83: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 84: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 85: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 86: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 87: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 88: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 89: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 90: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 91: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 92: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 93: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 94: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 95: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 96: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 97: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 98: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 99: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 100: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 101: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 102: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 103: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 104: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 105: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 106: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 107: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 108: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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”.

Page 109: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 110: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 111: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 112: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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”.

Page 113: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 114: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 115: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 116: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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,.

Page 117: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 118: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 119: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 120: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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

Page 121: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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%

Page 122: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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%

Page 123: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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%

Page 124: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 125: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 126: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 127: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 128: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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%.

Page 129: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 130: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 131: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 132: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 133: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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).

Page 134: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.

Page 135: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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á.

Page 136: Diseño e implementación de una herramienta de software ...repository.udistrital.edu.co/bitstream/11349/15083/1... · Código completo que cubre el filtro barrido en el cuarto cuadrante

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.