Skip to content

SeasFire/firecastnet

 
 

Repository files navigation

FireCastNet - Earth-as-a-Graph for Seasonal Fire Prediction

Approach

FireCastNet focuses on forecasting seasonal wildfire activity at a global scale by learning how climate, vegetation, and human factors interact over space and time. The key idea is to represent the Earth as a connected system, where conditions in one region can influence fire activity far away through large-scale climate patterns. FireCastNet first encodes spatio-temporal information from multiple Earth system variables, then models long-range dependencies using a graph-based neural network inspired by recent advances in weather forecasting, capturing both local fire drivers and global teleconnections to enable burned-area predictions several months in advance.

FireCastNet

Overview

Uses Lightning CLI and supports multiple models. Configuration files are located in configs/.

Classification

In order to run for classification:

python main.py fit --config configs/config.yaml

Other models can be run using:

python main.py fit --config configs/gru-config.yaml
python main.py fit --config configs/conv-gru-config.yaml
python main.py fit --config configs/conv-lstm-config.yaml
python main.py fit --config configs/utae-config.yaml

Regression

Adjust the configuration file and name it with a regr suffix.

python main.py fit --config configs/config-regr.yaml

Requirements

You need to install pytorch, DGL and lightning. Start from DGL as this will dictate the rest of the dependencies. Example with python 3.10, DGL 2.0.0, pytorch 2.7 and cuda 12.1.

python -m venv .venv 
source .venv/bin/activate
pip install https://data.dgl.ai/wheels/cu121/dgl-2.0.0%2Bcu121-cp310-cp310-manylinux1_x86_64.whl
pip install xarray xbatcher zarr
pip install pytorch-lightning lightning
pip install einops scikit-learn
pip install -U 'jsonargparse[signatures]>=4.27.7'

Icospheres

Folder icospheres/ contains the GraphCast icospheres. Folder icospheres-lam contains tools for local area modelling icospheres where some regions are denser while the rest of the world is sparser.

Download the data

Download the SeasFire dataset from zenodo. Note it is 44GB.

Unzip the dataset to a folder of your choice. Reference the dataset from the config file.

Checkpoints

Various model checkpoints, global or localized per GFED-region can be found at hugging-face. See file inference_fcn.py on how to use them.

Tools

A few helper scripts can be found in this repository.

  • inference_fcn.py: Given a cube and a FireCastNet model checkpoint, perform inference and produce a cube containing the predictions as a variable.
  • compute_metrics.py: Given a cube with a variable with predictions (for classification), output global and per GFED region metrics.
  • compute_cls_baselines.py: Compute classification baselines and output them as variables in a cube.
  • compute_feature_importance.py: Compute feature importance using Integrated Gradients from captum.

Citation

@article{Michail2025FireCastNet,
  title   = {FireCastNet: Earth-as-a-Graph for Seasonal Fire Prediction},
  author  = {Michail, Dimitrios and
             Davalas, Charalampos and
             Chafis, Konstantinos and
             Panagiotou, Lefki-Ioanna and
             Prapas, Ioannis and
             Bountos, Nikolaos Ioannis and
             Kondylatos, Spyros and
             Papoutsis, Ioannis},
  journal = {Scientific Reports},
  publisher = {Nature Publishing Group UK},
  year    = {2025},
  month   = dec
}

Acknowledgements

This work is part of the SeasFire project, which deals with ”Earth System Deep Learning for Seasonal Fire Forecasting” and is funded by the European Space Agency (ESA) in the context of the ESA Future EO-1 Science for Society Call.

About

FireCastNet

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%