Solar DSM Intelligence
Connecting…

Locations & Substations

Solar sites, weather grid coverage, and grid substations (OpenStreetMap / operator CSV). Every substation keeps its source and confidence; coordinates are never invented.

OpenStreetMap· Overpass API · ODbL344 substations· REAL_BENGALURUOpen-Meteo· weather at substation coords
Formulas used
Reliability scoreFALLBACK_DEFAULT
reliability = 0.6
  − 0.1 × (missing voltage_kv ? 1 : 0)
  − 0.1 × (missing operator ? 1 : 0)
  − 0.1 × (missing district ? 1 : 0)
# clamped to [0.3, 0.6]
Haversine distance (nearest substation)OFFICIAL_SOURCE
d = 2R · arcsin(√(sin²(Δlat/2)
        + cos(lat₁)·cos(lat₂)·sin²(Δlon/2)))
R = 6371 km
Substation context (SubstationContext)REAL_BENGALURU
context = {
  substation_id, name, lat, lon,  # always present
  operator, voltage_kv,        # may be null
  capacity_mva, district,       # 100% null in OSM
  source_label: REAL_BENGALURU,
  reliability_score: 0.3–0.6,
  capacity_status: NOT_AVAILABLE
}
Agent workflow (substation-driven)Deterministic Python
SubstationContext
  → WeatherAgent(lat, lon)
  → SolarIrradianceAgent(GHI → DNI/DHI)
  → CloudRiskAgent(P(cloud drop))
  → GenerationTimelineAgent(MW per hour)
  → DSMAgent(deviation risk)
  → OrchestratorAgent(trace assembly)
Provenance: REAL_BENGALURU — 344 substations from OpenStreetMap Overpass (ODbL 1.0). capacity_mva is never present in OSM for power=substation and is shown as NOT_AVAILABLE — no fabrication.
Checking backend…