El presente proyecto tiene como objetivo el desarrollo de modelos de ayuda a la gestión preventiva de incendios forestales incorporando novedosos subsistemas de análisis de riesgo, impactos económicos y ecológicos, así como ayuda a la toma de decisión en las labores de extinción.
Muchas de las aportaciones del presente proyecto descansan sobre la capacidad de simular un gran número de incendios forestales sobre regiones amplias (municipio, provincia, estado, etc) en plazos de tiempo aceptables. Con este fin, se han realizado adaptaciones del código compatibles con los problemas concretos aquí presentados y se han paralelizado partes del proceso. Todo esto ha permitido una reducción importante del tiempo de cómputo y de los requerimientos de memoria RAM. El enfoque general de las aportaciones es su empleo en plataformas de supercomputación, pero en algunos casos permite la realización de los análisis en ordenadores de sobremesa en tiempos aceptables.
Los ejemplos aquí mostrados corresponden a análisis de riesgos basados en estudios probabilísticos del comportamiento del fuego, en la búsqueda de puntos críticos donde más provecho se pueda sacar a un ataque directo al incendio y el desarrollo de una nueva herramienta que proporciona diagramas del comportamiento del incendio. Estos análisis son novedosos y están aún en proceso de desarrollo, pero su futura utilidad y aplicabilidad en labores de extinción está fuera de todo duda ya que son fruto de discusiones con profesionales del sector, son concretos, viables y verosímiles.
La disminución del tiempo de cómputo y los requisitos de los modelos se ha conseguido mediante:
Más concretamente se han realizado las siguientes mejoras:
Grados de libertad. En azul las 8 direcciones empleadas y en verde las 4 direcciones extra empleadas en Wildfire Analyst en función de la dirección del viento.
En la siguiente tabla se muestran algunos datos concernientes a las ganancias de tiempo obtenidas mediante algunos de las acciones arriba mencionadas. Estos datos se dan a modo meramente de ejemplo ya que un cálculo preciso y representativo es complejo por los distintos factores que afectan al tiempo de ejecución (número de celdas ardidas, tipo de combustible, tamaño del dominio, número de procesadores, memoria RAM, etc).
Versión Wildfire Analyst | Grados libertad | Condiciones meteo constantes | Enmarcación de la simulación |
3.24 | 2.52 | 1.02 | 0.54 |
2.45 | 2.11 | 0.84 | 0.27 |
5.21 | 3.24 | 2.39 | 0.6 |
Ejemplos de tiempos de diferencias de tiempos de computación para algunos de las modificaciones implementadas
La paralización obtenida hasta el momento se ha realizado tanto de forma concurrente como en base a instancias independientes del algoritmo principal de evolución temporal (Minimum Travel Time). Las implementaciones se han hecho con la librería OpenMP para C++. La paralización es posible dividiendo la simulación de un incendio en dos pasos conceptualmente identificados como se puede ver en el diagrama:
De esta forma un mismo cálculo de las características potenciales del incendio sobre el terreno permite el cálculo de todas las evoluciones temporales de cada incendio particular.
Diagrama conceptual del propagador de incendios empleado en los análisis
Con el fin de cumplir con los requerimientos del centro de supercomputación se ha migrado el código a la plataforma LINUX. Esto ha requerido eliminar todas las vinculaciones con las librerías de Windows.
El Centro de Supercomputación de Castilla y León ha dispuesto de diversos sistemas de cálculo de gran potencia.
Disponer de una gran cantidad de GB de memoria RAM, permite a la aplicación realizar los complejos cálculos directamente en memoria, a una velocidad mucho mayor que si el programa tuviera que descargar parte de los datos al disco duro para volver a cargar otra parte y así continuar los cálculos. Es importante destacar que las velocidades de acceso a los módulos de memoria por parte del procesador, son al menos un orden de magnitud más rápidos que los accesos a los datos del disco.
También ha sido importante adaptar el código escrito para WildfirEngine para sacar el mayor partido de las máquinas en donde se va a ejecutar. Esto ha exigido hacer cambios en los algoritmos de cálculo para adaptar los mismos a la arquitectura interna de los equipos. Características como el número de procesadores, número de cores, número de hilos de ejecución paralela, tamaños de los diferentes niveles de caches en los procesadores, etc. impactan directamente en el rendimiento de la aplicación.
Lo anterior implica que se ha desarrollado una batería de pruebas para evaluar el rendimiento del algoritmo y así poder optimizarlo a nivel de código y determinar la arquitectura más óptima de las disponibles en el superordenador Caléndula.
Las baterías de pruebas también han incluido pruebas de generación de código con diferentes compiladores del lenguaje C. Un segundo nivel de pruebas con los compiladores, ha sido el uso de diferentes niveles de optimización automática del código generado. Estos flags de compilación permiten que el compilador genere un código ejecutable más óptimo mediante el uso de técnicas como el desenrollado de bucles, uso de conjuntos de instrucciones implementados dentro de los procesadores (AVX, SSE4.2, SSE4.1, SSSE3, etc.)
Tras las pruebas que se han realizado, la plataforma óptima para su ejecución está compuesta por 6 equipos con una gran potencia y que tienen como características relevantes para este proyecto las siguientes:
Una vez realizado lo anterior, ha sido necesario adaptar la forma de ejecución de los algoritmos para lograr la perfecta integración con los sistemas de control y gestión del superordenador. Para ello, se han de generar los scripts que permiten el envío al sistema de control de trabajos. Este sistema, recoge los trabajos que los usuarios envían al sistema y de forma automática gestiona los recursos disponibles para ejecutar de la forma más óptima todos los trabajos. El gestor de trabajo actualmente operativo en el sistema es el OGE Open Grid Engine, uno de los derivados open source del conocido Sun Grid Engine, propiedad de Oracle.
Estos scripts están compuestos por una serie de comandos especiales que el gestor de trabajos interpreta para asignar los recursos que el usuario solicita para la ejecución de sus trabajos.
Los análisis de riesgo están enfocados a obtener una cuantificación de los posibles impactos económicos o medioambientales que puedan causar los incendios forestales en función de la probabilidad de que estos se produzcan. Este tipo de análisis están ganando gran intereses en los últimos años no solo por parte de instituciones públicas involucradas a la lucha contra los incendios forestales, sino también por parte de empresas privadas como compañías eléctricas o aseguradoras. Aun cuando desde hace años existe una metodología básica establecida sobre como realizar este tipo de análisis, los elevados requerimientos computacionales y el escaso número de instituciones que llevan a cabo este tipo de análisis, no han permitido que exista el necesario desarrollo de las capacidades del análisis. Tecnosylva es consciente de esta carencia y está intentando generar un módulo concreto de análisis de riesgo donde poder dar este tipo de servicio de forma casi automatizada y con novedosas aportaciones.
El presente ejemplo se ha desarrollado en el condado de San Diego sobre un dominio de 142km x 107km y un tamaño de celda de 21.9 metros (72 pies). Esto implica trabajar con un inmenso dominio de más 30 millones de celdas (6447 x 4919 celdas) muy superior a cualquier simulación que Tecnosylva haya realizado jamás y siendo probablemente de los análisis masivos de incendios forestales más extensos que se hagan en la actualidad. Sobre este dominio se han realizado un total de medio millón de simulaciones distintas variando tanto las condiciones meteorológicas (80 condiciones) como los puntos de ignición (6065). Las condiciones meteorológicas se componen de 40 combinaciones asociadas a la dirección y la velocidad del viento (factor más relevante en la evolución de un incendio) y de 2 combinaciones de humedad de combustible muerto de 1h (de 0-9 y 9-60 %). Cada combinación meteorológica tiene asociado un peso característico en función de la probabilidad del suceso. Este dato es distinto para cada zona del terreno (zonas de 3x3 km) y se basa en un análisis histórico tipo Montecarlo de datos meteorológicos reales de la zona hecho por el equipo de Tecnosylva.
Tabla de rangos de los datos meteorológicos empleados en el análisis. La probabilidad de suceso para cada combinación de dirección y velocidad depende del punto del mapa del que se trate.
Sobre cada simulación independiente se realiza una cuantificación del impacto del punto de ignición (económico, C02 emitido, población alcanzada, etc.) así como un análisis espacial de las regiones a las que ha llegado el incendio. El resultado final se compone de una estimación de impacto y de varias salidas gráficas representando la probabilidad de presencia de fuego así como los caminos de fuego más transitados en el conjunto de simulaciones.
Capa de combustibles empleada junto a dos simulaciones puntuales.
Capa de probabilidad de presencia de fuego tras medio millón de simulaciones.
Una novedosa forma de realizar estos análisis es empleando el modo de “evacuación” implementado en la librería del Wildfire Analyst. Este modo de propagación en vez de calcular el tiempo que tardaría un incendio a llegar acualquier parte del dominio desde un punto de ignición asignado por el usuario, calcula el tiempo que tardaría un incendio en llegar a un punto de llegada (zona sensible a proteger) asignado por el usuario desde cualquier punto del mapa. Esto permite realizar análisis de impacto enfocados a un punto concreto y un importante ahorro de recursos computacionales en este tipo de análisis. Este modo de propagación ha sido propuesto por Cova (2002), en el contexto de operaciones de evacuación, pero en nuestro conocimiento no existe ningún propagador de incendios que lo emplee en simulaciones y mucho menos dentro de un análisis de riesgo e impacto como hace Tecnosylva.
Otra novedosa salida incorporada a este tipo de análisis por Tecnosylva son los caminos de impacto seguidos por el fuego. Esta salida es similar a los caminos de fuego normales, pero en vez de mostrar las zonas más transitadas por el fuego en función del número de hectáreas que queme el incendio, mide las zonas más transitadas en función del impacto que generan (sobre la población, o impacto económico, o impacto medioambiental, etc.)
Ejemplo de una salida de caminos de fuego sopesado por el impacto que tiene en la población. Cada punto rojo representa un dato de población, las líneas representan el camino que ha seguido el incendio (en media) para llegar a cada punto, y el color de la línea representa el número de personas que son impactadas por el incendio.
Los nodos o puntos críticos asociados a un incendio son aquellos lugares en los que una acción por parte de las brigadas de extinción puede causar un mayor efecto en la contención del incendio. Por regla general estos puntos críticos se forman debido a que existen pequeños cuellos de botella en la propagación (lugares por donde el incendio debe pasar para poder expandirse a una nueva zona de potencial), o puntos de bifurcación del comportamiento (zonas donde el incendio accede a dos zonas de potencial). Por regla general, la identificación de estos nodos críticos en un incendio no es obvia ya que la evolución del incendio es un problema espacial complejo dependiente de diversas variables. Tener información cuantificada sobre la localización y la relevancia de estos puntos críticos en un incendio puede ser de gran ayuda en la toma de decisiones de las brigadas forestales y puede proporcionar un nuevo y útil enfoque de análisis.
En el presente trabajo de investigación, se está desarrollando un módulo de búsqueda de puntos críticos en base a la realización de cientos o miles o simulaciones en las que de forma semi aleatoria se van asignando cortafuegos sobre el terreno y se comprueba el efecto que estos tienen sobre la evolución del incendio. Con el fin de aumentar la velocidad de cómputo se han investigado diversas posibilidades:
Ejemplo del cálculo de la diferencia de tiempo asociada a la presencia de un cortafuegos (colores fuertes), la zona que se ha dejado de quemar por la presencia del corta fuegos (rojo oscuro) y la simulación inicial.
Ejemplo de búsqueda sobre toda la zona del incendio. Se puede observar como aquellos cortafuegos sobre los caminos de fuego producen un mayor efecto en la evolución del incendio.
Ejemplo de búsqueda solo sobre los caminos de fuego asociados a la simulación.
Una forma existente de análisis del comportamiento del fuego se basa en la evaluación del potencial de interconectividad de un incendio entre distintas regiones del terreno. Este tipo de análisis permite a los profesionales simplificar la evaluación de posibles estrategias de actuación considerando el incendio como un conjunto discreto de interconexiones. Un exponente en este tipo de análisis son los GRAF de Cataluña con quienes Tecnosylva tiene un contacto fluido. Gracias a esta colaboración y en base a su metodología existente, se está desarrollando este módulo de simulación que permite la generación cuantitativa de diagramas del comportamiento similares a aquellos diagramas cualitativos generados por los GRAF.
Para realizar el análisis, primero se requiere de unos puntos o zonas de conexión. Estas pueden venir dadas por puntos de bifurcación del comportamiento o por zonas de comportamiento homogéneo. Aun cuando no se ha decidido cuál de estas opciones es más idónea, se han desarrollado mecanismos para la generación de estos puntos. El primer caso se pueden obtener mediante un análisis sobre los caminos de fuego del incendio y en el segundo mediante un análisis piromorfológico desarrollado por Tecnosylva.
Una vez definidos los puntos, el algoritmo realiza simulaciones considerando cada punto de interconexión como un punto de ignición de un incendio y calcula el camino, velocidad media, intensidad media y tiempo de llegada a cada uno del resto de puntos de interconexión. Este análisis se puede hacer con los valores meteorológicos del momento (en cuyo caso solo se realizaría una única simulación), o con valores meteorológicos distintos en un enfoque probabilístico.
Ejemplo de un diagrama de acción en base a las características de la interconectividad de los puntos críticos.
Ejemplo de los caminos de conexión entre puntos críticos más probables.
La información recogida de las simulaciones según se observa en las imágenes anteriores, puede ser mostrada en forma de gráfico sobre el terreno representando la facilidad de interconexión entre distintas regiones así como información relevante como si la conexión con algún otro nodo se realiza por zonas fuera de capacidad de extinción etc
Por el momento se ha avanzado en casi todas las áreas del proyecto. Los avances planteados están aún en fase de desarrollo, falta poder darles consistencia, realizar pruebas, modificar detalles e implementarlo en módulos específicos. Los avances desarrollados tiene sin embargo un potencial de aplicabilidad y utilidad muy alto ya que son fruto de discusiones con profesionales del sector, son concretos y verosímiles.
La relación con el centro de supercomputación abre la puerta a realizar análisis masivos en tiempos de cómputo extremadamente competitivos y nos ha permitido plantearnos posibles nuevos análisis antes no contemplados.
Con respecto a los hitos pendientes o no abarcados hasta el momento. Cabe destacar la incorporación de modelos de emisiones de CO2 asociados a la evolución de incendio, junto con la medición del impacto sobre el ecosistema. Una vez desarrollados estos modelos sin embargo, su incorporación en los modelos ya existentes será sencilla y podrá ser empleado sin problemas.
Al ser este un proyecto de investigación que nos permite cierta flexibilidad en el desarrollo de la herramienta, existen varias alternativas de mejora que han ido surgiendo en este tiempo:
Por el momento, los avances del presente proyecto han permitido una importante mejora de optimización y flexibilidad del código básico de simulación de incendios forestales. Esto hace asequible la realización de ciertos estudios del comportamiento del fuego en base a simulaciones recursivas masivas. La optimización obtenida permite incluso plantearse la implantación de algunos de estos análisis en ordenadores de sobremesa siempre que no se sobrepasen ciertas restricciones. Paralelamente a esta optimización de código se han desarrollado novedosos análisis enfocados a ayudar en las labores de extinción.