Introducción

RESUMEN TÉCNICO

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.

Objetivos del Proyecto

  1. Disminución del tiempo de resolución de las simulaciones de incendios forestales mediante la paralización de los algoritmos internos del módulo de propagación. Actividades realizadas para su consecución:
    • Migración a plataforma 64 bits, migración a plataforma Linux.
    • Paralización mediante OpenMP de ciertos algoritmos.
    • Mejoras del código (más adelante se detalla este punto).

  2. Desarrollo de un modelo probabilístico de impacto ambiental y económico. Actividades realizadas para su consecución:
    • Planificación y desarrollo de un análisis de impacto y riesgo incluyendo análisis en el mercado como:
      • Firepaths condicionados y firepaths acumulados.
      • Modo de evacuación para análisis de defensa.
      • Modelización del impacto al medio urbano.
    • Pruebas del modelo en centro de supercomputación.

  3. Incorporación de modelos de emisiones de CO2. Actividades realizadas para su consecución:
    • NINGUNA por el momento.

  4. Desarrollo de análisis asociados a un incendio especifico con el fin de proporcionar diagramas conceptuales del avance y los posibles puntos de ataque por parte de las brigadas de extinción. Actividades realizadas:
    • Planificación y desarrollo de innovadores análisis en base a:
      • Localización de puntos críticos.
      • Análisis de la interconexión entre puntos críticos.
      • Análisis masivo del efecto de cortafuegos en la evolución del incendio.

La disminución del tiempo de cómputo y los requisitos de los modelos se ha conseguido mediante:

  1. Disminución del tiempo de cómputo del cálculo del modelo estático de fuego que proporciona las características básicas (velocidad, intensidad, etc.).
  2. Disminución del tiempo de ejecución del algoritmo de evolución temporal empleado en los incendios.
  3. Disminución de las necesidades de memoria RAM del algoritmo de forma que dominios relativamente amplios puedan ser resueltos en ordenadores de sobremesa o incluso portátiles.
  4. Paralización de partes del algoritmo.

Más concretamente se han realizado las siguientes mejoras:

  • Migración a códigos de 64 bits. Esto es relevante no solo por la ganancia de velocidad del algoritmo sino también porque esto permite el empleo de dominios mayores ya que de lo contrario C++, no permite análisis que requieran más de un determinado tamaño de dominio.
  • Con el fin de poder emplear grandes dominios, se ha hecho independiente el cálculo de la evolución temporal del incendio con el tamaño general del dominio. Para esto ha sido necesario restringir el algoritmo a:
    • Simulaciones con un único punto de ignición.
    • Simulaciones con condiciones meteorológicas constantes (Este es un requisito que es posible que se elimine en avances futuros).
  • Enmarcación de la zona de simulación con el fin de aumentar la velocidad de los análisis (recuento de celdas quemadas, cálculo de caminos de fuego, tiempo de llegada, etc.) sobre el resultado de la simulación, así como la exportación de la simulación a otros formatos.
  • Algoritmo de evolución temporal:
    • Empleo de un vector guía que permite eliminar un proceso de búsqueda sobre un vector en el algoritmo implementado
    • Opción de eliminar las salidas “camino de fuego” en el cálculo.
    • Disminución del número de grados de libertad del algoritmo a las 8 celdas vecinas (vertical, horizontal y oblicua) y no con movimiento más complejos como en la librería existente en Wildfire Analyst.

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:

  1. Cálculo de las características potenciales de un incendio que se desarrolle en la zona (loop for each weather condition).
  2. Cálculo de la evolución temporal de un incendio en concreto (loop for each ignition source).

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:

  • 2 procesadores Intel Xeon E5-2670 v2 @ 2.50GHz
  • 10 cores de procesamiento en cada uno de ellos. Además estos cores o núcleos de cálculo cuentan con dos hilos (threads) de ejecución paralelos.
  • 128 GB de RAM
  • Conexión a una red de altas prestaciones y baja latencia Infiniband con tecnología FDR de 56 Gbps (red non-blocking).

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:

  • Simular los incendios desde la posición del cortafuegos sin necesidad de simular las horas anteriores. Para esto es necesario identificar la posición y tiempo de cada cortafuegos.
  • Simular aquellas zonas asociadas al potencial del incendio donde se coloca el cortafuegos, ya que el resto de zonas quedan fuera de su influencia.

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

Progreso

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:

  • Realizar el cálculo de las condiciones generales de los incendios a medida que se simula la evolución del incendio y solo sobre las celdas que son simuladas.
  • Eliminar la restricción de simulaciones con condiciones meteorológicas constantes. Esto se puede conseguir en dispositivos con suficiente memoria RAM y consistiría en calcular las condiciones generales de desarrollo (ROS, dirección de máximo avance, etc) para varias condiciones meteorológicas distintas de forma que se puedan emplear luego en la evolución temporal del incendio.

Conclusiones

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.