ImportExportCost

PowerSystems.ImportExportCostType
mutable struct ImportExportCost <: OperationalCost
  • import_offer_curves::Union{Nothing, CostCurve{PiecewiseIncrementalCurve}, TimeSeriesKey}: Buy Price Curves data to import power, which can be a time series of [PiecewiseStepData] or a CostCurve of PiecewiseIncrementalCurve

  • export_offer_curves::Union{Nothing, CostCurve{PiecewiseIncrementalCurve}, TimeSeriesKey}: Sell Price Curves data to export power, which can be a time series of PiecewiseStepData or a CostCurve of PiecewiseIncrementalCurve

  • energy_import_weekly_limit::Float64: Weekly limit on the amount of energy that can be imported, defined in system base p.u-hours.

  • energy_export_weekly_limit::Float64: Weekly limit on the amount of energy that can be exported, defined in system base p.u-hours.

  • ancillary_service_offers::Vector{Service}: Bids to buy or sell ancillary services in the interconnection

ImportExportCost(import_offer_curves, export_offer_curves, energy_import_weekly_limit, energy_export_weekly_limits, ancillary_service_offers)
ImportExportCost(; import_offer_curves, export_offer_curves, energy_export_weekly_limits, ancillary_service_offers)

An operating cost for imports/exports and ancillary services from neighboring areas. The data model employs a CostCurve{PiecewiseIncrementalCurve} with an implied zero cost at zero power.

source
PowerSystems.make_export_curveFunction
make_export_curve(
    power::Vector{Float64},
    price::Vector{Float64}
) -> CostCurve{PiecewiseIncrementalCurve}
make_export_curve(
    power::Vector{Float64},
    price::Vector{Float64},
    power_units::UnitSystem
) -> CostCurve{PiecewiseIncrementalCurve}

Make an export CostCurve{PiecewiseIncrementalCurve} suitable for inclusion in an ImportExportCost from a vector of power values, a vector of costs, and an optional units system.

Examples

ec = make_export_curve([0.0, 100.0, 105.0, 120.0, 130.0], [30.0, 28.0, 26.0, 25.0])
ec1 = make_export_curve(power = [0.0, 100.0, 105.0, 120.0, 130.0], price = [30.0, 28.0, 26.0, 25.0], power_units = UnitSystem.NATURAL_UNITS)
source
PowerSystems.make_export_curveFunction
make_export_curve(
    power::Float64,
    price::Float64
) -> CostCurve{PiecewiseIncrementalCurve}
make_export_curve(
    power::Float64,
    price::Float64,
    power_units::UnitSystem
) -> CostCurve{PiecewiseIncrementalCurve}

Make a CostCurve{PiecewiseIncrementalCurve} from suitable for inclusion in an ImportExportCost from a a max export power, a single price and an optional units system. Assume the minimum export is 0.0.

Examples

ec = make_export_curve(power = 100.0, price = 30.0)
ec1 = make_export_curve(power = 100.0, price = 30.0, power_units = UnitSystem.NATURAL_UNITS)
source
PowerSystems.make_import_curveFunction
make_import_curve(
    power::Vector{Float64},
    price::Vector{Float64}
) -> CostCurve{PiecewiseIncrementalCurve}
make_import_curve(
    power::Vector{Float64},
    price::Vector{Float64},
    power_units::UnitSystem
) -> CostCurve{PiecewiseIncrementalCurve}

Make an import CostCurve{PiecewiseIncrementalCurve} suitable for inclusion in an ImportExportCost from a vector of power values, a vector of costs, and an optional units system.

Examples

ic = make_import_curve([0.0, 100.0, 105.0, 120.0, 130.0], [25.0, 26.0, 28.0, 30.0])
ic1 = make_import_curve(power = [0.0, 100.0, 105.0, 120.0, 130.0], price = [25.0, 26.0, 28.0, 30.0], power_units = UnitSystem.NATURAL_UNITS)
source
PowerSystems.make_import_curveFunction
make_import_curve(
    power::Float64,
    price::Float64
) -> CostCurve{PiecewiseIncrementalCurve}
make_import_curve(
    power::Float64,
    price::Float64,
    power_units::UnitSystem
) -> CostCurve{PiecewiseIncrementalCurve}

Make a CostCurve{PiecewiseIncrementalCurve} from suitable for inclusion in an ImportExportCost from a max import power, a single price and an optional units system. Assume the minimum import is 0.0

Examples

ic = make_import_curve(power = 100.0, price = 25.0)
ic1 = make_import_curve(power = 100.0, price = 25.0, power_units = UnitSystem.NATURAL_UNITS)
source