ERCOT logo

Wind Generation by Region

Hourly wind generation across the ERCOT footprint in Texas, broken out by geographic region (five regions plus the system-wide total), with both observed output and the successive forecast vintages ERCOT publishes ahead of each hour.

Native record
target hour x forecast vintage x geography
hourly (forecast vintages) publication cadence
Evidence
Mixed evidence
Multiple evidence types kept distinct in the contract
Time basis
Point-in-time records
UTC · event_time

Overview

Because wind is concentrated in specific parts of the state, the regional split shows where the generation is physically coming from and how it shifts with weather. Comparing the forecast vintages against the realized values reveals how wind expectations firmed up as the operating hour approached, which informs net-load estimates, congestion and ramping risk, and price formation. Sourced from ERCOT report NP4-742-CD (Wind Power Production).

Query contract

Choose one geography and one source_time vintage per event_time before comparing forecast and actual wind output. Use geography='system_wide' for an ERCOT-wide value.

Analysis rules

  • Do not sum regional rows together with geography='system_wide', and do not sum forecast vintages.

Interpretation

  • actual_mw and wind forecast fields measure generation output, not gross electricity demand. A wind forecast miss may change net load and dispatch needs, but it does not establish the cause or magnitude of an ERCOT gross-load forecast error.

Access

Query from your own tools

Use the guarded HTTP endpoint directly, or connect an MCP client and load the dataset contract with describe_data before calling query_data.

HTTP endpoint
POST /api/v1/datasets/ercot_wind_generation_geo/query

Schema11

Column
Type
event_timeDateTime64(6, 'UTC')
source_timeDateTime64(6, 'UTC')
geographyLowCardinality(String)
actual_mwNullable(Float64)
cop_hsl_mwNullable(Float64)
stwpf_mwNullable(Float64)
wgrpp_mwNullable(Float64)
dst_flagNullable(Bool)
emil_idNullable(String)
doc_idNullable(Int64)
ingested_atDateTime64(6, 'UTC')

Sample data

event_timesource_timegeographyactual_mwcop_hsl_mwstwpf_mwwgrpp_mwdst_flagemil_iddoc_idingested_at
2026-09-25 05:00:00.0000002026-09-25 01:55:12.000000west∅9482.89734.79131.1false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-25 01:55:12.000000system_wide∅14518.914903.913793.2false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-25 01:55:12.000000south∅1345.11370.61251false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-25 01:55:12.000000panhandle∅1096.51185.81049.9false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-25 01:55:12.000000north∅1547.51550.81458.3false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-25 01:55:12.000000coastal∅10471062902.9false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-25 00:55:12.000000west∅9882.410107.49480.4false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-25 00:55:12.000000system_wide∅14830.615175.914020.7false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-25 00:55:12.000000south∅1381.11406.11280.9false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-25 00:55:12.000000panhandle∅1075.81152.51011.4false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-25 00:55:12.000000north∅1412.914151318.4false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-25 00:55:12.000000coastal∅1078.41094.9929.6false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-24 23:55:12.000000west∅10316.810537.29873.7false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-24 23:55:12.000000system_wide∅15198.515511.614288.7false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-24 23:55:12.000000south∅1407.71430.21297.7false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-24 23:55:12.000000panhandle∅918.5971.1821.8false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-24 23:55:12.000000north∅1526.81528.51426.1false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-24 23:55:12.000000coastal∅1028.71044.6869.4false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-24 22:55:12.000000west∅10168.9104569750.1false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-24 22:55:12.000000system_wide∅15304.915684.214383.2false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-24 22:55:12.000000south∅1436.41462.31321.6false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-24 22:55:12.000000panhandle∅1105.51153.6994.8false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-24 22:55:12.000000north∅1597.51597.51488.4false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-24 22:55:12.000000coastal∅996.61014.8828.3false∅∅2026-09-25 02:29:02.419191
2026-09-25 05:00:00.0000002026-09-24 21:55:12.000000west∅9683.79925.99178.9false∅∅2026-09-25 02:29:02.419191

Coverage

100.0% complete0 gap days3,427 days with data
Show coverage history
Coverage: 100.0%Days with data: 3,427Gaps: 0
2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
gaplessmore