Can existing reactors earn more by making hydrogen and providing grid services?
Follow one study through six parts, then run a toy plant that sells power, makes hydrogen and holds reserves at prices you set
- Analyst · L2
- Case file
- 10 min
- After lesson 7
- Completed
1 · The puzzle
The pressure
Nuclear power supplies reliable low-carbon electricity and high-temperature heat, but existing plants face growing pressure to operate more flexibly in markets with rising renewable penetration.
The option
A nuclear plant can do more than sell electricity around the clock.
- With high-temperature electrolysis, part of its electricity and steam can make hydrogen;
- with hydrogen storage and a battery, it can shift its output and offer ancillary services to the grid.
The open question
Coupling nuclear reactors with hydrogen production through high-temperature electrolysis may improve flexibility and create additional value, yet its economic potential remains uncertain.
So can an existing plant earn more by making hydrogen as well as power?
2 · The question in one sentence
Can existing U.S. nuclear power plants improve their economics and operating flexibility by adding high-temperature electrolysis, hydrogen storage and batteries, and by selling energy, hydrogen and ancillary services?
Question type: prescriptive (what should be added, and how should it run?).
3 · Scale and boundary
- Inside
- 42 operating U.S. reactors in seven ISO/RTO markets, each facing its own hourly energy and ancillary-service prices for 2024 (8,760 hours; February 29 is left out);
- a high-temperature electrolyzer, hydrogen storage and a battery added to each plant;
- one year of hourly operation turned into a lifetime cash flow.
- Assumed throughout
a hydrogen production credit of $3/kg for ten years, counted in hydrogen revenue.
- Left out
- price feedback from large-scale adoption, because every plant takes 2024 prices as given;
- re-optimized operation after the hydrogen credit expires, because the dispatch is held fixed.
4 · Decisions, goal and rules, in words
- Decisions
in every hour,
- how much of the plant's electricity and steam goes to the electrolyzer;
- when the electrolyzer runs and at what load;
- what goes into and out of hydrogen storage and the battery;
- grid sales and purchases;
- and the bids of the turbine, electrolyzer and battery in the market's ancillary services.
- Goal
the largest yearly profit (energy, hydrogen and ancillary-service revenue minus operating and annualized capital costs), with the hydrogen production credit counted in hydrogen revenue.
- Rules
- turbine and electrolyzer efficiency follow piecewise-linear curves;
- the electrolyzer keeps minimum up and down times, ramp limits and a minimum stable load, pays a start-up cost and degrades with operation and start-ups;
- ancillary-service bids must fit within each unit's headroom and ramp limits.
5 · Data and method
- Seven U.S. markets price energy and ancillary services differently, and each of 42 reactors faces its own prices.
- The study links an hourly mixed-integer optimization of turbine, electrolyzer and storage dispatch, for 42 reactors in seven U.S. ISO/RTO markets using 2024 prices, to a lifetime cash-flow model.
- The hourly dispatch model co-optimizes electricity sales, hydrogen production, storage and ancillary services under each market's products, and is run for every reactor.
DetailWhat the equipment can do, and the two cases
- Electrolyzers and turbines are not ideal: efficiency varies with load, starts wear equipment, and ramping is limited.
- The model represents these limits, so flexibility estimates respect them.
- Each plant is run two ways: business-as-usual operation without any modification for hydrogen production, and a retrofit with high-temperature electrolysis, hydrogen storage and a battery.
DetailFrom one year to a lifetime
- The study treats an existing plant's capital as already spent (a sunk cost); the retrofit's cash flow adds the capital cost of the new hydrogen and battery equipment.
- A discounted cash-flow analysis turns the optimized year into net present value, internal rate of return, payback and levelized costs, with component-level capital costs and scheduled replacements.
- Electricity and hydrogen prices are taken as given (price-taking): the study evaluates plant operation against observed 2024 prices, and price feedback from wide adoption is stated as a limit and left to future work.
DetailSensitivity runs
Sensitivity runs on a representative reactor vary the electrolyzer's capacity bound and the level of electricity prices.
6 · What came out, and where it holds
Operated as baseload-only plants at 2024 market prices, with no credits, nearly all of the plants studied had negative net present value.
With hydrogen integration, including the assumed hydrogen production credit, a majority of the plants studied reached positive net present value.
With the assumed hydrogen credit, integrated operation added output flexibility: flexible output (the range of a plant's hourly output to the grid) expanded by more than 115 MW for most of the plants studied.
Ancillary-service revenue was a few percent of total revenue, which includes the hydrogen credit.
- Holds when
- 2024 prices, taken as given;
- modeled ancillary-service participation parameters;
- the assumed hydrogen credit ($3/kg for ten years), with the dispatch held fixed after the credit expires;
- an existing plant's capital treated as already spent;
- no credits in the baseload case.
- Leaves out
price feedback from large-scale adoption.
The study in time
- June 2026 · Journal article (this case). Hourly operation of 42 existing reactors with high-temperature electrolysis, hydrogen storage and batteries, in seven U.S. ISO/RTO markets at 2024 prices, is linked to a lifetime cash-flow model; published online on 2 June 2026. Source: Li et al. (2026), Nature Communications 17, 7090
- 2 November 2026 · Code released. A documented, runnable implementation of the modelling framework, with synthetic examples (version 1.0.0). Source: nuclear-hydrogen-integration on GitHub, as of 7 November 2026
The toy below is the course's own, with illustrative numbers, some of them yours; it holds none of the study's inputs or results.
Run a toy plant’s day yourself, then where the result holds
One day at an existing plant that can also make hydrogen (illustrative)
Illustrative round numbers, some of them yours: a generic existing plant, not the study's inputs or results. Power in MW, as an average over each hour; money in dollars for the one day shown.
- The day's grid prices run from $12 to $90 per MWh; a MWh made into hydrogen earns $50 (25 kg at $2.00 per kg), and holding it as a reserve adds $8 per MW-hour.
- The 200 MW electrolyzer runs in 20 of 24 hours; output to the grid: 800 to 1,000 MW.
| Sell all its power | With hydrogen and reserves | |
|---|---|---|
| Energy sold to the grid | $893,000 | $774,400 |
| Hydrogen | $0 | $200,000 |
| Reserves | $0 | $32,000 |
| Electrolyzer's daily cost | $0 | −$80,000 |
| Revenue less the electrolyzer's cost | $893,000 | $926,400 |
Against selling all its power, the day comes out $33,400 better: $113,400 gained before the electrolyzer's cost, minus its $80,000.
The day hour by hour
| Hour | Grid price ($ per MWh) | To the grid (MW) | To the electrolyzer (MW) | Reserve held (MW) |
|---|---|---|---|---|
| 00:00–01:00 | $30 | 800 | 200 | 200 |
| 01:00–02:00 | $28 | 800 | 200 | 200 |
| 02:00–03:00 | $26 | 800 | 200 | 200 |
| 03:00–04:00 | $25 | 800 | 200 | 200 |
| 04:00–05:00 | $26 | 800 | 200 | 200 |
| 05:00–06:00 | $30 | 800 | 200 | 200 |
| 06:00–07:00 | $38 | 800 | 200 | 200 |
| 07:00–08:00 | $46 | 800 | 200 | 200 |
| 08:00–09:00 | $44 | 800 | 200 | 200 |
| 09:00–10:00 | $36 | 800 | 200 | 200 |
| 10:00–11:00 | $26 | 800 | 200 | 200 |
| 11:00–12:00 | $18 | 800 | 200 | 200 |
| 12:00–13:00 | $14 | 800 | 200 | 200 |
| 13:00–14:00 | $12 | 800 | 200 | 200 |
| 14:00–15:00 | $14 | 800 | 200 | 200 |
| 15:00–16:00 | $20 | 800 | 200 | 200 |
| 16:00–17:00 | $30 | 800 | 200 | 200 |
| 17:00–18:00 | $54 | 800 | 200 | 200 |
| 18:00–19:00 | $72 | 1,000 | 0 | 0 |
| 19:00–20:00 | $90 | 1,000 | 0 | 0 |
| 20:00–21:00 | $76 | 1,000 | 0 | 0 |
| 21:00–22:00 | $62 | 1,000 | 0 | 0 |
| 22:00–23:00 | $42 | 800 | 200 | 200 |
| 23:00–24:00 | $34 | 800 | 200 | 200 |
The toy's assumptions
- Illustrative: the plant makes 1,000 MW of electricity in every hour, in both cases.
- Its fuel and upkeep are the same either way, and its own capital is already spent (a sunk cost), so none of them changes the comparison.
- Electricity only: the electrolyzer makes 25 kg of hydrogen from each MWh of the plant's electricity it takes (40 kWh per kg), sold at an assumed $2.00 per kg, fixed: $50 per MWh.
- The electrolyzer's capital, as an annual equivalent, and its upkeep: $400 per MW of electrolyzer per day, paid whether it runs or not.
- Reserves, simplified: one product, paid per MW held for an hour (per MW-hour), never called; turning the electrolyzer down sends its electricity to the grid, so its load is the reserve.
- Two different measures: the range of output to the grid over the day, from its lowest hour to its highest, and the reserve, the MW held for the grid in one hour.
- Left out: the steam a high-temperature electrolyzer also takes; the electrolyzer's minimum load, start-ups, ramp limits and wear; hydrogen storage and a battery; prices that move when the plant changes what it sells.
- With no storage and no start-ups, each hour is decided on its own: one hour's choice does not change the next.
Where the result holds
- It holds when
- 42 existing plants in seven U.S. ISO/RTO markets, each at its own 2024 hourly prices, taken as given;
- one year of hourly operation (8,760 hours) turned into a lifetime cash flow;
- the existing plant's capital treated as already spent, so the capital counted is that of the new hydrogen and battery equipment;
- the assumed hydrogen production credit ($3/kg for ten years) in the retrofit results shown here, with the dispatch held fixed after it expires;
- no credits in the baseload case;
- modeled ancillary-service participation parameters.
- It leaves out
- price feedback from large-scale adoption;
- re-optimized operation after the credit expires.
Approved excerpt of: Li et al. (2026), Nature Communications.
Go deeper · ModelerThe toy's day as a small optimization
The toy’s symbols, for each hour \(t\) of the day:
- \(p_t\): the grid price, in dollars per MWh sold; \(P\): the plant’s output, in MW; \(E\): the electrolyzer’s size, in MW.
- \(v = k\,\pi_H\): what a MWh earns as hydrogen, \(k\) kg per MWh at an assumed \(\pi_H\) dollars per kg.
- \(q\): the reserve price, in dollars per MW held for an hour; \(c\): the electrolyzer’s daily cost, in dollars per MW.
- Decisions: \(g_t\) MW to the grid, \(h_t\) MW to the electrolyzer, \(r_t\) MW held as reserve.
\[\max \; \sum_t \left( p_t\,g_t + v\,h_t + q\,r_t \right) \; - \; c\,E\]
| Rule, in every hour | Why |
|---|---|
| \(g_t + h_t = P\) | the plant runs at full power |
| \(0 \le h_t \le E\) | the electrolyzer’s size |
| \(0 \le r_t \le h_t\) | only the electrolyzer’s load can be handed back to the grid |
| \(g_t \ge P - E \ge 0\) | follows from the first two |
- The best choice: \(h_t = E\) when \(v + q > p_t\), else \(h_t = 0\) (on a tie the toy sells); \(r_t = h_t\), or \(q = 0\) and \(r_t = 0\) with no reserves.
- Against selling all the power, the day changes by \(E \sum_t \max(0,\; v + q - p_t) - c\,E\); the plant’s own costs appear on both sides, so they cancel.
- Each hour stands alone only because the toy has no storage, start-ups or ramp limits; adding them links the hours into a mixed-integer program, as in M2 and M11.
Check yourself, then try it
Myth or fact? “Whether the electrolyzer pays depends on what the plant itself cost to build.”
- Myth
- Fact
Answer
Myth. That cost is already spent and the same either way, so it drops out: in the toy only the power sold, the hydrogen and reserves earned, and the electrolyzer's own $80,000 a day change.
Myth or fact? “A plant running at full power can still hold reserves if it runs an electrolyzer.”
- Myth
- Fact
Answer
Fact. Turning the electrolyzer down sends its power to the grid instead, so its load is headroom: in the toy, 200 MW × 20 hours × $8 per MW-hour = $32,000.
Try it yourself
About 5 minutes, in the toy above.
Start each one from the defaults: press Reset (price level ×1.0, reserve price $8 per MW-hour, electrolyzer 200 MW, reserves offered).
- Set the price level to ×0.6, then to ×1.4. In how many hours does the electrolyzer run, and how does the day compare with selling all the power?
- Turn reserves off. In how many hours does the electrolyzer run now, and how much of the day's gain came from reserves?
- Set the electrolyzer to 0 MW, then to 400 MW. What range of output to the grid does each give, and what happens to its cost?
- Pick 13:00, then 19:00 on a chart. Where does each MWh go, and why?
Worked answers, each from the toy's defaults
| Setting, from the defaults | Result, against selling all the power | Why |
|---|---|---|
| Price level ×0.6 | runs in all 24 hours; $91,240 better | The dearest hour pays $54 per MWh, less than the $58 a MWh earns as hydrogen and reserve. $171,240 gained before its cost, minus its $80,000. |
| Price level ×1.4 | runs in 16 of 24 hours; $8,360 worse | In 8 hours the grid pays more than $58 per MWh. $71,640 gained before its cost, minus its $80,000. |
| Reserves off | runs in 19 hours, not 20; $2,200 better, not $33,400 | At 17:00 the grid's $54 per MWh beats $50 as hydrogen alone. Reserves were 3.2% of revenue, yet the gain falls by $31,200. |
| Electrolyzer 0 MW | output to the grid 1,000 MW all day; no different | Nothing goes to hydrogen, and there is no electrolyzer to pay for. |
| Electrolyzer 400 MW | output to the grid 600 to 1,000 MW; $66,800 better | It runs in the same 20 hours. $226,800 gained before its cost, minus its $160,000. |
| Pick 13:00 | 200 MW to the electrolyzer, 800 MW to the grid | The grid pays $12 per MWh, less than the $58 a MWh earns as hydrogen and reserve. |
| Pick 19:00 | all 1,000 MW sold | The grid pays $90 per MWh, more than the $58 a MWh earns as hydrogen and reserve. |
The plant's own costs are the same in every case, so they never enter.
With open code
Optional, about 30 minutes; needs Python 3.10 or later on your computer (lesson B2).
Try it yourself: the framework's minimal example compares business as usual with the integrated system over two synthetic weeks, solved with HiGHS.
Generate synthetic inputs, then run the hourly operation again with energy prices 15% higher, or with ancillary services in dispatch mode, and compare the revenues and the flexibility.
Its numbers say nothing about any real plant, market, policy or year.
Set it up first: clone the repository and install it as its README's Quick start says; run the commands in the repository's folder.
python examples/minimal.pynuclear-h2 synthetic my_inputs/ --storagenuclear-h2 run my_inputs/ --out-dir outputs/basenuclear-h2 run my_inputs/ --price-factor 1.15 --out-dir outputs/price_upnuclear-h2 run my_inputs/ --as-mode dispatch --out-dir outputs/dispatch
Each run writes revenue_musd_per_yr.csv and summary.json into its --out-dir folder. Compare the revenue tables, and grid_output_range_mw under "flexibility" in summary.json: the range of output to the grid, the toy's measure too.
nuclear-hydrogen-integration: open code · MIT licence.
Sources and what’s next
Keep going
Sources and further reading
- Li et al. (2026). Rethinking the economics and flexibility of U.S. nuclear power through hydrogen integration and policy support. Nature Communications 17, 7090.
- nuclear-hydrogen-integration on GitHub, version 1.1.0 (7 November 2026).
- Earlier lessons: lesson 3 (reserves), lesson 7 (what a cost counts) and A16 (hydrogen from electricity). F5 shows how a reactor makes heat and electricity.
- Where this goes next: A1 (a project's cash flows), M11 (techno-economic analysis inside a model), A12 (the tools governments use).
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.