Skip to content

ORM

BusConfiguration

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class BusConfiguration(Base):
    __tablename__ = "busconfiguration"

    idNetworkConfig = Column(
        Integer,
        ForeignKey("networkconfiginfo.idNetworkConfig"),
        primary_key=True,
        comment="primary identifier for network configurations",
    )
    idBus = Column(
        Integer,
        ForeignKey("busdata.idBus"),
        primary_key=True,
        comment="primary identifier for nodes",
    )
    BusName = Column(String(45), default=None, comment="unique name for nodes")
    Vmax = Column(Float, default=1.1, comment="p.u.")
    Vmin = Column(Float, default=0.9, comment="p.u.")
    WindShare = Column(
        Float,
        default=None,
        comment="fraction, portion of each country's Wind generation assigned to a given node",
    )
    SolarShare = Column(
        Float,
        default=None,
        comment="fraction, portion of each country's PV generation assigned to a given node",
    )
    idDistProfile = Column(
        Integer,
        default=None,
        comment="identifier for profile of DistIv’s generation at each node, this table is updated after each scenario-year simulation is completed so the next year will use the previous year’s DistIv generation as an assumption in CentIv",
    )

    # Relationships
    bus = relationship("BusData", back_populates="bus_configurations")
    network_config = relationship(
        "NetworkConfigInfo", back_populates="bus_configurations"
    )

BusName class-attribute instance-attribute

BusName = Column(String(45), default=None, comment='unique name for nodes')

SolarShare class-attribute instance-attribute

SolarShare = Column(
    Float,
    default=None,
    comment="fraction, portion of each country's PV generation assigned to a given node",
)

Vmax class-attribute instance-attribute

Vmax = Column(Float, default=1.1, comment='p.u.')

Vmin class-attribute instance-attribute

Vmin = Column(Float, default=0.9, comment='p.u.')

WindShare class-attribute instance-attribute

WindShare = Column(
    Float,
    default=None,
    comment="fraction, portion of each country's Wind generation assigned to a given node",
)

bus class-attribute instance-attribute

bus = relationship('BusData', back_populates='bus_configurations')

idBus class-attribute instance-attribute

idBus = Column(
    Integer,
    ForeignKey("busdata.idBus"),
    primary_key=True,
    comment="primary identifier for nodes",
)

idDistProfile class-attribute instance-attribute

idDistProfile = Column(
    Integer,
    default=None,
    comment="identifier for profile of DistIv’s generation at each node, this table is updated after each scenario-year simulation is completed so the next year will use the previous year’s DistIv generation as an assumption in CentIv",
)

idNetworkConfig class-attribute instance-attribute

idNetworkConfig = Column(
    Integer,
    ForeignKey("networkconfiginfo.idNetworkConfig"),
    primary_key=True,
    comment="primary identifier for network configurations",
)

network_config class-attribute instance-attribute

network_config = relationship(
    "NetworkConfigInfo", back_populates="bus_configurations"
)

BusData

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class BusData(Base):
    __tablename__ = "busdata"

    idBus = Column(Integer, primary_key=True, comment="primary identifier for nodes")
    internalBusId = Column(Integer, default=None, comment="redundant with idBus")
    BusName = Column(String(45), default=None, comment="unique name for nodes")
    SwissgridNodeCode = Column(
        String(45), default=None, comment="match Swissgrid codes for all CH nodes"
    )
    ZoneId = Column(Integer, default=None, comment="zonal assignment of all nodes")
    X_Coord = Column(Float, default=None, comment="X coordinate in LV03 format")
    Y_Coord = Column(Float, default=None, comment="Y coordinate in LV03 format")
    BusType = Column(
        String(2),
        default="PQ",
        comment="1=PQ (load bus), 2=PV (generator bus), 3=reference (slack bus)",
    )
    Qd = Column(Float, default=0.0, comment="MVAr")
    Pd = Column(Float, default=0.0, comment="MW")
    Gs = Column(
        Float,
        default=0.0,
        comment="Shunt Conductance, MW demanded at voltage = 1.0 p.u.",
    )
    Bs = Column(
        Float,
        default=0.0,
        comment="Shunt Susceptance, MVAr injected at voltage = 1.0 p.u.",
    )
    baseKV = Column(Float, default=None, comment="kV")
    Country = Column(
        String(45), default=None, comment="Country assignment of all nodes"
    )
    SubRegion = Column(
        String(45),
        default=None,
        comment="Region assignment of all nodes, could be Canton, municipality, etc",
    )
    StartYr = Column(
        Float,
        default=None,
        comment="first year a node should be included in the network configuration",
    )
    EndYr = Column(
        Float,
        default=None,
        comment="last year a node should be included in the network configuration",
    )

    # Relationships
    bus_configurations = relationship("BusConfiguration", back_populates="bus")

Bs class-attribute instance-attribute

Bs = Column(
    Float,
    default=0.0,
    comment="Shunt Susceptance, MVAr injected at voltage = 1.0 p.u.",
)

BusName class-attribute instance-attribute

BusName = Column(String(45), default=None, comment='unique name for nodes')

BusType class-attribute instance-attribute

BusType = Column(
    String(2),
    default="PQ",
    comment="1=PQ (load bus), 2=PV (generator bus), 3=reference (slack bus)",
)

Country class-attribute instance-attribute

Country = Column(
    String(45), default=None, comment="Country assignment of all nodes"
)

EndYr class-attribute instance-attribute

EndYr = Column(
    Float,
    default=None,
    comment="last year a node should be included in the network configuration",
)

Gs class-attribute instance-attribute

Gs = Column(
    Float,
    default=0.0,
    comment="Shunt Conductance, MW demanded at voltage = 1.0 p.u.",
)

Pd class-attribute instance-attribute

Pd = Column(Float, default=0.0, comment='MW')

Qd class-attribute instance-attribute

Qd = Column(Float, default=0.0, comment='MVAr')

StartYr class-attribute instance-attribute

StartYr = Column(
    Float,
    default=None,
    comment="first year a node should be included in the network configuration",
)

SubRegion class-attribute instance-attribute

SubRegion = Column(
    String(45),
    default=None,
    comment="Region assignment of all nodes, could be Canton, municipality, etc",
)

SwissgridNodeCode class-attribute instance-attribute

SwissgridNodeCode = Column(
    String(45), default=None, comment="match Swissgrid codes for all CH nodes"
)

X_Coord class-attribute instance-attribute

X_Coord = Column(Float, default=None, comment='X coordinate in LV03 format')

Y_Coord class-attribute instance-attribute

Y_Coord = Column(Float, default=None, comment='Y coordinate in LV03 format')

ZoneId class-attribute instance-attribute

ZoneId = Column(Integer, default=None, comment='zonal assignment of all nodes')

baseKV class-attribute instance-attribute

baseKV = Column(Float, default=None, comment='kV')

bus_configurations class-attribute instance-attribute

bus_configurations = relationship('BusConfiguration', back_populates='bus')

idBus class-attribute instance-attribute

idBus = Column(
    Integer, primary_key=True, comment="primary identifier for nodes"
)

internalBusId class-attribute instance-attribute

internalBusId = Column(Integer, default=None, comment='redundant with idBus')

CentFlexPotential

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class CentFlexPotential(Base):
    __tablename__ = "centflexpotential"

    Country = Column(
        String(45),
        primary_key=True,
        comment="Country assignment for this flexible potential",
    )
    Year = Column(Integer, primary_key=True, comment="year associated with the values")
    flex_type = Column(
        String(45), primary_key=True, comment="flexibility type (DSM, emobility, etc)"
    )
    PowerShift_Hrly = Column(
        Float, default=None, comment="GW, maximum power that can be shifted per hour"
    )
    EnergyShift_Daily = Column(
        Float,
        default=None,
        comment="GWh, maximum energy that can be shifted per day (is the sum of the absolute values of the upward and downward shifted energy)",
    )
    EnergyShift_Cost = Column(
        Float,
        default=None,
        comment="EUR/MWh, cost required to shift down 1 MWh (associated Up shift is not charged)",
    )

Country class-attribute instance-attribute

Country = Column(
    String(45),
    primary_key=True,
    comment="Country assignment for this flexible potential",
)

EnergyShift_Cost class-attribute instance-attribute

EnergyShift_Cost = Column(
    Float,
    default=None,
    comment="EUR/MWh, cost required to shift down 1 MWh (associated Up shift is not charged)",
)

EnergyShift_Daily class-attribute instance-attribute

EnergyShift_Daily = Column(
    Float,
    default=None,
    comment="GWh, maximum energy that can be shifted per day (is the sum of the absolute values of the upward and downward shifted energy)",
)

PowerShift_Hrly class-attribute instance-attribute

PowerShift_Hrly = Column(
    Float,
    default=None,
    comment="GW, maximum power that can be shifted per hour",
)

Year class-attribute instance-attribute

Year = Column(
    Integer, primary_key=True, comment="year associated with the values"
)

flex_type class-attribute instance-attribute

flex_type = Column(
    String(45),
    primary_key=True,
    comment="flexibility type (DSM, emobility, etc)",
)

DBInfo

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class DBInfo(Base):
    __tablename__ = "dbinfo"

    Date = Column(String(25), nullable=False, comment="date this database was created")
    Excel_file_used = Column(
        String(150),
        nullable=False,
        comment="associated Excel file used to originally create this database",
    )
    Matlab_file_used = Column(
        String(150),
        nullable=False,
        comment="associated Matlab file used to originally create this database",
    )
    created_by_user = Column(
        String(100),
        primary_key=True,
        comment="name of user who originally created this database",
    )
    Schema_version = Column(
        Float,
        nullable=False,
        comment="version number of the schema structure for this database, 1 = use for BFE Phase 1 project on flexibility, 2 = updated to more advanced database",
    )
    notes = Column(
        Text,
        default=None,
        comment="please provide any additional notes or comments about this database",
    )

Date class-attribute instance-attribute

Date = Column(
    String(25), nullable=False, comment="date this database was created"
)

Excel_file_used class-attribute instance-attribute

Excel_file_used = Column(
    String(150),
    nullable=False,
    comment="associated Excel file used to originally create this database",
)

Matlab_file_used class-attribute instance-attribute

Matlab_file_used = Column(
    String(150),
    nullable=False,
    comment="associated Matlab file used to originally create this database",
)

Schema_version class-attribute instance-attribute

Schema_version = Column(
    Float,
    nullable=False,
    comment="version number of the schema structure for this database, 1 = use for BFE Phase 1 project on flexibility, 2 = updated to more advanced database",
)

created_by_user class-attribute instance-attribute

created_by_user = Column(
    String(100),
    primary_key=True,
    comment="name of user who originally created this database",
)

notes class-attribute instance-attribute

notes = Column(
    Text,
    default=None,
    comment="please provide any additional notes or comments about this database",
)

DistABGenCosts

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class DistABGenCosts(Base):
    __tablename__ = "distabgencosts"

    Year = Column(Integer, primary_key=True, comment="year associated with the data")
    idDistABGen = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for distributed generators in the ABM",
    )
    GenName = Column(
        String(55), default=None, comment="unique name for distributed generators"
    )
    InvCost_P = Column(
        Float,
        default=None,
        comment="Non-annualized investment cost for building generator based on power capacity, EUR/kW",
    )
    VOM_Cost = Column(Float, default=None, comment="nonFuel variable O&M cost, EUR/kWh")
    Subsidy_Base = Column(
        Float, default=None, comment="one-time capacity subsidy payment, EUR"
    )
    Subsidy_1_kW = Column(
        Float,
        default=None,
        comment="one-time capacity subsidy payment, EUR/kW, applies to the first 30 kW of the PV capacity installed",
    )
    Subsidy_2_kW = Column(
        Float,
        default=None,
        comment="one-time capacity subsidy payment, EUR/kW, applies to everything except the first 30 kW of the PV capacity installed",
    )

GenName class-attribute instance-attribute

GenName = Column(
    String(55), default=None, comment="unique name for distributed generators"
)

InvCost_P class-attribute instance-attribute

InvCost_P = Column(
    Float,
    default=None,
    comment="Non-annualized investment cost for building generator based on power capacity, EUR/kW",
)

Subsidy_1_kW class-attribute instance-attribute

Subsidy_1_kW = Column(
    Float,
    default=None,
    comment="one-time capacity subsidy payment, EUR/kW, applies to the first 30 kW of the PV capacity installed",
)

Subsidy_2_kW class-attribute instance-attribute

Subsidy_2_kW = Column(
    Float,
    default=None,
    comment="one-time capacity subsidy payment, EUR/kW, applies to everything except the first 30 kW of the PV capacity installed",
)

Subsidy_Base class-attribute instance-attribute

Subsidy_Base = Column(
    Float, default=None, comment="one-time capacity subsidy payment, EUR"
)

VOM_Cost class-attribute instance-attribute

VOM_Cost = Column(
    Float, default=None, comment="nonFuel variable O&M cost, EUR/kWh"
)

Year class-attribute instance-attribute

Year = Column(
    Integer, primary_key=True, comment="year associated with the data"
)

idDistABGen class-attribute instance-attribute

idDistABGen = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for distributed generators in the ABM",
)

DistFlexPotential

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class DistFlexPotential(Base):
    __tablename__ = "distflexpotential"

    flex_type = Column(
        String(45), primary_key=True, comment="flexibility type (DSM, emobility, etc)"
    )
    Parameter = Column(
        String(55),
        primary_key=True,
        comment="identifier for parameters with supplied values by year",
    )
    Year = Column(Integer, primary_key=True, comment="year associated with the value")
    value = Column(
        Float,
        default=None,
        comment="values for DSM potential by year, PowerShift_Hrly (in GW) is the maximum power that can be shifted per hour for all of Switzerland, EnergyShift_Daily is the maximum energy that can be shifted per day for all Switzerland",
    )

Parameter class-attribute instance-attribute

Parameter = Column(
    String(55),
    primary_key=True,
    comment="identifier for parameters with supplied values by year",
)

Year class-attribute instance-attribute

Year = Column(
    Integer, primary_key=True, comment="year associated with the value"
)

flex_type class-attribute instance-attribute

flex_type = Column(
    String(45),
    primary_key=True,
    comment="flexibility type (DSM, emobility, etc)",
)

value class-attribute instance-attribute

value = Column(
    Float,
    default=None,
    comment="values for DSM potential by year, PowerShift_Hrly (in GW) is the maximum power that can be shifted per hour for all of Switzerland, EnergyShift_Daily is the maximum energy that can be shifted per day for all Switzerland",
)

DistGenConfigInfo

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class DistGenConfigInfo(Base):
    __tablename__ = "distgenconfiginfo"

    idDistGenConfig = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for distributed generator configurations",
    )
    Year = Column(
        Integer,
        default=None,
        comment="year associated with the distributed generator configuration",
    )
    Name = Column(
        String(55),
        default=None,
        comment="name given to the distributed generator configuration",
    )

Name class-attribute instance-attribute

Name = Column(
    String(55),
    default=None,
    comment="name given to the distributed generator configuration",
)

Year class-attribute instance-attribute

Year = Column(
    Integer,
    default=None,
    comment="year associated with the distributed generator configuration",
)

idDistGenConfig class-attribute instance-attribute

idDistGenConfig = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for distributed generator configurations",
)

DistGenConfiguration

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class DistGenConfiguration(Base):
    __tablename__ = "distgenconfiguration"

    idDistGenConfig = Column(
        Integer,
        ForeignKey("distgenconfiginfo.idDistGenConfig"),
        primary_key=True,
        comment="primary identifier for distributed generator configurations",
    )
    idDistGen = Column(
        Integer,
        ForeignKey("distgendata.idDistGen"),
        primary_key=True,
        comment="primary identifier for distributed generators",
    )
    Year = Column(
        Integer,
        default=None,
        comment="year associated with the distributed generator configuration",
    )
    GenName = Column(
        String(55), default=None, comment="unique name for distributed generators"
    )
    InvCost_P = Column(
        Float,
        default=None,
        comment="Annualized investment cost for building generator based on power capacity, kEUR/kW",
    )
    InvCost_E = Column(
        Float,
        default=None,
        comment="Annualized investment cost for building generator based on energy capacity, kEUR/kWh",
    )
    FOM_Cost = Column(Float, default=None, comment="Fixed O&M cost, EUR/kW/yr")
    VOM_Cost = Column(
        Float, default=None, comment="nonFuel variable O&M cost, EUR-cents/kWh"
    )
    Fuel_Cost = Column(Float, default=None, comment="Fuel cost, EUR-cents/kWh")
    Heat_Credit = Column(
        Float,
        default=None,
        comment="credit/payment for excess heat produced based on electricity generation, EUR-cents/kWh-el",
    )
    KEV = Column(
        Float, default=None, comment="one-time capacity subsidy payment, EUR/kW"
    )
    WACC = Column(
        Float,
        default=None,
        comment="weighted average cost of capital, the average rate a company expects to pay to finance its assets, fraction",
    )
    LCOE = Column(
        Float, default=None, comment="leveled cost of electricity, EUR-cent/kWh"
    )
    Heat_Value = Column(
        Float, default=None, comment="value/price for excess heat, EUR-cents/kWh-th"
    )

    # Relationships
    dist_gen = relationship("DistGenData", back_populates="dist_gen_configurations")

FOM_Cost class-attribute instance-attribute

FOM_Cost = Column(Float, default=None, comment='Fixed O&M cost, EUR/kW/yr')

Fuel_Cost class-attribute instance-attribute

Fuel_Cost = Column(Float, default=None, comment='Fuel cost, EUR-cents/kWh')

GenName class-attribute instance-attribute

GenName = Column(
    String(55), default=None, comment="unique name for distributed generators"
)

Heat_Credit class-attribute instance-attribute

Heat_Credit = Column(
    Float,
    default=None,
    comment="credit/payment for excess heat produced based on electricity generation, EUR-cents/kWh-el",
)

Heat_Value class-attribute instance-attribute

Heat_Value = Column(
    Float, default=None, comment="value/price for excess heat, EUR-cents/kWh-th"
)

InvCost_E class-attribute instance-attribute

InvCost_E = Column(
    Float,
    default=None,
    comment="Annualized investment cost for building generator based on energy capacity, kEUR/kWh",
)

InvCost_P class-attribute instance-attribute

InvCost_P = Column(
    Float,
    default=None,
    comment="Annualized investment cost for building generator based on power capacity, kEUR/kW",
)

KEV class-attribute instance-attribute

KEV = Column(
    Float, default=None, comment="one-time capacity subsidy payment, EUR/kW"
)

LCOE class-attribute instance-attribute

LCOE = Column(
    Float, default=None, comment="leveled cost of electricity, EUR-cent/kWh"
)

VOM_Cost class-attribute instance-attribute

VOM_Cost = Column(
    Float, default=None, comment="nonFuel variable O&M cost, EUR-cents/kWh"
)

WACC class-attribute instance-attribute

WACC = Column(
    Float,
    default=None,
    comment="weighted average cost of capital, the average rate a company expects to pay to finance its assets, fraction",
)

Year class-attribute instance-attribute

Year = Column(
    Integer,
    default=None,
    comment="year associated with the distributed generator configuration",
)

dist_gen class-attribute instance-attribute

dist_gen = relationship("DistGenData", back_populates="dist_gen_configurations")

idDistGen class-attribute instance-attribute

idDistGen = Column(
    Integer,
    ForeignKey("distgendata.idDistGen"),
    primary_key=True,
    comment="primary identifier for distributed generators",
)

idDistGenConfig class-attribute instance-attribute

idDistGenConfig = Column(
    Integer,
    ForeignKey("distgenconfiginfo.idDistGenConfig"),
    primary_key=True,
    comment="primary identifier for distributed generator configurations",
)

DistGenData

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class DistGenData(Base):
    __tablename__ = "distgendata"

    idDistGen = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for distributed generators",
    )
    GenName = Column(
        String(55), default=None, comment="unique name for distributed generators"
    )
    GenType = Column(
        String(45), default=None, comment="Basic gen type (Hydro, Conv, RES, Storage)"
    )
    Technology = Column(
        String(45),
        default=None,
        comment="Technology subtype (Dam, Pump, RoR, Nucl, Lignite, Coal, GasCC, GasSC, Biomass, Oil, Wind, PV, GeoTh, BatteryPV, BatteryGrid, GasCHP, etc)",
    )
    UnitType = Column(
        String(45),
        default=None,
        comment="Dispatchable or NonDispatchable (used to know which gens are controllable and can be used for reserves)",
    )
    Type = Column(
        String(45),
        default=None,
        comment="more specific details about the distributed generators unit type",
    )
    CandidateUnit = Column(
        Integer,
        default=None,
        comment="indicator if a given distributed generator should be considered for investment",
    )
    InvestmentType = Column(
        String(45),
        default=None,
        comment="indicator for the type of investment, continuous = non-discrete capacity investment blocks",
    )
    min_Size_kW = Column(
        Float, default=None, comment="kW, minimum investment size per unit built"
    )
    Pmax_kW = Column(Float, default=None, comment="kW, rated size of one unit")
    Pmin_kW = Column(
        Float, default=None, comment="kW, minimum generation from one unit"
    )
    Dischrg_max = Column(
        Float,
        default=None,
        comment="kW max discharging rate / kWh of installed energy storage volume",
    )
    Chrg_max = Column(
        Float,
        default=None,
        comment="kW max charging rate / kWh of installed energy storage volume",
    )
    eta_dis = Column(
        Float,
        default=None,
        comment="storage discharging efficiency, kW-from storage / kW-to grid, note this value should be > 1",
    )
    eta_ch = Column(
        Float,
        default=None,
        comment="storage charging efficiency, kW-to storage / kW-from grid, note this value should be < 1",
    )
    Self_dischrg = Column(
        Float, default=None, comment="fraction of Energy in storage lost per hour"
    )
    Emax = Column(
        Float,
        default=None,
        comment="max State Of Charge (Fraction max allowable of E_max_kWh)",
    )
    Emin = Column(
        Float,
        default=None,
        comment="min State Of Charge (Fraction min allowable of E_max_kWh)",
    )
    E_ini = Column(
        Float,
        default=None,
        comment="initial State Of Charge (Fraction of E_max_kWh at initial)",
    )
    E_final = Column(
        Float,
        default=None,
        comment="final State Of Charge (Fraction of E_max_kWh at final)",
    )
    Pini = Column(
        Float,
        default=None,
        comment="Initial power generation level at first time interval of simulation, fraction of Pmax",
    )
    RU = Column(Float, default=None, comment="Ramp Up rate, fraction of Pmax")
    RD = Column(Float, default=None, comment="Ramp Down Rate, fraction of Pmax")
    Lifetime = Column(Float, default=None, comment="Yrs")
    GenEffic = Column(
        Float,
        default=None,
        comment="Fractional electrical generator efficiency or heat rate, MWh-electric / MWh-heat (fuel)",
    )
    ThmlEffic = Column(
        Float,
        default=None,
        comment="Fractional thermal efficiency of generator, MWh-heat (produced) / MWh-heat (fuel)",
    )
    CapFactor = Column(
        Float,
        default=None,
        comment="Fractional ratio of actual annual production compared to maximum annual production",
    )
    CO2Rate = Column(
        Float, default=None, comment="CO2 emission rate, tonne CO2 / MWh-electric"
    )
    Emax_kWh = Column(
        Float, default=None, comment="Maximum storage volume of one unit, kWh"
    )
    FuelType = Column(
        String(45), default=None, comment="unique name of fuel used by given generator"
    )
    ElecOwnUseFactor = Column(
        Float,
        default=None,
        comment="Fraction of electricity generated that is consumed onsite for own use at the power plant",
    )

    # Relationships
    dist_gen_configurations = relationship(
        "DistGenConfiguration", back_populates="dist_gen"
    )

CO2Rate class-attribute instance-attribute

CO2Rate = Column(
    Float, default=None, comment="CO2 emission rate, tonne CO2 / MWh-electric"
)

CandidateUnit class-attribute instance-attribute

CandidateUnit = Column(
    Integer,
    default=None,
    comment="indicator if a given distributed generator should be considered for investment",
)

CapFactor class-attribute instance-attribute

CapFactor = Column(
    Float,
    default=None,
    comment="Fractional ratio of actual annual production compared to maximum annual production",
)

Chrg_max class-attribute instance-attribute

Chrg_max = Column(
    Float,
    default=None,
    comment="kW max charging rate / kWh of installed energy storage volume",
)

Dischrg_max class-attribute instance-attribute

Dischrg_max = Column(
    Float,
    default=None,
    comment="kW max discharging rate / kWh of installed energy storage volume",
)

E_final class-attribute instance-attribute

E_final = Column(
    Float,
    default=None,
    comment="final State Of Charge (Fraction of E_max_kWh at final)",
)

E_ini class-attribute instance-attribute

E_ini = Column(
    Float,
    default=None,
    comment="initial State Of Charge (Fraction of E_max_kWh at initial)",
)

ElecOwnUseFactor class-attribute instance-attribute

ElecOwnUseFactor = Column(
    Float,
    default=None,
    comment="Fraction of electricity generated that is consumed onsite for own use at the power plant",
)

Emax class-attribute instance-attribute

Emax = Column(
    Float,
    default=None,
    comment="max State Of Charge (Fraction max allowable of E_max_kWh)",
)

Emax_kWh class-attribute instance-attribute

Emax_kWh = Column(
    Float, default=None, comment="Maximum storage volume of one unit, kWh"
)

Emin class-attribute instance-attribute

Emin = Column(
    Float,
    default=None,
    comment="min State Of Charge (Fraction min allowable of E_max_kWh)",
)

FuelType class-attribute instance-attribute

FuelType = Column(
    String(45),
    default=None,
    comment="unique name of fuel used by given generator",
)

GenEffic class-attribute instance-attribute

GenEffic = Column(
    Float,
    default=None,
    comment="Fractional electrical generator efficiency or heat rate, MWh-electric / MWh-heat (fuel)",
)

GenName class-attribute instance-attribute

GenName = Column(
    String(55), default=None, comment="unique name for distributed generators"
)

GenType class-attribute instance-attribute

GenType = Column(
    String(45),
    default=None,
    comment="Basic gen type (Hydro, Conv, RES, Storage)",
)

InvestmentType class-attribute instance-attribute

InvestmentType = Column(
    String(45),
    default=None,
    comment="indicator for the type of investment, continuous = non-discrete capacity investment blocks",
)

Lifetime class-attribute instance-attribute

Lifetime = Column(Float, default=None, comment='Yrs')

Pini class-attribute instance-attribute

Pini = Column(
    Float,
    default=None,
    comment="Initial power generation level at first time interval of simulation, fraction of Pmax",
)

Pmax_kW class-attribute instance-attribute

Pmax_kW = Column(Float, default=None, comment='kW, rated size of one unit')

Pmin_kW class-attribute instance-attribute

Pmin_kW = Column(
    Float, default=None, comment="kW, minimum generation from one unit"
)

RD class-attribute instance-attribute

RD = Column(Float, default=None, comment='Ramp Down Rate, fraction of Pmax')

RU class-attribute instance-attribute

RU = Column(Float, default=None, comment='Ramp Up rate, fraction of Pmax')

Self_dischrg class-attribute instance-attribute

Self_dischrg = Column(
    Float, default=None, comment="fraction of Energy in storage lost per hour"
)

Technology class-attribute instance-attribute

Technology = Column(
    String(45),
    default=None,
    comment="Technology subtype (Dam, Pump, RoR, Nucl, Lignite, Coal, GasCC, GasSC, Biomass, Oil, Wind, PV, GeoTh, BatteryPV, BatteryGrid, GasCHP, etc)",
)

ThmlEffic class-attribute instance-attribute

ThmlEffic = Column(
    Float,
    default=None,
    comment="Fractional thermal efficiency of generator, MWh-heat (produced) / MWh-heat (fuel)",
)

Type class-attribute instance-attribute

Type = Column(
    String(45),
    default=None,
    comment="more specific details about the distributed generators unit type",
)

UnitType class-attribute instance-attribute

UnitType = Column(
    String(45),
    default=None,
    comment="Dispatchable or NonDispatchable (used to know which gens are controllable and can be used for reserves)",
)

dist_gen_configurations class-attribute instance-attribute

dist_gen_configurations = relationship(
    "DistGenConfiguration", back_populates="dist_gen"
)

eta_ch class-attribute instance-attribute

eta_ch = Column(
    Float,
    default=None,
    comment="storage charging efficiency, kW-to storage / kW-from grid, note this value should be < 1",
)

eta_dis class-attribute instance-attribute

eta_dis = Column(
    Float,
    default=None,
    comment="storage discharging efficiency, kW-from storage / kW-to grid, note this value should be > 1",
)

idDistGen class-attribute instance-attribute

idDistGen = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for distributed generators",
)

min_Size_kW class-attribute instance-attribute

min_Size_kW = Column(
    Float, default=None, comment="kW, minimum investment size per unit built"
)

DistProfiles

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class DistProfiles(Base):
    __tablename__ = "distprofiles"

    idDistProfile = Column(
        Integer,
        primary_key=True,
        autoincrement=True,
        comment="primary identifier for distributed profiles",
    )
    name = Column(
        String(45), default=None, comment="descriptive name for given profile"
    )
    type = Column(
        String(45),
        default=None,
        comment="defines the type of profile (DistIvGen, Irradiation, SolarGen, etc.)",
    )
    resolution = Column(
        String(45),
        default=None,
        comment="# hrs each entry in the profile covers (1 = hourly, 24 = daily, 168 = weekly, etc.)",
    )
    unit = Column(
        String(45), default=None, comment="associated units of the given profile"
    )
    timeSeries = Column(JSON, default=None, comment="time series values of the profile")

idDistProfile class-attribute instance-attribute

idDistProfile = Column(
    Integer,
    primary_key=True,
    autoincrement=True,
    comment="primary identifier for distributed profiles",
)

name class-attribute instance-attribute

name = Column(
    String(45), default=None, comment="descriptive name for given profile"
)

resolution class-attribute instance-attribute

resolution = Column(
    String(45),
    default=None,
    comment="# hrs each entry in the profile covers (1 = hourly, 24 = daily, 168 = weekly, etc.)",
)

timeSeries class-attribute instance-attribute

timeSeries = Column(
    JSON, default=None, comment="time series values of the profile"
)

type class-attribute instance-attribute

type = Column(
    String(45),
    default=None,
    comment="defines the type of profile (DistIvGen, Irradiation, SolarGen, etc.)",
)

unit class-attribute instance-attribute

unit = Column(
    String(45), default=None, comment="associated units of the given profile"
)

DistRegionByGenTypeData

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class DistRegionByGenTypeData(Base):
    __tablename__ = "distregionbygentypedata"

    Parameter = Column(
        String(55),
        primary_key=True,
        comment="identifier for parameters with supplied values by region and generator type",
    )
    idRegion = Column(
        Integer, primary_key=True, comment="primary identifier for distributed regions"
    )
    idDistGen = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for distributed generators",
    )
    GenName = Column(
        String(55), default=None, comment="unique name for distributed generators"
    )
    value = Column(
        Float,
        default=None,
        comment="values for parameters given by region and generator type, RetailTariff & Whole2Retail_Margin (both in EUR/MWh) are the average consumers electricity price and average markup needed to reach the consumers electricity price for a given region and a given consumer size (consumer size is identified by the PV size)",
    )

GenName class-attribute instance-attribute

GenName = Column(
    String(55), default=None, comment="unique name for distributed generators"
)

Parameter class-attribute instance-attribute

Parameter = Column(
    String(55),
    primary_key=True,
    comment="identifier for parameters with supplied values by region and generator type",
)

idDistGen class-attribute instance-attribute

idDistGen = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for distributed generators",
)

idRegion class-attribute instance-attribute

idRegion = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for distributed regions",
)

value class-attribute instance-attribute

value = Column(
    Float,
    default=None,
    comment="values for parameters given by region and generator type, RetailTariff & Whole2Retail_Margin (both in EUR/MWh) are the average consumers electricity price and average markup needed to reach the consumers electricity price for a given region and a given consumer size (consumer size is identified by the PV size)",
)

DistRegionByIrradLevelData

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class DistRegionByIrradLevelData(Base):
    __tablename__ = "distregionbyirradleveldata"

    Parameter = Column(
        String(55),
        primary_key=True,
        comment="identifier for parameters with supplied values by region and irradiation level",
    )
    idRegion = Column(
        Integer, primary_key=True, comment="primary identifier for distributed regions"
    )
    idDistGen = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for distributed generators",
    )
    GenName = Column(
        String(55), default=None, comment="unique name for distributed generators"
    )
    IrradLevel = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for irradiation levels, kWh/m^2",
    )
    value = Column(
        Float,
        default=None,
        comment="values for parameters given by region and generator type and irradiation level, PV_CapacityPotential (in kW)",
    )

GenName class-attribute instance-attribute

GenName = Column(
    String(55), default=None, comment="unique name for distributed generators"
)

IrradLevel class-attribute instance-attribute

IrradLevel = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for irradiation levels, kWh/m^2",
)

Parameter class-attribute instance-attribute

Parameter = Column(
    String(55),
    primary_key=True,
    comment="identifier for parameters with supplied values by region and irradiation level",
)

idDistGen class-attribute instance-attribute

idDistGen = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for distributed generators",
)

idRegion class-attribute instance-attribute

idRegion = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for distributed regions",
)

value class-attribute instance-attribute

value = Column(
    Float,
    default=None,
    comment="values for parameters given by region and generator type and irradiation level, PV_CapacityPotential (in kW)",
)

DistRegionData

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class DistRegionData(Base):
    __tablename__ = "distregiondata"

    idRegion = Column(
        Integer, primary_key=True, comment="primary identifier for distributed regions"
    )
    RegionName = Column(
        String(45),
        default=None,
        comment="name given to the distributed region (currently Canton abbreviation, matches busdata SubRegion)",
    )
    idProfile_Irrad = Column(
        Integer,
        default=None,
        comment="primary identifier for profiles, identifies the profile that defines this region’s time series irradiation",
    )
    idProfile_PVCapFactor = Column(
        Integer,
        default=None,
        comment="primary identifier for profiles, identifies the profile that defines this region’s time series PV generation",
    )
    GridTariff = Column(
        Float,
        default=None,
        comment="network usage price for customers in a region, EUR/MWh",
    )
    PVInjTariff = Column(
        Float,
        default=None,
        comment="price paid by DSO to consumers in a region for injection of excess PV generation, EUR/MWh",
    )

GridTariff class-attribute instance-attribute

GridTariff = Column(
    Float,
    default=None,
    comment="network usage price for customers in a region, EUR/MWh",
)

PVInjTariff class-attribute instance-attribute

PVInjTariff = Column(
    Float,
    default=None,
    comment="price paid by DSO to consumers in a region for injection of excess PV generation, EUR/MWh",
)

RegionName class-attribute instance-attribute

RegionName = Column(
    String(45),
    default=None,
    comment="name given to the distributed region (currently Canton abbreviation, matches busdata SubRegion)",
)

idProfile_Irrad class-attribute instance-attribute

idProfile_Irrad = Column(
    Integer,
    default=None,
    comment="primary identifier for profiles, identifies the profile that defines this region’s time series irradiation",
)

idProfile_PVCapFactor class-attribute instance-attribute

idProfile_PVCapFactor = Column(
    Integer,
    default=None,
    comment="primary identifier for profiles, identifies the profile that defines this region’s time series PV generation",
)

idRegion class-attribute instance-attribute

idRegion = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for distributed regions",
)

FlexParamsHP

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class FlexParamsHP(Base):
    __tablename__ = "flex_params_hp"

    idLoadConfig = Column(
        Integer, primary_key=True, comment="primary identifier for load configurations"
    )
    Parameter = Column(
        String(45),
        primary_key=True,
        comment="Indicator for which HP flexibility parameter (PowerCapacity_Max)",
    )
    year = Column(Float, default=None, comment="year associated with given profile")
    BusName = Column(String(45), primary_key=True, comment="unique name for nodes")
    unit = Column(
        String(15),
        default=None,
        comment="Indicator for the units that the values are in",
    )
    value = Column(Float, default=None, comment="values for HP flexibility parameters")

BusName class-attribute instance-attribute

BusName = Column(String(45), primary_key=True, comment='unique name for nodes')

Parameter class-attribute instance-attribute

Parameter = Column(
    String(45),
    primary_key=True,
    comment="Indicator for which HP flexibility parameter (PowerCapacity_Max)",
)

idLoadConfig class-attribute instance-attribute

idLoadConfig = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for load configurations",
)

unit class-attribute instance-attribute

unit = Column(
    String(15),
    default=None,
    comment="Indicator for the units that the values are in",
)

value class-attribute instance-attribute

value = Column(
    Float, default=None, comment="values for HP flexibility parameters"
)

year class-attribute instance-attribute

year = Column(Float, default=None, comment="year associated with given profile")

FlexProfilesEV

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class FlexProfilesEV(Base):
    __tablename__ = "flex_profiles_ev"

    idLoadConfig = Column(
        Integer, primary_key=True, comment="primary identifier for load configurations"
    )
    Parameter = Column(
        String(45),
        primary_key=True,
        comment="Indicator for which EV flexibility profile parameter (Demand_Max, Demand_Min, DailyShift_Max)",
    )
    year = Column(Float, default=None, comment="year associated with given profile")
    BusName = Column(String(45), primary_key=True, comment="unique name for nodes")
    resolution = Column(
        String(15),
        default=None,
        comment="Indicator for the timestep resolution (hourly, daily, etc)",
    )
    unit = Column(
        String(15),
        default=None,
        comment="Indicator for the units that the values are in",
    )
    timeSeries = Column(Text, default=None, comment="time series values of the profile")

BusName class-attribute instance-attribute

BusName = Column(String(45), primary_key=True, comment='unique name for nodes')

Parameter class-attribute instance-attribute

Parameter = Column(
    String(45),
    primary_key=True,
    comment="Indicator for which EV flexibility profile parameter (Demand_Max, Demand_Min, DailyShift_Max)",
)

idLoadConfig class-attribute instance-attribute

idLoadConfig = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for load configurations",
)

resolution class-attribute instance-attribute

resolution = Column(
    String(15),
    default=None,
    comment="Indicator for the timestep resolution (hourly, daily, etc)",
)

timeSeries class-attribute instance-attribute

timeSeries = Column(
    Text, default=None, comment="time series values of the profile"
)

unit class-attribute instance-attribute

unit = Column(
    String(15),
    default=None,
    comment="Indicator for the units that the values are in",
)

year class-attribute instance-attribute

year = Column(Float, default=None, comment="year associated with given profile")

FlexProfilesHP

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class FlexProfilesHP(Base):
    __tablename__ = "flex_profiles_hp"

    idLoadConfig = Column(
        Integer, primary_key=True, comment="primary identifier for load configurations"
    )
    Parameter = Column(
        String(45),
        primary_key=True,
        comment="Indicator for which HP flexibility profile parameter (EnergyCumulPerDay_Max,EnergyCumulPerDay_Min)",
    )
    year = Column(Float, default=None, comment="year associated with given profile")
    BusName = Column(String(45), primary_key=True, comment="unique name for nodes")
    resolution = Column(
        String(15),
        default=None,
        comment="Indicator for the timestep resolution (hourly, daily, etc)",
    )
    unit = Column(
        String(15),
        default=None,
        comment="Indicator for the units that the values are in",
    )
    timeSeries = Column(Text, default=None, comment="time series values of the profile")

BusName class-attribute instance-attribute

BusName = Column(String(45), primary_key=True, comment='unique name for nodes')

Parameter class-attribute instance-attribute

Parameter = Column(
    String(45),
    primary_key=True,
    comment="Indicator for which HP flexibility profile parameter (EnergyCumulPerDay_Max,EnergyCumulPerDay_Min)",
)

idLoadConfig class-attribute instance-attribute

idLoadConfig = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for load configurations",
)

resolution class-attribute instance-attribute

resolution = Column(
    String(15),
    default=None,
    comment="Indicator for the timestep resolution (hourly, daily, etc)",
)

timeSeries class-attribute instance-attribute

timeSeries = Column(
    Text, default=None, comment="time series values of the profile"
)

unit class-attribute instance-attribute

unit = Column(
    String(15),
    default=None,
    comment="Indicator for the units that the values are in",
)

year class-attribute instance-attribute

year = Column(Float, default=None, comment="year associated with given profile")

FuelPrices

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class FuelPrices(Base):
    __tablename__ = "fuelprices"

    fuel = Column(
        String(20),
        primary_key=True,
        comment="Name of the fuels, e.g., “Gas_EU”, “Coal_EU”, Coal_CH”.",
    )
    year = Column(
        Integer, primary_key=True, comment="year associated with the given fuel price"
    )
    price = Column(Float, nullable=False, comment="value for the given fuel price")
    price_mult_idProfile = Column(
        Float,
        default=None,
        comment="Profile ID for the hourly price multiplier profile.",
    )
    unit = Column(
        String(45),
        nullable=False,
        comment="definition of the units for the given fuel price",
    )

fuel class-attribute instance-attribute

fuel = Column(
    String(20),
    primary_key=True,
    comment="Name of the fuels, e.g., “Gas_EU”, “Coal_EU”, Coal_CH”.",
)

price class-attribute instance-attribute

price = Column(Float, nullable=False, comment='value for the given fuel price')

price_mult_idProfile class-attribute instance-attribute

price_mult_idProfile = Column(
    Float,
    default=None,
    comment="Profile ID for the hourly price multiplier profile.",
)

unit class-attribute instance-attribute

unit = Column(
    String(45),
    nullable=False,
    comment="definition of the units for the given fuel price",
)

year class-attribute instance-attribute

year = Column(
    Integer,
    primary_key=True,
    comment="year associated with the given fuel price",
)

GenConfigInfo

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class GenConfigInfo(Base):
    __tablename__ = "genconfiginfo"

    idGenConfig = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for generator configurations",
    )
    name = Column(
        String(45), default=None, comment="name given to the generator configuration"
    )
    year = Column(
        Integer,
        default=None,
        comment="year associated with the generator configuration",
    )

idGenConfig class-attribute instance-attribute

idGenConfig = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for generator configurations",
)

name class-attribute instance-attribute

name = Column(
    String(45),
    default=None,
    comment="name given to the generator configuration",
)

year class-attribute instance-attribute

year = Column(
    Integer,
    default=None,
    comment="year associated with the generator configuration",
)

GenConfiguration

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class GenConfiguration(Base):
    __tablename__ = "genconfiguration"

    idGenConfig = Column(
        Integer,
        ForeignKey("genconfiginfo.idGenConfig"),
        primary_key=True,
        comment="primary identifier for generator configurations",
    )
    idBus = Column(
        Integer,
        ForeignKey("busdata.idBus"),
        primary_key=True,
        comment="primary identifier for node where given generator is located",
    )
    idGen = Column(
        Integer,
        ForeignKey("gendata.idGen"),
        primary_key=True,
        comment="primary identifier for generators",
    )
    GenName = Column(String(100), default=None, comment="unique name for generators")
    idProfile = Column(
        Integer,
        ForeignKey("profiledata.idProfile"),
        default=None,
        comment="identifier for profile that defines this generator’s time series production (RES units) or time series for water inflows (Hydro units)",
    )
    CandidateUnit = Column(
        Integer,
        default=None,
        comment="indicator if a given generator does not yet exist and should be considered for investment",
    )
    Pmax = Column(Float, default=None, comment="MW")
    Pmin = Column(Float, default=None, comment="MW")
    Qmax = Column(Float, default=None, comment="MVAr")
    Qmin = Column(Float, default=None, comment="MVAr")
    Emax = Column(Float, default=None, comment="Maximum storage volume, MWh")
    Emin = Column(Float, default=None, comment="Minimum allowable storage volume, MWh")
    E_ini = Column(
        Float,
        default=None,
        comment="Initial storage volume at beginning of simulation, fraction of Emax",
    )
    VOM_Cost = Column(Float, default=None, comment="nonFuel variable O&M cost, EUR/MWh")
    FOM_Cost = Column(Float, default=None, comment="Fixed O&M cost, EUR/MW/yr")
    InvCost = Column(
        Float,
        default=None,
        comment="Annualized investment cost for building generator, EUR/MW/yr",
    )
    InvCost_E = Column(
        Float,
        default=None,
        comment="Annualized investment cost for building storage capacity associated with a storage generator, EUR/MWh/yr",
    )
    InvCost_Charge = Column(
        Float,
        default=None,
        comment="Annualized investment cost for building consumption portion of a storage generator (like pumping portion of pumped hydro or electrolyzer portion of hydrogen), EUR/MW/yr",
    )
    StartCost = Column(Float, default=None, comment="EUR/MW/start")
    TotVarCost = Column(
        Float, default=None, comment="Sum of all variable operating costs, EUR/MWh"
    )
    FuelType = Column(
        String(45), default=None, comment="unique name of fuel used by given generator"
    )
    CO2Type = Column(
        String(45),
        default=None,
        comment="unique name of CO2 entry in fuel prices table used by given generator",
    )
    status = Column(
        Float, default=None, comment="online status, 1 = in service, 0 = not in service"
    )
    HedgeRatio = Column(
        Float,
        default=None,
        comment="fraction, portion of monthly average power generated to offer into the Future market clearing",
    )

    # Relationships
    gen = relationship("GenData", back_populates="gen_configurations")
    profile = relationship("ProfileData", back_populates="gen_configurations")

CO2Type class-attribute instance-attribute

CO2Type = Column(
    String(45),
    default=None,
    comment="unique name of CO2 entry in fuel prices table used by given generator",
)

CandidateUnit class-attribute instance-attribute

CandidateUnit = Column(
    Integer,
    default=None,
    comment="indicator if a given generator does not yet exist and should be considered for investment",
)

E_ini class-attribute instance-attribute

E_ini = Column(
    Float,
    default=None,
    comment="Initial storage volume at beginning of simulation, fraction of Emax",
)

Emax class-attribute instance-attribute

Emax = Column(Float, default=None, comment='Maximum storage volume, MWh')

Emin class-attribute instance-attribute

Emin = Column(
    Float, default=None, comment="Minimum allowable storage volume, MWh"
)

FOM_Cost class-attribute instance-attribute

FOM_Cost = Column(Float, default=None, comment='Fixed O&M cost, EUR/MW/yr')

FuelType class-attribute instance-attribute

FuelType = Column(
    String(45),
    default=None,
    comment="unique name of fuel used by given generator",
)

GenName class-attribute instance-attribute

GenName = Column(
    String(100), default=None, comment="unique name for generators"
)

HedgeRatio class-attribute instance-attribute

HedgeRatio = Column(
    Float,
    default=None,
    comment="fraction, portion of monthly average power generated to offer into the Future market clearing",
)

InvCost class-attribute instance-attribute

InvCost = Column(
    Float,
    default=None,
    comment="Annualized investment cost for building generator, EUR/MW/yr",
)

InvCost_Charge class-attribute instance-attribute

InvCost_Charge = Column(
    Float,
    default=None,
    comment="Annualized investment cost for building consumption portion of a storage generator (like pumping portion of pumped hydro or electrolyzer portion of hydrogen), EUR/MW/yr",
)

InvCost_E class-attribute instance-attribute

InvCost_E = Column(
    Float,
    default=None,
    comment="Annualized investment cost for building storage capacity associated with a storage generator, EUR/MWh/yr",
)

Pmax class-attribute instance-attribute

Pmax = Column(Float, default=None, comment='MW')

Pmin class-attribute instance-attribute

Pmin = Column(Float, default=None, comment='MW')

Qmax class-attribute instance-attribute

Qmax = Column(Float, default=None, comment='MVAr')

Qmin class-attribute instance-attribute

Qmin = Column(Float, default=None, comment='MVAr')

StartCost class-attribute instance-attribute

StartCost = Column(Float, default=None, comment='EUR/MW/start')

TotVarCost class-attribute instance-attribute

TotVarCost = Column(
    Float, default=None, comment="Sum of all variable operating costs, EUR/MWh"
)

VOM_Cost class-attribute instance-attribute

VOM_Cost = Column(
    Float, default=None, comment="nonFuel variable O&M cost, EUR/MWh"
)

gen class-attribute instance-attribute

gen = relationship('GenData', back_populates='gen_configurations')

idBus class-attribute instance-attribute

idBus = Column(
    Integer,
    ForeignKey("busdata.idBus"),
    primary_key=True,
    comment="primary identifier for node where given generator is located",
)

idGen class-attribute instance-attribute

idGen = Column(
    Integer,
    ForeignKey("gendata.idGen"),
    primary_key=True,
    comment="primary identifier for generators",
)

idGenConfig class-attribute instance-attribute

idGenConfig = Column(
    Integer,
    ForeignKey("genconfiginfo.idGenConfig"),
    primary_key=True,
    comment="primary identifier for generator configurations",
)

idProfile class-attribute instance-attribute

idProfile = Column(
    Integer,
    ForeignKey("profiledata.idProfile"),
    default=None,
    comment="identifier for profile that defines this generator’s time series production (RES units) or time series for water inflows (Hydro units)",
)

profile class-attribute instance-attribute

profile = relationship('ProfileData', back_populates='gen_configurations')

status class-attribute instance-attribute

status = Column(
    Float,
    default=None,
    comment="online status, 1 = in service, 0 = not in service",
)

GenConfigurationExtra

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class GenConfigurationExtra(Base):
    __tablename__ = "genconfiguration_extra"

    idGenConfig = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for generator configurations",
    )
    idGen = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for generators",
    )
    GenName = Column(String(100), default=None, comment="unique name for generators")
    idBus = Column(
        Integer,
        default=None,
        comment="identifier for node where given generator is located",
    )
    GenType = Column(
        String(45), default=None, comment="Basic gen type (Hydro, Conv, RES)"
    )
    Technology = Column(
        String(45),
        default=None,
        comment="Technology subtype (Dam, Pump, RoR, Nucl, Lignite, Coal, GasCC, GasSC, Biomass, Oil, Wind, PV, GeoTh, etc)",
    )
    UnitType = Column(
        String(45),
        default=None,
        comment="Dispatchable or NonDispatchable (used to know which gens are controllable and can be used for reserves)",
    )
    Pmax_methdac = Column(
        Float,
        default=None,
        comment="Maximum output rate of synthetic gas from the DAC + Methanation, in MW-th-Gas",
    )
    Pmin_methdac = Column(
        Float,
        default=None,
        comment="Minimum output rate of synthetic gas from the DAC + Methanation, in MW-th-Gas",
    )
    Emax_h2stor = Column(
        Float,
        default=None,
        comment="Maximum volume of hydrogen that can be stored, in tonnes of H2",
    )
    Emin_h2stor = Column(
        Float,
        default=None,
        comment="Minimum allowable level in storage, in tonnes of H2",
    )
    VOM_methdac = Column(
        Float,
        default=None,
        comment="Variable operating costs of the DAC + Methanation unit, in EUR/MWh-th-Gas",
    )
    InvCost_h2Stor = Column(
        Float,
        default=None,
        comment="Annualized investment cost for building hydrogen storage tank/cavern, EUR/tonne-H2/yr",
    )
    InvCost_methdac = Column(
        Float,
        default=None,
        comment="Annualized investment cost for building DAC + Methanation, EUR/MWh-th-Gas/yr",
    )
    FOM_elzr = Column(
        Float,
        default=None,
        comment="Fixed operations and maintenance cost for electrolyzer, in EUR/MW-el/yr",
    )
    FOM_h2Stor = Column(
        Float,
        default=None,
        comment="Fixed operations and maintenance cost for hydrogen storage tank/cavern, in EUR/tonne-H2yr",
    )
    FOM_methdac = Column(
        Float,
        default=None,
        comment="Fixed operations and maintenance cost for DAC + Methanation, in EUR/MWh-th-Gas/yr",
    )
    Conv_elzr = Column(
        Float,
        default=None,
        comment="Conversion ratio of the electrolyzer, in tonne-H2 (out) / MWh-el (in)",
    )
    Conv_fc = Column(
        Float,
        default=None,
        comment="Conversion ratio of the fuel cell, in MWh-el (out) / tonne-H2 (in)",
    )
    Conv_methdac_h2 = Column(
        Float,
        default=None,
        comment="Conversion ratio of the DAC + Methanation for H2 input, in MWh-th-Gas (out) / tonne-H2 (in)",
    )
    Conv_methdac_el = Column(
        Float,
        default=None,
        comment="Conversion ratio of the DAC + Methanation for electricity input, in MWh-th-Gas (out) / MWh-el (in)",
    )
    Conv_methdac_co2 = Column(
        Float,
        default=None,
        comment="Conversion ratio of the DAC + Methanation for CO2, in MWh-th-Gas (out) / tonne-CO2 (captured)",
    )
    MaxInjRate_h2Stor = Column(
        Float,
        default=None,
        comment="Maximum injection rate of Hydrogen into the storage, in percent of Emax per day",
    )
    MaxWithRate_h2Stor = Column(
        Float,
        default=None,
        comment="Maximum withdrawal rate of Hydrogen from the storage, in percent of Emax per day",
    )
    FuelType_methdac = Column(
        String(45),
        default=None,
        comment="Fuel type for synthetic gas created by DAC + Methanation",
    )
    FuelType_ch4_import = Column(
        String(45),
        default=None,
        comment="Fuel type for imported synthetic methane",
    )
    FuelType_h2_domestic = Column(
        String(45),
        default=None,
        comment="Fuel type for synthesized hydrogen created domestically",
    )
    FuelType_h2_import = Column(
        String(45),
        default=None,
        comment="Fuel type for imported hydrogen",
    )
    Ind_h2_MarketConnect = Column(
        Float,
        default=None,
        comment="Indicator if the P2X unit is connected to the hydrogen market",
    )
    h2Stor_Type = Column(
        String(45), default=None, comment="Type of Hydrogen Storage (Tank or LRC)"
    )
    ElecGen_Type = Column(
        String(45),
        default=None,
        comment="Type of Electricity Generator (Fuel Cell or Hydrogen-fired Turbine)",
    )

Conv_elzr class-attribute instance-attribute

Conv_elzr = Column(
    Float,
    default=None,
    comment="Conversion ratio of the electrolyzer, in tonne-H2 (out) / MWh-el (in)",
)

Conv_fc class-attribute instance-attribute

Conv_fc = Column(
    Float,
    default=None,
    comment="Conversion ratio of the fuel cell, in MWh-el (out) / tonne-H2 (in)",
)

Conv_methdac_co2 class-attribute instance-attribute

Conv_methdac_co2 = Column(
    Float,
    default=None,
    comment="Conversion ratio of the DAC + Methanation for CO2, in MWh-th-Gas (out) / tonne-CO2 (captured)",
)

Conv_methdac_el class-attribute instance-attribute

Conv_methdac_el = Column(
    Float,
    default=None,
    comment="Conversion ratio of the DAC + Methanation for electricity input, in MWh-th-Gas (out) / MWh-el (in)",
)

Conv_methdac_h2 class-attribute instance-attribute

Conv_methdac_h2 = Column(
    Float,
    default=None,
    comment="Conversion ratio of the DAC + Methanation for H2 input, in MWh-th-Gas (out) / tonne-H2 (in)",
)

ElecGen_Type class-attribute instance-attribute

ElecGen_Type = Column(
    String(45),
    default=None,
    comment="Type of Electricity Generator (Fuel Cell or Hydrogen-fired Turbine)",
)

Emax_h2stor class-attribute instance-attribute

Emax_h2stor = Column(
    Float,
    default=None,
    comment="Maximum volume of hydrogen that can be stored, in tonnes of H2",
)

Emin_h2stor class-attribute instance-attribute

Emin_h2stor = Column(
    Float,
    default=None,
    comment="Minimum allowable level in storage, in tonnes of H2",
)

FOM_elzr class-attribute instance-attribute

FOM_elzr = Column(
    Float,
    default=None,
    comment="Fixed operations and maintenance cost for electrolyzer, in EUR/MW-el/yr",
)

FOM_h2Stor class-attribute instance-attribute

FOM_h2Stor = Column(
    Float,
    default=None,
    comment="Fixed operations and maintenance cost for hydrogen storage tank/cavern, in EUR/tonne-H2yr",
)

FOM_methdac class-attribute instance-attribute

FOM_methdac = Column(
    Float,
    default=None,
    comment="Fixed operations and maintenance cost for DAC + Methanation, in EUR/MWh-th-Gas/yr",
)

FuelType_ch4_import class-attribute instance-attribute

FuelType_ch4_import = Column(
    String(45), default=None, comment="Fuel type for imported synthetic methane"
)

FuelType_h2_domestic class-attribute instance-attribute

FuelType_h2_domestic = Column(
    String(45),
    default=None,
    comment="Fuel type for synthesized hydrogen created domestically",
)

FuelType_h2_import class-attribute instance-attribute

FuelType_h2_import = Column(
    String(45), default=None, comment="Fuel type for imported hydrogen"
)

FuelType_methdac class-attribute instance-attribute

FuelType_methdac = Column(
    String(45),
    default=None,
    comment="Fuel type for synthetic gas created by DAC + Methanation",
)

GenName class-attribute instance-attribute

GenName = Column(
    String(100), default=None, comment="unique name for generators"
)

GenType class-attribute instance-attribute

GenType = Column(
    String(45), default=None, comment="Basic gen type (Hydro, Conv, RES)"
)

Ind_h2_MarketConnect class-attribute instance-attribute

Ind_h2_MarketConnect = Column(
    Float,
    default=None,
    comment="Indicator if the P2X unit is connected to the hydrogen market",
)

InvCost_h2Stor class-attribute instance-attribute

InvCost_h2Stor = Column(
    Float,
    default=None,
    comment="Annualized investment cost for building hydrogen storage tank/cavern, EUR/tonne-H2/yr",
)

InvCost_methdac class-attribute instance-attribute

InvCost_methdac = Column(
    Float,
    default=None,
    comment="Annualized investment cost for building DAC + Methanation, EUR/MWh-th-Gas/yr",
)

MaxInjRate_h2Stor class-attribute instance-attribute

MaxInjRate_h2Stor = Column(
    Float,
    default=None,
    comment="Maximum injection rate of Hydrogen into the storage, in percent of Emax per day",
)

MaxWithRate_h2Stor class-attribute instance-attribute

MaxWithRate_h2Stor = Column(
    Float,
    default=None,
    comment="Maximum withdrawal rate of Hydrogen from the storage, in percent of Emax per day",
)

Pmax_methdac class-attribute instance-attribute

Pmax_methdac = Column(
    Float,
    default=None,
    comment="Maximum output rate of synthetic gas from the DAC + Methanation, in MW-th-Gas",
)

Pmin_methdac class-attribute instance-attribute

Pmin_methdac = Column(
    Float,
    default=None,
    comment="Minimum output rate of synthetic gas from the DAC + Methanation, in MW-th-Gas",
)

Technology class-attribute instance-attribute

Technology = Column(
    String(45),
    default=None,
    comment="Technology subtype (Dam, Pump, RoR, Nucl, Lignite, Coal, GasCC, GasSC, Biomass, Oil, Wind, PV, GeoTh, etc)",
)

UnitType class-attribute instance-attribute

UnitType = Column(
    String(45),
    default=None,
    comment="Dispatchable or NonDispatchable (used to know which gens are controllable and can be used for reserves)",
)

VOM_methdac class-attribute instance-attribute

VOM_methdac = Column(
    Float,
    default=None,
    comment="Variable operating costs of the DAC + Methanation unit, in EUR/MWh-th-Gas",
)

h2Stor_Type class-attribute instance-attribute

h2Stor_Type = Column(
    String(45), default=None, comment="Type of Hydrogen Storage (Tank or LRC)"
)

idBus class-attribute instance-attribute

idBus = Column(
    Integer,
    default=None,
    comment="identifier for node where given generator is located",
)

idGen class-attribute instance-attribute

idGen = Column(
    Integer, primary_key=True, comment="primary identifier for generators"
)

idGenConfig class-attribute instance-attribute

idGenConfig = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for generator configurations",
)

GenData

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class GenData(Base):
    __tablename__ = "gendata"

    idGen = Column(
        Integer, primary_key=True, comment="primary identifier for generators"
    )
    GenName = Column(String(100), default=None, comment="unique name for generators")
    GenType = Column(
        String(45), default=None, comment="Basic gen type (Hydro, Conv, RES)"
    )
    Technology = Column(
        String(45),
        default=None,
        comment="Technology subtype (Dam, Pump, RoR, Nucl, Lignite, Coal, GasCC, GasSC, Biomass, Oil, Wind, PV, GeoTh, etc)",
    )
    UnitType = Column(
        String(45),
        default=None,
        comment="Dispatchable or NonDispatchable (used to know which gens are controllable and can be used for reserves)",
    )
    StartYr = Column(
        Float,
        default=None,
        comment="Year this generator was first online (default = 2012)",
    )
    EndYr = Column(Float, default=None, comment="Last year this generator is online")
    GenEffic = Column(
        Float,
        default=None,
        comment="Fractional generator efficiency or heat rate, MWh-electric / MWh-heat",
    )
    CO2Rate = Column(
        Float, default=None, comment="CO2 emission rate, tonne CO2 / MWh-electric"
    )
    eta_dis = Column(
        Float,
        default=None,
        comment="storage discharging efficiency, kW-to grid / kW-from storage",
    )
    eta_ch = Column(
        Float,
        default=None,
        comment="storage charging efficiency, kW-to storage / kW-from grid",
    )
    RU = Column(Float, default=None, comment="Ramp Up rate, MW/hr")
    RD = Column(Float, default=None, comment="Ramp Down Rate, MW/hr")
    RU_start = Column(
        Float, default=None, comment="Ramp Up Rate during Start Up, MW/hr"
    )
    RD_shutd = Column(
        Float, default=None, comment="Ramp Down Rate during Shut Down, MW/hr"
    )
    UT = Column(Integer, default=None, comment="Minimum Up Time, hr")
    DT = Column(Integer, default=None, comment="Minimum Down Time, hr")
    Pini = Column(
        Float,
        default=None,
        comment="Initial power generation level at first time interval of simulation, MW",
    )
    Tini = Column(
        Float,
        default=None,
        comment="Number of hours generator has already been online at first time interval of simulation, hr",
    )
    meanErrorForecast24h = Column(
        Float,
        default=None,
        comment="normalized mean error for renewable generation forecasted 24 hrs ahead (dimensionless)",
    )
    sigmaErrorForecast24h = Column(
        Float,
        default=None,
        comment="standard deviation for renewable generation forecasted 24 hrs ahead (dimensionless)",
    )
    Lifetime = Column(Float, default=None, comment="Lifetime of the generator in years")

    # Relationships
    gen_configurations = relationship("GenConfiguration", back_populates="gen")

CO2Rate class-attribute instance-attribute

CO2Rate = Column(
    Float, default=None, comment="CO2 emission rate, tonne CO2 / MWh-electric"
)

DT class-attribute instance-attribute

DT = Column(Integer, default=None, comment='Minimum Down Time, hr')

EndYr class-attribute instance-attribute

EndYr = Column(
    Float, default=None, comment="Last year this generator is online"
)

GenEffic class-attribute instance-attribute

GenEffic = Column(
    Float,
    default=None,
    comment="Fractional generator efficiency or heat rate, MWh-electric / MWh-heat",
)

GenName class-attribute instance-attribute

GenName = Column(
    String(100), default=None, comment="unique name for generators"
)

GenType class-attribute instance-attribute

GenType = Column(
    String(45), default=None, comment="Basic gen type (Hydro, Conv, RES)"
)

Lifetime class-attribute instance-attribute

Lifetime = Column(
    Float, default=None, comment="Lifetime of the generator in years"
)

Pini class-attribute instance-attribute

Pini = Column(
    Float,
    default=None,
    comment="Initial power generation level at first time interval of simulation, MW",
)

RD class-attribute instance-attribute

RD = Column(Float, default=None, comment='Ramp Down Rate, MW/hr')

RD_shutd class-attribute instance-attribute

RD_shutd = Column(
    Float, default=None, comment="Ramp Down Rate during Shut Down, MW/hr"
)

RU class-attribute instance-attribute

RU = Column(Float, default=None, comment='Ramp Up rate, MW/hr')

RU_start class-attribute instance-attribute

RU_start = Column(
    Float, default=None, comment="Ramp Up Rate during Start Up, MW/hr"
)

StartYr class-attribute instance-attribute

StartYr = Column(
    Float,
    default=None,
    comment="Year this generator was first online (default = 2012)",
)

Technology class-attribute instance-attribute

Technology = Column(
    String(45),
    default=None,
    comment="Technology subtype (Dam, Pump, RoR, Nucl, Lignite, Coal, GasCC, GasSC, Biomass, Oil, Wind, PV, GeoTh, etc)",
)

Tini class-attribute instance-attribute

Tini = Column(
    Float,
    default=None,
    comment="Number of hours generator has already been online at first time interval of simulation, hr",
)

UT class-attribute instance-attribute

UT = Column(Integer, default=None, comment='Minimum Up Time, hr')

UnitType class-attribute instance-attribute

UnitType = Column(
    String(45),
    default=None,
    comment="Dispatchable or NonDispatchable (used to know which gens are controllable and can be used for reserves)",
)

eta_ch class-attribute instance-attribute

eta_ch = Column(
    Float,
    default=None,
    comment="storage charging efficiency, kW-to storage / kW-from grid",
)

eta_dis class-attribute instance-attribute

eta_dis = Column(
    Float,
    default=None,
    comment="storage discharging efficiency, kW-to grid / kW-from storage",
)

gen_configurations class-attribute instance-attribute

gen_configurations = relationship('GenConfiguration', back_populates='gen')

idGen class-attribute instance-attribute

idGen = Column(
    Integer, primary_key=True, comment="primary identifier for generators"
)

meanErrorForecast24h class-attribute instance-attribute

meanErrorForecast24h = Column(
    Float,
    default=None,
    comment="normalized mean error for renewable generation forecasted 24 hrs ahead (dimensionless)",
)

sigmaErrorForecast24h class-attribute instance-attribute

sigmaErrorForecast24h = Column(
    Float,
    default=None,
    comment="standard deviation for renewable generation forecasted 24 hrs ahead (dimensionless)",
)

GenTypeData

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class GenTypeData(Base):
    __tablename__ = "gentypedata"

    GenType = Column(
        String(45), primary_key=True, comment="Basic gen type (Hydro, Conv, RES)"
    )
    Technology = Column(
        String(45),
        primary_key=True,
        comment="Technology subtype (Dam, Pump, RoR, Nucl, Lignite, Coal, GasCC, GasSC, Biomass, Oil, Wind, PV, GeoTh, etc)",
    )
    Component = Column(
        String(45),
        primary_key=True,
        comment="Component type (e.g., generator, storage, etc.)",
    )
    Year = Column(Integer, primary_key=True, comment="Year associated with the data")
    Subsidy_Indicator = Column(
        String(45), primary_key=True, comment="Indicator for subsidy type"
    )
    InvCost_UpFront = Column(Float, default=None, comment="In EUR/kW")
    InvCost_Annual_NoSubsidy = Column(Float, default=None, comment="In EUR/kW/yr")
    InvCost_Annual_Subsidy = Column(Float, default=None, comment="In EUR/kW/yr")
    WACC = Column(Float, default=None, comment="As a fraction")
    Lifetime = Column(Float, default=None, comment="In years")
    AnnuityFactor = Column(Float, default=None, comment="In (EUR/kW/yr) / (EUR/kW)")
    Subsidy_Fraction = Column(Float, default=None, comment="As a fraction")
    FixedOM_Cost = Column(Float, default=None, comment="In EUR/MW/yr")

AnnuityFactor class-attribute instance-attribute

AnnuityFactor = Column(Float, default=None, comment="In (EUR/kW/yr) / (EUR/kW)")

Component class-attribute instance-attribute

Component = Column(
    String(45),
    primary_key=True,
    comment="Component type (e.g., generator, storage, etc.)",
)

FixedOM_Cost class-attribute instance-attribute

FixedOM_Cost = Column(Float, default=None, comment='In EUR/MW/yr')

GenType class-attribute instance-attribute

GenType = Column(
    String(45), primary_key=True, comment="Basic gen type (Hydro, Conv, RES)"
)

InvCost_Annual_NoSubsidy class-attribute instance-attribute

InvCost_Annual_NoSubsidy = Column(Float, default=None, comment='In EUR/kW/yr')

InvCost_Annual_Subsidy class-attribute instance-attribute

InvCost_Annual_Subsidy = Column(Float, default=None, comment='In EUR/kW/yr')

InvCost_UpFront class-attribute instance-attribute

InvCost_UpFront = Column(Float, default=None, comment='In EUR/kW')

Lifetime class-attribute instance-attribute

Lifetime = Column(Float, default=None, comment='In years')

Subsidy_Fraction class-attribute instance-attribute

Subsidy_Fraction = Column(Float, default=None, comment='As a fraction')

Subsidy_Indicator class-attribute instance-attribute

Subsidy_Indicator = Column(
    String(45), primary_key=True, comment="Indicator for subsidy type"
)

Technology class-attribute instance-attribute

Technology = Column(
    String(45),
    primary_key=True,
    comment="Technology subtype (Dam, Pump, RoR, Nucl, Lignite, Coal, GasCC, GasSC, Biomass, Oil, Wind, PV, GeoTh, etc)",
)

WACC class-attribute instance-attribute

WACC = Column(Float, default=None, comment='As a fraction')

Year class-attribute instance-attribute

Year = Column(
    Integer, primary_key=True, comment="Year associated with the data"
)

LineConfiguration

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class LineConfiguration(Base):
    __tablename__ = "lineconfiguration"

    idNetworkConfig = Column(
        Integer,
        ForeignKey("networkconfiginfo.idNetworkConfig"),
        primary_key=True,
        comment="primary identifier for network configurations",
    )
    idLine = Column(
        Integer,
        ForeignKey("linedata.idLine"),
        primary_key=True,
        comment="primary identifier for lines",
    )
    LineName = Column(String(45), nullable=False, comment="unique name for lines")
    idFromBus = Column(
        Integer,
        ForeignKey("busdata.idBus"),
        comment="idBus for FROM side node of a given line",
    )
    idToBus = Column(
        Integer,
        ForeignKey("busdata.idBus"),
        comment="idBus for TO side node of a given line",
    )
    angmin = Column(
        Float, default=-360.0, comment="minimum voltage angle different in degrees"
    )
    angmax = Column(
        Float, default=360.0, comment="maximum voltage angle different in degrees"
    )
    status = Column(
        Float, default=None, comment="line status, 1 = in service, 0 = out of service"
    )
    FromBusName = Column(
        String(45), default=None, comment="Bus Name for FROM side node of a given line"
    )
    ToBusName = Column(
        String(45), default=None, comment="Bus Name for TO side node of a given line"
    )
    FromCountry = Column(
        String(45),
        default=None,
        comment="Country abbreviation for FROM side node of a given line",
    )
    ToCountry = Column(
        String(45),
        default=None,
        comment="Country abbreviation for TO side node of a given line",
    )
    Ind_CrossBord = Column(
        Integer,
        default=None,
        comment="indicator if a given line crosses between two countries",
    )
    Ind_Agg = Column(
        Integer,
        default=None,
        comment="indicator if a given line is represented as an aggregation/simplification of the actual physical network",
    )
    Ind_HVDC = Column(
        Integer, default=None, comment="indicator if a given line is an HVDC line"
    )
    Candidate = Column(
        Integer,
        default=None,
        comment="indicator if a given line should be considered for investment",
    )
    CandCost = Column(
        Float,
        default=None,
        comment="annualized cost to build a candidate line, EUR/km/yr",
    )

    # Relationships
    network_config = relationship(
        "NetworkConfigInfo", back_populates="line_configurations"
    )
    line = relationship("LineData", back_populates="line_configurations")
    from_bus = relationship("BusData", foreign_keys=[idFromBus])
    to_bus = relationship("BusData", foreign_keys=[idToBus])

CandCost class-attribute instance-attribute

CandCost = Column(
    Float,
    default=None,
    comment="annualized cost to build a candidate line, EUR/km/yr",
)

Candidate class-attribute instance-attribute

Candidate = Column(
    Integer,
    default=None,
    comment="indicator if a given line should be considered for investment",
)

FromBusName class-attribute instance-attribute

FromBusName = Column(
    String(45),
    default=None,
    comment="Bus Name for FROM side node of a given line",
)

FromCountry class-attribute instance-attribute

FromCountry = Column(
    String(45),
    default=None,
    comment="Country abbreviation for FROM side node of a given line",
)

Ind_Agg class-attribute instance-attribute

Ind_Agg = Column(
    Integer,
    default=None,
    comment="indicator if a given line is represented as an aggregation/simplification of the actual physical network",
)

Ind_CrossBord class-attribute instance-attribute

Ind_CrossBord = Column(
    Integer,
    default=None,
    comment="indicator if a given line crosses between two countries",
)

Ind_HVDC class-attribute instance-attribute

Ind_HVDC = Column(
    Integer, default=None, comment="indicator if a given line is an HVDC line"
)

LineName class-attribute instance-attribute

LineName = Column(String(45), nullable=False, comment='unique name for lines')

ToBusName class-attribute instance-attribute

ToBusName = Column(
    String(45),
    default=None,
    comment="Bus Name for TO side node of a given line",
)

ToCountry class-attribute instance-attribute

ToCountry = Column(
    String(45),
    default=None,
    comment="Country abbreviation for TO side node of a given line",
)

angmax class-attribute instance-attribute

angmax = Column(
    Float, default=360.0, comment="maximum voltage angle different in degrees"
)

angmin class-attribute instance-attribute

angmin = Column(
    Float, default=-360.0, comment="minimum voltage angle different in degrees"
)

from_bus class-attribute instance-attribute

from_bus = relationship('BusData', foreign_keys=[idFromBus])

idFromBus class-attribute instance-attribute

idFromBus = Column(
    Integer,
    ForeignKey("busdata.idBus"),
    comment="idBus for FROM side node of a given line",
)

idLine class-attribute instance-attribute

idLine = Column(
    Integer,
    ForeignKey("linedata.idLine"),
    primary_key=True,
    comment="primary identifier for lines",
)

idNetworkConfig class-attribute instance-attribute

idNetworkConfig = Column(
    Integer,
    ForeignKey("networkconfiginfo.idNetworkConfig"),
    primary_key=True,
    comment="primary identifier for network configurations",
)

idToBus class-attribute instance-attribute

idToBus = Column(
    Integer,
    ForeignKey("busdata.idBus"),
    comment="idBus for TO side node of a given line",
)

line class-attribute instance-attribute

line = relationship('LineData', back_populates='line_configurations')

network_config class-attribute instance-attribute

network_config = relationship(
    "NetworkConfigInfo", back_populates="line_configurations"
)

status class-attribute instance-attribute

status = Column(
    Float,
    default=None,
    comment="line status, 1 = in service, 0 = out of service",
)

to_bus class-attribute instance-attribute

to_bus = relationship('BusData', foreign_keys=[idToBus])

LineData

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class LineData(Base):
    __tablename__ = "linedata"

    idLine = Column(Integer, primary_key=True, comment="primary identifier for lines")
    LineName = Column(String(45), nullable=False, comment="unique name for lines")
    line_type = Column(String(45), default=None)
    loss_factor = Column(Float, default=None)
    r = Column(Float, default=None, comment="line resistance in p.u.")
    x = Column(Float, default=None, comment="line reactance in p.u.")
    b = Column(Float, default=None, comment="line susceptance in p.u.")
    rateA = Column(Float, default=None, comment="line rating in MVA, nominal rating")
    rateA2 = Column(Float, default=None)
    rateB = Column(Float, default=None, comment="line rating in MVA, short term rating")
    rateC = Column(Float, default=None, comment="line rating in MVA, emergency rating")
    StartYr = Column(
        Float,
        default=None,
        comment="first year a line should be included in the network configuration",
    )
    EndYr = Column(
        Float,
        default=None,
        comment="last year a line should be included in the network configuration",
    )
    kV = Column(Float, default=None, comment="line voltage in kV")
    MVA_Winter = Column(
        Float, default=None, comment="line rating in MVA, applicable in winter"
    )
    MVA_Summer = Column(
        Float, default=None, comment="line rating in MVA, applicable in summer"
    )
    MVA_SprFall = Column(
        Float, default=None, comment="line rating in MVA, applicable in spring and fall"
    )
    length = Column(Float, default=None, comment="line length in km")

    # Relationships
    line_configurations = relationship("LineConfiguration", back_populates="line")

EndYr class-attribute instance-attribute

EndYr = Column(
    Float,
    default=None,
    comment="last year a line should be included in the network configuration",
)

LineName class-attribute instance-attribute

LineName = Column(String(45), nullable=False, comment='unique name for lines')

MVA_SprFall class-attribute instance-attribute

MVA_SprFall = Column(
    Float,
    default=None,
    comment="line rating in MVA, applicable in spring and fall",
)

MVA_Summer class-attribute instance-attribute

MVA_Summer = Column(
    Float, default=None, comment="line rating in MVA, applicable in summer"
)

MVA_Winter class-attribute instance-attribute

MVA_Winter = Column(
    Float, default=None, comment="line rating in MVA, applicable in winter"
)

StartYr class-attribute instance-attribute

StartYr = Column(
    Float,
    default=None,
    comment="first year a line should be included in the network configuration",
)

b class-attribute instance-attribute

b = Column(Float, default=None, comment='line susceptance in p.u.')

idLine class-attribute instance-attribute

idLine = Column(
    Integer, primary_key=True, comment="primary identifier for lines"
)

kV class-attribute instance-attribute

kV = Column(Float, default=None, comment='line voltage in kV')

length class-attribute instance-attribute

length = Column(Float, default=None, comment='line length in km')

line_configurations class-attribute instance-attribute

line_configurations = relationship('LineConfiguration', back_populates='line')

line_type class-attribute instance-attribute

line_type = Column(String(45), default=None)

loss_factor class-attribute instance-attribute

loss_factor = Column(Float, default=None)

r class-attribute instance-attribute

r = Column(Float, default=None, comment='line resistance in p.u.')

rateA class-attribute instance-attribute

rateA = Column(
    Float, default=None, comment="line rating in MVA, nominal rating"
)

rateA2 class-attribute instance-attribute

rateA2 = Column(Float, default=None)

rateB class-attribute instance-attribute

rateB = Column(
    Float, default=None, comment="line rating in MVA, short term rating"
)

rateC class-attribute instance-attribute

rateC = Column(
    Float, default=None, comment="line rating in MVA, emergency rating"
)

x class-attribute instance-attribute

x = Column(Float, default=None, comment='line reactance in p.u.')

LoadProfiles

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class LoadProfiles(Base):
    __tablename__ = "load_profiles"

    idLoadConfig = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for load configurations",
    )
    LoadType = Column(
        String(25),
        primary_key=True,
        comment="Indicator for which type of electricity load (Base, eMobility, HeatPump, Hydrogen)",
    )
    year = Column(Float, default=None, comment="year associated with given profile")
    BusName = Column(String(45), primary_key=True, comment="unique name for nodes")
    unit = Column(
        String(15),
        default=None,
        comment="Indicator for the units that the values are in",
    )
    timeSeries = Column(Text, default=None, comment="time series values of the profile")

BusName class-attribute instance-attribute

BusName = Column(String(45), primary_key=True, comment='unique name for nodes')

LoadType class-attribute instance-attribute

LoadType = Column(
    String(25),
    primary_key=True,
    comment="Indicator for which type of electricity load (Base, eMobility, HeatPump, Hydrogen)",
)

idLoadConfig class-attribute instance-attribute

idLoadConfig = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for load configurations",
)

timeSeries class-attribute instance-attribute

timeSeries = Column(
    Text, default=None, comment="time series values of the profile"
)

unit class-attribute instance-attribute

unit = Column(
    String(15),
    default=None,
    comment="Indicator for the units that the values are in",
)

year class-attribute instance-attribute

year = Column(Float, default=None, comment="year associated with given profile")

LoadConfigInfo

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class LoadConfigInfo(Base):
    __tablename__ = "loadconfiginfo"

    idLoadConfig = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for load configurations",
    )
    name = Column(
        String(45), default=None, comment="name given to the load configuration"
    )
    year = Column(
        Integer, default=None, comment="year associated with the load configuration"
    )

idLoadConfig class-attribute instance-attribute

idLoadConfig = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for load configurations",
)

name class-attribute instance-attribute

name = Column(
    String(45), default=None, comment="name given to the load configuration"
)

year class-attribute instance-attribute

year = Column(
    Integer, default=None, comment="year associated with the load configuration"
)

LoadConfiguration

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class LoadConfiguration(Base):
    __tablename__ = "loadconfiguration"

    idLoadConfig = Column(
        Integer,
        ForeignKey("loadconfiginfo.idLoadConfig"),
        primary_key=True,
        comment="primary identifier for load configurations",
    )
    idBus = Column(
        Integer,
        ForeignKey("busdata.idBus"),
        comment="primary identifier for nodes, defines the node ID that this load is associated with",
    )
    idLoad = Column(
        Integer,
        ForeignKey("loaddata.idLoad"),
        primary_key=True,
        comment="primary identifier for load",
    )
    idProfile = Column(
        Integer,
        ForeignKey("profiledata.idProfile"),
        default=None,
        comment="primary identifier for profiles, identifies the profile that defines this load’s time series demand",
    )
    DemandShare = Column(
        Float,
        default=None,
        comment="fraction, portion of each country's Load demand assigned to a given node",
    )
    idProfile_eMobility = Column(
        Integer,
        default=None,
        comment="primary identifier for profiles, identifies the profile that defines this load’s time series demand for additional electrification of mobility",
    )
    idProfile_eHeatPump = Column(
        Integer,
        default=None,
        comment="primary identifier for profiles, identifies the profile that defines this load’s time series demand for additional electrification of heating",
    )
    idProfile_eHydrogen = Column(
        Integer,
        default=None,
        comment="primary identifier for profiles, identifies the profile that defines this load’s time series demand for additional electrification to produce hydrogen",
    )

    # Relationships
    load = relationship("LoadData", back_populates="load_configurations")
    profile = relationship("ProfileData", back_populates="load_configurations")

DemandShare class-attribute instance-attribute

DemandShare = Column(
    Float,
    default=None,
    comment="fraction, portion of each country's Load demand assigned to a given node",
)

idBus class-attribute instance-attribute

idBus = Column(
    Integer,
    ForeignKey("busdata.idBus"),
    comment="primary identifier for nodes, defines the node ID that this load is associated with",
)

idLoad class-attribute instance-attribute

idLoad = Column(
    Integer,
    ForeignKey("loaddata.idLoad"),
    primary_key=True,
    comment="primary identifier for load",
)

idLoadConfig class-attribute instance-attribute

idLoadConfig = Column(
    Integer,
    ForeignKey("loadconfiginfo.idLoadConfig"),
    primary_key=True,
    comment="primary identifier for load configurations",
)

idProfile class-attribute instance-attribute

idProfile = Column(
    Integer,
    ForeignKey("profiledata.idProfile"),
    default=None,
    comment="primary identifier for profiles, identifies the profile that defines this load’s time series demand",
)

idProfile_eHeatPump class-attribute instance-attribute

idProfile_eHeatPump = Column(
    Integer,
    default=None,
    comment="primary identifier for profiles, identifies the profile that defines this load’s time series demand for additional electrification of heating",
)

idProfile_eHydrogen class-attribute instance-attribute

idProfile_eHydrogen = Column(
    Integer,
    default=None,
    comment="primary identifier for profiles, identifies the profile that defines this load’s time series demand for additional electrification to produce hydrogen",
)

idProfile_eMobility class-attribute instance-attribute

idProfile_eMobility = Column(
    Integer,
    default=None,
    comment="primary identifier for profiles, identifies the profile that defines this load’s time series demand for additional electrification of mobility",
)

load class-attribute instance-attribute

load = relationship('LoadData', back_populates='load_configurations')

profile class-attribute instance-attribute

profile = relationship('ProfileData', back_populates='load_configurations')

LoadData

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class LoadData(Base):
    __tablename__ = "loaddata"

    idLoad = Column(Integer, primary_key=True, comment="primary identifier for loads")
    LoadType = Column(String(45), default=None, comment="name of load profile used")
    Pd = Column(
        Float, default=None, comment="example value for this load’s P demand, MW"
    )
    Qd = Column(
        Float, default=None, comment="example value for this load’s Q demand, MVAr"
    )
    hedgeRatio = Column(
        Float,
        default=None,
        comment="fraction, portion of avg monthly load to supply in the future market clearing",
    )
    meanForecastError24h = Column(
        Float,
        default=None,
        comment="normalized mean error for load forecasted 24 hrs ahead (dimensionless)",
    )
    sigmaForecastError24h = Column(
        Float,
        default=None,
        comment="standard deviation for load forecasted 24 hrs ahead (dimensionless)",
    )

    # Relationships
    load_configurations = relationship("LoadConfiguration", back_populates="load")

LoadType class-attribute instance-attribute

LoadType = Column(String(45), default=None, comment="name of load profile used")

Pd class-attribute instance-attribute

Pd = Column(
    Float, default=None, comment="example value for this load’s P demand, MW"
)

Qd class-attribute instance-attribute

Qd = Column(
    Float, default=None, comment="example value for this load’s Q demand, MVAr"
)

hedgeRatio class-attribute instance-attribute

hedgeRatio = Column(
    Float,
    default=None,
    comment="fraction, portion of avg monthly load to supply in the future market clearing",
)

idLoad class-attribute instance-attribute

idLoad = Column(
    Integer, primary_key=True, comment="primary identifier for loads"
)

load_configurations class-attribute instance-attribute

load_configurations = relationship('LoadConfiguration', back_populates='load')

meanForecastError24h class-attribute instance-attribute

meanForecastError24h = Column(
    Float,
    default=None,
    comment="normalized mean error for load forecasted 24 hrs ahead (dimensionless)",
)

sigmaForecastError24h class-attribute instance-attribute

sigmaForecastError24h = Column(
    Float,
    default=None,
    comment="standard deviation for load forecasted 24 hrs ahead (dimensionless)",
)

MarketsConfiguration

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class MarketsConfiguration(Base):
    __tablename__ = "marketsconfiguration"

    idMarketsConfig = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for market configurations",
    )
    name = Column(
        String(45), default=None, comment="name given to the market configuration"
    )
    year = Column(
        Integer, default=None, comment="year associated with the market configuration"
    )
    MarketsConfigDataStructure = Column(
        JSON,
        default=None,
        comment="JSON string of data for the market configuration for the given year",
    )

MarketsConfigDataStructure class-attribute instance-attribute

MarketsConfigDataStructure = Column(
    JSON,
    default=None,
    comment="JSON string of data for the market configuration for the given year",
)

idMarketsConfig class-attribute instance-attribute

idMarketsConfig = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for market configurations",
)

name class-attribute instance-attribute

name = Column(
    String(45), default=None, comment="name given to the market configuration"
)

year class-attribute instance-attribute

year = Column(
    Integer,
    default=None,
    comment="year associated with the market configuration",
)

NetworkConfigInfo

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class NetworkConfigInfo(Base):
    __tablename__ = "networkconfiginfo"

    idNetworkConfig = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for network configurations",
    )
    name = Column(
        String(45), default=None, comment="name given to the network configuration"
    )
    year = Column(
        Integer, default=None, comment="year associated with the network configuration"
    )
    baseMVA = Column(
        Float,
        default=None,
        comment="MVA base used for converting power into per unit quantities, usually set to 100 MVA",
    )
    MatpowerVersion = Column(
        String(1),
        default="2",
        comment="defines which MatPower case version is used, currently version = 2 is the default",
    )

    # Relationships
    bus_configurations = relationship(
        "BusConfiguration", back_populates="network_config"
    )
    line_configurations = relationship(
        "LineConfiguration", back_populates="network_config"
    )
    transformer_configurations = relationship(
        "TransformerConfiguration", back_populates="network_config"
    )

MatpowerVersion class-attribute instance-attribute

MatpowerVersion = Column(
    String(1),
    default="2",
    comment="defines which MatPower case version is used, currently version = 2 is the default",
)

baseMVA class-attribute instance-attribute

baseMVA = Column(
    Float,
    default=None,
    comment="MVA base used for converting power into per unit quantities, usually set to 100 MVA",
)

bus_configurations class-attribute instance-attribute

bus_configurations = relationship(
    "BusConfiguration", back_populates="network_config"
)

idNetworkConfig class-attribute instance-attribute

idNetworkConfig = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for network configurations",
)

line_configurations class-attribute instance-attribute

line_configurations = relationship(
    "LineConfiguration", back_populates="network_config"
)

name class-attribute instance-attribute

name = Column(
    String(45), default=None, comment="name given to the network configuration"
)

transformer_configurations class-attribute instance-attribute

transformer_configurations = relationship(
    "TransformerConfiguration", back_populates="network_config"
)

year class-attribute instance-attribute

year = Column(
    Integer,
    default=None,
    comment="year associated with the network configuration",
)

ProfileData

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class ProfileData(Base):
    __tablename__ = "profiledata"

    idProfile = Column(
        Integer,
        primary_key=True,
        autoincrement=True,
        comment="primary identifier for profiles",
    )
    name = Column(
        String(100), default=None, comment="descriptive name for given profile"
    )
    Country = Column(String(45), default=None)
    year = Column(Integer, default=None, comment="year associated with given profile")
    type = Column(
        String(45),
        default=None,
        comment="defines the type of profile (Load, Generation, Water Inflow, etc.)",
    )
    resolution = Column(
        String(45),
        default=None,
        comment="# hrs each entry in the profile covers (1 = hourly, 24 = daily, etc.)",
    )
    unit = Column(
        String(45), default="MW", comment="associated units of the given profile"
    )
    timeSeries = Column(JSON, default=None, comment="time series values of the profile")

    # Relationships
    gen_configurations = relationship("GenConfiguration", back_populates="profile")
    load_configurations = relationship("LoadConfiguration", back_populates="profile")

Country class-attribute instance-attribute

Country = Column(String(45), default=None)

gen_configurations class-attribute instance-attribute

gen_configurations = relationship('GenConfiguration', back_populates='profile')

idProfile class-attribute instance-attribute

idProfile = Column(
    Integer,
    primary_key=True,
    autoincrement=True,
    comment="primary identifier for profiles",
)

load_configurations class-attribute instance-attribute

load_configurations = relationship(
    "LoadConfiguration", back_populates="profile"
)

name class-attribute instance-attribute

name = Column(
    String(100), default=None, comment="descriptive name for given profile"
)

resolution class-attribute instance-attribute

resolution = Column(
    String(45),
    default=None,
    comment="# hrs each entry in the profile covers (1 = hourly, 24 = daily, etc.)",
)

timeSeries class-attribute instance-attribute

timeSeries = Column(
    JSON, default=None, comment="time series values of the profile"
)

type class-attribute instance-attribute

type = Column(
    String(45),
    default=None,
    comment="defines the type of profile (Load, Generation, Water Inflow, etc.)",
)

unit class-attribute instance-attribute

unit = Column(
    String(45), default="MW", comment="associated units of the given profile"
)

year class-attribute instance-attribute

year = Column(
    Integer, default=None, comment="year associated with given profile"
)

Projections

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class Projections(Base):
    __tablename__ = "projections"

    item = Column(
        String(15),
        primary_key=True,
        comment="identifier for parameters with supplied projections",
    )
    scenario = Column(
        String(15),
        primary_key=True,
        comment="identifier for scenario options (e.g., Ref, High)",
    )
    year = Column(Integer, primary_key=True, comment="year associated with the value")
    value = Column(
        Float,
        nullable=False,
        comment="values for projections (e.g., indexed to 2010=1)",
    )

item class-attribute instance-attribute

item = Column(
    String(15),
    primary_key=True,
    comment="identifier for parameters with supplied projections",
)

scenario class-attribute instance-attribute

scenario = Column(
    String(15),
    primary_key=True,
    comment="identifier for scenario options (e.g., Ref, High)",
)

value class-attribute instance-attribute

value = Column(
    Float,
    nullable=False,
    comment="values for projections (e.g., indexed to 2010=1)",
)

year class-attribute instance-attribute

year = Column(
    Integer, primary_key=True, comment="year associated with the value"
)

ScenarioConfiguration

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class ScenarioConfiguration(Base):
    __tablename__ = "scenarioconfiguration"

    idScenario = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for scenario configurations",
    )
    idNetworkConfig = Column(
        Integer,
        ForeignKey("networkconfiginfo.idNetworkConfig"),
        primary_key=True,
        comment="primary identifier for network configurations",
    )
    idLoadConfig = Column(
        Integer,
        ForeignKey("loadconfiginfo.idLoadConfig"),
        primary_key=True,
        comment="primary identifier for load configurations",
    )
    idGenConfig = Column(
        Integer,
        ForeignKey("genconfiginfo.idGenConfig"),
        primary_key=True,
        comment="primary identifier for generator configurations",
    )
    idMarketsConfig = Column(
        Integer,
        ForeignKey("marketsconfiguration.idMarketsConfig"),
        primary_key=True,
        comment="primary identifier for market configurations",
    )
    idAnnualTargetsConfig = Column(
        Integer,
        ForeignKey("swiss_annual_targets_configinfo.idAnnualTargetsConfig"),
        primary_key=True,
        comment="primary identifier for swiss annual target/requirement configurations",
    )
    idDistGenConfig = Column(
        Integer,
        ForeignKey("distgenconfiginfo.idDistGenConfig"),
        primary_key=True,
        comment="primary identifier for distributed generator configurations",
    )
    name = Column(
        String(100), default=None, comment="name given to the scenario configuration"
    )
    runParamDataStructure = Column(
        JSON,
        default=None,
        comment="miscellaneous other information, includes startDate, endDate, colorCodes",
    )
    Year = Column(
        Integer,
        nullable=False,
        comment="year associated with the scenario configuration",
    )

Year class-attribute instance-attribute

Year = Column(
    Integer,
    nullable=False,
    comment="year associated with the scenario configuration",
)

idAnnualTargetsConfig class-attribute instance-attribute

idAnnualTargetsConfig = Column(
    Integer,
    ForeignKey("swiss_annual_targets_configinfo.idAnnualTargetsConfig"),
    primary_key=True,
    comment="primary identifier for swiss annual target/requirement configurations",
)

idDistGenConfig class-attribute instance-attribute

idDistGenConfig = Column(
    Integer,
    ForeignKey("distgenconfiginfo.idDistGenConfig"),
    primary_key=True,
    comment="primary identifier for distributed generator configurations",
)

idGenConfig class-attribute instance-attribute

idGenConfig = Column(
    Integer,
    ForeignKey("genconfiginfo.idGenConfig"),
    primary_key=True,
    comment="primary identifier for generator configurations",
)

idLoadConfig class-attribute instance-attribute

idLoadConfig = Column(
    Integer,
    ForeignKey("loadconfiginfo.idLoadConfig"),
    primary_key=True,
    comment="primary identifier for load configurations",
)

idMarketsConfig class-attribute instance-attribute

idMarketsConfig = Column(
    Integer,
    ForeignKey("marketsconfiguration.idMarketsConfig"),
    primary_key=True,
    comment="primary identifier for market configurations",
)

idNetworkConfig class-attribute instance-attribute

idNetworkConfig = Column(
    Integer,
    ForeignKey("networkconfiginfo.idNetworkConfig"),
    primary_key=True,
    comment="primary identifier for network configurations",
)

idScenario class-attribute instance-attribute

idScenario = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for scenario configurations",
)

name class-attribute instance-attribute

name = Column(
    String(100),
    default=None,
    comment="name given to the scenario configuration",
)

runParamDataStructure class-attribute instance-attribute

runParamDataStructure = Column(
    JSON,
    default=None,
    comment="miscellaneous other information, includes startDate, endDate, colorCodes",
)

SecurityRef

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class SecurityRef(Base):
    __tablename__ = "securityref"

    DNS_vals = Column(
        JSON,
        primary_key=True,
        default=None,
        comment="Demand not served, in MW, number of entries corresponds to the number of contingencies tested",
    )
    NLF_vals = Column(
        JSON,
        default=None,
        comment="Number of Line/Transformer failures in a given contingency test",
    )

DNS_vals class-attribute instance-attribute

DNS_vals = Column(
    JSON,
    primary_key=True,
    default=None,
    comment="Demand not served, in MW, number of entries corresponds to the number of contingencies tested",
)

NLF_vals class-attribute instance-attribute

NLF_vals = Column(
    JSON,
    default=None,
    comment="Number of Line/Transformer failures in a given contingency test",
)

SwissAnnualTargetsConfigInfo

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class SwissAnnualTargetsConfigInfo(Base):
    __tablename__ = "swiss_annual_targets_configinfo"

    idAnnualTargetsConfig = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for swiss annual target/requirement configurations",
    )
    name = Column(
        String(45), default=None, comment="name given to the annual target/requirement"
    )
    Year = Column(
        Integer, default=None, comment="year associated with the target/requirement"
    )

    # Relationships
    annual_targets = relationship(
        "SwissAnnualTargetsConfiguration",
        back_populates="annual_targets_config_info",
    )

Year class-attribute instance-attribute

Year = Column(
    Integer, default=None, comment="year associated with the target/requirement"
)

annual_targets class-attribute instance-attribute

annual_targets = relationship(
    "SwissAnnualTargetsConfiguration",
    back_populates="annual_targets_config_info",
)

idAnnualTargetsConfig class-attribute instance-attribute

idAnnualTargetsConfig = Column(
    Integer,
    primary_key=True,
    comment="primary identifier for swiss annual target/requirement configurations",
)

name class-attribute instance-attribute

name = Column(
    String(45),
    default=None,
    comment="name given to the annual target/requirement",
)

SwissAnnualTargetsConfiguration

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class SwissAnnualTargetsConfiguration(Base):
    __tablename__ = "swiss_annual_targets_configuration"

    idAnnualTargetsConfig = Column(
        Integer,
        ForeignKey("swiss_annual_targets_configinfo.idAnnualTargetsConfig"),
        primary_key=True,
        comment="primary identifier for swiss annual target/requirement configurations",
    )
    TargetName = Column(
        String(100),
        primary_key=True,
        comment="Name of this target",
    )
    Year = Column(
        Float,
        default=None,
        comment="year associated with the target/requirement",
    )
    Type = Column(
        String(45),
        default="0",
        comment="Type of the target, can be ‘Target’ which sets a threshold to exceed, or ‘Requirement’ that sets a value to try to match without going much over",
    )
    Value = Column(
        Float,
        default=None,
        comment="Value of the target in the year/config indicated",
    )
    Units = Column(
        String(45),
        default=None,
        comment="Units associated with the annual target/requirement, e.g. TWh-el, tonne-CO2, etc",
    )
    idProfile = Column(
        Float,
        default=None,
        comment="identifier for profile that defines targets hourly profile, the profile is normalized by the annual quantity",
    )

    # Relationships
    annual_targets_config_info = relationship(
        "SwissAnnualTargetsConfigInfo", back_populates="annual_targets"
    )

TargetName class-attribute instance-attribute

TargetName = Column(
    String(100), primary_key=True, comment="Name of this target"
)

Type class-attribute instance-attribute

Type = Column(
    String(45),
    default="0",
    comment="Type of the target, can be ‘Target’ which sets a threshold to exceed, or ‘Requirement’ that sets a value to try to match without going much over",
)

Units class-attribute instance-attribute

Units = Column(
    String(45),
    default=None,
    comment="Units associated with the annual target/requirement, e.g. TWh-el, tonne-CO2, etc",
)

Value class-attribute instance-attribute

Value = Column(
    Float,
    default=None,
    comment="Value of the target in the year/config indicated",
)

Year class-attribute instance-attribute

Year = Column(
    Float, default=None, comment="year associated with the target/requirement"
)

annual_targets_config_info class-attribute instance-attribute

annual_targets_config_info = relationship(
    "SwissAnnualTargetsConfigInfo", back_populates="annual_targets"
)

idAnnualTargetsConfig class-attribute instance-attribute

idAnnualTargetsConfig = Column(
    Integer,
    ForeignKey("swiss_annual_targets_configinfo.idAnnualTargetsConfig"),
    primary_key=True,
    comment="primary identifier for swiss annual target/requirement configurations",
)

idProfile class-attribute instance-attribute

idProfile = Column(
    Float,
    default=None,
    comment="identifier for profile that defines targets hourly profile, the profile is normalized by the annual quantity",
)

TransformerConfiguration

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class TransformerConfiguration(Base):
    __tablename__ = "transformerconfiguration"

    idNetworkConfig = Column(
        Integer,
        ForeignKey("networkconfiginfo.idNetworkConfig"),
        primary_key=True,
        comment="primary identifier for network configurations",
    )
    idTransformer = Column(
        Integer,
        ForeignKey("transformerdata.idTransformer"),
        primary_key=True,
        comment="primary identifier for transformers",
    )
    TrafoName = Column(
        String(45), nullable=False, comment="unique name for transformers"
    )
    idFromBus = Column(
        Integer,
        ForeignKey("busdata.idBus"),
        comment="idBus for FROM side node of a given transformer",
    )
    idToBus = Column(
        Integer,
        ForeignKey("busdata.idBus"),
        comment="idBus for TO side node of a given transformer",
    )
    angmin = Column(
        Float, default=-360.0, comment="minimum voltage angle different in degrees"
    )
    angmax = Column(
        Float, default=360.0, comment="maximum voltage angle different in degrees"
    )
    status = Column(
        Float,
        default=None,
        comment="transformer status, 1 = in service, 0 = out of service",
    )
    FromBusName = Column(
        String(45),
        default=None,
        comment="Bus Name for FROM side node of a given transformer",
    )
    ToBusName = Column(
        String(45),
        default=None,
        comment="Bus Name for TO side node of a given transformer",
    )
    FromCountry = Column(
        String(45),
        default=None,
        comment="Country abbreviation for FROM side node of a given transformer",
    )
    ToCountry = Column(
        String(45),
        default=None,
        comment="Country abbreviation for TO side node of a given transformer",
    )
    Candidate = Column(
        Integer,
        default=None,
        comment="indicator if a given transformer should be considered for investment",
    )
    CandCost = Column(
        Float,
        default=None,
        comment="annualized cost to build a candidate transformer, EUR/km/yr",
    )

    # Relationships
    network_config = relationship(
        "NetworkConfigInfo", back_populates="transformer_configurations"
    )
    transformer = relationship("TransformerData", back_populates="configurations")
    from_bus = relationship("BusData", foreign_keys=[idFromBus])
    to_bus = relationship("BusData", foreign_keys=[idToBus])

CandCost class-attribute instance-attribute

CandCost = Column(
    Float,
    default=None,
    comment="annualized cost to build a candidate transformer, EUR/km/yr",
)

Candidate class-attribute instance-attribute

Candidate = Column(
    Integer,
    default=None,
    comment="indicator if a given transformer should be considered for investment",
)

FromBusName class-attribute instance-attribute

FromBusName = Column(
    String(45),
    default=None,
    comment="Bus Name for FROM side node of a given transformer",
)

FromCountry class-attribute instance-attribute

FromCountry = Column(
    String(45),
    default=None,
    comment="Country abbreviation for FROM side node of a given transformer",
)

ToBusName class-attribute instance-attribute

ToBusName = Column(
    String(45),
    default=None,
    comment="Bus Name for TO side node of a given transformer",
)

ToCountry class-attribute instance-attribute

ToCountry = Column(
    String(45),
    default=None,
    comment="Country abbreviation for TO side node of a given transformer",
)

TrafoName class-attribute instance-attribute

TrafoName = Column(
    String(45), nullable=False, comment="unique name for transformers"
)

angmax class-attribute instance-attribute

angmax = Column(
    Float, default=360.0, comment="maximum voltage angle different in degrees"
)

angmin class-attribute instance-attribute

angmin = Column(
    Float, default=-360.0, comment="minimum voltage angle different in degrees"
)

from_bus class-attribute instance-attribute

from_bus = relationship('BusData', foreign_keys=[idFromBus])

idFromBus class-attribute instance-attribute

idFromBus = Column(
    Integer,
    ForeignKey("busdata.idBus"),
    comment="idBus for FROM side node of a given transformer",
)

idNetworkConfig class-attribute instance-attribute

idNetworkConfig = Column(
    Integer,
    ForeignKey("networkconfiginfo.idNetworkConfig"),
    primary_key=True,
    comment="primary identifier for network configurations",
)

idToBus class-attribute instance-attribute

idToBus = Column(
    Integer,
    ForeignKey("busdata.idBus"),
    comment="idBus for TO side node of a given transformer",
)

idTransformer class-attribute instance-attribute

idTransformer = Column(
    Integer,
    ForeignKey("transformerdata.idTransformer"),
    primary_key=True,
    comment="primary identifier for transformers",
)

network_config class-attribute instance-attribute

network_config = relationship(
    "NetworkConfigInfo", back_populates="transformer_configurations"
)

status class-attribute instance-attribute

status = Column(
    Float,
    default=None,
    comment="transformer status, 1 = in service, 0 = out of service",
)

to_bus class-attribute instance-attribute

to_bus = relationship('BusData', foreign_keys=[idToBus])

transformer class-attribute instance-attribute

transformer = relationship('TransformerData', back_populates='configurations')

TransformerData

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class TransformerData(Base):
    __tablename__ = "transformerdata"

    idTransformer = Column(
        Integer,
        primary_key=True,
        comment="primary identifier for transformers",
    )
    TrafoName = Column(
        String(45),
        nullable=False,
        comment="unique name for transformers",
    )
    line_type = Column(
        String(45),
        default=None,
        comment="type of transformer line",
    )
    loss_factor = Column(
        Float,
        default=None,
        comment="loss factor of the transformer",
    )
    r = Column(
        Float,
        default=None,
        comment="transformer resistance in p.u., all transformer parameters are defined in p.u. based on voltage of the TO (secondary) side node",
    )
    x = Column(
        Float,
        default=None,
        comment="transformer reactance in p.u., all transformer parameters are defined in p.u. based on voltage of the TO (secondary) side node",
    )
    b = Column(
        Float,
        default=None,
        comment="transformer susceptance in p.u., all transformer parameters are defined in p.u. based on voltage of the TO (secondary) side node",
    )
    rateA = Column(
        Float,
        default=0.0,
        comment="transformer rating in MVA, nominal rating",
    )
    rateA2 = Column(
        Float,
        default=None,
        comment="additional transformer rating in MVA",
    )
    rateB = Column(
        Float,
        default=0.0,
        comment="transformer rating in MVA, short term rating",
    )
    rateC = Column(
        Float,
        default=0.0,
        comment="transformer rating in MVA, emergency rating",
    )
    tapRatio = Column(
        Float,
        default=1.0,
        comment="transformer tap ratio, unitless",
    )
    angle = Column(
        Float,
        default=0.0,
        comment="transformer phase shift angle in degrees",
    )
    StartYr = Column(
        Float,
        default=None,
        comment="first year a transformer should be included in the network configuration",
    )
    EndYr = Column(
        Float,
        default=None,
        comment="last year a transformer should be included in the network configuration",
    )
    MVA_Winter = Column(
        Float,
        default=None,
        comment="transformer rating in MVA, applicable in winter",
    )
    MVA_Summer = Column(
        Float,
        default=None,
        comment="transformer rating in MVA, applicable in summer",
    )
    MVA_SprFall = Column(
        Float,
        default=None,
        comment="transformer rating in MVA, applicable in spring and fall",
    )
    length = Column(
        Float,
        default=None,
        comment="transformer length in km",
    )

    # Relationships
    configurations = relationship(
        "TransformerConfiguration", back_populates="transformer"
    )

EndYr class-attribute instance-attribute

EndYr = Column(
    Float,
    default=None,
    comment="last year a transformer should be included in the network configuration",
)

MVA_SprFall class-attribute instance-attribute

MVA_SprFall = Column(
    Float,
    default=None,
    comment="transformer rating in MVA, applicable in spring and fall",
)

MVA_Summer class-attribute instance-attribute

MVA_Summer = Column(
    Float,
    default=None,
    comment="transformer rating in MVA, applicable in summer",
)

MVA_Winter class-attribute instance-attribute

MVA_Winter = Column(
    Float,
    default=None,
    comment="transformer rating in MVA, applicable in winter",
)

StartYr class-attribute instance-attribute

StartYr = Column(
    Float,
    default=None,
    comment="first year a transformer should be included in the network configuration",
)

TrafoName class-attribute instance-attribute

TrafoName = Column(
    String(45), nullable=False, comment="unique name for transformers"
)

angle class-attribute instance-attribute

angle = Column(
    Float, default=0.0, comment="transformer phase shift angle in degrees"
)

b class-attribute instance-attribute

b = Column(
    Float,
    default=None,
    comment="transformer susceptance in p.u., all transformer parameters are defined in p.u. based on voltage of the TO (secondary) side node",
)

configurations class-attribute instance-attribute

configurations = relationship(
    "TransformerConfiguration", back_populates="transformer"
)

idTransformer class-attribute instance-attribute

idTransformer = Column(
    Integer, primary_key=True, comment="primary identifier for transformers"
)

length class-attribute instance-attribute

length = Column(Float, default=None, comment='transformer length in km')

line_type class-attribute instance-attribute

line_type = Column(String(45), default=None, comment="type of transformer line")

loss_factor class-attribute instance-attribute

loss_factor = Column(
    Float, default=None, comment="loss factor of the transformer"
)

r class-attribute instance-attribute

r = Column(
    Float,
    default=None,
    comment="transformer resistance in p.u., all transformer parameters are defined in p.u. based on voltage of the TO (secondary) side node",
)

rateA class-attribute instance-attribute

rateA = Column(
    Float, default=0.0, comment="transformer rating in MVA, nominal rating"
)

rateA2 class-attribute instance-attribute

rateA2 = Column(
    Float, default=None, comment="additional transformer rating in MVA"
)

rateB class-attribute instance-attribute

rateB = Column(
    Float, default=0.0, comment="transformer rating in MVA, short term rating"
)

rateC class-attribute instance-attribute

rateC = Column(
    Float, default=0.0, comment="transformer rating in MVA, emergency rating"
)

tapRatio class-attribute instance-attribute

tapRatio = Column(Float, default=1.0, comment="transformer tap ratio, unitless")

x class-attribute instance-attribute

x = Column(
    Float,
    default=None,
    comment="transformer reactance in p.u., all transformer parameters are defined in p.u. based on voltage of the TO (secondary) side node",
)

Workforce

Bases: Base

Source code in src/api/src/nexus_e_interface/tables.py
class Workforce(Base):
    __tablename__ = "workforce"

    popscen = Column(
        String(45),
        primary_key=True,
        nullable=False,
        comment="identifier for population projection scenario, scenarios A, B, C-00-2015 represent scenarios developed by BFS for population projections from 2015 to 2050",
    )
    year = Column(
        Integer,
        primary_key=True,
        nullable=False,
        comment="year associated with the value",
    )
    value = Column(
        Float,
        nullable=False,
        comment="values represent head counts in full time equivalents",
    )

popscen class-attribute instance-attribute

popscen = Column(
    String(45),
    primary_key=True,
    nullable=False,
    comment="identifier for population projection scenario, scenarios A, B, C-00-2015 represent scenarios developed by BFS for population projections from 2015 to 2050",
)

value class-attribute instance-attribute

value = Column(
    Float,
    nullable=False,
    comment="values represent head counts in full time equivalents",
)

year class-attribute instance-attribute

year = Column(
    Integer,
    primary_key=True,
    nullable=False,
    comment="year associated with the value",
)