How shivamgawade-xs/nsc works
Tellura is a climate-observation analytics workstation: users choose a dataset, variable, time span and region, submit an analysis, then inspect mapped trends and cell-level evidence, compare or discover signals, and export results. The graph follows the evidenced browser-to-API analysis path and preserves README-described scientific capabilities, plus dataset adapters and supporting cache state. Several feature modules are documented or indexed but unsampled, so their internal calls are omitted rather than inferred.
Main entry points: analysis.py Analysis Endpoint · useStore.js Analysis State · DashboardPage.jsx Analysis Workspace · base.py Observation Adapters
Components 29
Scientific Workstation
- Analysis Workspace
frontend-react/src/pages/DashboardPage.jsx - Analysis Controls
frontend-react/src/components/AnalysisPanel.jsx - Analysis State
frontend-react/src/store/useStore.js - API Client
frontend-react/src/api/client.js - Trend Map
frontend-react/src/components/TrendMap.jsx - Evidence View
frontend-react/src/components/EvidencePanel.jsx - Result Exports
frontend-react/src/components/ExportButtons.jsx
API and Data
- API Router
backend/app/api/endpoints.py - Analysis Endpoint
backend/app/api/routers/analysis.py - Analysis Schemas
backend/app/schemas/analysis.py - Shared Data Access
backend/app/api/shared.py - Observation Adapters
backend/app/adapters/base.py - MERRA-2 Adapter
backend/app/adapters/merra2.py - NASA POWER Adapter
backend/app/adapters/nasa_power.py - Planetary Computer
backend/app/adapters/planetary_computer.py
Climate Analysis
- Trend Statistics
backend/app/science/trend.py - Spatial Clustering
backend/app/science/spatial.py - Signal Metrics
backend/app/api/shared.py - Event Attribution
backend/app/science/attribution.py - Compound Hazards
backend/app/science/copula_hazard.py - Climate Velocity
backend/app/science/climate_velocity.py - Signal Discovery
backend/app/science/discovery.py - Robustness Analysis
backend/app/science/robustness.py - Natural Language Queries
backend/app/science/nlq_parser.py - Export Generation
backend/app/science/export.py
Platform Services
- Analysis Cache
backend/app/core/db_cache.py - Authentication
backend/app/core/auth.py - Application Runtime
backend/app/main.py
Other components
- Researcher
Connections 31
- Researcher → Analysis Workspace: uses
- Analysis Workspace → Analysis Controls: renders
frontend-react/src/pages/DashboardPage.jsx - Analysis Workspace → Trend Map: renders
frontend-react/src/pages/DashboardPage.jsx - Analysis Workspace → Evidence View: renders
frontend-react/src/pages/DashboardPage.jsx - Analysis Controls → Analysis State: updates
frontend-react/src/components/AnalysisPanel.jsx - Analysis State → API Client: requests analysis
frontend-react/src/store/useStore.js - API Client → API Router: HTTP requests
- API Router → Analysis Endpoint: routes
backend/app/api/endpoints.py - Analysis Endpoint → Analysis Schemas: validates
backend/app/api/routers/analysis.py - Analysis Endpoint → Shared Data Access: uses data helpers
backend/app/api/routers/analysis.py - Analysis Endpoint → Analysis Cache: reads and writes
backend/app/api/routers/analysis.py - Analysis Endpoint → Observation Adapters: selects dataset
- Observation Adapters → MERRA-2 Adapter: implements
backend/app/adapters/merra2.py - Observation Adapters → NASA POWER Adapter: implements
backend/app/adapters/nasa_power.py - Observation Adapters → Planetary Computer: implements
backend/app/adapters/planetary_computer.py - Analysis Endpoint → Trend Statistics: computes trends
backend/app/api/routers/analysis.py - Trend Statistics → Spatial Clustering: uses clustering
backend/app/science/trend.py - Shared Data Access → Signal Metrics: computes metrics
backend/app/api/shared.py - Analysis Endpoint → Event Attribution: supports attribution
- Analysis Endpoint → Compound Hazards: supports compound analysis
backend/app/api/routers/analysis.py - Analysis Endpoint → Climate Velocity: serves velocity
backend/app/api/routers/analysis.py - Analysis Endpoint → Signal Discovery: ranks discoveries
backend/app/api/routers/analysis.py - Analysis Endpoint → Robustness Analysis: runs robustness
backend/app/api/routers/analysis.py - Analysis Endpoint → Natural Language Queries: parses queries
- Analysis Endpoint → Export Generation: generates exports
- Analysis Endpoint → Authentication: checks access
backend/app/api/routers/analysis.py - Application Runtime → API Router: mounts routes
backend/app/main.py - Application Runtime → Authentication: configures security
backend/app/main.py - Analysis State → Trend Map: supplies results
frontend-react/src/store/useStore.js - Analysis State → Evidence View: supplies results
frontend-react/src/components/EvidencePanel.jsx - Analysis State → Result Exports: supplies results