Releases: IndigoWizard/wildfire-burn-severity
v1.2.1
v1.2.0
Wildfire Burn Severity Analysis - v1.2.0
Overview
This release introduces ERA5 temperature data integration, allowing users to analyze daily air temperature trends alongside precipitation data within the generated report. The new feature enhances the app’s ability to provide climate context to fire-affected regions.
What as changed
🌡️ ERA5 Temperature Data Integration
- Added ERA5 dataset from ECMWF ReAnalysis 5 for air temperature at 2m height above land/water.
- Extracted daily temperature data by averaging hourly values.
- Converted from Kelvin to Celsius for better readability. (No Fahrenheit, not sorry about that.)
📊 Data Visualization & Exploration
-
Temperature DataFrame:
- Displays temperature values in a sortable and filterable table.
- Allows CSV download for further analysis.
-
Interactive Altair Chart:
- Combines bar and line graphs for better trend analysis.
- Includes tooltip interactions for detailed value inspection.
- Supports PNG & SVG downloads for reporting.
Credit:
Temperature data ECMWF
v1.1.0
Wildfire Burn Severity Analysis - v1.1.0
Overview
This update introduces pluviometry/precipitation data analysis using CHRIPS v2 collection (Climate Hazards Group InfraRed Precipitation with Station Data).
Users can now generate daily precipitation levels in the report for the selected pre/post fire dates, enabling better environmental assessment of wildfire conditions. Precipitation data is available in both tabular (dataframe) and graphical (Altair chart) formats, with options for sorting, full-screen viewing and data export in various formats (csv, png/svg).
What has changed
📊 Precipitation Data Integration
- Added CHIRPS image collection for historical daily precipitation data.
- Extracts precipitation data for the full timeline, covering all days between the pre-fire and post-fire dates, even if they span different months or years.
- Displays data in a sortable DataFrame with:
- Date (day)
- Precipitation value (mm)
- Mini bar chart (red progress bar) for quick visual interpretation within the dataframe
📈 Data Visualization with Altair
- Introduced an interactive chart using Altair:
- Bar chart for daily precipitation levels.
- Line overlay for trends.
- Hover tooltips displaying precise precipitation values.
- Improved layout for data visualization:
- Side-by-side view of the DataFrame and chart for better readability.
- Full-screen expandable views for both components.
📂 Export & Download Options
- DataFrame Export:
- Download precipitation data as a CSV file.
- Chart Export:
- Download the chart as PNG or SVG for reporting and analysis.
v1.0.0
Wildfire Burn Severity Analysis - v1.0.0
Overview
This release marks a significant milestone as the project transitions from a static .html
-based webmap to a fully interactive and dynamic web application built using Streamlit framework. The new app enhances user interactivity, introduces new features for analysis and visualization, and improves overall accessibility and usability.
Key Changes
Migration to Streamlit Web App with the v1.0.0:
Rebuilt the application as a Streamlit web app to replace the standalone static .html
file.
Interactive user inputs for:
- Date selection (pre-fire and post-fire imagery).
- Cloud coverage threshold.
- Area of interest (AOI) file uploads.
Added support for following indices and layers:
- Normalized Difference Water Index (NDWI).
- Normalized Burn Ratio (NBR).
- Differenced Normalized Burn Ratio (dNBR).
- Reclassified dNBR (classified burn severity levels).
Improved map visualization, including fixing date discrepancies on layer names.
New Features
Raster Masking:
- Added land and water masks for cleaner visualization.
- Improved variable naming for clarity and removed unused functions.
Burn Scar Area Vector Layer:
- Displays a vector layer that calculates and highlights burnt areas using a supervised classification of dNBR.
Area Statistics and Results Reporting:
- Calculates AOI and individual supervised dNBR classes surface areas.
- Introduced a pie chart visualization for burn severity statistics using
nivo
andmui
libraries. - Enhanced layout and organization of report sections.
Accessibility Features:
- Implemented colorblind-friendly palettes: Deuteranomaly, Protanomaly, Tritanomaly, and Achromatopsia.
- Dynamically updates raster layers, legends, and visual stats (e.g., pie chart) to match the selected palette.
Improved User Experience
Streamlit UI Enhancements:
- Redesigned layout:
- Added a sidebar with navigation and essential information.
- Included a map legend for better interpretability of layers.
- Organized the interface with responsive columns for desktop and mobile devices.
- Custom CSS for a polished dark and light theme experience.
Resource consumption optimization:
- Switched to a form-based input system to minimize resource usage and prevent app crashes on Streamlit Cloud.
- Enhanced performance for large AOIs.
Technical Improvements
Authentication Method Update:
- Integrated a new Google Earth Engine authentication method using a google service account and key.
- Deprecated geemap-based authentication.
Requirements Updates:
- Refactored
requirements.txt
for compatibility with Streamlit Cloud. - Updated package versions to resolve compatibility issues with newer dependencies.
- Added
streamlit-elements
for enhanced visual components.
Additional Enhancements
Informational Sections:
- Included detailed explanations for result interpretation, data sources, and credits.
- Enhanced navigation for better usability.
Removed Legacy Components:
- Deleted unused Python scripts from the previous version.
- Removed dependencies on unused packages like
geemap
.
How to Update
- Install or update the required dependencies:
pip install -r requirements.txt
- Deploy the app locally or on Streamlit Cloud for a seamless experience:
- Ensure the service account JSON key for Google Earth Engine is properly configured.
v0.1.0-beta
Wildfire Burn Severity Analysis - Release 0.1.0
Purpose
The project has been available on GitHub for some time now and it lacked a formal version number and release notes. This release aims to establish version 0.1.0 for the existing project and does not encompass any upgrades or new features. Additionally, this release serves as a precursor to a major upgrade planned for the near future which is based on Streamlit framework for a more user-friendly experience.
Project Description
Python script that leverages Google Earth Engine python API, along with Folium and geemap, to assess surface areas affected by wildfires. It relies on Normalized Burn Ratio (NBR) to highlight affected areas and estimate burn severity levels.
The project's primary use-case revolves around the analysis of the wildfire that occurred in Mount Chenoua, Tipaza, Algeria, from August 14th to 16th, 2022. The generated burn severity map provides valuable insights into the extent of damage caused by the wildfire.
Features
- Utilizes Google Earth Engine Python API for remote sensing via Sentinel-2 satellite imagery.
- Calculates the Normalized Burn Ratio (NBR) to assess burn severity levels.
- Renders an interactive map with Folium to visualize the analysis results.
- Delineates burn scar areas
- Provides a static web app for easy access to the burn severity analysis results with minimal interaction (here.)
How to Use
If you wish to use or contribute to this project, here are the necessary steps:
- Sign up for a Google Earth Engine account.
- Install the gcloud CLI for authentication.
- Ensure that you are using Python 3.9 or higher.
- Install project dependencies from the
requirements.txt
file using the following command:
conda install --file requirements.txt
- Modify the script to use your desired satellite imagery data for the pre-fire and post-fire periods, ensuring that the images have less than 10% cloud coverage.
- Define your Area of Study (AOS) by specifying its coordinates in the aos.py file.
Credits
This project was created using the following technologies and datasets:
Project by IndigoWizard.