ET AI Hackathon 2.0 Submission
Predict tomorrow's pollution. Explain today's pollution.
An AI system capable of identifying pollution sources, forecasting PM2.5 concentrations, and generating explainable insights using satellite fire data, meteorological observations, and air-quality sensor measurements.
Demo β’ Architecture β’ Installation β’ Usage β’ Roadmap β’ Team
- π¨ Problem Statement
- β¨ Features
- π‘ Motivation
- ποΈ Complete System Architecture
- π Repository Structure
- βοΈ Tech Stack
- π Models Used
- π Results
βΆοΈ Installation- π Hackathon Progress
- π₯ Team
- π Acknowledgements
- π License
Urban air pollution is rarely caused by a single source.
A sudden spike in PM2.5 may originate from
- Vehicular traffic
- Industrial emissions
- Biomass burning
- Construction dust
- Seasonal agricultural fires
Current AQI dashboards only report how polluted the air is.
They do not explain
- Why pollution increased
- Which source contributed the most
- Whether pollution is likely to worsen in the coming hours
This project addresses these challenges through a unified AI pipeline capable of
- Forecasting PM2.5 concentrations
- Identifying dominant pollution sources
- Incorporating satellite-observed fire activity
- Providing explainable outputs suitable for downstream LLM agents
Estimate the contribution of major pollution sources for every prediction using an interpretable machine learning pipeline.
Supported source categories
- π Traffic Emissions
- π Industrial Emissions
- π₯ Biomass Burning
- π§ͺ Solvent / VOC Emissions
Additional capabilities:
- Confidence score for every attribution
- Explainable factor mapping using NMF
- Fire-aware biomass estimation using NASA VIIRS observations
- Automatic handling of missing fire data during inference
Forecast future PM2.5 concentrations using historical air quality, weather observations, and temporal patterns.
Forecast horizons
- β±οΈ 1 Hour Ahead
- π 24 Hours Ahead
- ποΈ 48 Hours Ahead
Model inputs include:
- Historical PM2.5 observations
- Meteorological variables
- Temporal lag features
- Rolling statistical features
- Seasonal & cyclic time encodings
- Satellite-derived fire indicators
Integrates NASA FIRMS VIIRS satellite observations to quantify the impact of biomass burning on urban air quality.
Extracted fire features include:
- Fire Count
- Fire Radiative Power (FRP)
- Near Fire Zone Statistics
- Far Fire Zone Statistics
- Upwind Fire Detection
- Distance-based Fire Aggregation
An AI-powered enforcement assistant designed to support environmental agencies by identifying likely emission sources and recommending inspection priorities.
Planned capabilities include:
- Pollution hotspot identification
- Industry prioritization
- Fire-event correlation
- Explainable inspection recommendations
- Automated environmental alerts
Interactive analytics platform for monitoring and comparing air quality across multiple cities.
Planned visualizations include:
- AQI Trends
- Pollution Source Attribution
- Forecast Comparison
- Historical Analysis
- Cross-City Benchmarking
- Interactive Geospatial Maps
An LLM-powered advisory system that converts technical air-quality predictions into easy-to-understand health guidance.
Planned features:
- Personalized health recommendations
- Multilingual support
- AQI-based precautionary measures
- Source-aware recommendations
- Vulnerable population alerts
- Natural language explanations
The complete solution is designed as a LangGraph-based Multi-Agent System, where specialized AI agents collaborate to solve different parts of the environmental monitoring workflow.
Current agent architecture:
- π Source Attribution Agent
- π Forecasting Agent
- π Enforcement Intelligence Agent (In Progress)
- π©Ί Health Advisory Agent (Planned)
- πΊοΈ Dashboard & Analytics Agent (In Progress)
Together, these agents form an end-to-end intelligent urban air quality monitoring and decision-support platform.
Most existing air-quality systems answer only one question
"How polluted is the air?"
This project attempts to answer three.
What caused today's pollution?
What will pollution look like tomorrow?
How confident is the model in its prediction?
NASA FIRMS
Satellite Fire Data
β
β
βΌ
Fire Feature Builder
β
β
CAAQMS Sensors ββββββΊ Final Dataset βββββ AQI Dataset
β
βΌ
Data Cleaning
β
βΌ
MissForest Imputation
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Attribution Pipeline
Pollutants
β
βΌ
NMF Source Separation
β
Automatic Factor Mapping
β
Fire Assisted Biomass Split
β
Confidence Estimation
β
βΌ
Traffic %
Industrial %
Biomass %
VOC %
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Forecasting Pipeline
Historical PM2.5
Weather
Fire Features
Lag Features
Rolling Features
Temporal Features
β
βΌ
XGBoost
β
βΌ
PM2.5 Forecasts
1 Hour
24 Hour
48 Hour
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Pipeline API
β
βΌ
LangGraph Agent (WIP)
β
βΌ
Natural Language Explanations
βββ 01_source_attribution/
β βββ attribution_outputs/ # Saved NMF models, imputers, mappings and attribution artifacts
β βββ 01_source_attribution_nmf.ipynb # Pollution source attribution using NMF and fire-aware biomass estimation
|
βββ 02_aqi_forecasting/
β βββ forecasting_outputs/ # Saved forecasting models, feature lists and preprocessing artifacts
β βββ 02_forecasting_final.ipynb # PM2.5 forecasting (1h, 24h, 48h) using XGBoost
β
β outputs/ # Batch inference predictions and evaluation outputs
|
βββ preprocessing/
β βββ combine_aqi.py
β βββ combine_caaqms.py
β βββ combine_viirs.py
β βββ final_join.py
β βββ combine_aqi_test.py
β βββ combine_viirs_test.py
β βββ final_test_join.py
β
βββ test_data/ # Sample unseen station data used for end-to-end testing
β
βββ data/ # Raw and processed datasets used for training
β
βββ pipeline.py # End-to-end inference pipeline (imputation β attribution β forecasting)
βββ run_batch_inference.py # Runs the complete pipeline over an entire test dataset
β
βββ main.py(WIP)
βββ pyproject.toml # Project dependencies
βββ README.md
| Category | Technologies |
|---|---|
| Programming Language | Python 3.12 |
| Machine Learning | Scikit-learn, XGBoost, Non-negative Matrix Factorization (NMF), MissForest |
| Data Processing | Pandas, NumPy, Joblib |
| Data Visualization | Matplotlib, Seaborn |
| Satellite Data Processing | NASA FIRMS VIIRS, Geospatial Distance Calculations (Haversine), Bearing & Upwind Analysis |
| Air Quality Data | CPCB, CAAQMS, Hourly AQI Datasets |
| AI Frameworks | LangChain, LangGraph (Work in Progress) |
| Model Persistence | Joblib |
| Module | Model |
|---|---|
| Missing Value Imputation | MissForest |
| Source Attribution | Non-negative Matrix Factorization |
| Forecasting | XGBoost |
| Fire Attribution | Rule-Based Fire Weighting |
| Explainability | Reconstruction Error |
Current pipeline is capable of
β Source Attribution
β PM2.5 Forecasting
β Fire-aware Biomass Estimation
β Confidence Estimation
β Batch Inference
Clone the repository
git clone https://github.com/Code-r4Life/Urban-Air-Intelligence.git
cd urban-air-intelligenceIf you already have uv installed,
uv syncIf not, install it first.
Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh| Problem Statement Requirement | Our Solution | Current Status |
|---|---|---|
| 1. Geospatial Pollution Source Attribution Engine | Built an explainable pollution source attribution pipeline using Non-negative Matrix Factorization (NMF), meteorological observations, and NASA VIIRS fire data. The system estimates contributions from traffic, industrial emissions, biomass burning, and VOC sources while generating confidence scores and interpretable factor mappings. | β Completed |
| 2. Hyperlocal Predictive AQI Forecasting Agent | Developed a multi-horizon PM2.5 forecasting pipeline that predicts air quality 1 hour, 24 hours, and 48 hours ahead using XGBoost, temporal lag features, rolling statistics, meteorological variables, and satellite-derived fire information. | β Completed |
| 3. Enforcement Intelligence & Prioritisation Agent | Developing an AI-powered enforcement assistant that correlates pollution forecasts, source attribution, fire activity, and emission hotspots to recommend inspection priorities for environmental agencies. | β Completed |
| 4. Multi-City Comparative Intelligence Dashboard | Building an interactive dashboard for comparing pollution trends, source attribution, forecasts, and environmental indicators across multiple cities in India. | β Completed |
| 5. Citizen Health Risk Advisory System | Developing an LLM-powered multilingual advisory system that generates personalized health recommendations based on forecast AQI, dominant pollution sources, and vulnerable population groups. | β Completed |
| LangGraph Multi-Agent Workflow | Integrating all AI modules into a unified multi-agent architecture using LangGraph, enabling autonomous reasoning, forecasting, source attribution, enforcement recommendations, and citizen advisory generation. | β Completed |
| Real-Time Sensor Integration | Planned deployment pipeline for ingesting live CAAQMS observations and NASA VIIRS satellite data for continuous end-to-end inference. | π§ Planned |
- Shinjan Saha
- Arya Gupta
- Srijan Sarkar
- Pritam Paul
- Central Pollution Control Board (CPCB)
- Continuous Ambient Air Quality Monitoring Stations (CAAQMS)
- NASA FIRMS (Fire Information for Resource Management System)
- ET AI Hackathon 2.0
This repository has been developed as part of ET AI Hackathon 2.0.