Skip to content

Sienna to PLEXOS Property Mappings

This page documents property-level mappings for r2x-sienna-to-plexos. The class-level flow is shown in Sienna to PLEXOS. The authoritative rules contain the complete field maps, getters, defaults, and filters.

Sienna’s operating classes converge on a smaller set of PLEXOS classes. The diagrams summarize generator convergence and two network mappings. Each source family retains its own getters and defaults; sharing a target class does not make all property mappings identical.

Thermal, hydro and renewable classes listed in the table create PLEXOSGenerator. Identity fields are mapped, while source-family getters compute operating properties and defaults assign the target category.

flowchart LR
  accTitle: Sienna generator families converge on PLEXOSGenerator
  accDescr: ThermalStandard and ThermalMultiStart, four listed hydro generator classes, and RenewableDispatch and RenewableNonDispatch use family-specific maps and getters to create PLEXOSGenerator.
  T["ThermalStandard<br/>ThermalMultiStart"] --> C["Map identity<br/>Assign category<br/>Compute family-specific properties"]
  H["HydroDispatch / HydroEnergyReservoir<br/>HydroTurbine / HydroPumpTurbine"] --> C
  R["RenewableDispatch<br/>RenewableNonDispatch"] --> C
  C --> G["PLEXOSGenerator<br/>capacity + operating properties"]
  class T,H,R source
  class C process
  class G target
  classDef source fill:#d9effa,stroke:#0079c2,color:#003a69,stroke-width:2px
  classDef process fill:#f4f7f9,stroke:#7890a0,color:#293d4d
  classDef target fill:#003a69,stroke:#0079c2,color:#ffffff,stroke-width:2px

ACBus becomes a PLEXOSNode, with voltage and slack-related properties computed from the bus. Area becomes a PLEXOSRegion, with load computed by getters. After rule application, membership helpers connect these objects into the PLEXOS network; those relationships are not represented by scalar field maps alone.

flowchart LR
  accTitle: Sienna bus and area property conversion
  accDescr: ACBus identity maps plus voltage and slack getters create PLEXOSNode. Area identity maps plus load getters create PLEXOSRegion. Membership helpers connect target network objects after rule application.
  B["ACBus"] --> V["Map name + uuid<br/>Compute voltage + slack"]
  V --> N["PLEXOSNode"]
  A["Area"] --> L["Map identity<br/>Compute load + units"]
  L --> R["PLEXOSRegion"]
  class B,A source
  class V,L process
  class N,R target
  classDef source fill:#d9effa,stroke:#0079c2,color:#003a69,stroke-width:2px
  classDef process fill:#f4f7f9,stroke:#7890a0,color:#293d4d
  classDef target fill:#003a69,stroke:#0079c2,color:#ffffff,stroke-width:2px
Source classTarget classDirect fieldsComputed properties
ACBusPLEXOSNodename, uuidcategory, slack flag, load_participation, units, voltage
AreaPLEXOSRegionname, uuid, categoryext, load, units
LoadZonePLEXOSZonename, uuid, categoryunits
Line / MonitoredLinePLEXOSLinename, category, resistance/reactance, uuidlosses, flow_limits, wheeling_charges, units
HVDC line variantsPLEXOSLinename, category, resistance/reactance where available, uuidlosses, flow_limits, units
Transformer variantsPLEXOSTransformername/category, resistance/reactance, uuidrating, susceptance, units

Three-winding transformer rules repeat the source class with different winding membership targets. The exporter helpers add the required PLEXOS memberships for nodes, lines, and transformers after rule application.

All of the following Sienna source classes export as PLEXOSGenerator:

Source classDirect fieldsComputed properties
ThermalStandardname, uuidcategory, capacity, rating, fuel_price, heat-rate fields, commitment, outage/maintenance rates, ramps, minimum_levels, start/shutdown_costs, units
ThermalMultiStartname, uuidthermal properties plus multi-start/commitment fields
HydroDispatchname, uuidcategory, capacity, energy/day, ramps, outage/maintenance rates, pump/load fields where applicable
HydroEnergyReservoirname, uuidhydro generator capacity, energy, ramps, and operating fields
HydroTurbinename, uuidcategory, capacity, ramps, pump/load fields, operating costs
HydroPumpTurbinename, uuidcategory, capacity, ramps, pump efficiency/load, operating costs
RenewableDispatchname, uuidcategory, commitment, load_subtracter, capacity, rating, units
RenewableNonDispatchname, uuidcategory, commitment, load_subtracter, capacity, rating, units

The target PLEXOS category is assigned by the rule defaults and source family. This is the reverse of PLEXOS-to-Sienna category selection: Sienna’s richer technology classes collapse into the single PLEXOS generator model.

Source classTarget classProperty highlights
HydroReservoirPLEXOSStoragename, initial/max_volume, natural_inflow, ext, uuid
EnergyReservoirStoragePLEXOSBatteryname, capacity, SOC, charge/discharge efficiency, max_power, outage/maintenance rates, cycles
VariableReservePLEXOSReservename/category, duration, minimum_provision, timeframe, type, VORS, ext
TransmissionInterfacePLEXOSInterfacename/category, minimum/maximum_flow, ext, units

Time-series and membership helpers are part of the property translation workflow. They attach generator profiles and create the PLEXOS relationships that cannot be represented by scalar field maps alone.