How patilshrutika1803/polaris works
POLARIS is a human-in-the-loop Antarctic iceberg forecasting and navigation decision-support application. A user supplies vessel and route inputs in Ship Navigation; the frontend submits them to the FastAPI analysis endpoint, which prepares B15A features, predicts iceberg positions, looks up GLORYS12 conditions, scores proximity risk, and optimizes a constrained route. The normalized result is retained in browser session state for map review and analysis pages, including an assistant that explains analysis outputs. The backend orchestration and frontend request mapping are sampled; other UI-page wiring is represented only where documented or evident from the tree.
Main entry points: main.py FastAPI Analysis · ShipNavigation.jsx Route Inputs · polarisApi.js API Client · pages Review Pages
Components 17
Interactive Review
- Route Inputs
frontend/src/pages/ShipNavigation.jsx - API Client
frontend/src/api/polarisApi.js - Analysis State
frontend/src/context/NavigationAnalysisContext.jsx - Review Pages
frontend/src/pages - 3D Map
frontend/src/components/MapView.jsx - AI Assistant
frontend/src/pages/AIAssistant.jsx
Analysis API
- FastAPI Analysis
backend/main.py
Forecast Inputs
- Feature Extraction
backend/services/feature_extractor.py - B15A Records
backend/B15A_Wanderer_2008.txt - Trajectory Prediction
backend/predict.py - Trained Model
backend/iceberg_model.pkl - Environmental Lookup
backend/services/environment.py - GLORYS12 Reference
backend/data/GLORYS12.nc
Risk And Routing
- Proximity Risk
backend/services/risk_engine.py - Route Optimizer
backend/services/navigation.py
Other components
- Vessel Operator
- Human Decision
Connections 20
- Vessel Operator → Route Inputs: enters route inputs
- Route Inputs → API Client: requests analysis
- API Client → FastAPI Analysis: POST analysis
- FastAPI Analysis → Feature Extraction: extracts features
- Feature Extraction → B15A Records: reads records
- FastAPI Analysis → Trajectory Prediction: predicts trajectory
- Trajectory Prediction → Trained Model: loads model
- FastAPI Analysis → Environmental Lookup: looks up conditions
- Environmental Lookup → GLORYS12 Reference: reads dataset
- FastAPI Analysis → Proximity Risk: evaluates risk
- FastAPI Analysis → Route Optimizer: optimizes route
- Route Optimizer → Environmental Lookup: checks grid conditions
- FastAPI Analysis → API Client: returns analysis
- API Client → Route Inputs: normalizes result
- Route Inputs → Analysis State: stores analysis
- Analysis State → Review Pages: provides analysis
- Review Pages → 3D Map: renders visualization
- Review Pages → AI Assistant: shows explanations
- AI Assistant → Human Decision: supports review
- 3D Map → Human Decision: presents route