- Add 7 new grid regions (BPA, DUKE, SOCO, TVA, FPC, WAPA, NWMT) to cover entire continental US - Expand datacenters from 108 to 292 facilities across 39 operators - Add EIA power plant pipeline: download script, 3,546 plants >= 50 MW with diamond map markers - Rewrite backfill script for 10-year data (2015-07-01) with quarterly/monthly chunking, 3-region parallelism, resumability - Add materialized views (daily/weekly) with server-side granularity selection for chart performance - Fix map UX: z-index tooltips, disable POI clicks, move legend via MapControl
22 lines
761 B
SQL
22 lines
761 B
SQL
-- @param {DateTime} $1:startDate
|
|
-- @param {DateTime} $2:endDate
|
|
-- @param {String} $3:regionCode - pass 'ALL' to return all regions
|
|
SELECT
|
|
r.code AS region_code,
|
|
r.name AS region_name,
|
|
ep.timestamp AS day,
|
|
ep.demand_mw AS avg_demand,
|
|
ep.demand_mw AS peak_demand,
|
|
COALESCE(dc.datacenter_count, 0)::INT AS datacenter_count,
|
|
COALESCE(dc.total_dc_capacity_mw, 0) AS total_dc_capacity_mw
|
|
FROM electricity_prices ep
|
|
JOIN grid_regions r ON ep.region_id = r.id
|
|
LEFT JOIN (
|
|
SELECT region_id, COUNT(*)::INT AS datacenter_count,
|
|
COALESCE(SUM(capacity_mw), 0) AS total_dc_capacity_mw
|
|
FROM datacenters GROUP BY region_id
|
|
) dc ON dc.region_id = r.id
|
|
WHERE ep.timestamp BETWEEN $1 AND $2
|
|
AND ($3 = 'ALL' OR r.code = $3)
|
|
ORDER BY r.code, ep.timestamp
|