# aditya-bisoi/antarctic-digital-twin architecture

> Architecture diagram of the GitHub repository aditya-bisoi/antarctic-digital-twin, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/aditya-bisoi/antarctic-digital-twin
- Repository: https://github.com/aditya-bisoi/antarctic-digital-twin

## Overview

The product is an Antarctic station digital-twin and operational decision-support platform for Maitri and Bharati. Users enter through the dashboard, inspect station telemetry and infrastructure, run weather or equipment scenarios, and use risk, resilience, and intervention analysis to guide decisions. The frontend includes a physics simulation and radar/3D views; the Django API provides station and simulation capabilities. README features inform the map where source excerpts were unavailable, so uncertain internal wiring is omitted.

Main entry points: [`remix-antarctic-digital-twin/src/components/simulation/SimulationPage.tsx`](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/components/simulation/SimulationPage.tsx) (Simulation UI), [`remix-antarctic-digital-twin/src/api/client.ts`](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/api/client.ts) (API client), [`remix-antarctic-digital-twin/src/simulation/TwinOfTwinsEngine.ts`](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/simulation/TwinOfTwinsEngine.ts) (Twin comparison), [`remix-antarctic-digital-twin/src/App.tsx`](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/App.tsx) (App routing)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Operations UI"]
  node_app["App routing<br/>[App.tsx]"]
  node_dashboard["Station dashboards"]
  node_twinview["3D twin views"]
  node_map["Station map"]
  node_simui["Simulation UI<br/>[SimulationPage.tsx]"]
  node_radar["Radar display<br/>[RadarDisplay.tsx]"]
  node_intelui["Intelligence UI"]
  node_api_client["API client<br/>[client.ts]"]
end

subgraph group_frontend_sim["Twin Simulation"]
  node_sim_engine["Physics engine"]
  node_scenarios["Scenario library<br/>[ScenarioLibrary.ts]"]
end

subgraph group_backend_api["Django API"]
  node_django["API routing<br/>[urls.py]"]
  node_station_views["Station endpoints<br/>[views.py]"]
  node_station_models[("Station records<br/>[models.py]")]
  node_simulation_views["Simulation endpoints<br/>[views.py]"]
  node_backend_engine["Backend physics<br/>[engine.py]"]
  node_radar_service["Radar observations"]
end

subgraph group_analysis["Decision Analysis"]
  node_interventions["Intervention optimizer"]
  node_prediction["Failure prediction"]
  node_capability["Capability assessment"]
  node_comparison["Twin comparison"]
  node_station_services["Station insights<br/>[services.py]"]
  node_backend_services["Operational advice<br/>[services.py]"]
  node_backend_optimizer["Plan optimizer<br/>[optimizer.py]"]
end

node_operator(("Station operator"))

node_operator -->|"uses"| node_app
node_app -->|"routes to"| node_dashboard
node_app -->|"routes to"| node_simui
node_app -->|"routes to"| node_intelui
node_dashboard -->|"requests telemetry"| node_api_client
node_simui -->|"runs simulation"| node_sim_engine
node_simui -->|"selects scenarios"| node_scenarios
node_simui -->|"evaluates plans"| node_interventions
node_simui -->|"shows radar"| node_radar
node_twinview -->|"visualizes state"| node_sim_engine
node_map -->|"opens station"| node_dashboard
node_intelui -->|"requests insights"| node_api_client
node_interventions -->|"scores interventions"| node_sim_engine
node_prediction -->|"informs assessment"| node_capability
node_comparison -->|"runs station scenarios"| node_sim_engine
node_comparison -->|"loads scenario"| node_scenarios
node_comparison -->|"generates predictions"| node_prediction
node_comparison -->|"assesses capabilities"| node_capability
node_api_client -->|"calls API"| node_django
node_django -->|"routes station requests"| node_station_views
node_django -->|"routes simulation requests"| node_simulation_views
node_station_views -->|"reads station data"| node_station_models
node_station_views -->|"generates insights"| node_station_services
node_simulation_views -->|"runs simulation"| node_backend_engine
node_simulation_views -->|"requests recommendations"| node_backend_services
node_backend_services -->|"optimizes plans"| node_backend_optimizer
node_station_views -.->|"requests recommendations"| node_backend_services
node_radar -.->|"requests radar data"| node_api_client
node_api_client -.->|"fetches radar"| node_radar_service

click node_app "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/App.tsx"
click node_dashboard "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/components/StationDashboard.tsx"
click node_twinview "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/components/DigitalTwinView.tsx"
click node_map "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/components/AntarcticStationMap.tsx"
click node_simui "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/components/simulation/SimulationPage.tsx"
click node_radar "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/components/simulation/RadarDisplay.tsx"
click node_intelui "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/components/intelligence/IntelligencePage.tsx"
click node_api_client "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/api/client.ts"
click node_sim_engine "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/simulation/SimulationEngine.ts"
click node_scenarios "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/simulation/ScenarioLibrary.ts"
click node_interventions "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/simulation/InterventionEngine.ts"
click node_prediction "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/simulation/PredictiveEngine.ts"
click node_capability "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/simulation/CapabilityIntelligence.ts"
click node_comparison "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/simulation/TwinOfTwinsEngine.ts"
click node_django "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/config/urls.py"
click node_station_views "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/stations/views.py"
click node_station_models "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/stations/models.py"
click node_station_services "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/stations/services.py"
click node_simulation_views "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/simulation/views.py"
click node_backend_engine "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/simulation/engine.py"
click node_backend_services "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/simulation/services.py"
click node_backend_optimizer "https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/simulation/optimizer.py"
click node_radar_service "https://github.com/aditya-bisoi/antarctic-digital-twin/tree/main/remix-antarctic-digital-twin/backend/simulation"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_dashboard,node_twinview,node_map,node_simui,node_radar,node_intelui,node_api_client toneBlue
class node_sim_engine,node_scenarios toneAmber
class node_django,node_station_views,node_station_models,node_simulation_views,node_backend_engine,node_radar_service toneMint
class node_interventions,node_prediction,node_capability,node_comparison,node_station_services,node_backend_services,node_backend_optimizer toneRose
class node_operator toneIndigo
```

## Components

### Operations UI

- [App routing](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/App.tsx): `remix-antarctic-digital-twin/src/App.tsx`
- [Station dashboards](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/components/StationDashboard.tsx): `remix-antarctic-digital-twin/src/components/StationDashboard.tsx`
- [3D twin views](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/components/DigitalTwinView.tsx): `remix-antarctic-digital-twin/src/components/DigitalTwinView.tsx`
- [Station map](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/components/AntarcticStationMap.tsx): `remix-antarctic-digital-twin/src/components/AntarcticStationMap.tsx`
- [Simulation UI](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/components/simulation/SimulationPage.tsx): `remix-antarctic-digital-twin/src/components/simulation/SimulationPage.tsx`
- [Radar display](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/components/simulation/RadarDisplay.tsx): `remix-antarctic-digital-twin/src/components/simulation/RadarDisplay.tsx`
- [Intelligence UI](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/components/intelligence/IntelligencePage.tsx): `remix-antarctic-digital-twin/src/components/intelligence/IntelligencePage.tsx`
- [API client](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/api/client.ts): `remix-antarctic-digital-twin/src/api/client.ts`

### Twin Simulation

- [Physics engine](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/simulation/SimulationEngine.ts): `remix-antarctic-digital-twin/src/simulation/SimulationEngine.ts`
- [Scenario library](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/simulation/ScenarioLibrary.ts): `remix-antarctic-digital-twin/src/simulation/ScenarioLibrary.ts`

### Django API

- [API routing](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/config/urls.py): `remix-antarctic-digital-twin/backend/config/urls.py`
- [Station endpoints](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/stations/views.py): `remix-antarctic-digital-twin/backend/stations/views.py`
- [Station records](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/stations/models.py): `remix-antarctic-digital-twin/backend/stations/models.py`
- [Simulation endpoints](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/simulation/views.py): `remix-antarctic-digital-twin/backend/simulation/views.py`
- [Backend physics](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/simulation/engine.py): `remix-antarctic-digital-twin/backend/simulation/engine.py`
- [Radar observations](https://github.com/aditya-bisoi/antarctic-digital-twin/tree/main/remix-antarctic-digital-twin/backend/simulation): `remix-antarctic-digital-twin/backend/simulation`

### Decision Analysis

- [Intervention optimizer](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/simulation/InterventionEngine.ts): `remix-antarctic-digital-twin/src/simulation/InterventionEngine.ts`
- [Failure prediction](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/simulation/PredictiveEngine.ts): `remix-antarctic-digital-twin/src/simulation/PredictiveEngine.ts`
- [Capability assessment](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/simulation/CapabilityIntelligence.ts): `remix-antarctic-digital-twin/src/simulation/CapabilityIntelligence.ts`
- [Twin comparison](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/src/simulation/TwinOfTwinsEngine.ts): `remix-antarctic-digital-twin/src/simulation/TwinOfTwinsEngine.ts`
- [Station insights](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/stations/services.py): `remix-antarctic-digital-twin/backend/stations/services.py`
- [Operational advice](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/simulation/services.py): `remix-antarctic-digital-twin/backend/simulation/services.py`
- [Plan optimizer](https://github.com/aditya-bisoi/antarctic-digital-twin/blob/main/remix-antarctic-digital-twin/backend/simulation/optimizer.py): `remix-antarctic-digital-twin/backend/simulation/optimizer.py`

### Other components

- **Station operator**

## Connections

- Station operator → App routing: uses
- App routing → Station dashboards: routes to
- App routing → Simulation UI: routes to
- App routing → Intelligence UI: routes to
- Station dashboards → API client: requests telemetry
- Simulation UI → Physics engine: runs simulation
- Simulation UI → Scenario library: selects scenarios
- Simulation UI → Intervention optimizer: evaluates plans
- Simulation UI → Radar display: shows radar
- 3D twin views → Physics engine: visualizes state
- Station map → Station dashboards: opens station
- Intelligence UI → API client: requests insights
- Intervention optimizer → Physics engine: scores interventions
- Failure prediction → Capability assessment: informs assessment
- Twin comparison → Physics engine: runs station scenarios
- Twin comparison → Scenario library: loads scenario
- Twin comparison → Failure prediction: generates predictions
- Twin comparison → Capability assessment: assesses capabilities
- API client → API routing: calls API
- API routing → Station endpoints: routes station requests
- API routing → Simulation endpoints: routes simulation requests
- Station endpoints → Station records: reads station data
- Station endpoints → Station insights: generates insights
- Simulation endpoints → Backend physics: runs simulation
- Simulation endpoints → Operational advice: requests recommendations
- Operational advice → Plan optimizer: optimizes plans
- Station endpoints → Operational advice: requests recommendations
- Radar display → API client: requests radar data
- API client → Radar observations: fetches radar
