Skip to main content

Python library for post-fire assessment and wildfire analysis using Google Earth Engine.

Project description

wildfire-analyser

Python project for post-fire assessment and burned area analysis using Sentinel-2 imagery and Google Earth Engine (GEE).

This project supports multiple spectral indices (dNBR, dNDVI, RBR), visual products, and paper-ready burned area statistics.


Scientific Background

This project is based on the peer-reviewed study:

Spatial and statistical analysis of burned areas with Landsat-8/9 and Sentinel-2 satellites: 2023 Çanakkale forest fires Authors: Deniz Bitek, Fusun Balik Sanli, Ramazan Cuneyt Erenoglu Study area: Çanakkale Province, Turkey

The methodology implemented in wildfire-analyser follows the same analytical framework and burn severity thresholds described in the paper, particularly for the Sentinel-2–based analysis, including:

  • dNBR, dNDVI and RBR indices
  • Burn severity classification tables
  • Area statistics in hectares and percentage

Minor numerical differences may occur due to cloud masking, spatial sampling, and Google Earth Engine implementation details.


Installation and Usage

Follow the steps below to install and test wildfire-analyser inside an isolated environment:

mkdir /tmp/test
cd /tmp/test

python3 -m venv venv
source venv/bin/activate

pip install wildfire-analyser

Required Files Before Running the Client

Before running the client, you must prepare the following items:


1. Add a GeoJSON polygon (ROI)

Create a folder named polygons in the project root and place your ROI polygon file inside it:

/tmp/test/
├── polygons/
│   └── your_polygon.geojson
└── venv/

Example GeoJSON files are available in the repository (e.g. canakkale_aoi_1.geojson).


2. Create the .env file with GEE credentials

In the project root, add a .env file containing your Google Earth Engine authentication variables.

A .env.template file is available in the repository.

/tmp/test/
├── .env
├── polygons/
└── venv/

Running the Client (Standard Mode)

After adding the .env file and your GeoJSON polygon:

python3 -m wildfire_analyser.client \
  --roi polygons/canakkale_aoi_1.geojson \
  --start-date 2023-07-01 \
  --end-date 2023-07-21 \
  --deliverables \
    DNBR_VISUAL \
    DNDVI_VISUAL \
    RBR_VISUAL \
    DNBR_AREA_STATISTICS \
    DNDVI_AREA_STATISTICS \
    RBR_AREA_STATISTICS \
  --days-before-after 1

This will:

  • Run the post-fire assessment pipeline
  • Generate visual thumbnail URLs
  • Generate scientific GeoTIFF outputs (when applicable)
  • Compute burned area statistics
  • Print all results to the terminal

Deliverables

You may explicitly select deliverables using --deliverables.

Scientific products

  • RGB_PRE_FIRE
  • RGB_POST_FIRE
  • NDVI_PRE_FIRE
  • NDVI_POST_FIRE
  • NBR_PRE_FIRE
  • NBR_POST_FIRE
  • DNDVI
  • DNBR
  • RBR

Visual products

  • RGB_PRE_FIRE_VISUAL
  • RGB_POST_FIRE_VISUAL
  • DNDVI_VISUAL
  • DNBR_VISUAL
  • RBR_VISUAL

Severity maps and statistics

  • DNBR_AREA_STATISTICS
  • DNDVI_AREA_STATISTICS
  • RBR_AREA_STATISTICS

Example:

python3 -m wildfire_analyser.client \
   --roi polygons/canakkale_aoi_1.geojson \
   --start-date 2023-07-01 \
   --end-date 2023-07-21 \
   --deliverables DNBR_VISUAL DNBR_AREA_STATISTICS \
   --days-before-after 1

If --deliverables is not provided, all available deliverables are generated.


Paper Preset Mode (Reproducibility)

The client also supports paper presets, which are predefined experimental configurations designed to reproduce published results.

Example preset: PAPER_DENIZ_FUSUN_RAMAZAN

Run:

python3 -m wildfire_analyser.client \
  --deliverables PAPER_DENIZ_FUSUN_RAMAZAN

This preset:

  • Executes the analysis for two distinct burned areas
  • Uses paper-aligned temporal windows
  • Generates only visual outputs and statistics
  • Does not export scientific GeoTIFFs
  • Prints results grouped by area

Internally, it runs:

Area ROI Pre-fire Post-fire
Area 1 canakkale_aoi_1.geojson 2023-07-01 2023-07-21
Area 2 canakkale_aoi_2.geojson 2023-07-31 2023-08-30

Help

For help and full usage information:

python3 -m wildfire_analyser.client --help

Setup Instructions for Developers

  1. Clone the repository
git clone git@github.com:camargo-advanced/wildfire-analyser.git
cd wildfire-analyser
  1. Create a virtual environment
python3 -m venv venv
  1. Activate the virtual environment
source venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt
  1. Configure environment variables

Copy your .env file to the project root. A .env.template file is provided.

  1. Run the sample client
python3 -m wildfire_analyser.client \
   --roi polygons/canakkale_aoi_1.geojson \
   --start-date 2023-07-01 \
   --end-date 2023-07-21 \
   --days-before-after 1

Useful Commands

Deactivate the virtual environment

deactivate

Build and publish a new PyPI release

rm -rf dist/*
python -m build
twine upload dist/*

Citation

If you use this software for scientific work, please cite:

Spatial and statistical analysis of burned areas with Landsat-8/9 and Sentinel-2 satellites: 2023 Çanakkale forest fires Deniz Bitek, Fusun Balik Sanli, Ramazan Cuneyt Erenoglu.

And cite this repository as the reference implementation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wildfire_analyser-0.2.10.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wildfire_analyser-0.2.10-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file wildfire_analyser-0.2.10.tar.gz.

File metadata

  • Download URL: wildfire_analyser-0.2.10.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for wildfire_analyser-0.2.10.tar.gz
Algorithm Hash digest
SHA256 ad77d22212c78592d5d704beeb7f2e19c2b65df7d7e0fbfca16ba4f6f7834696
MD5 c68cd394a6930d739ed5b955aa5c7f1b
BLAKE2b-256 e7f734a3efe94109c0f03d6411b5f5cdb3ef12c7612e20d2e5bd7d0c5ef1d695

See more details on using hashes here.

File details

Details for the file wildfire_analyser-0.2.10-py3-none-any.whl.

File metadata

File hashes

Hashes for wildfire_analyser-0.2.10-py3-none-any.whl
Algorithm Hash digest
SHA256 2d9c8da24ef2bf4fe7cbdec1020455b0d2873c8e514a43aca48b63b7482b0fc8
MD5 3401702b7e5c531b9b0c44d98ace3581
BLAKE2b-256 fceb62279656b13e10e662c0a837edac2dc081dfce2bdb6ba4a86578fd211494

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page