Manual de usuario

Repte 3. Predicción de O3 a nivel troposférico

Introducción y objetivos

En el reto 3 del proyecto Piksel se ha diseñado una herramienta digital para la gestión de la concentración de niveles de ozono (O3) a nivel troposférico. Se pretende que esta herramienta sea multi-propósito, estando orientada principalmente a gestores de la contaminación atmosférica a escala regional. Para ello, se ha desarrollado un módulo de cálculo basado en modelos de Machine Learning (ML) con el objetivo principal de predecir y simular niveles de concentración de O3 a nivel troposférico. Estos modelos se nutrirán de datos medidos en estaciones de monitorización, tanto de parámetros asociados a contaminantes atmosféricos como meteorológicos. Las fuentes de información de las que se han recopilado los datos son todas ellas fuentes oficiales, tanto de carácter regional como europeo.

Los objetivos a los que se pretende dar respuesta con la presente herramienta se enumeran a continuación:

  • Visualización de datos históricos de concentración de O3, especialmente orientado al análisis de la evolución de este contaminante durante los últimos periodos temporales (día, semana, mes), así como al registro de episodios de superación de los límites de concentración legislados de ozono troposférico.
  • Predicción de niveles de O3 a 24 y 48 horas, considerando dos de los parámetros más habituales en la gestión de este tipo de contaminante: valor máximo horario de O3, valor máximo de media 8-horaria. Estas predicciones se realizarán de forma automática con una frecuencia diaria.
  • Simulación de niveles de O3 sintéticos, ante la introducción por parte del usuario de escenarios de contaminación o meteorológicos ficticios (edición a través de interfaz de usuario de las variables más relevantes).
  • Análisis de importancia de las variables más relevantes que intervienen en los procesos de generación y concentración de O3.
Draft Soriano 258501317-image1.png
Figura 1. Ventana principal del Reto 3

Características de la herramienta

Para alcanzar los objetivos planteados se ha construido un motor de cálculo principal, basado en técnicas de Machine Learning (ML), con el que poder realizar predicciones de niveles de concentración de O3 a escala regional. Además, alrededor de este motor se han elaborado una serie de utilidades que sirven para complementar la herramienta, ofreciendo opciones de visualización y análisis de resultados. La Figura 2 muestra un esquema general de flujo de funcionamiento del motor de cálculo principal.

Draft Soriano 258501317-image2.png

Figura 2. Esquema metodológico del motor de cálculo principal del Reto 3

En cuanto al entorno de programación utilizado, se han utilizado dos tipos de lenguajes de software libre: Python y R (ver Figura 3). El primero (Python), es donde se ha desarrollado el código principal de la herramienta. El segundo, R, se ha utilizado para elaborar acciones específicas de análisis. Se han establecido las conexiones necesarias entre ambos entornos, así como entre ellos y el servidor de la plataforma del proyecto Piksel. La Figura 3 Figura 3muestra un resumen de las acciones principales ejecutadas en cada uno de estos entornos.

Draft Soriano 258501317-image3.png
Figura 3. Entornos de programación utilizados y procesos desarrollados en cada uno de ellos

Flujo de trabajo y módulos de interfaz

Este Reto se ha diseñado con el fin de que el gestor pueda realizar el seguimiento de niveles de concentración de O3 de una forma cómoda y lo más automatizada posible. Para ello, se ha diseñado una interfaz de usuario, a través de la cual se podrán seleccionar de forma intuitiva las opciones de cálculo o análisis que desee efectuar. En la Figura 4 se puede observar la pantalla de inicio de la interfaz de usuario asociada al Reto 3.

Draft Soriano 258501317-image7.png

Figura 4. Ventana principal de la interfaz de usuario del Reto 3

En esta ventana de inicio se muestra el menú principal de opciones de la herramienta (ver Figura 5). A través de este menú, el usuario puede seleccionar la opción de cálculo o análisis deseada.

Draft Soriano 258501317-image8.png
Figura 5. Ventana principal de la interfaz de usuario del Reto 3

La herramienta de este reto está estructurada en cuatro opciones de cálculo/análisis principales, con las que se da respuesta a cada uno de los subobjetivos planteados en la introducción de este manual. Se describen a continuación.

  • ¿Qué está pasando? – En esta sección se pueden visualizar series históricas de mediciones de concentración de O3 en cada una de las estaciones de calidad de aire y otros indicadores relacionados con la gestión y seguimiento de este tipo de contaminante. Algunas de las opciones de esta sección son: visualización de series históricas de concentración de O3, evolución durante periodos específicos (última semana, último mes…), o registro de número de episodios de superación de umbrales relacionados con la legislación vigente.
  • ¿Qué pasará? – Esta opción enmascara el motor de cálculo principal de la herramienta, mediante el cual se realizan predicciones diarias de dos indicadores clave asociados a la legislación de este tipo de contaminante: nivel de O3 máximo horario (O3Max) y nivel máximo diario de media móvil 8-horaria (O38h). Se han establecido dos ventanas temporales de predicción: “24 horas”, con la que se calcula la previsión de niveles máximos alcanzados para el día de hoy, y “48 horas”, con la que se obtiene la previsión de valores máximos para el día de mañana. Estas predicciones se ejecutan diariamente de forma automática, conectando el sistema con los servidores de datos en tiempo real y ejecutándose los cálculos durante la noche, para que el usuario disponga de los valores de predicción a primera hora de la mañana.
  • ¿Qué pasaría sí…? – Tratando de aportar a la herramienta un carácter de Sistema de Ayuda a la Decisión (SAD) se ofrece una primera versión de esta utilidad, mediante la cual el usuario podrá editar los valores de algunas de las variables de entrada más relevantes (relativas tanto a variables meteorológicas como de calidad del aire). A continuación, podrá ejecutar el motor de cálculo de predicción de O3 en base a esos valores introducidos, simulando escenarios sintéticos ficticios.
  • ¿Por qué pasa? – Por último, esta opción muestra, para cada estación de calidad, los resultados generados por los modelos de ML en relación a la “importancia de las variables” y a la “dependencia parcial” de cada input con respecto a la variable a predecir. Con esta sección se pretende que el usuario tenga una concepción de cuáles son las variables más influyentes en la concentración de O3 y las posibles diferencias existentes en cada zona.

Módulo 1 - ¿Qué está pasando?

El módulo “¿Qué está pasando?” está enfocada a la visualización de registros históricos de concentración de O3 en diferentes periodos de tiempo y utilizando diferentes indicadores de interés para la administración. En primer lugar, y de forma predeterminada, la información que se muestra al seleccionar esta opción es el nivel de concentración medido durante el día de ayer (ver Figura 6).

Draft Soriano 258501317-image9.png
Figura 6. Resultados predeterminados asociados a opción ¿Qué está pasando? Nivel de O3 de día anterior

Esta información se muestra en una escala cromática cuya leyenda se encuentra en la parte derecha del visor. Además, se puede activar el botón “Mostrar valores” para visualizar los valores correspondientes.

Para poder visualizar la información histórica de una estación concreta, el usuario debe seleccionar sobre el visor la estación correspondiente, apareciendo una ventana emergente compuesta por varias pestañas con las opciones de visualización disponibles. En la Figura 7 se puede observar un ejemplo de una ventana emergente que surge al seleccionar una de las estaciones individuales.

Draft Soriano 258501317-image10.png

Figura 7. Ventana emergente de opción ¿Qué está pasando?

En esta ventana se pueden ver dos pestañas con opciones de visualización distintas: evolución O3 y número de episodios.

Evolución O3

En esta sección se pueden visualizar observaciones históricas de los indicadores de O3 asociados a la legislación de este tipo de contaminante: O3Max (línea amarilla) y nivel máximo diario de media móvil 8-horaria O38h (línea azul) (ver Figura 8).

Draft Soriano 258501317-image11.png

Figura 8. Ejemplo de visualización de evolución de O3 con diferentes rangos temporales: último mes (izquierda) y últimos 3 años (derecha)

Mediante los menús de fechas se pueden seleccionar diferentes periodos temporales: o bien especificando la fecha de inicio y fin, o bien seleccionando el rango temporal entre las opciones: último mes, 6 meses, año, 3 años.

Número de episodios

La otra opción de esta ventana emergente es la pestaña “Número de episodios”. Este indicador representa el número de episodios ambientales ocurridos en el periodo de estudio seleccionado, agregados con una frecuencia mensual. En la Figura 9 se puede observar la información relativa a dos estaciones. Se puede ver cómo la información de número de episodios ocurridos es ofrecida en base a tres rangos de concentración diferentes: entre 120 y 180 µg/m3 (azul), entre 180 y 240 µg/m3 (naranja) y mayores de 240 µg/m3 (verde).

Draft Soriano 258501317-image12.png

Figura 9. Ejemplo de visualización de “número de episodios” de O3 para dos estaciones de calidad diferentes.

Módulo 2 - ¿Qué pasará?

Esta opción permite al usuario visualizar los resultados de predicción futura de niveles de O3 arrojados por cada uno de los modelos de ML. Para generar estos resultados, el motor de cálculo principal de la herramienta (ver Figura 2]]) se ejecuta de forma diaria durante la noche, pudiendo disponer el usuario de los valores de predicción desde primera hora del día.

Parámetros de los modelos de predicción

Al seleccionar la opción “¿Qué pasará?” del menú general, en primer lugar aparece en la zona izquierda del menú una serie nueva de opciones seleccionables con tres listados desplegables (ver Figura 10).

Draft Soriano 258501317-image13.png

Draft Soriano 258501317-image14-c.png
Figura 10. Nuevo menú de interfaz (arriba) y detalle de las opciones seleccionables en cada pestaña desplegable (abajo)

Las opciones a seleccionar en los tres desplegables de este nuevo menú son las siguientes:

  • Variable predictora – El usuario podrá seleccionar la variable predictora entre los dos outputs introducidos en los modelos: “valor máximo horario diario de O3 (Max)” y “valor máximo de media 8-horaria (8h)”
  • Periodo de predicción – Se pueden seleccionar dos periodos de predicción: “24 horas” con la que se calcula la previsión de niveles máximos alcanzada para el día de hoy y “48 horas” con la que se obtienen la previsión de valores máximos para el día de mañana.
  • Tipo de resultados – Combinando las opciones de los dos desplegables anteriores se puede acceder a los resultados de predicción de cada uno de los cuatro tipos de modelos de ML: ‘24 horas – Max’, ‘24 horas – 8h’, ‘48 horas – Max’ y ‘48 horas – 8h’. Estos resultados, inicialmente de carácter numérico (en unidades µg/m3), pueden transformarse en valores categóricos a través de este desplegable. Esta transformación supone asignar una categoría alfabética (A, B, C o D), cada una de las cuales muestra un rango de valores de concentración (ver Tabla 1)
Tabla 1. Categorías y rango de nivel de concentración de O3 asociados
Categoría Rango concentración nivel de O3 (µg/m3)
A 0-120
B 120-180
C 180-240
D >240


Una vez seleccionadas todas las opciones correspondientes en los tres desplegables, en el mapa del visor de la plataforma se muestran los resultados de predicción correspondientes. Estos se pueden visualizar en formato cromático, asociados a una escala cuya leyenda se encuentra en la zona derecha inferior del visor (ver Figura 11)

Draft Soriano 258501317-image15.png
Figura 11. Detalle de la leyenda cromática para visualizar resultados de predicción

Resolución espacial

La respuesta del motor de cálculo principal y las utilidades vinculadas al mismo están internamente asociadas a cada estación de calidad de aire de forma individual. Para ello, se han construido modelos de ML independientes estación a estación. Ahora bien, con el objetivo de proporcionar al usuario información adicional, la respuesta del sistema puede ser extrapolada a otras dos escalas espaciales: Zonas de Calidad de Aire (ZQA) y distribución espacial en formato píxel (ver Figura 12).

Draft Soriano 258501317-image16.png

Figura 12. Diferentes escalas de resolución espacial disponibles; estación individual (izquierda), ZQA (centro) o ráster espacial (derecha)

Módulo 3 - ¿Qué pasaría si…?

La siguiente opción tiene como objetivo poder simular escenarios sintéticos, editando los valores de las principales variables tipo input desde la propia interfaz de usuario. Los modelos de cálculo a los que se apunta a través de esta opción de interfaz son de la misma naturaleza que en la opción anterior: modelos predictivos de ML cuyos outputs puede ser cualquiera de los 4 descritos anteriormente.

Al seleccionar esta opción, automáticamente surge una nueva ventana emergente desde donde se pueden definir todos los parámetros de configuración de esta sección (ver Figura 13).

Draft Soriano 258501317-image17.png
Figura 13. Ventana principal de opción “¿Qué pasaría si…?”

La primera sección de este nuevo menú está destinada a seleccionar la estación de calidad de estudio, abriéndose un listado desplegable con los nombres de todas las estaciones integradas en la herramienta (ver Figura 14).

Draft Soriano 258501317-image18.png
Figura 14. Casillas de selección de zona de estudio.

Una vez seleccionada la zona de estudio, se deben introducir los valores de los variables con los que se desea simular la predicción. Se han incorporado como variables editables tan sólo aquellas que se consideran más relevantes en la predicción de los modelos de ML y que son fácilmente definibles por parte del usuario (parámetros más relevantes relacionados con calidad de aire y variables meteorológicas más importantes). Las variables editables aparecen en una serie de casillas independientes, donde se puede introducir el valor deseado. El listado completo se recoge en la Tabla 2.

Tabla 2. Variables editables en sección “¿Qué pasaría sí…?”
Datos de calidad de aire CO, NO, NO₂, y SO₂
Datos meteorológicos Precipitación, Humedad relativa, Radiación solar, Temperatura y Velocidad de viento


No obstante, el número de inputs que requiere cada modelo de ML es variable en función de la estación. Además, existe un gran número de variables derivadas cuya definición por parte del usuario puede resultar una tarea muy laboriosa de calcular o codificar de acuerdo a los parámetros requeridos por parte de la herramienta: variables temporales, parámetros meteorológicos de difícil definición manual, variables basadas en medias móviles, etc.

Para definir los valores completos requeridos por cada modelo, se han introducido dos botones tipo calendario en este menú con los que se ejecutan las siguientes acciones:

  • Datos de referencia (ver Figura 15 – izquierda) – Al seleccionar una fecha de este botón, se cargan internamente los valores correspondientes al vector de inputs completo de ese día, para la estación individual seleccionada. Asimismo, en las casillas de las “variables editables” que se muestran en este menú (recogidas en la tabla anterior), se cargan automáticamente los valores correspondientes y editar posteriormente aquellos que considere oportunos.
  • Fecha de simulación (ver Figura 15 – derecha) – En este menú, se selecciona la fecha en la que se desea simular el escenario sintético, para que el programa codifique las variables de tipo temporal acordes a dicha fecha.
Draft Soriano 258501317-image17-c.png
Figura 15. Botones tipo calendario para completar internamente valores tipo “input”. Carga de “datos de referencia” de fecha seleccionada para variables de calidad de aire y meteorológicas (izquierda); codificación de variables temporales en base a “fecha de simulación” (derecha)

Una vez finalizado todo el proceso de selección y definición de parámetros necesarios de esta sección, el usuario procede a dar el botón “Calcular”. A continuación, se ejecutarán los modelos de ML, obteniéndose resultados de predicción basados en los valores introducidos. Los resultados podrán verse posteriormente en el visor general, seleccionando los resultados que desee visualizar de forma análoga al ‘Módulo 2 – ¿Qué pasará?’.

Módulo 4 - ¿Por qué pasa?

Por último, la sección “¿Por qué pasa?” muestra resultados, generados durante el entrenamiento y validación de los modelos de ML, relacionados con la relación entre variables tipo input y el output de los mismos. Estos resultados aparecen en pantalla en una ventana emergente al seleccionar una estación individual sobre el visor. Se ofrecen dos tipos de resultados:

  • Importancia de variables (ver Figura 16) – Mediante esta opción se pueden visualizar los resultados relativos a la “importancia de las variables”.
Draft Soriano 258501317-image19.png
Figura 16. Ventana emergente con información relativa a “importancia de las variables”.
  • Gráficos de dependencia parcial (ver Figura 17) – Al elegir esta pestaña, en primer lugar se solicita al usuario seleccionar las variables inputs que se desea analizar (ver Figura 15 – izquierda). Se pueden tomar tantas variables como se desee, tras la cual se presiona sobre el botón “Modificar”, apareciendo una nueva gráfica en la ventana emergente donde se puede observar la relación parcial entre cada uno de los inputs seleccionados y el output de nuestros modelos (ver Figura 17 – derecha).

Draft Soriano 258501317-image20.png

Figura 17. Ventana emergente con información relativa a “dependencia parcial” entre inputs y output.
Back to Top

Informació del document

Publicat a 05/07/22
Presentat el 04/07/22

llicència: CC BY-NC-SA license

Categories

Ozó troposfèric

Puntuació document

0

Visites 0
Recomanacions 0