This web app leverages Google Earth Engine Python API to assess and visualize wildfire burn severity on the map.
It computes the Normalized Burn Ratio (NBR) and related spectral and environmental indices to evaluate wildfire impact while also integrating precipitation and temperature datasets ti orivude climate context.
The app is built with Streamlit and requires no setup; simply open it in your browser and start analyzing on the fly! 🔗 App link: https://wildfire-analysis.streamlit.app
-
Wildfire Burn Severity Analysis
- Compute Normalized Burn Ratio (NBR & dNBR).
- Compute Normalized Difference Water Index (NDWI).
- Reclassified Burn Severity Levels.
- Visualize
pre-fire
andpost-fire
Sentinel-2 imagery. - Explore raster and vectorized burn scar area.
-
Hydro-Climatic Context
- Integrates daily precipitation data (CHIRPS v2) with interactive tables and charts.
- Integrates daily air temperature data (ERA5 reanalysis) with trend visualization.
- Daily temperature averages derived at 2m height.
-
Visualization & Comprehensive Reporting
- Interactive maps with toggleable layers (pre/post TCI, dNBR, NDWI, classified severity).
- Colorblind-friendly visualization palettes for better accessibility(Deuteranomaly, Protanomaly, Tritanomaly, Achromatopsia) synced accross map and report.
- Basic info (date, centroid coordinates, surface area)
- Statistical area calculations for each burn severity class.
- Interactive
nivo
pie charts for data visualization. - Interactive
Altair
bar charts with trend line. - Interactive climate DataFrames.
- Export results as CSV, PNG, or SVG for reporting and analysis.
-
User-Friendly Interface
- Sidebar navigation menu.
- Easy input parameters with widgets to adjust cloud thresholds and analysis dates.
- Responsive layout optimized for desktop and mobile.
- Performance optimized for large AOIs and cloud-hosted environments with form-based input system to minimize resource consumption.
- In the live app:
- Define your AOI (upload or draw geojson).
- Select pre-fire and post-fire dates.
- Adjust the cloud coverage threshold.
- Click "Generate Map" and explore the results on the map and in the report section.
- Click "Generate Report" and visualize statistical results and visual charts of the data.
The app was initially validated using the Mount Chenoua wildfire case (Tipaza, Algeria, Aug 14–16, 2022).
For more details on this wildfire, read the related Medium article:
📖 Mt Chenoua Forest Fires Analysis with Remote Sensing.
Recommended environment management: conda / mamba
-
Register for a Google Earth Engine account access.
-
Clone the repository
git clone https://github.com/IndigoWizard/wildfire-burn-severity.git
cd wildfire-burn-severity
- Create env and install dependencies
conda create -n wildfire python=3.13
conda activate wildfire
conda install -c conda-forge mamba
mamba install --file requirements.txt
- Run the app
streamlit run app.py
This project uses git-flow
. Contributors should base their work on streamlit-dev
and open PRs against it.
- Main Branch:
streamlit-main
(production) - Development Branch:
streamlit-dev
- Feature Branches:
feature/feature_name
- Release Branch:
release/v1.x.0
- Hotfix Branch:
hotfix/v1.0.x
- Versioning scheme:
v1.0.0
/v0.0.1-beta
- folium-app branch: deprecated
- The project is deployed on Streamlit Community Cloud.
Contributions are welcome! Please read the Contributing Guidelines
For Pull Requests:
- Make PRs against the
streamlit-dev
branch. - Reference the related issue.
- Include visuals for UI changes when applicable.
This project is licensed under the GPL-3.0 License. See LICENSE file.
The project and app was developped by IndigoWizard using; Python, Streamlit, Google Earth Engine Python API, Folium. ECMWF ERA5 Temperature Data, CHIRPS Precipitation Data, Sentinel-2 imagery. Forest icons created by Pomicon - Flaticon.