Honglin Li
  • Research
  • Projects
  • Publications
  • Software
  • Teaching
  • Learn
  • Notes
  • CV
  • Journeys

How much can shifting load to cleaner hours cut emissions, and when?

Average and marginal emission factors, and when moving electricity use to cleaner hours lowers CO₂

Case file CF6 of Energy Systems, Step by Step: average and marginal emission factors, and when moving electricity use to cleaner hours lowers CO₂.
  1. Learn
  2. CF6
  • Analyst · L2
  • Case file
  • 10 min
  • After lesson 12
  • Completed
  1. 1The case
  2. 2Explain
  3. 3Check
  4. 4Sources

1 · The puzzle

Grid electricity is cleaner in some hours than in others. If some electricity use moves into the cleaner hours, without using less in total, how much CO₂ does that save?

Words first: attributed emissions are a share of the grid's CO₂ assigned to a user; intensity is CO₂ per MWh; a window is the stretch of time within which use may move.

2 · The question in one sentence

How much do the emissions attributed to electricity consumption fall when load is re-timed according to hourly average grid emission intensity across U.S. regions, and which strategies suit which types of grid?

Question type: descriptive (how much?), with a prescriptive part (which strategy suits which grid?).

3 · Scale and boundary

  • Inside: U.S. grid regions, every hour of 2023, and each region's load, moved within windows of a month, a quarter or a year.
  • Left out: which plants actually change output when load moves, forecast errors, and the cost of moving load beyond a penalty.

4 · Decisions, goal and rules, in words

  • Decisions: how much each hour's load moves up or down.
  • Goal: the lowest attributed emissions over the window, plus a penalty for each adjusted hour.
  • Rules: the window's total use does not fall; no hour moves beyond the allowed range, such as ±5%.

5 · Data and method

  • A mixed-integer load-regulation model, solved for each window with EIA's hourly data for 2023.
  • Regions are grouped by renewable share, the diversity of their generation and how much their intensity swings; the window, the range and the penalty are varied.

6 · What came out, and where it holds

Longer optimization windows and wider adjustment ranges increased the reduction in attributed emissions, most in renewable-rich and diverse grids.

In grids with diverse generation resources, expanding the adjustment range from ±5% to ±8% can boost carbon reductions from 1.19% to 1.64%.

In the reported scenarios, reductions in attributed emissions were on the order of one to two percent of regional totals or less.

Regions with low intensity fluctuation were more sensitive to the cost of regulating load.

Reductions are computed under average-emission-intensity accounting with perfect foresight; they are not estimates of the consequential (marginal) system response.

Approved excerpt of: Li et al. (2025), Cell Reports Sustainability.

Holds when: each hour keeps its average intensity, and the whole window is known in advance. Leaves out: which plants respond.

The study in time

  1. May 2025 · Paper published. Load re-timed by hourly average emission intensity in U.S. grid regions, with windows of a month, a quarter or a year. Source: Li et al. (2025), Cell Reports Sustainability 2, 100367
  2. 30 October 2026 · Code released. Source: ghg-load-regulation on GitHub, as of 3 November 2026

Every result about the study is quoted from the approved excerpt of the published paper named in the sources. Prairie Town below is illustrative, on real hourly shapes.

The idea behind it, then where the result holds

Move 10 MWh in Prairie Town's day (Prairie Town, 9 June 2025, illustrative)

Negative means less CO₂; t means metric tonnes.

  • Evening → midday (20:00–21:00 to 14:00–15:00): change in attributed emissions −2.4 t; change in what the plants emit −5.5 t.
  • Dawn → small hours (06:00–07:00 to 03:00–04:00): change in attributed emissions −0.3 t; change in what the plants emit 0.0 t.
  • Evening → 08:00 (20:00–21:00 to 08:00–09:00): change in attributed emissions −2.4 t; change in what the plants emit −2.9 t.
Each hour: demand (MWh), gas output (MWh), average factor and the plant on the margin with its factor (t CO₂ per MWh).
Hour Demand Gas Average On the margin
00:00–01:00 231 58 0.09 the combined-cycle plant (0.37)
01:00–02:00 223 57 0.09 the combined-cycle plant (0.37)
02:00–03:00 217 53 0.09 the combined-cycle plant (0.37)
03:00–04:00 215 52 0.09 the combined-cycle plant (0.37)
04:00–05:00 216 57 0.10 the combined-cycle plant (0.37)
05:00–06:00 222 64 0.11 the combined-cycle plant (0.37)
06:00–07:00 230 72 0.12 the combined-cycle plant (0.37)
07:00–08:00 243 46 0.07 the combined-cycle plant (0.37)
08:00–09:00 254 0 0.00 spilled wind and sun (0.00)
09:00–10:00 264 0 0.00 spilled wind and sun (0.00)
10:00–11:00 275 0 0.00 spilled wind and sun (0.00)
11:00–12:00 286 0 0.00 spilled wind and sun (0.00)
12:00–13:00 297 0 0.00 spilled wind and sun (0.00)
13:00–14:00 307 0 0.00 spilled wind and sun (0.00)
14:00–15:00 315 0 0.00 spilled wind and sun (0.00)
15:00–16:00 323 0 0.00 spilled wind and sun (0.00)
16:00–17:00 328 0 0.00 spilled wind and sun (0.00)
17:00–18:00 329 25 0.03 the combined-cycle plant (0.37)
18:00–19:00 326 68 0.08 the combined-cycle plant (0.37)
19:00–20:00 317 134 0.16 the combined-cycle plant (0.37)
20:00–21:00 303 179 0.24 the peaker (0.55)
21:00–22:00 292 176 0.24 the peaker (0.55)
22:00–23:00 274 154 0.21 the peaker (0.55)
23:00–24:00 253 128 0.19 the combined-cycle plant (0.37)

Prairie Town's plants, sizes and CO₂ rates are illustrative (lesson 0). Its demand, wind and sun follow the real shapes of 9 June 2025 on the Southwest Power Pool grid (EIA-930, accessed 2 November 2026), the day of lesson 9.

Each hour runs cheapest first, with no ramp limits; CO₂ is counted at the plant only.

Two factors, two questions

Factor How it is built The question it answers Moving 10 MWh from 06:00 to 03:00
Average (t CO₂ per MWh) the hour's CO₂ ÷ the hour's use How much of the grid's CO₂ is attributed to my use? −0.3 t
Marginal (t CO₂ per MWh) the CO₂ of the plant that serves one more MWh What do the plants emit differently if I change my use? 0.0 t

Shifting cuts what the plants emit when it moves use away from a dirtier marginal plant, toward spare wind and sun or a cleaner plant. The marginal plant is lesson 8's idea.

Slide the adjustment range

  1. Each hour of the grid has an average emission intensity.
  2. The model moves part of the load from high-intensity hours to low-intensity hours in the same window, within an allowed range, and keeps total use unchanged.
  3. Attributed emissions fall by the load moved times the intensity gap between those hours.
  4. Because the range is limited, the reduction is modest; it grows with a wider range and a longer window.

A separate example with stylized numbers, from the course author's open explainer: not the study's data or results.

It counts each hour at its average intensity, so it shows attributed emissions only.

Text version: the slider's starting day, hour by hour

At ±5% on the large-swing day, 59.4 MWh of 2,385 MWh moves (2.5%) and attributed emissions fall by 0.94%; the day's total stays 2,385 MWh.

Each hour of the stylized day: average intensity (g CO₂ per kWh), load before and after (MWh) and the change.
Hour Intensity Before After Change
00:00–01:00 428 82.0 77.9 −4.1
01:00–02:00 426 79.0 75.0 −4.0
02:00–03:00 424 77.0 73.7 −3.3
03:00–04:00 424 76.0 72.2 −3.8
04:00–05:00 426 77.0 73.2 −3.9
05:00–06:00 430 81.0 77.0 −4.0
06:00–07:00 432 88.0 83.6 −4.4
07:00–08:00 405 96.0 100.8 +4.8
08:00–09:00 365 101.0 106.0 +5.1
09:00–10:00 318 104.0 109.2 +5.2
10:00–11:00 275 106.0 111.3 +5.3
11:00–12:00 245 107.0 112.3 +5.4
12:00–13:00 230 108.0 113.4 +5.4
13:00–14:00 228 109.0 114.5 +5.5
14:00–15:00 240 110.0 115.5 +5.5
15:00–16:00 268 112.0 117.6 +5.6
16:00–17:00 315 115.0 120.8 +5.8
17:00–18:00 375 119.0 125.0 +6.0
18:00–19:00 430 121.0 115.0 −6.1
19:00–20:00 452 118.0 112.1 −5.9
20:00–21:00 448 112.0 106.4 −5.6
21:00–22:00 440 104.0 98.8 −5.2
22:00–23:00 434 95.0 90.3 −4.8
23:00–24:00 430 88.0 83.6 −4.4

Where the result holds

It holds when
  • emissions are counted at each hour's average intensity;
  • each window is known in advance (perfect foresight);
  • each window's total use does not fall;
  • hourly EIA data for U.S. grid regions in 2023.
It leaves out
  • the grid's consequential response: which plants actually change output (the marginal view);
  • forecast errors;
  • the cost of moving load, apart from a penalty on each adjusted hour.

From the approved excerpt of Li et al. (2025), Cell Reports Sustainability.

Go deeper · ModelerMarginal emission factors from a model
  • In a dispatch model, an hour’s marginal emission factor is the change in total CO₂ when that hour’s demand grows by one MWh.
  • The toy reads it off each hour’s dispatch; a linear program finds it by solving again with one more MWh.
  • It holds for a small change only, and it jumps between plants from hour to hour, so real estimates come from dispatch models or from statistics on years of hourly data.
  • Putting carbon in the model: caps, prices, frontiers and procurement rules (Modeler lesson M6) takes this further.

Check yourself, then try it

Myth or fact? “Moving use into an hour with a lower average CO₂ per MWh always lowers what the plants emit.”

  • Myth
  • Fact
Answer

Myth. In Prairie Town, moving 10 MWh from 06:00 to 03:00 lowers the average-factor count by 0.3 t, yet the plants emit the same: the combined-cycle plant is on the margin in both hours.

Myth or fact? “Moving use out of a gas hour into an hour when wind or sun is being spilled lowers what the plants emit.”

  • Myth
  • Fact
Answer

Fact, up to the spilled amount.

At 14:00 Prairie Town spills 25 MWh of wind and sun, so 10 MWh moved there from 20:00 cut the peaker's CO₂ by 5.5 t; beyond the spill, the next plant serves it.

Try it yourself

Optional, about 30 minutes; needs Python on your computer (lesson B2).

  • Run examples/strategies.py: it compares a month, a quarter and a year as the window on four synthetic regions. Which kind of grid gains most from a longer window?
  • Write the synthetic regions with ghg-framework synthetic my_inputs/. Then run ghg-framework run my_inputs/ --region Mixed --limit 0.05, and again with --limit 0.08. Compare reduction_pct.
  • Then say why neither run can tell you which plant would change its output.

ghg-load-regulation: public example repository · MIT licence · synthetic data.

Numbers, sources and what’s next

Numbers to remember

Number What it means Source
1.19% → 1.64% In grids with diverse generation resources, expanding the adjustment range from ±5% to ±8% can boost carbon reductions from 1.19% to 1.64%. Li et al. (2025), Cell Reports Sustainability · published May 2025; data for 2023
one to two percent or less In the reported scenarios, reductions in attributed emissions were on the order of one to two percent of regional totals or less. Li et al. (2025), Cell Reports Sustainability · published May 2025; data for 2023

Keep going

Back to the course map

Where this came up before

Lesson 0 showed CO₂ per MWh changing hour by hour; lesson 8 named the marginal plant; lesson 9 moved energy through this same day with a battery.

Sources and further reading

  • Li et al. (2025). Real-time greenhouse gas emission intensity informed demand-side load regulation for power grid decarbonization. Cell Reports Sustainability 2, 100367.
  • EIA. Hourly Electric Grid Monitor (Form EIA-930): hourly demand and generation by fuel for U.S. balancing authorities and regions (accessed 3 November 2026).
  • ghg-load-regulation on GitHub, version 1.0.0 (30 October 2026).

Spotted an error, or stuck? Write to hlli@ksu.edu. Corrections are made in place and dated here.

Text licensed CC BY 4.0, code MIT: teachers and students may reuse and adapt it, with credit to Honglin Li.

© 2026 Honglin Li · Kansas State University · hlli@ksu.edu

 

Last updated: November 2026 · Built with Quarto