ERCOT logo

System Inertia, Frequency & Real-Time Conditions

ERCOT system-wide synchronous inertia and frequency from the public Real-Time System Conditions CDR page, one observed snapshot per publication, approximately every minute.

Native record
ERCOT system x publication snapshot
1-minute snapshot publication cadence
Evidence
Observed market data
Published observations from the named source
Time basis
Point-in-time records
UTC · event_time

Overview

system_inertia_mw_s is stored rotating energy in MW·s; divide by 1000 for GW·s. frequency_hz is system frequency in Hz. The same timestamp carries instantaneous time error, consecutive BAAL exceedance minutes, demand, net load, capacity excluding ancillary services, wind, solar, and signed DC-tie flows. This is the series displayed by ERCOT Radar’s System inertia and System frequency widgets. History accumulates from first ingestion; the upstream snapshot has no historical archive for backfill. It is system-wide, not plant-level or regional inertia, and does not provide inertia forecasts or a current critical-inertia threshold.

Query contract

Read with FINAL to retain one current row per event_time.

Analysis rules

  • Inertia is stored energy in MW·s, not MW or an inertia constant in seconds. Divide by 1000 to display GW·s, as Radar does.
  • Do not sum inertia or frequency across snapshots. Report a timestamped observation, or a named average/minimum/maximum over the requested window.

Interpretation

  • System-wide synchronous inertia does not establish inertia at a plant or region, synthetic inertia, or the cause of a frequency event.
  • Null inertia is an unavailable reading, not zero. This source publishes neither an inertia forecast nor a critical-inertia threshold.

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_real_time_system_conditions/query

Need the full history of this dataset in Snowflake, Databricks or your own storage? Data services delivers it on a schedule.

Schema16

Column
Type
event_timeDateTime64(6, 'UTC')
frequency_hzNullable(Float64)
instantaneous_time_error_secondsNullable(Float64)
baal_exceedance_minutesNullable(Float64)
actual_system_demand_mwNullable(Float64)
average_net_load_mwNullable(Float64)
total_system_capacity_mwNullable(Float64)
total_wind_output_mwNullable(Float64)
total_pvgr_output_mwNullable(Float64)
system_inertia_mw_sNullable(Float64)
dc_e_flow_mwNullable(Float64)
dc_l_flow_mwNullable(Float64)
dc_n_flow_mwNullable(Float64)
dc_r_flow_mwNullable(Float64)
dc_s_flow_mwNullable(Float64)
ingested_atDateTime64(6, 'UTC')

Sample data

event_timefrequency_hzinstantaneous_time_error_secondsbaal_exceedance_minutesactual_system_demand_mwaverage_net_load_mwtotal_system_capacity_mwtotal_wind_output_mwtotal_pvgr_output_mwsystem_inertia_mw_sdc_e_flow_mwdc_l_flow_mwdc_n_flow_mwdc_r_flow_mwdc_s_flow_mwingested_at
2026-10-06 16:07:00.00000060.0040.5330579502160393639338432443270000∅∅∅∅∅2026-10-06 16:07:13.200788
2026-10-06 16:06:00.00000060.0160.520579502160393463337132554270000∅∅∅∅∅2026-10-06 16:06:12.308724
2026-10-06 16:05:00.00000060.0050.5260578792122693647337132554270000∅∅∅∅∅2026-10-06 16:05:12.664708
2026-10-06 16:04:00.00000060.0130.5170578792122693613337132554270000∅∅∅∅∅2026-10-06 16:04:13.025527
2026-10-06 16:03:00.00000060.0170.5010578792122693444337132554270000∅∅∅∅∅2026-10-06 16:03:13.117331
2026-10-06 16:02:00.00000060.0170.4850578792122693138337132554270000∅∅∅∅∅2026-10-06 16:02:12.194461
2026-10-06 16:01:00.00000060.0150.4680578792122691849325032606269995∅∅∅∅∅2026-10-06 16:01:12.545324
2026-10-06 16:00:10.00000060.0190.4540578792122691981325032606269995∅∅∅∅∅2026-10-06 16:00:18.305504
2026-10-06 15:59:00.00000060.0170.430576712106992783325032606270000∅∅∅∅∅2026-10-06 15:59:12.713516
2026-10-06 15:58:00.00000060.0140.4160576712106993164325032606270000∅∅∅∅∅2026-10-06 15:58:13.106774
2026-10-06 15:57:00.00000060.0170.4010576712106993369325032606270000∅∅∅∅∅2026-10-06 15:57:12.006450
2026-10-06 15:56:00.00000060.010.3940576712106993554318632495270000∅∅∅∅∅2026-10-06 15:56:12.255964
2026-10-06 15:55:00.00000060.0010.3890576712106993479318632495270000∅∅∅∅∅2026-10-06 15:55:13.561412
2026-10-06 15:54:10.00000060.0030.3820574142101293500318632495270000∅∅∅∅∅2026-10-06 15:54:15.359132
2026-10-06 15:52:50.00000060.0130.3650574142101293767318632495269995∅∅∅∅∅2026-10-06 15:53:12.074589
2026-10-06 15:52:00.00000060.0150.3530574142101293785318632495269995∅∅∅∅∅2026-10-06 15:52:12.260339
2026-10-06 15:51:00.00000060.0070.3410574142101293257315932547269995∅∅∅∅∅2026-10-06 15:51:12.130448
2026-10-06 15:50:10.00000060.0070.3340574142101293039315932547269995∅∅∅∅∅2026-10-06 15:50:12.475647
2026-10-06 15:49:00.00000059.9940.3350571092068993649315932547270000∅∅∅∅∅2026-10-06 15:49:12.200869
2026-10-06 15:48:00.00000059.9860.3450571092068993689315932547269995∅∅∅∅∅2026-10-06 15:48:12.778584
2026-10-06 15:47:00.00000059.9830.3580571092068993925315932547270000∅∅∅∅∅2026-10-06 15:47:12.266629
2026-10-06 15:46:00.00000059.9830.3770571092068993793307832407270000∅∅∅∅∅2026-10-06 15:46:12.435458
2026-10-06 15:45:00.00000059.9930.3890568562052193815307832407270638∅∅∅∅∅2026-10-06 15:45:15.453168
2026-10-06 15:44:00.00000059.9920.3930568562052193639307832407270638∅∅∅∅∅2026-10-06 15:44:14.460859
2026-10-06 15:43:00.00000060.0150.3830568562052193655307832407270638∅∅∅∅∅2026-10-06 15:43:11.887623

Coverage

100.0% complete0 gap days48 days with data
Show coverage history
Coverage: 100.0%Days with data: 48Gaps: 0
2026
gaplessmore