Real-Time Global Vegetation Analysis and Anomaly Detection

BloomWatch AI is an interactive web application developed for theNASA Space Apps Challenge to monitor the health and seasonal changes of global vegetation using NASA satellite data. It provides instant anomaly detection and long-term time-series analysis, empowering users to track environmental changes without needing specialized GIS software.
- 🚀 Challenge and Theme
- ✨ Key Features
- 💻 Technologies Used
- 🛰️ NASA Data & Resources
- 🛠️ Getting Started
- 💡 Project Summary
This project addresses the BloomWatch challenge. The goal was to create an accessible tool that utilizes satellite imagery to monitor and analyze changes in global vegetation cover, specifically focusing on identifying anomalies (unusual greening or drying) that indicate environmental stress or major bloom events.
BloomWatch AI provides a simple, structured interface (using Streamlit Tabs) to access complex geospatial analysis:
- Anomaly Detection: Instantly calculates and visualizes the difference between the current year's and a historical reference year's vegetation index (NDVI/EVI). This highlights areas that are significantly greener (positive anomaly) or drier (negative anomaly).
- NDVI/EVI Time-Series Trend: Generates a clean, interactive line chart showing the long-term average index value for any selected region across a range of years, aiding in climate trend analysis.
- Flexible Area of Interest (AOI): Allows users to select regions by name or use the integrated Folium drawing tools (pencil icon on the map) to define and analyze any custom geographic area.
- Interactive Mapping: Provides dynamic visualization of NDVI and EVI layers with customizable color palettes.
| Category | Tool / Language | Role in Project |
|---|---|---|
| Data Platform | Google Earth Engine (GEE) | Cloud computing platform for processing large-scale satellite data. |
| Primary Language | Python | Core logic and data manipulation. |
| Web Framework | Streamlit | Built the fast, interactive, and user-friendly web application interface. |
| Mapping | geemap (Folium backend) & folium.plugins | Interactive map creation and integration of user drawing tools. |
| Libraries | Pandas, NumPy | Data preparation and statistical analysis for charts. |
To be eligible for the Global Award, BloomWatch AI relies entirely on open NASA satellite data products:
| Resource Name | Data Used | Link |
|---|---|---|
| MODIS/Terra Vegetation Indices (MOD13Q1 V6.1) | NDVI and EVI layers (250m resolution) for all time-series and anomaly calculations. | https://doi.org/10.5067/MODIS/MOD13Q1.061 |
| GEE Data Catalog | The cloud-hosted access point for querying and processing the MODIS product. | https://developers.google.com/earth-engine/datasets/catalog/MODIS_061_MOD13Q1 |
| NASA Earthdata | Core documentation and scientific context for Vegetation Indices. | https://www.earthdata.nasa.gov/topics/biosphere/vegetation-index |
- Python (3.8 or higher)
- Google Earth Engine (GEE) Account: You must have initialized Earth Engine on your system.
-
Clone this repository:
git clone https://github.com/muhammadfahd/Bloom-Watch-AI.git cd Bloom-Watch-AI -
Install the required Python packages:
pip install -r requirements.txt # Alternatively, manually install the main dependencies: # pip install streamlit geemap pandas numpy ee
-
Ensure your Earth Engine credentials are set up (if running for the first time outside a GEE environment):
ee authenticate --google
Run the Streamlit application from your terminal:
streamlit run bloomwatchai.pyThe app will open automatically in your web browser.
BloomWatch AI provides a powerful and intuitive platform for environmental monitoring. It successfully integrates complex GEE geospatial analysis (including the fixed caching issues for unhashable geometries) into a user-friendly web interface, making high-value NASA data accessible to a global audience for tracking climate impacts and bloom dynamics.
