This repository contains the code base for the creation of a fire propagation dataset by combining burned area polygons and active fire detection points. For every burned area, fire propagation is calculated based to active fire detections from remote sensing sensors. The revisiting time of the sensor limits the fire propagation interval. The resulting dataset consists of equally sized raster files, in which each pixel is either classified as burned or not burned. Every burned area is associated with at least two distinct raster files, each indicating the burned area at a specific time. With increasing time, more of the final burned area polygon is filled with pixels classified as burned, until every pixel of the area is assigned to a fire date.
The following sequence of methods is used to assign a fire date to every pixel of the burned area:
The distinct burned area is selected from the burned area dataset. Active fire detections of the same country and the same year are loaded.
The dataset of active fire detections is reduced to points that fit a self-defined spatial and temporal range of the burned area polygon.
A convex hull is calculated for all active fire detection points of the same acquisition time. According to the active fire detection algorithm developed by Schroeder and Gigilio 2016, thermal anomalies are based on temperature differences of the investigated pixel to a defined number of surrounding pixels. If larger areas are on fire, all surrounding pixels show large temperature values as well, and, as a result, no anomaly will be detected and the pixel will not be classified as an active fire pixel. In such cases, only the edges of a fire area will be detected as active, although the area in between potentially burns, too. To account for these situations, the convex hull was calculated and all affected pixel inside of this hull were assumed to be burning.
Beginning with the youngest date, all convex hulls are iteratively imprinted onto the burned area polygon. This way, pixels with multiple burn dates are overwritten every time a convex hull with an older burn date is imprinted, ensuring correct sequencing.
Often, not all pixels of the burned area are covered by only filling the convex hulls. The remaining pixels are assigned using the k-nearest neighbor algorithm with k=1, assigning them to the fire date of their geometrically nearest neighbor.
The nearest neighbor algorithm is computed for the whole raster file. Since the actual shape of the polygon is not considered, artifacts can appear and several pixels can be assigned to the wrong (but geometrically closer) burn date. These artifacts are removed by assigning the affected pixels to the next oldest surrounding fire date.
In a last step, the calculated fire dates are checked for realistic propagation. If the sequence of propagation is not plausible, the corresponding burned area is discarded. Otherwise, every steps of the fire propagation is saved as an individual raster file.
Most applications of the fire propagation dataset will involve its combination with different meteorological and/or surface related information. One option to gather such information is Google Earth Engine (GEE), which holds a wide variety of different collections from the earth observation spectrum. Instead of including somewhat arbitrarily chosen datasets directly to the fire propagation database, we decided to provide the necessary code to download one meteorological (ERA5) and multiple remote sensing datasets (Sentine-2, TanDEM-X and Dynamic World). The code directly references the individual burned area polygons, and it can be easily adapted for other GEE-related datasets as well. Providing code instead of real data decreases the physical space of the dataset, while offering maximum freedom of choice regarding the collectios one wishes to include. Different examples guide through the creation of the fire propagation database, as well as the download of the corresponding ERA5 and remote sensing data.






