ImportExportCost
PowerSystems.ImportExportCost
— Typemutable 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 aCostCurve
ofPiecewiseIncrementalCurve
export_offer_curves::Union{Nothing, CostCurve{PiecewiseIncrementalCurve}, TimeSeriesKey}
: Sell Price Curves data to export power, which can be a time series ofPiecewiseStepData
or aCostCurve
ofPiecewiseIncrementalCurve
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.
PowerSystems.get_ancillary_service_offers
— Methodget_ancillary_service_offers(
value::ImportExportCost
) -> Vector{Service}
Get ImportExportCost
ancillary_service_offers
.
PowerSystems.get_energy_export_weekly_limit
— Methodget_energy_export_weekly_limit(
value::ImportExportCost
) -> Float64
Get ImportExportCost
energy_export_weekly_limits
.
PowerSystems.get_energy_import_weekly_limit
— Methodget_energy_import_weekly_limit(
value::ImportExportCost
) -> Float64
Get ImportExportCost
energy_import_weekly_limit
.
PowerSystems.get_export_offer_curves
— Methodget_export_offer_curves(
value::ImportExportCost
) -> Union{Nothing, CostCurve{PiecewiseIncrementalCurve}, TimeSeriesKey}
Get ImportExportCost
export_offer_curves
.
PowerSystems.get_import_offer_curves
— Methodget_import_offer_curves(
value::ImportExportCost
) -> Union{Nothing, CostCurve{PiecewiseIncrementalCurve}, TimeSeriesKey}
Get ImportExportCost
import_offer_curves
.
PowerSystems.make_export_curve
— Functionmake_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)
PowerSystems.make_export_curve
— Functionmake_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)
PowerSystems.make_import_curve
— Functionmake_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)
PowerSystems.make_import_curve
— Functionmake_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)
PowerSystems.set_ancillary_service_offers!
— Methodset_ancillary_service_offers!(
value::ImportExportCost,
val
) -> Any
Set ImportExportCost
ancillary_service_offers
.
PowerSystems.set_energy_export_weekly_limit!
— Methodset_energy_export_weekly_limit!(
value::ImportExportCost,
val
) -> Any
Set ImportExportCost
energy_export_weekly_limits
.
PowerSystems.set_energy_import_weekly_limit!
— Methodset_energy_import_weekly_limit!(
value::ImportExportCost,
val
) -> Any
Set ImportExportCost
energy_import_weekly_limit
.
PowerSystems.set_export_offer_curves!
— Methodset_export_offer_curves!(
value::ImportExportCost,
val
) -> Any
Set ImportExportCost
export_offer_curves
.
PowerSystems.set_import_offer_curves!
— Methodset_import_offer_curves!(
value::ImportExportCost,
val
) -> Any
Set ImportExportCost
import_offer_curves
.