How junaidazizkhan/nat_glof_monitor works
GLOF Monitor is a web portal for glacial-lake inventories, hazard assessment, monitoring, and related glacier analytics. Users sign in, explore lake and glacier information, and can run extraction or assessment workflows; alerts and Ask J. provide monitoring and explanatory capabilities. The graph preserves the documented product branches and the sampled pipeline and susceptibility stages. Several endpoint relationships are supported by the source index; unsampled subsystem wiring is omitted rather than inferred.
Main entry points: router.py API router · criteria.py Criteria assessment · pipeline.py Extraction pipeline · pipeline_tasks.py Pipeline worker
Components 22
Portal and API
- Web portal
frontend/src/App.tsx - FastAPI app
backend/main.py - API router
backend/app/api/v1/router.py - Ask J. API
backend/app/api/v1/endpoints/ai.py - Assistant engine
backend/app/services/portal_ai/engine.py
Lake Risk
- Lake inventory
backend/app/api/v1/endpoints/lakes.py - Criteria assessment
backend/app/api/v1/endpoints/criteria.py - GLOF criteria engine
backend/app/services/glof_criteria_engine.py - Susceptibility maps
backend/app/api/v1/endpoints/susceptibility.py - Susceptibility bands
backend/app/services/susceptibility_bands.py - Alerts
backend/app/api/v1/endpoints/alerts.py
Satellite Pipeline
- Extraction pipeline
backend/app/api/v1/endpoints/pipeline.py - Pipeline worker
backend/app/tasks/pipeline_tasks.py - Live run state
backend/app/services/pipeline_state.py - Run history
backend/app/services/pipeline_history.py
Glacier Analytics
- Glacier analytics
backend/app/api/v1/endpoints/glacier_analytics.py - Glacier jobs
backend/app/tasks/glacier_tasks.py
Platform Services
- Postgres models
backend/app/models/models.py - Database sessions
backend/app/core/database.py - Authentication
backend/app/core/security.py - Celery workers
backend/app/tasks/celery_app.py
Other components
- Portal user
Connections 22
- Portal user → Web portal: uses
README.md - Web portal → FastAPI app: uses API
- FastAPI app → API router: mounts routes
backend/main.py - API router → Lake inventory: registers
backend/app/api/v1/router.py - API router → Criteria assessment: registers
backend/app/api/v1/router.py - API router → Susceptibility maps: registers
backend/app/api/v1/router.py - API router → Extraction pipeline: registers
backend/app/api/v1/router.py - API router → Glacier analytics: registers
backend/app/api/v1/router.py - API router → Alerts: registers
backend/app/api/v1/router.py - API router → Ask J. API: registers
backend/app/api/v1/router.py - Criteria assessment → GLOF criteria engine: assesses lakes
backend/app/api/v1/endpoints/criteria.py - Susceptibility maps → GLOF criteria engine: uses assessment
backend/app/api/v1/endpoints/susceptibility.py - GLOF criteria engine → Susceptibility bands: uses bands
backend/app/services/glof_criteria_engine.py - Extraction pipeline → Pipeline worker: enqueues work
backend/app/api/v1/endpoints/pipeline.py - Pipeline worker → Live run state: updates state
backend/app/tasks/pipeline_tasks.py - Pipeline worker → Run history: persists progress
backend/app/tasks/pipeline_tasks.py - Glacier analytics → Glacier jobs: uses jobs
backend/app/api/v1/endpoints/glacier_analytics.py - Ask J. API → Assistant engine: streams answers
backend/app/services/portal_ai/engine.py - Criteria assessment → Postgres models: reads and writes
backend/app/api/v1/endpoints/criteria.py - Criteria assessment → Authentication: checks access
backend/app/api/v1/endpoints/criteria.py - Postgres models → Database sessions: uses sessions
backend/app/models/models.py - Extraction pipeline → Celery workers: dispatches task
backend/app/api/v1/endpoints/pipeline.py