Migrating from version 4.0 to 5.0

This guide outlines the code updates required to upgrade from PowerSystems.jl version 4.0 to 5.0, which was released in May 2025 and includes breaking changes. Most the changes are related to modeling in more detail AC transmission technologies.

The changes are:

AC Branches Type Hierarchy Change

New abstract type ACTransmission and was created to better distinguish between AC transmission objects connected between ACBus the new added TwoTerminalHVDC abstract type to caputre HVDC links connected between ACBus.

Renamed Types and Parameters

Some Types and fields were renamed, which should require a trivial search and replace:

Renamed Types:

New parameters:

  • The ACTransmission objects now have rating fields for b and c ratings to enable modeling security constrained problems. These components now also include a base_power field, in situations where the base power for the transformer is not available (e.g., when parsing Matpower), the default behavior is to use the system base for per-unitization.

Affected Types are:

New and Eliminated Types

These types are no longer part of PowerSystems.jl:

Updates to hydro storage related devices

In previous versions of PowerSystems.jl hydropower connected to reservoirs was modeled as a single plant connected to a single reservoir. Further, the model just kept track of the total energy in the reservoir. In this version of PowerSystems a new structs HydroTurbine and HydroReservoir has been included to enable individual unit dispatch modeling as well as a shared reservoir.

The new HydroReservoir is also used by the new HydroPumpTurbine to model the head and tail reservoirs for Hydro Pump Storage facilities

Updates to fuel categories

The fuel categories available in form EIA-923 have been expanded, the old categories are still valid and the expanded list can be explored in the documentation ThermalFuels