Trump officials have argued that coal is more reliable than solar because it can generate power around the clock. But even with that advantage, coal plants in Texas can’t keep up with the total annual and monthly production from the rapidly growing solar fleet. This has not damaged grid reliability, because ERCOT meets evening demand with a diverse portfolio, including gas plants, nuclear, wind, and, increasingly, batteries, which store all that excess solar power for use when the sun stops shining.
Of course, Texas leaders did not set out to disprove the Trump administration’s energy claims. The maverick Lone Star State kept its electricity system out of the hands of federal regulators, and in the 1990s and early 2000s reformed it to promote free market competition instead of centralized planning by monopoly utilities. That market, coupled with lots of space and lax building regulations, has made an ideal environment for wind, solar, and batteries to flourish. Now, Texas is fortified with tens of gigawatts of new capacity with which to tackle heat waves and temper price spikes.
Deep-red Texas offers lessons for the liberal states that have committed to lofty climate goals yet failed to build much solar or batteries so far. They can’t immediately switch over to an ERCOT-style market, but they can take steps to speed up the time it takes to get permits and grid connection, dial back the level of deference to habitually conservative legacy utilities, and make sure that clean energy gets a fair shot in the race to serve surging energy needs. And it’s always a good time to reexamine old market rules that subtly privilege entrenched players at the expense of new entrants that would make cheaper and cleaner power.
After more of the rapid-fire solar buildout, EIA expects ERCOT will produce 99 billion kilowatt-hours of solar power in 2027, up 27% from 2026. At that point, the upstart industry will have left its well-established coal competition in the dust.
{
if ($event.target.classList.contains(‘hs-richtext’)) {
if ($event.target.textContent === ‘+ more options’) {
$event.target.remove();
open = true;
}
}
}”
>