Infrastructure

Power plants, substations, pricing nodes, interconnection queues, and hosting-capacity records that connect market data to the physical and administrative grid.

95 datasetspublished by ATG DataUS reference58SPP10PJM6ERCOT5CAISO5NYISO4ISONE4MISO3

Infrastructure datasets
DatasetRows
Advanced MetersATG Data·US reference·EIA-861 advanced metering: AMR, AMI and other meter counts, AMI energy served and customer access, by utility and customer class. Advanced_Meters, one row per utility, state, balancing authority and customer class. customer_class is residential, commercial, industrial, transportation (direct_connected in the distributed generation tables) or EIA's own total, so summing classes without excluding total counts everything twice. event_time is 1 January of the report year. release is final or early_release: EIA posts an early release of a year in August and replaces it with the final file in the autumn, and the mirror keeps the newest row per key. A key cell EIA leaves blank is '' or 0, and duplicate_index numbers rows that still share a key, in workbook order.181.7K2012
AESO Asset ListATG Data·US reference·AESO's registry of market assets: asset code, name, pool participant, operating status and asset type (source, sink and others), including retired assets.——
Alberta (AESO) Price LocationsATG Data·US reference·Every Alberta (AESO) location that carries a price, as three columns: location_id, name, and kind. 1 rows — system (1). This is the dimension the Alberta (AESO) price, and where applicable constraint, tables join to, and it is the one place a location's type is decided: resolve "which hubs exist", "is this a zone or a node", or "give me the readable name for this id" here rather than inferring a type from a name prefix. For Alberta, the one location_id is SYSTEM: the pool price (aeso.pool_price) and system marginal price (aeso.system_marginal_price) are system-wide and carry no location column. Alberta has no nodal, zonal or hub prices; do not look for one. Generating assets are identified by AESO asset code in aeso.unit_status and aeso.asset_list, not here. The same three columns exist for every market, so the equivalent question in another ISO is the same query against that ISO's table.——
Baja California (CENACE) Price LocationsATG Data·US reference·Every Baja California (CENACE) location that carries a price, as three columns: location_id, name, and kind. 4 rows — zone (4). This is the dimension the Baja California (CENACE) price, and where applicable constraint, tables join to, and it is the one place a location's type is decided: resolve "which hubs exist", "is this a zone or a node", or "give me the readable name for this id" here rather than inferring a type from a name prefix. For Baja California, location_id is CENACE's load zone (TIJUANA, MEXICALI, ENSENADA, SANLUIS) and joins cenace.zonal_prices.load_zone; name is the city it is named for. CENACE prices Baja California by load zone only; there are no nodes or hubs in this dimension. The same three columns exist for every market, so the equivalent question in another ISO is the same query against that ISO's table.4—
Baja Grid Footprint (OpenStreetMap)ATG Data·US reference·The administrative boundaries that make up the Baja California control area's footprint: Baja California and San Luis Rio Colorado, Sonora.72026
Baja Power Plants (OpenStreetMap)ATG Data·US reference·Power plants mapped in OpenStreetMap across Baja California and San Luis Rio Colorado (gas, geothermal, wind, solar, oil) with rated output and operator.892026
Baja Substations (OpenStreetMap)ATG Data·US reference·Substations mapped in OpenStreetMap across Baja California and San Luis Rio Colorado, with operator, type and voltage where tagged.5952026
Baja Transmission Lines (OpenStreetMap)ATG Data·US reference·Transmission lines mapped in OpenStreetMap across Baja California and San Luis Rio Colorado, 69 to 400 kV, with voltage, circuits, operator and route.1.8K2026
BPA Anemometer TowersATG Data·US reference·BPA's anemometer towers with coordinates, elevation and sensor heights, active and retired.442026
BPA Interconnection QueueATG Data·US reference·BPA's public large-generator interconnection queue, with requested capacity, technology, county and state, proposed point of interconnection, BPA's status, and agreed in-service dates. Each posting is a snapshot: current totals must use one latest snapshot, and requested queue MW is not operating capacity, available transmission headroom, completed study work, or evidence that a project will be built. BPA runs line and load requests as a separate queue, held in interconnection_queue.bpat_load.24.2K2000
BPA Line and Load Interconnection QueueATG Data·US reference·BPA's public line and load interconnection queue: requests to connect new load, or a new line, to BPA's transmission system, with the requesting utility or customer, county, requested MW, BPA's status, and agreed in-service dates. Each posting is a snapshot: current totals must use one latest snapshot, and requested MW is neither approved nor connected load. Generator requests are a separate queue, held in interconnection_queue.bpat.11.0K2004
CAISOCAISO Interconnection QueueATG Data·CAISO·CAISO's public generation interconnection queue, combining active, completed, and withdrawn projects with the proposed point of interconnection, technology, requested capacity, status, and completion dates. Each posting is a snapshot: current totals must use one latest snapshot, and requested queue MW is not operating capacity, available transmission headroom, or evidence that a project will be built.141.2K1999
CAISOCAISO Price LocationsATG Data·CAISO·Every CAISO location that carries a price, as three columns: location_id, name, and kind. 26,632 rows — node (26,048), interface (578), zone (6). This is the dimension the CAISO price, and where applicable constraint, tables join to, and it is the one place a location's type is decided: resolve "which hubs exist", "is this a zone or a node", or "give me the readable name for this id" here rather than inferring a type from a name prefix. For CAISO, name equals location_id (the pnode name). The same three columns exist for every market, so the equivalent question in another ISO is the same query against that ISO's table.26.8K—
CENACE Connection and Interconnection QueuesATG Data·US reference·Every load connection request (queue 'connection') and generation interconnection request (queue 'interconnection') in CENACE's queues: registration, status, expected operation date, capacity, technology, municipality, state and control region.——
CNE Electricity PermitsATG Data·US reference·Every electricity permit in Mexico's public energy-permit register (the CNE, formerly the CRE): permit number, holder, project alias, the status the register reports, and its case file, with the source record kept whole in native_json.——
Columbia River Dam Series RegistryATG Data·US reference·The CWMS series collected into usace_nwd.project_timeseries, with project name, coordinates, unit and period of record.9182026
DER Hosting Capacity by CountyATG Data·US reference·NYSERDA Integrated Energy Data Resource (IEDR) per-county rollup for New York State's 62 counties: DER counts by status, county population and centroid, and IEDR's min/max/total hosting capacity for generic DER, ESS charging, ESS discharging, and EV load. `feeder_count` is NOT a feeder count: it counts every hosting-capacity record IEDR maps in the county (line segments, feeders and Con Ed network records). The `total_*` columns add up those records' per-location values, which share feeder capacity, so they are not capacity or headroom: never quote them as MW available. For how much of a county can take a project, count records in `iedr.hosting_capacity_assets` instead. `county_id` is an IEDR-internal identifier, NOT a FIPS code. Bitemporal snapshot: use argMax(..., event_time) per county_id for the current row.5.1K2026
DER Hosting Capacity by Grid SectionATG Data·US reference·Every record on NYSERDA IEDR's New York hosting-capacity map, one row per weekly snapshot: `asset_type` is `segment` (a line section of a radial feeder), `feeder`, or Con Ed's `network`, `network-area`, `network-structure` and `transformer`; `parent_id` links a segment to its feeder. Each `*_max_hosting_capacity_mw` is the largest single project that could connect AT THAT POINT before upgrades, for generic DER, ESS charging, ESS discharging and EVSE. Points on a feeder share its capacity, so NEVER sum these values: count or rank locations instead (for example the share of a county's `segment` and `network-area` rows with `max_hosting_capacity_mw >= 1`). Utility methods differ: Central Hudson values stop at 6 MW and the rest at 10, Orange and Rockland publishes bands (0.99, 1.99, 2.99, 4.99), LIPA and Orange and Rockland publish no ESS values, and Con Ed `network` rows read like kW. Read one snapshot at a time: `event_time = (SELECT max(event_time) FROM iedr.hosting_capacity_assets)`.6.3M2026
Distribution SystemsATG Data·US reference·EIA-861 distribution systems: distribution circuit counts and circuits with voltage optimization, by utility. Distribution_Systems, 2013 on. event_time is 1 January of the report year. release is final or early_release: EIA posts an early release of a year in August and replaces it with the final file in the autumn, and the mirror keeps the newest row per key. A key cell EIA leaves blank is '' or 0, and duplicate_index numbers rows that still share a key, in workbook order.24.1K2013
PJMEDART voltage limits CSV/ZIPATG Data·PJM·PJM's EDART voltage limits CSV/ZIP. Each row preserves a publisher record, workbook row, or report document with its source member and row index. Source timestamps, units, geographic scope, and revision qualifiers are retained in record_json; event_time is collection time; completed_at is when the entire document became available.4712026
ERCOTERCOT Interconnection QueueATG Data·ERCOT·ERCOT's public large-generation interconnection queue, with project identity, developer, proposed point of interconnection, transmission owner, technology, requested MW, queue status, and proposed or actual completion dates. Each posting is a snapshot, so current project claims must use the latest snapshot rather than count every vintage. Queue inclusion and proposed dates do not establish available transmission headroom, study outcome, approval, construction probability, or an operating asset. The official source is ERCOT's GIS Report.113.1K2006
ERCOTERCOT Price LocationsATG Data·ERCOT·Every ERCOT location that carries a price, as three columns: location_id, name, and kind. 20,456 rows — bus (19,329), node (1,100), weather_zone (8), zone (8), hub (7), interface (4). This is the dimension the ERCOT price, and where applicable constraint, tables join to, and it is the one place a location's type is decided: resolve "which hubs exist", "is this a zone or a node", or "give me the readable name for this id" here rather than inferring a type from a name prefix. For ERCOT, name equals location_id — the settlement-point name is the identifier. The key is (location_id, kind), not location_id alone: 161 ERCOT names exist as both a settlement point and an electrical bus, and those are separately priced objects. Filter on kind when a name could be either. The same three columns exist for every market, so the equivalent question in another ISO is the same query against that ISO's table.20.6K—
CAISOGenerating Capability ListATG Data·CAISO·Every resource in the CAISO control area with its name, owner, technology, capacity, PTO area and COD, snapshotted monthly from the Master Control Area Generating Capability List. The OASIS `ATL_GEN_CAP_LST` report (version 4), one row per (monthly snapshot, resource_id). It is the registry that says what a resource IS: `caiso.resources` gives only the node a resource settles at, and this gives its name, owner, technology and capacity. `grid.plant_nodes` binds CAISO resources to EIA-860 plants through it. `gen_unit_name` is CAISO's name for the unit ("Bateria Del Sur" for `WESCAN_2_BDSBT1`), often not EIA's name for the plant. An aggregated resource lists its members as their own rows with `parent_resource_id` set, and the parent carries the aggregate's capacity, so summing every row counts an aggregate twice. `energy_source` is CAISO's fuel code: SUN, WIND, LESR (storage), HYBD (hybrid), WATER, URANIUM and so on. `pto_area` is the transmission owner's area (SDGE, SCE, PGAE, VEA); `baa_id` includes resources pseudo-tied or dynamically scheduled in from IID, LADWP and others. History starts 2023-07-01; OASIS returns no data for earlier months.74.9K2023
SPPHub Membership and Published WeightsATG Data·SPP·Published parent/child Pnode membership and unnormalized weighting factors. The report includes resource aggregates as well as trading hubs; a HUB label does not mean one of the two trading hubs. Complete views require a matching receipt and mirrored row count; empty results are unknown coverage. Raw sources retain publication history internally.3.6K2026
Hydro-Québec Generating StationsATG Data·US reference·Hydro-Québec's own list of its generating stations: watershed, river, run-of-river or reservoir type, installed capacity, units, head and commissioning years.——

About infrastructure data

Infrastructure datasets provide the reference layer for locating and interpreting grid activity. Research existing plants and substations, proposed generation and storage projects, market pricing-point identifiers, and distribution hosting capacity without treating a queue entry or reference record as proof that a project was built or is operating.