ImportExportCost
PowerSystems.ImportExportCost — Typemutable struct ImportExportCost <: OperationalCostimport_offer_curves::Union{Nothing, CostCurve{PiecewiseIncrementalCurve}, TimeSeriesKey}: Buy Price Curves data to import power, which can be a time series of [PiecewiseStepData] or aCostCurveofPiecewiseIncrementalCurveexport_offer_curves::Union{Nothing, CostCurve{PiecewiseIncrementalCurve}, TimeSeriesKey}: Sell Price Curves data to export power, which can be a time series ofPiecewiseStepDataor aCostCurveofPiecewiseIncrementalCurveenergy_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.