Risk Assessment and Prediction - seojedaperez/IgnisMap GitHub Wiki
This document describes the comprehensive fire risk assessment and prediction capabilities of the IgnisMap system, covering real-time risk calculation, multi-factor analysis, AI-powered predictions, and tactical response planning.
IgnisMap implements a sophisticated risk assessment engine that combines weather data, vegetation indices, historical fire patterns, and AI analysis to provide accurate fire risk predictions and tactical recommendations. 1
The system uses a multi-layered approach to fire risk assessment, integrating various data sources and analysis services:
flowchart TD
subgraph "Data Sources"
Weather["Weather Data<br/>Open-Meteo API"]
Satellite["Satellite Data<br/>NASA FIRMS"]
Vegetation["Vegetation Indices<br/>NDVI, Dryness"]
Historical["Historical Fire Data"]
end
subgraph "Risk Assessment Engine"
RiskMeter["RiskMeter Component"]
AzureService["azureService"]
MicrosoftAI["microsoftAI Service"]
BiodivService["biodiversityAssessmentService"]
end
subgraph "Analysis Outputs"
RiskScore["Risk Score (0-100)"]
RiskLevel["Risk Level<br/>(Low/Medium/High/Extreme)"]
Factors["Contributing Factors"]
Recommendations["Tactical Recommendations"]
end
Weather --> RiskMeter
Satellite --> AzureService
Vegetation --> MicrosoftAI
Historical --> BiodivService
RiskMeter --> RiskScore
AzureService --> RiskLevel
MicrosoftAI --> Factors
BiodivService --> Recommendations
The RiskMeter
component serves as the primary interface for fire risk visualization and calculation. 2 It integrates weather data from the WeatherContext
and uses the azureService
to calculate comprehensive risk predictions. 3
sequenceDiagram
participant RC as "RiskMeter Component"
participant WC as "WeatherContext"
participant AS as "azureService"
participant MAI as "microsoftAI"
RC->>WC: useWeather()
WC-->>RC: currentWeather, loading
alt Weather data available
RC->>AS: predictFireRisk(currentWeather)
AS-->>RC: FireRiskPrediction
alt Microsoft AI configured
RC->>MAI: assessFireRisk()
MAI-->>RC: Enhanced prediction
end
end
RC->>RC: calculateRisk()
RC->>RC: updateRiskVisualization()
The risk calculation follows a structured approach where weather data triggers the assessment process. 4
The system analyzes multiple weather parameters to determine fire risk:
flowchart LR
subgraph "Weather Factors"
Temp["Temperature Factor<br/>Max: 40 points"]
Humidity["Humidity Factor<br/>Max: 30 points"]
Wind["Wind Speed Factor<br/>Max: 30 points"]
end
subgraph "Calculation Logic"
TempCalc["(temperature - 15) × 2"]
HumidCalc["(60 - humidity) × 0.75"]
WindCalc["windSpeed × 1.5"]
end
subgraph "Risk Score"
Total["Total Weather Risk<br/>Max: 100 points"]
end
Temp --> TempCalc
Humidity --> HumidCalc
Wind --> WindCalc
TempCalc --> Total
HumidCalc --> Total
WindCalc --> Total
The weather-based risk calculation uses specific formulas for each factor. 5 Temperature contributes up to 40 points, humidity up to 30 points, and wind speed up to 30 points to the overall risk score.
Beyond basic weather, the system incorporates additional risk factors:
flowchart TD
subgraph "Environmental Factors"
VegIndex["Vegetation Index<br/>NDVI Analysis"]
Dryness["Vegetation Dryness<br/>Moisture Content"]
Drought["Drought Index<br/>Regional Conditions"]
end
subgraph "Historical Analysis"
PastFires["Historical Fires<br/>Last 12 months"]
ActiveFires["Active Fire Proximity<br/>Current incidents"]
Frequency["Fire Frequency<br/>Burn patterns"]
end
subgraph "Land Cover Analysis"
Forest["Forest Coverage<br/>Fire-prone areas"]
Grassland["Grassland Coverage<br/>Rapid spread zones"]
Urban["Urban Interface<br/>WUI risk zones"]
end
VegIndex --> RiskCalc["Advanced Risk<br/>Calculation Engine"]
Dryness --> RiskCalc
Drought --> RiskCalc
PastFires --> RiskCalc
ActiveFires --> RiskCalc
Forest --> RiskCalc
Grassland --> RiskCalc
The advanced risk calculation incorporates vegetation factors (25% of total risk), drought conditions (15%), land cover analysis (10%), and historical fire patterns (10%). 6
The system leverages Microsoft Azure AI services for enhanced risk assessment:
flowchart TD
subgraph "Input Data"
WeatherInput["Weather Data<br/>Temperature, Humidity, Wind"]
VegInput["Vegetation Data<br/>NDVI, Dryness Index"]
HistInput["Historical Fires<br/>Past incidents"]
end
subgraph "Microsoft AI Processing"
TextAnalysis["Text Analytics<br/>Data interpretation"]
RiskCalc["AI Risk Calculation<br/>Multi-factor analysis"]
Confidence["Confidence Scoring<br/>Prediction reliability"]
end
subgraph "AI Output"
AIRiskScore["AI Risk Score<br/>0-100 scale"]
AIFactors["Factor Breakdown<br/>Detailed analysis"]
AIRecommendations["AI Recommendations<br/>Tactical guidance"]
end
WeatherInput --> TextAnalysis
VegInput --> RiskCalc
HistInput --> Confidence
TextAnalysis --> AIRiskScore
RiskCalc --> AIFactors
Confidence --> AIRecommendations
The Microsoft AI service processes multiple data inputs to generate comprehensive risk assessments. 7 It calculates individual factor contributions and combines them into an overall risk score with confidence metrics.
The AI service uses sophisticated algorithms to weight different risk factors:
- Temperature Factor: Up to 40 points based on deviation from baseline (15°C)
- Humidity Factor: Up to 30 points with inverse relationship to moisture
- Wind Factor: Up to 30 points based on speed and spread potential
- Vegetation Factor: Up to 25 points from NDVI analysis
- Dryness Factor: Up to 25 points from vegetation moisture content
- Historical Factor: Up to 10 points from past fire incidents 8
The system generates comprehensive risk assessments across multiple domains:
flowchart TD
subgraph "Risk Assessment Domains"
HumanLife["Human Life Risk<br/>Population exposure"]
Environmental["Environmental Risk<br/>Ecosystem impact"]
Economic["Economic Risk<br/>Property & infrastructure"]
Cultural["Cultural Risk<br/>Heritage sites"]
end
subgraph "Assessment Process"
BiodivData["Biodiversity Data<br/>Species at risk"]
InfraData["Infrastructure Data<br/>Critical facilities"]
SpreadPred["Spread Prediction<br/>Fire behavior model"]
end
subgraph "Risk Calculation"
WeightedCalc["Weighted Risk Calculation<br/>40% Human + 25% Environmental<br/>+ 25% Economic + 10% Cultural"]
OverallRisk["Overall Risk Score<br/>Composite assessment"]
end
BiodivData --> HumanLife
InfraData --> Environmental
SpreadPred --> Economic
HumanLife --> WeightedCalc
Environmental --> WeightedCalc
Economic --> WeightedCalc
Cultural --> WeightedCalc
WeightedCalc --> OverallRisk
The comprehensive risk assessment combines multiple risk domains using weighted calculations. 9 Human life risk receives the highest weight (40%), followed by environmental and economic risks (25% each), and cultural risk (10%).
The biodiversityAssessmentService
orchestrates the comprehensive risk assessment process:
sequenceDiagram
participant Dashboard as "Dashboard Component"
participant BAS as "biodiversityAssessmentService"
participant Calc as "Risk Calculators"
participant Output as "Risk Assessment"
Dashboard->>BAS: generateRiskAssessment()
BAS->>Calc: calculateHumanLifeRisk()
BAS->>Calc: calculateEnvironmentalRisk()
BAS->>Calc: calculateEconomicRisk()
BAS->>Calc: calculateCulturalRisk()
Calc-->>BAS: Individual risk scores
BAS->>BAS: Calculate weighted overall risk
BAS->>BAS: Generate evacuation priorities
BAS->>BAS: Identify critical decision points
BAS-->>Output: Complete risk assessment
Output-->>Dashboard: Display risk metrics
The service generates detailed risk assessments including evacuation priorities and critical decision points. 10
The risk assessment results are displayed through an interactive risk meter interface:
flowchart TD
subgraph "Risk Meter Display"
Gauge["Circular Risk Gauge<br/>0-100% visualization"]
RiskIcon["Fire Icon<br/>Color-coded by risk level"]
Percentage["Risk Percentage<br/>Numerical display"]
Level["Risk Level<br/>Low/Medium/High/Extreme"]
end
subgraph "Risk Factor Cards"
TempCard["Temperature Card<br/>Current temp + factor score"]
HumidCard["Humidity Card<br/>Current humidity + factor score"]
WindCard["Wind Card<br/>Current speed + factor score"]
end
subgraph "Assessment Details"
Confidence["Confidence Score<br/>Prediction reliability"]
Recommendations["Risk Recommendations<br/>Tactical guidance"]
DataSource["Data Source<br/>Azure/Local algorithm"]
end
Gauge --> RiskIcon
RiskIcon --> Percentage
Percentage --> Level
TempCard --> Confidence
HumidCard --> Recommendations
WindCard --> DataSource
The risk meter provides comprehensive visualization of current fire risk conditions. 11 Risk levels are color-coded: extreme (≥80) in coral, high (≥60) in burgundy, medium (≥40) in yellow, and low (<40) in green.
The risk assessment integrates seamlessly with the main dashboard:
flowchart LR
subgraph "Dashboard Overview"
KeyMetrics["Key Metrics<br/>Active alerts, High risk count"]
RiskMeterComp["Risk Meter Component<br/>Primary risk display"]
ExecutiveSummary["Executive Summary<br/>Multi-domain risk scores"]
end
subgraph "Risk Data Flow"
WeatherContext["Weather Context<br/>Real-time data"]
RiskPrediction["Risk Prediction<br/>Calculated assessment"]
RiskAssessment["Risk Assessment<br/>Comprehensive analysis"]
end
subgraph "Display Components"
RiskCards["Risk Score Cards<br/>Human/Environmental/Economic"]
TacticalPlans["Tactical Plans<br/>Response strategies"]
AlertsList["Alerts List<br/>Active incidents"]
end
WeatherContext --> RiskPrediction
RiskPrediction --> RiskAssessment
RiskAssessment --> RiskCards
RiskCards --> TacticalPlans
The dashboard orchestrates comprehensive analysis through parallel service execution. 12 When weather data becomes available, it triggers multiple analysis services simultaneously including wind analysis, biodiversity assessment, and tactical planning.
The system implements real-time risk monitoring through reactive data flows:
sequenceDiagram
participant Timer as "Update Timer"
participant Weather as "Weather Service"
participant Context as "Weather Context"
participant RiskMeter as "Risk Meter"
participant Assessment as "Risk Assessment"
Timer->>Weather: Fetch latest weather data
Weather-->>Context: Updated weather data
Context->>RiskMeter: Trigger useEffect
RiskMeter->>Assessment: Calculate new risk
Assessment-->>RiskMeter: Updated risk prediction
RiskMeter->>RiskMeter: Update visualization
The risk assessment updates automatically when new weather data becomes available. 4 The useEffect
hook monitors weather data changes and triggers risk recalculation accordingly.
The IgnisMap risk assessment system provides comprehensive fire risk analysis through multiple integrated services. The RiskMeter
component serves as the primary interface, while azureService
and microsoftAIService
provide the computational backbone. The system supports both Azure AI-powered analysis and local algorithm fallbacks for reliability. Risk assessments span multiple domains including human life, environmental, economic, and cultural impacts, with weighted calculations providing overall risk scores. The interface provides real-time updates and detailed factor breakdowns to support emergency response decision-making.
Wiki pages you might want to explore: