Skip to content

ReEDS to Sienna Property Mappings

See the ReEDS translation comparison for side-by-side component mappings, time-series treatment, and modeling limitations.

This page documents property-level mappings for r2x-reeds-to-sienna. The class-level flow is shown in ReEDS to Sienna. The authoritative rules combine direct field maps, computed getters, defaults, and filters.

Sienna has distinct component classes for operating behavior. Rule filters select those classes before field maps, defaults and getters populate their properties. These diagrams highlight renewable and storage selection; the tables below also cover thermal generation, demand, topology and reserves.

For ReEDSVariableGenerator, the technology prefixes upv, wind-ons and wind-ofs select RenewableDispatch; distpv selects RenewableNonDispatch (case-insensitive). For ReEDSHydroGenerator, is_dispatchable selects HydroDispatch or RenewableNonDispatch. The diagram groups the two paths to the same target without treating their property getters as identical.

flowchart LR
  accTitle: ReEDS renewable and hydro class selection
  accDescr: Variable generator technology prefixes select RenewableDispatch or RenewableNonDispatch. Hydro is_dispatchable true selects HydroDispatch; false selects RenewableNonDispatch. Target properties come from each matching rule.
  V["ReEDSVariableGenerator"] --> F{"Technology prefix"}
  F -->|"upv / wind-ons / wind-ofs"| D["RenewableDispatch"]
  F -->|"distpv"| N["RenewableNonDispatch"]
  H["ReEDSHydroGenerator"] --> I{"is_dispatchable"}
  I -->|"true"| T["HydroDispatch"]
  I -->|"false"| N
  class V,H source
  class F,I process
  class D,N,T 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

The matching rule computes bus references, power limits, ratings and operating properties where applicable. Time-series normalization and attachment happen after rule application; a profile is not simply a copied scalar field.

Technology pumped-hydro produces a HydroPumpTurbine plus two HydroReservoir objects. Other storage technologies select EnergyReservoirStorage. The technology comparisons are case-insensitive.

flowchart LR
  accTitle: ReEDS storage class selection
  accDescr: ReEDSStorage pumped-hydro creates a HydroPumpTurbine and upper and lower HydroReservoir objects. Other technologies create EnergyReservoirStorage. Rule getters compute target storage properties.
  S["ReEDSStorage"] --> F{"Technology filter"}
  F -->|"not pumped-hydro"| B["EnergyReservoirStorage<br/>capacity + efficiency<br/>SOC + power limits"]
  F -->|"pumped-hydro"| P["HydroPumpTurbine<br/>generation + pumping limits"]
  F -->|"pumped-hydro"| R["HydroReservoir<br/>upper + lower reservoirs"]
  class S source
  class F process
  class B,P,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
ReEDSRegionACBusname, uuidangle, area, base_voltage, bustype, magnitude, number
ReEDSRegionAreaname, uuidcategory, peak_active_power
ReEDSReserveVariableReservename, uuidtime_frame, requirement, reserve_type, direction, sustained_time, participation/deployment fractions
ReEDSReserveVariableReserveNonSpinningname, uuidtime_frame, requirement, sustained_time, participation/deployment fractions
ReEDSDemandPowerLoadname, uuid, categorydemand and bus properties from getters
Source classTarget classDirect fieldsComputed properties
ReEDSThermalGeneratorThermalStandardname, uuid, categoryactive_power, limits, base_power, bus, fuel, must_run, operation_cost, prime_mover, ramps, reactive_power, services, status, time_limits
ReEDSVariableGeneratorRenewableDispatchname, uuid, categoryactive_power, base_power, bus, operation_cost, prime_mover, rating, reactive_power, services
ReEDSVariableGeneratorRenewableNonDispatchname, uuid, categorysame renewable fields with non-dispatch behavior
ReEDSHydroGeneratorHydroDispatchname, uuid, categoryactive_power limits, bus, operation_cost, prime_mover, ramps, reactive_power, services, time_limits
ReEDSHydroGeneratorRenewableNonDispatchname, uuid, categoryrenewable non-dispatch fields for the filtered hydro case

The same ReEDS source class can produce different Sienna target classes when a rule filter matches a category or other source property.

Source classTarget classProperty highlights
ReEDSStorageEnergyReservoirStoragepower, efficiency, SOC, capacity, storage_targets, technology, bus, services
ReEDSStorageHydroPumpTurbinegeneration and pumping limits, efficiency, rating, bus, operation_cost, services
ReEDSElectrolyzerDemandStandardLoadname/category and demand_profile properties
ReEDSSteamMethaneReformingDemandStandardLoadname/category and demand_profile properties
ReEDSDataCenterDemandStandardLoadname/category and demand_profile properties
ReEDSConsumingTechnologyStandardLoadname/category and demand_profile properties
Source classTarget classProperty highlights
ReEDSTransmissionLineLine / MonitoredLine / TwoTerminalGenericHVDCLineflow_limits, loss_increment, wheeling_charges, units
ReEDSInterfaceAreaInterchangename, units, minimum/maximum_flow

Time series are attached after rule application. Generator and demand profiles therefore appear as target component properties plus target-system time-series records rather than as scalar fields alone.