How pathansohail3131/geosafe-ai-explainable-spatiotemporal-landslide-risk-and-early-warning-decision-intelligence-system works
This repository combines a district-scale landslide modelling pipeline with a planner-facing decision product and an interactive 3D scenario simulator. A planner can inspect the district or adjust factors, run a scenario, and review susceptibility, confidence, explanations, sensitivity, and prioritisation. The documented pipeline audits data, builds and evaluates thematic models, calibrates them, performs raster inference, and applies decision layers. Some API service and decision-layer wiring is inferred only from documented capabilities and the file tree; those connections are left out where ownership is unclear.
Main entry points: run_pipeline.py Pipeline runner · predictionApi.ts Prediction API client · App.tsx Simulator workspace · train.py Model training
Components 29
Modelling pipeline
- Pipeline runner
run_pipeline.py - Data audit
src/data/audit.py - Validated data
src/data/loaders.py - Feature building
src/features/build.py - Theme partitioning
src/features/themes.py - Spatial evaluation
src/evaluation/spatial_stage.py - Model training
src/models/train.py - Calibration
src/models/calibration.py - Model bundles
src/models/bundle.py - Raster inference
src/inference/raster.py
Decision intelligence
- Planner decision layers
src/decision/layers.py - Interpretability
src/evaluation/interpretability.py - Map visualisation
src/visualisation/maps.py
Prediction API
- FastAPI application
api/app/main.py - Prediction routes
api/app/routers/prediction.py - Prediction service
api/app/services/prediction.py - District routes
api/app/routers/district.py - District service
api/app/services/district.py - Prediction response
api/app/schemas/requests.py
Interactive simulator
- Planner browser
- Simulator workspace
frontend/src/App.tsx - Scenario runner
frontend/src/hooks/useRunSimulation.ts - Backend startup
frontend/src/hooks/useBootSequence.ts - Prediction API client
frontend/src/services/predictionApi.ts - Simulation state
frontend/src/store/simulationStore.ts - 3D district view
frontend/src/components/simulation/SimulationViewport.tsx - Analysis results
frontend/src/components/results/ResultPanel.tsx - Sensitivity sweep
frontend/src/hooks/useSensitivity.ts
Other components
- District planner
Connections 43
- Pipeline runner → Data audit: runs stages
- Data audit → Validated data: audits inputs
- Feature building → Validated data: loads data
- Feature building → Theme partitioning: builds features
- Spatial evaluation → Feature building: evaluates features
- Model training → Feature building: trains on
- Model training → Theme partitioning: fits theme models
- Model training → Spatial evaluation: uses evaluation
- Model training → Model bundles: saves models
- Calibration → Model bundles: calibrates models
- Raster inference → Model bundles: loads models
- Raster inference → Validated data: reads rasters
- Raster inference → Planner decision layers: feeds susceptibility
- Planner decision layers → Map visualisation: produces planner maps
- Interpretability → Planner decision layers: explains predictions
- Pipeline runner → Spatial evaluation: runs stages
- Pipeline runner → Model training: runs stages
- Pipeline runner → Calibration: runs stages
- Pipeline runner → Raster inference: runs stages
- Pipeline runner → Planner decision layers: runs stages
- FastAPI application → Prediction routes: registers routes
- FastAPI application → District routes: registers routes
- FastAPI application → Prediction service: starts service
- FastAPI application → District service: starts service
- Prediction routes → Prediction service: handles prediction
- District routes → District service: serves district data
- Prediction service → Model bundles: uses models
- Prediction service → Interpretability: requests explanations
- Planner browser → Simulator workspace: uses simulator
- Simulator workspace → Backend startup: checks readiness
- Backend startup → Prediction API client: polls health
- Simulator workspace → Scenario runner: starts scenario
- Scenario runner → Simulation state: updates run state
- Scenario runner → Prediction API client: submits factors
- Prediction API client → Prediction routes: calls prediction API
- Prediction service → Prediction response: returns result
- Prediction response → Prediction API client: delivers response
- Simulator workspace → 3D district view: renders scene
- Simulator workspace → Analysis results: renders analysis
- Analysis results → Simulation state: reads results
- Sensitivity sweep → Prediction API client: requests sweep
- Prediction API client → Prediction routes: requests sensitivity
- District planner → Planner browser: opens simulator