Input data #
Most failed runs come from data that doesn’t follow these rules. Check your data against this page before you run anything.
Grid #
- All rasters must share one grid: the same CRS, extent and cell size as the Base Map set in the configuration.
- Use GeoTIFF (
.tif). The tools also read.sdatand.asc. - Mark missing values with the raster’s NoData value.
Configuration › Preprocess can align population, fuel, lightning and wind speed for you. The Python API aligns all inputs automatically.
Time series #
A time series is a folder with one raster per time step. The date must appear in each file name:
| Time step | Date in file name | Example |
|---|---|---|
| Daily | YYYYMMDD | wsp_20050131.tif |
| Monthly | YYYYMM | BA_200501.tif |
| Yearly | YYYY | fuel_2005.tif |
- Keep each variable in its own folder, with no other rasters in it.
- Don’t put any other 4-or-more-digit number in file names. Avoid such numbers in folder paths too, for example
D:\data2020\. - The folder must cover every date between the Start Date and the End Date you run.
Variables and units #
| Input | Unit | Time step | Used by |
|---|---|---|---|
| Temperature (daily max.) | °C | daily | Fuel moisture |
| Precipitation | mm/day | daily | Fuel moisture |
| Relative humidity | % | daily | Fuel moisture |
| Wind speed | km/h | daily | Fuel moisture, burned area, spread |
| Fuel moisture | fraction of dry weight (e.g. 0.12) | daily | Probability, burned area, spread |
| Population density | people/km² | constant or yearly | Probability |
| Fuel load | gC/m² | constant or yearly | Probability, spread |
| Lightning (optional) | flashes/km²/month | constant, monthly or yearly | Probability |
| Fire perimeters | polygon shapefile | — | Create Labeling Data |
| Observed burned area | km² per pixel | monthly | Calibration |
| Wind direction (optional) | — | daily | Spread |
| Slope (optional) | % | constant | Spread |
Fuel moisture must be a fraction, not a percentage and not the FFMC index. Daily Fuel Moisture produces the right format. If you bring your own data, convert it first.
Fire perimeter shapefile requirements:
- One polygon per fire.
- A date column formatted
YYYY-MM-DD. - A projected CRS in metres. AFEIM calculates fire areas in the shapefile’s own CRS, so a geographic (lat/lon) CRS gives wrong areas.
Observed burned area from global products such as GFED: convert it with Rasterize netCDF4, align it to the base map, convert it to km² per pixel, and name the files <name>_YYYYMM.tif.
To make a slope raster in percent from a DEM:
import AFEIM
AFEIM.Tools.topography('dem.tif', output_slope='slope.tif')