Every nuclear power reactor in the world, from the IAEA's Power Reactor Information System (PRIS). Four members: the reactor unit dimension across all five statuses (operational, under construction, suspended, permanently shut down, decommissioning completed); each unit's lifetime-to-date operating performance; the organizations PRIS names as operator, owner, reactor supplier and turbine supplier; and the reactor-to-organization bridge carrying the role and, where PRIS states one, the ownership share. Power reactors only — research, naval and military reactors are not in PRIS, nor are projects cancelled before construction started, since PRIS admits a unit at construction start. Source: IAEA PRIS, reproduced with acknowledgement of the IAEA as the source; the IAEA does not endorse MyCorr or this republication.
reactor_id Int64PRIS's unit id. Foreign key -> reactors.reactor_id, and the primary key here: PRIS publishes one lifetime-to-date record per unit, not a per-year series.
report_year Int64The year through which these lifetime figures are computed — the vintage of the record, uniform across the table. It is what makes the row datable: every figure beside it means 'cumulative through the end of this year', so the whole table restates when the IAEA closes a new reporting year.
lifetime_generation_twh Float64Total electricity the unit has generated over its life, TW·h, cumulative through report_year. The output measure that capacity alone cannot give — a 1000 MW unit that ran for 40 years and one commissioned last year look identical on capacity. Null for one unit whose factors the source publishes without a generation total, so sum this column knowing it omits that unit rather than reading the null as zero.
load_factor_pct Float64Lifetime load factor, per cent: energy actually generated as a share of what the unit could have generated at reference power for the whole period. The standard measure of how hard a reactor has been worked, and it penalises both outages and running below full power.
availability_factor_pct Float64Lifetime availability factor, per cent: the share of the period the unit was available to generate, whether or not it was asked to. Higher than load_factor_pct wherever a unit was available but idle or throttled.
operating_factor_pct Float64Lifetime operating factor, per cent: the share of the period the unit was actually connected to the grid. Ignores how much power it was producing while connected, which is what separates it from load_factor_pct.
reactor_id Int64PRIS's own unique id for the reactor unit. The join key for reactor_performance and the id the IAEA's API itself takes — never join on unit_name, which is a display label scoped by country rather than a global identifier.
unit_name StringUnit name as published, whitespace-stripped (e.g. 'KAIGA-1', 'THREE MILE ISLAND-1'). Conventionally the site name plus a unit number. An attribute, not a key.
alternate_name StringAnother name the unit is known by (e.g. 'Shevchenko' for BN-350). Sparse — a deliberate annotation the IAEA records for a minority of units, so null is the normal value.
country_code StringISO 3166-1 alpha-2 code of the country the unit is in, and this table's only country reference — the name comes from the link, not from here. All 38 values resolve against canonical_alpha2 on the countries dataset's spine, which is the intended join.
site_id Int64PRIS's id for the station the unit sits on. 739 units across 309 sites, so this is what groups units into a power station. No site table is shipped: the API publishes nothing about a site beyond this id and its name.
site_name StringName of the station the unit sits on (e.g. 'KAIGA'), whitespace-stripped.
type_name StringReactor type spelled out (e.g. 'Pressurized Light-Water-Moderated and Cooled Reactor'). One-to-one with type_code.
model StringVendor model or design designation (e.g. 'VVER-1200', 'AP-1000', 'Horizontal Pressure Tube type'). Free text as published, with no controlled vocabulary behind it — the same design can appear under more than one spelling. Null for a handful of early units.
status_code StringOperational status, coded: '1O' operational, '2C' under construction, '4L' suspended operation, '4S' permanent shutdown, '5XE' decommissioning completed. Current status, not history — PRIS publishes no status timeline, so this column changes in place when a unit's status changes.
status_name StringOperational status spelled out: 'Operational', 'Under Construction', 'Suspended Operation', 'Permanent Shutdown', 'Decommissioning Completed'. One-to-one with status_code.
thermal_power_mwt Int64Reactor thermal power, MW(th) — the heat the core produces, roughly three times the electrical output. The measure of reactor size that does not depend on the turbine hall.
gross_capacity_mwe Int64Gross electrical capacity, MW(e): generator output before the station's own consumption is subtracted.
net_capacity_mwe Int64Net electrical capacity, MW(e): what the unit can deliver to the grid, after station load. This is the figure to sum for 'installed nuclear capacity' — the one the IAEA headlines.
design_net_capacity_mwe Int64Net electrical capacity the unit was designed for, MW(e). Differs from net_capacity_mwe where a unit has been uprated or derated since commissioning, so the pair is the record of that change.
reference_power_basis StringWhether the unit's reference unit power is stated on a 'Net' or 'Gross' basis — the IAEA's own note about which convention its performance figures for this unit were computed against. Relevant when reading reactor_performance, not when reading capacity.
construction_start_date DateDate first structural concrete was poured for the reactor building — the IAEA's construction start, and the event that admits a unit to PRIS. Present for every unit, which is why cancelled-before-construction projects are absent from this table entirely.
construction_license_date DateDate the construction licence was granted. Sparse: recorded mainly for recent units, so null does not mean unlicensed.
first_criticality_date DateDate the reactor first sustained a chain reaction. For a unit still under construction this is the IAEA's *expected* date, not history — read it together with status_code. Null where no date is published.
first_grid_date DateDate the unit was first connected to the grid — the usual 'when did it start' date and the basis for reactor age. Two cautions. For units still under construction this is a forecast (some as far out as 2033), so filtering or subtracting without checking status_code admits a planned date as a fact and can produce a negative age. And null does not mean 'not yet': it covers both units still building and units abandoned before they ever reached a grid.
commercial_operation_date DateDate the unit entered commercial operation, i.e. was handed from the constructor to the operator. Later than first_grid_date by months of commissioning tests, and likewise a forecast for units still under construction.
shutdown_date DateDate of permanent shutdown. Non-null is what makes a unit retired, and it agrees with status_code '4S'/'5XE'; null for every unit still operating, suspended or building.
decommissioning_start_date DateDate decommissioning began. Sparse even among shut down units — most sit in post-operational transition for years and the IAEA records no date until dismantling starts.
decommissioning_end_date DateDate decommissioning completed, or is scheduled to. Recorded for a handful of units, some of them future dates — this is not exclusively a historical column.
latest_operating_license_date DateDate of the most recent operating licence or licence renewal. Current state, not history: it moves in place on each renewal, so it answers 'licensed as of when' and not 'how many times renewed'.
latest_suspended_operations_date DateDate operations were most recently suspended. Populated mainly for the Japanese fleet after 2011. Latest event only.
latest_restart_operations_date DateDate operations were most recently restarted after a suspension. Latest event only, so a unit suspended and restarted twice shows only the second of each.
latest_suspended_construction_date DateDate construction was most recently suspended. Very sparse — a handful of long-stalled units.
latest_restart_construction_date DateDate construction was most recently resumed after a suspension. Very sparse, and the counterpart of the column above.
organization_slug StringStable, readable key for this organization spelling, minted from the name (e.g. 'general-electric-co'). Held steady across builds by a seed that reads back the slugs already published, so an IAEA spelling edit cannot silently retire an organization and rewrite every bridge row pointing at it.
name StringThe organization's name as PRIS publishes it, whitespace-collapsed, with any appended postal address or URL kept rather than guessed at. Where PRIS spells one organization several ways, this is the spelling chosen by the build's curated alias map and the others do not appear — so one row is one organization, not one string. The map is hand-authored and committed (build/organization_aliases.csv), which is where to look to see exactly which spellings were folded together and why.
reactor_id Int64PRIS's unit id. Foreign key -> reactors.reactor_id.
role StringWhat this organization does for this reactor: 'operator', 'owner', 'reactor_supplier' or 'turbine_supplier'. A closed vocabulary and part of the primary key, so one reactor can have several owners but only one row per (owner, role).
organization_slug StringForeign key -> organizations.organization_slug. Where PRIS spelled the organization differently on different reactors, the build has already folded those spellings, so this points at one organization rather than at one string.
share_pct Float64This organization's percentage share in the role, where PRIS states one — it does so only for the handful of reactors whose owner or operator is an enumerated consortium ('1. (50%) … 2. (50%) …'). Null for the large majority, which means 'no share published', not 100%: a sole owner is recorded without a percentage. Shares for one reactor and role sum to 100 except where PRIS itself names an unquantified residual.
Linked datasets
Datasets that join to World Nuclear Power Reactors (IAEA PRIS) in the Mycorr graph.