Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nuclear_pf

nuclear_pf is an open-source Python model for screening nuclear project finance cases. It is built to compare advanced nuclear, SMR, restart, and large-reactor benchmark cases using cost, debt-coverage, return, offtake, and policy-support metrics.

The core question is:

Under what financing, tax-credit, and offtake conditions can advanced nuclear projects become financially viable?

This is a research prototype, not investment advice. The goal is transparency: every output should be reproducible, every assumption should be visible, and every source-backed value should be separated from model assumptions.

What The Model Does

The current model computes:

  • LCOE, or levelized cost of electricity, in dollars per MWh.
  • Average DSCR, or debt service coverage ratio.
  • Project IRR.
  • Equity IRR.
  • Required PPA / offtake strike price to clear DSCR and return targets.
  • LPO / PTC / PPA financing-condition scenarios.
  • Solar and firm-solar benchmark comparisons.
  • Construction draw schedule and optional interest-during-construction logic.
  • One-at-a-time sensitivity analysis across capex, WACC, PPA price, construction duration, and capacity factor.
  • CSV and Markdown exports for paper tables, appendix work, and chart inputs.

Active Cases

  • NuScale/UAMPS CFPP - cancelled SMR project / high-capex stress case.
  • Oklo Aurora 15 MWe - illustrative forward-looking advanced reactor case.
  • Crane/TMI Restart / Microsoft - nuclear restart and contracted offtake case.
  • Vogtle Units 3 & 4 Benchmark - contextual large-reactor construction-risk benchmark.

Crane/TMI is treated as restart economics, not proof of new-build SMR cost competitiveness. Oklo is treated as an illustrative case where several inputs remain model assumptions pending stronger public project-level disclosures.

Repository Structure

nuclear-pf/
  backend/              Python package, CLI, tests, install metadata
  docs/                 Recaps, learning materials, reporting templates
  paper/                Publication workspace and generated model outputs
  research/             Source notes, assumption logs, primary-source matrix

Quick Start

From the repository root:

cd backend
python -m pip install -e .
python -m nuclear_pf

Run the full paper-oriented output packet:

python -m nuclear_pf --scenario-case all --solve-ppa --include-solar --include-sensitivity --export

Run tests:

python -m unittest discover -s tests

The latest local test baseline is:

Ran 56 tests
OK

Output Files

Generated model outputs are saved under:

paper/model_outputs/

The output folder is organized by case:

00_preset_comparison/
01_oklo/
02_nuscale/
03_crane/

Each case folder can include:

  • scenario_envelope.csv / .md
  • ppa_requirements.csv / .md
  • solar_benchmark.csv / .md
  • sensitivity.csv / .md

These files are intended for paper figures, appendix tables, spreadsheet review, and reproducibility checks.

Research Trail

Source and assumption tracking lives in:

research/preset_source_notes.md
research/primary_sources/source_matrix.md
research/primary_sources/sources.bib
research/model_accuracy_review_2026-06-26.md

The paper workspace is in:

paper/

That folder tracks manuscript planning, claim-evidence mapping, source hunting, and generated model outputs.

Why This Belongs In A Portfolio

This project demonstrates:

  • Python package design and CLI tooling.
  • Energy finance modeling.
  • Nuclear deployment and project-finance research.
  • Reproducible model outputs.
  • Automated tests.
  • Source discipline and assumption management.
  • Technical communication through papers, recaps, and research notes.

Current Limitations

This is a screening model, not a bank-grade project finance model. It does not yet include full tax equity treatment, depreciation, reserve accounts, debt sculpting, fuel-cycle modeling, decommissioning cost, refinancing, merchant tail risk, or legal eligibility analysis for tax credits.

Use the outputs as transparent research artifacts, not as investment, tax, legal, accounting, or engineering advice.

About

Open-source Python model for nuclear project finance, SMR LCOE, DSCR, IRR, PPA pricing, and financing sensitivity analysis.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages