From ef411cf9feed734b58a223511a9cb19a538098f7 Mon Sep 17 00:00:00 2001 From: Jerry Potts Date: Thu, 21 Nov 2024 10:22:58 -0700 Subject: [PATCH] add interest_rate --- src/models/generated/ACTransportTechnology.jl | 28 +++++++----- .../generated/ExistingTransportTechnology.jl | 20 ++++----- .../generated/HVDCTransportTechnology.jl | 28 +++++++----- src/models/generated/StorageTechnology.jl | 28 +++++++----- src/models/generated/SupplyTechnology.jl | 44 +++++++++++-------- src/models/generated/includes.jl | 6 ++- 6 files changed, 94 insertions(+), 60 deletions(-) diff --git a/src/models/generated/ACTransportTechnology.jl b/src/models/generated/ACTransportTechnology.jl index 2a94273..c42ce28 100644 --- a/src/models/generated/ACTransportTechnology.jl +++ b/src/models/generated/ACTransportTechnology.jl @@ -11,11 +11,11 @@ This file is auto-generated. Do not edit. start_region::Region available::Bool name::String - capital_recovery_factor::Int64 end_region::Region power_systems_type::String angle_limit::Float64 internal::InfrastructureSystemsInternal + interest_rate::Float64 ext::Dict resistance::Float64 voltage::Float64 @@ -25,6 +25,7 @@ This file is auto-generated. Do not edit. existing_line_capacity::Float64 wacc::Float64 line_loss::Float64 + capital_recovery_period::Int64 end @@ -35,11 +36,11 @@ This file is auto-generated. Do not edit. - `start_region::Region`: Start region for transport technology - `available::Bool`: identifies whether the technology is available - `name::String`: Name -- `capital_recovery_factor::Int64`: (default: `30`) Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for network transmission line expansion. - `end_region::Region`: End region for transport technology - `power_systems_type::String`: maps to a valid PowerSystems.jl for PCM modeling - `angle_limit::Float64`: (default: `0.0`) Votlage angle limit (radians) - `internal::InfrastructureSystemsInternal`: (default: `InfrastructureSystemsInternal()`) Internal field +- `interest_rate::Float64`: (default: `0.07`) Interest rate for technology - `ext::Dict`: (default: `Dict()`) Option for providing additional data - `resistance::Float64`: (default: `0.0`) Technology resistance in Ohms - `voltage::Float64`: (default: `0.0`) Technology resistance in Ohms @@ -49,6 +50,7 @@ This file is auto-generated. Do not edit. - `existing_line_capacity::Float64`: Existing capacity of transport technology (MW) - `wacc::Float64`: (default: `0`) Weighted average cost of capital - `line_loss::Float64`: Transmission loss for each transport technology (%) +- `capital_recovery_period::Int64`: (default: `30`) Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for network transmission line expansion. """ mutable struct ACTransportTechnology{T <: PSY.Device} <: Technology "Base power" @@ -61,8 +63,6 @@ mutable struct ACTransportTechnology{T <: PSY.Device} <: Technology available::Bool "Name" name::String - "Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for network transmission line expansion." - capital_recovery_factor::Int64 "End region for transport technology" end_region::Region "maps to a valid PowerSystems.jl for PCM modeling" @@ -71,6 +71,8 @@ mutable struct ACTransportTechnology{T <: PSY.Device} <: Technology angle_limit::Float64 "Internal field" internal::InfrastructureSystemsInternal + "Interest rate for technology" + interest_rate::Float64 "Option for providing additional data" ext::Dict "Technology resistance in Ohms" @@ -89,11 +91,13 @@ mutable struct ACTransportTechnology{T <: PSY.Device} <: Technology wacc::Float64 "Transmission loss for each transport technology (%)" line_loss::Float64 + "Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for network transmission line expansion." + capital_recovery_period::Int64 end -function ACTransportTechnology{T}(; base_power, capital_cost, start_region, available, name, capital_recovery_factor=30, end_region, power_systems_type, angle_limit=0.0, internal=InfrastructureSystemsInternal(), ext=Dict(), resistance=0.0, voltage=0.0, network_id, maximum_new_capacity, base_year=2020, existing_line_capacity, wacc=0, line_loss, ) where T <: PSY.Device - ACTransportTechnology{T}(base_power, capital_cost, start_region, available, name, capital_recovery_factor, end_region, power_systems_type, angle_limit, internal, ext, resistance, voltage, network_id, maximum_new_capacity, base_year, existing_line_capacity, wacc, line_loss, ) +function ACTransportTechnology{T}(; base_power, capital_cost, start_region, available, name, end_region, power_systems_type, angle_limit=0.0, internal=InfrastructureSystemsInternal(), interest_rate=0.07, ext=Dict(), resistance=0.0, voltage=0.0, network_id, maximum_new_capacity, base_year=2020, existing_line_capacity, wacc=0, line_loss, capital_recovery_period=30, ) where T <: PSY.Device + ACTransportTechnology{T}(base_power, capital_cost, start_region, available, name, end_region, power_systems_type, angle_limit, internal, interest_rate, ext, resistance, voltage, network_id, maximum_new_capacity, base_year, existing_line_capacity, wacc, line_loss, capital_recovery_period, ) end """Get [`ACTransportTechnology`](@ref) `base_power`.""" @@ -106,8 +110,6 @@ get_start_region(value::ACTransportTechnology) = value.start_region get_available(value::ACTransportTechnology) = value.available """Get [`ACTransportTechnology`](@ref) `name`.""" get_name(value::ACTransportTechnology) = value.name -"""Get [`ACTransportTechnology`](@ref) `capital_recovery_factor`.""" -get_capital_recovery_factor(value::ACTransportTechnology) = value.capital_recovery_factor """Get [`ACTransportTechnology`](@ref) `end_region`.""" get_end_region(value::ACTransportTechnology) = value.end_region """Get [`ACTransportTechnology`](@ref) `power_systems_type`.""" @@ -116,6 +118,8 @@ get_power_systems_type(value::ACTransportTechnology) = value.power_systems_type get_angle_limit(value::ACTransportTechnology) = value.angle_limit """Get [`ACTransportTechnology`](@ref) `internal`.""" get_internal(value::ACTransportTechnology) = value.internal +"""Get [`ACTransportTechnology`](@ref) `interest_rate`.""" +get_interest_rate(value::ACTransportTechnology) = value.interest_rate """Get [`ACTransportTechnology`](@ref) `ext`.""" get_ext(value::ACTransportTechnology) = value.ext """Get [`ACTransportTechnology`](@ref) `resistance`.""" @@ -134,6 +138,8 @@ get_existing_line_capacity(value::ACTransportTechnology) = value.existing_line_c get_wacc(value::ACTransportTechnology) = value.wacc """Get [`ACTransportTechnology`](@ref) `line_loss`.""" get_line_loss(value::ACTransportTechnology) = value.line_loss +"""Get [`ACTransportTechnology`](@ref) `capital_recovery_period`.""" +get_capital_recovery_period(value::ACTransportTechnology) = value.capital_recovery_period """Set [`ACTransportTechnology`](@ref) `base_power`.""" set_base_power!(value::ACTransportTechnology, val) = value.base_power = val @@ -145,8 +151,6 @@ set_start_region!(value::ACTransportTechnology, val) = value.start_region = val set_available!(value::ACTransportTechnology, val) = value.available = val """Set [`ACTransportTechnology`](@ref) `name`.""" set_name!(value::ACTransportTechnology, val) = value.name = val -"""Set [`ACTransportTechnology`](@ref) `capital_recovery_factor`.""" -set_capital_recovery_factor!(value::ACTransportTechnology, val) = value.capital_recovery_factor = val """Set [`ACTransportTechnology`](@ref) `end_region`.""" set_end_region!(value::ACTransportTechnology, val) = value.end_region = val """Set [`ACTransportTechnology`](@ref) `power_systems_type`.""" @@ -155,6 +159,8 @@ set_power_systems_type!(value::ACTransportTechnology, val) = value.power_systems set_angle_limit!(value::ACTransportTechnology, val) = value.angle_limit = val """Set [`ACTransportTechnology`](@ref) `internal`.""" set_internal!(value::ACTransportTechnology, val) = value.internal = val +"""Set [`ACTransportTechnology`](@ref) `interest_rate`.""" +set_interest_rate!(value::ACTransportTechnology, val) = value.interest_rate = val """Set [`ACTransportTechnology`](@ref) `ext`.""" set_ext!(value::ACTransportTechnology, val) = value.ext = val """Set [`ACTransportTechnology`](@ref) `resistance`.""" @@ -173,3 +179,5 @@ set_existing_line_capacity!(value::ACTransportTechnology, val) = value.existing_ set_wacc!(value::ACTransportTechnology, val) = value.wacc = val """Set [`ACTransportTechnology`](@ref) `line_loss`.""" set_line_loss!(value::ACTransportTechnology, val) = value.line_loss = val +"""Set [`ACTransportTechnology`](@ref) `capital_recovery_period`.""" +set_capital_recovery_period!(value::ACTransportTechnology, val) = value.capital_recovery_period = val diff --git a/src/models/generated/ExistingTransportTechnology.jl b/src/models/generated/ExistingTransportTechnology.jl index bbfcd30..7879291 100644 --- a/src/models/generated/ExistingTransportTechnology.jl +++ b/src/models/generated/ExistingTransportTechnology.jl @@ -11,7 +11,6 @@ This file is auto-generated. Do not edit. start_region::Region available::Bool name::String - capital_recovery_factor::Int64 end_region::Region power_systems_type::String angle_limit::Float64 @@ -25,6 +24,7 @@ This file is auto-generated. Do not edit. existing_line_capacity::Float64 wacc::Float64 line_loss::Float64 + capital_recovery_period::Int64 end @@ -35,7 +35,6 @@ This file is auto-generated. Do not edit. - `start_region::Region`: Start region for transport technology - `available::Bool`: identifies whether the technology is available - `name::String`: Name -- `capital_recovery_factor::Int64`: (default: `30`) Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for network transmission line expansion. - `end_region::Region`: End region for transport technology - `power_systems_type::String`: maps to a valid PowerSystems.jl for PCM modeling - `angle_limit::Float64`: (default: `0.0`) Votlage angle limit (radians) @@ -49,6 +48,7 @@ This file is auto-generated. Do not edit. - `existing_line_capacity::Float64`: Existing capacity of transport technology (MW) - `wacc::Float64`: (default: `0`) Weighted average cost of capital - `line_loss::Float64`: Transmission loss for each transport technology (%) +- `capital_recovery_period::Int64`: (default: `30`) Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for network transmission line expansion. """ mutable struct ExistingTransportTechnology{T <: PSY.Device} <: Technology "Base power" @@ -61,8 +61,6 @@ mutable struct ExistingTransportTechnology{T <: PSY.Device} <: Technology available::Bool "Name" name::String - "Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for network transmission line expansion." - capital_recovery_factor::Int64 "End region for transport technology" end_region::Region "maps to a valid PowerSystems.jl for PCM modeling" @@ -89,11 +87,13 @@ mutable struct ExistingTransportTechnology{T <: PSY.Device} <: Technology wacc::Float64 "Transmission loss for each transport technology (%)" line_loss::Float64 + "Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for network transmission line expansion." + capital_recovery_period::Int64 end -function ExistingTransportTechnology{T}(; base_power, capital_cost, start_region, available, name, capital_recovery_factor=30, end_region, power_systems_type, angle_limit=0.0, internal=InfrastructureSystemsInternal(), ext=Dict(), resistance=0.0, voltage=0.0, network_id, maximum_new_capacity, base_year=2020, existing_line_capacity, wacc=0, line_loss, ) where T <: PSY.Device - ExistingTransportTechnology{T}(base_power, capital_cost, start_region, available, name, capital_recovery_factor, end_region, power_systems_type, angle_limit, internal, ext, resistance, voltage, network_id, maximum_new_capacity, base_year, existing_line_capacity, wacc, line_loss, ) +function ExistingTransportTechnology{T}(; base_power, capital_cost, start_region, available, name, end_region, power_systems_type, angle_limit=0.0, internal=InfrastructureSystemsInternal(), ext=Dict(), resistance=0.0, voltage=0.0, network_id, maximum_new_capacity, base_year=2020, existing_line_capacity, wacc=0, line_loss, capital_recovery_period=30, ) where T <: PSY.Device + ExistingTransportTechnology{T}(base_power, capital_cost, start_region, available, name, end_region, power_systems_type, angle_limit, internal, ext, resistance, voltage, network_id, maximum_new_capacity, base_year, existing_line_capacity, wacc, line_loss, capital_recovery_period, ) end """Get [`ExistingTransportTechnology`](@ref) `base_power`.""" @@ -106,8 +106,6 @@ get_start_region(value::ExistingTransportTechnology) = value.start_region get_available(value::ExistingTransportTechnology) = value.available """Get [`ExistingTransportTechnology`](@ref) `name`.""" get_name(value::ExistingTransportTechnology) = value.name -"""Get [`ExistingTransportTechnology`](@ref) `capital_recovery_factor`.""" -get_capital_recovery_factor(value::ExistingTransportTechnology) = value.capital_recovery_factor """Get [`ExistingTransportTechnology`](@ref) `end_region`.""" get_end_region(value::ExistingTransportTechnology) = value.end_region """Get [`ExistingTransportTechnology`](@ref) `power_systems_type`.""" @@ -134,6 +132,8 @@ get_existing_line_capacity(value::ExistingTransportTechnology) = value.existing_ get_wacc(value::ExistingTransportTechnology) = value.wacc """Get [`ExistingTransportTechnology`](@ref) `line_loss`.""" get_line_loss(value::ExistingTransportTechnology) = value.line_loss +"""Get [`ExistingTransportTechnology`](@ref) `capital_recovery_period`.""" +get_capital_recovery_period(value::ExistingTransportTechnology) = value.capital_recovery_period """Set [`ExistingTransportTechnology`](@ref) `base_power`.""" set_base_power!(value::ExistingTransportTechnology, val) = value.base_power = val @@ -145,8 +145,6 @@ set_start_region!(value::ExistingTransportTechnology, val) = value.start_region set_available!(value::ExistingTransportTechnology, val) = value.available = val """Set [`ExistingTransportTechnology`](@ref) `name`.""" set_name!(value::ExistingTransportTechnology, val) = value.name = val -"""Set [`ExistingTransportTechnology`](@ref) `capital_recovery_factor`.""" -set_capital_recovery_factor!(value::ExistingTransportTechnology, val) = value.capital_recovery_factor = val """Set [`ExistingTransportTechnology`](@ref) `end_region`.""" set_end_region!(value::ExistingTransportTechnology, val) = value.end_region = val """Set [`ExistingTransportTechnology`](@ref) `power_systems_type`.""" @@ -173,3 +171,5 @@ set_existing_line_capacity!(value::ExistingTransportTechnology, val) = value.exi set_wacc!(value::ExistingTransportTechnology, val) = value.wacc = val """Set [`ExistingTransportTechnology`](@ref) `line_loss`.""" set_line_loss!(value::ExistingTransportTechnology, val) = value.line_loss = val +"""Set [`ExistingTransportTechnology`](@ref) `capital_recovery_period`.""" +set_capital_recovery_period!(value::ExistingTransportTechnology, val) = value.capital_recovery_period = val diff --git a/src/models/generated/HVDCTransportTechnology.jl b/src/models/generated/HVDCTransportTechnology.jl index b3a9a88..69c8014 100644 --- a/src/models/generated/HVDCTransportTechnology.jl +++ b/src/models/generated/HVDCTransportTechnology.jl @@ -11,11 +11,11 @@ This file is auto-generated. Do not edit. start_region::Region available::Bool name::String - capital_recovery_factor::Int64 end_region::Region power_systems_type::String angle_limit::Float64 internal::InfrastructureSystemsInternal + interest_rate::Float64 ext::Dict resistance::Float64 voltage::Float64 @@ -25,6 +25,7 @@ This file is auto-generated. Do not edit. existing_line_capacity::Float64 wacc::Float64 line_loss::Float64 + capital_recovery_period::Int64 end @@ -35,11 +36,11 @@ This file is auto-generated. Do not edit. - `start_region::Region`: Start region for transport technology - `available::Bool`: identifies whether the technology is available - `name::String`: Name -- `capital_recovery_factor::Int64`: (default: `30`) Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for network transmission line expansion. - `end_region::Region`: End region for transport technology - `power_systems_type::String`: maps to a valid PowerSystems.jl for PCM modeling - `angle_limit::Float64`: (default: `0.0`) Votlage angle limit (radians) - `internal::InfrastructureSystemsInternal`: (default: `InfrastructureSystemsInternal()`) Internal field +- `interest_rate::Float64`: (default: `0.07`) Interest rate for technology - `ext::Dict`: (default: `Dict()`) Option for providing additional data - `resistance::Float64`: (default: `0.0`) Technology resistance in Ohms - `voltage::Float64`: (default: `0.0`) Technology resistance in Ohms @@ -49,6 +50,7 @@ This file is auto-generated. Do not edit. - `existing_line_capacity::Float64`: Existing capacity of transport technology (MW) - `wacc::Float64`: (default: `0`) Weighted average cost of capital - `line_loss::Float64`: Transmission loss for each transport technology (%) +- `capital_recovery_period::Int64`: (default: `30`) Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for network transmission line expansion. """ mutable struct HVDCTransportTechnology{T <: PSY.Device} <: Technology "Base power" @@ -61,8 +63,6 @@ mutable struct HVDCTransportTechnology{T <: PSY.Device} <: Technology available::Bool "Name" name::String - "Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for network transmission line expansion." - capital_recovery_factor::Int64 "End region for transport technology" end_region::Region "maps to a valid PowerSystems.jl for PCM modeling" @@ -71,6 +71,8 @@ mutable struct HVDCTransportTechnology{T <: PSY.Device} <: Technology angle_limit::Float64 "Internal field" internal::InfrastructureSystemsInternal + "Interest rate for technology" + interest_rate::Float64 "Option for providing additional data" ext::Dict "Technology resistance in Ohms" @@ -89,11 +91,13 @@ mutable struct HVDCTransportTechnology{T <: PSY.Device} <: Technology wacc::Float64 "Transmission loss for each transport technology (%)" line_loss::Float64 + "Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for network transmission line expansion." + capital_recovery_period::Int64 end -function HVDCTransportTechnology{T}(; base_power, capital_cost, start_region, available, name, capital_recovery_factor=30, end_region, power_systems_type, angle_limit=0.0, internal=InfrastructureSystemsInternal(), ext=Dict(), resistance=0.0, voltage=0.0, network_id, maximum_new_capacity, base_year=2020, existing_line_capacity, wacc=0, line_loss, ) where T <: PSY.Device - HVDCTransportTechnology{T}(base_power, capital_cost, start_region, available, name, capital_recovery_factor, end_region, power_systems_type, angle_limit, internal, ext, resistance, voltage, network_id, maximum_new_capacity, base_year, existing_line_capacity, wacc, line_loss, ) +function HVDCTransportTechnology{T}(; base_power, capital_cost, start_region, available, name, end_region, power_systems_type, angle_limit=0.0, internal=InfrastructureSystemsInternal(), interest_rate=0.07, ext=Dict(), resistance=0.0, voltage=0.0, network_id, maximum_new_capacity, base_year=2020, existing_line_capacity, wacc=0, line_loss, capital_recovery_period=30, ) where T <: PSY.Device + HVDCTransportTechnology{T}(base_power, capital_cost, start_region, available, name, end_region, power_systems_type, angle_limit, internal, interest_rate, ext, resistance, voltage, network_id, maximum_new_capacity, base_year, existing_line_capacity, wacc, line_loss, capital_recovery_period, ) end """Get [`HVDCTransportTechnology`](@ref) `base_power`.""" @@ -106,8 +110,6 @@ get_start_region(value::HVDCTransportTechnology) = value.start_region get_available(value::HVDCTransportTechnology) = value.available """Get [`HVDCTransportTechnology`](@ref) `name`.""" get_name(value::HVDCTransportTechnology) = value.name -"""Get [`HVDCTransportTechnology`](@ref) `capital_recovery_factor`.""" -get_capital_recovery_factor(value::HVDCTransportTechnology) = value.capital_recovery_factor """Get [`HVDCTransportTechnology`](@ref) `end_region`.""" get_end_region(value::HVDCTransportTechnology) = value.end_region """Get [`HVDCTransportTechnology`](@ref) `power_systems_type`.""" @@ -116,6 +118,8 @@ get_power_systems_type(value::HVDCTransportTechnology) = value.power_systems_typ get_angle_limit(value::HVDCTransportTechnology) = value.angle_limit """Get [`HVDCTransportTechnology`](@ref) `internal`.""" get_internal(value::HVDCTransportTechnology) = value.internal +"""Get [`HVDCTransportTechnology`](@ref) `interest_rate`.""" +get_interest_rate(value::HVDCTransportTechnology) = value.interest_rate """Get [`HVDCTransportTechnology`](@ref) `ext`.""" get_ext(value::HVDCTransportTechnology) = value.ext """Get [`HVDCTransportTechnology`](@ref) `resistance`.""" @@ -134,6 +138,8 @@ get_existing_line_capacity(value::HVDCTransportTechnology) = value.existing_line get_wacc(value::HVDCTransportTechnology) = value.wacc """Get [`HVDCTransportTechnology`](@ref) `line_loss`.""" get_line_loss(value::HVDCTransportTechnology) = value.line_loss +"""Get [`HVDCTransportTechnology`](@ref) `capital_recovery_period`.""" +get_capital_recovery_period(value::HVDCTransportTechnology) = value.capital_recovery_period """Set [`HVDCTransportTechnology`](@ref) `base_power`.""" set_base_power!(value::HVDCTransportTechnology, val) = value.base_power = val @@ -145,8 +151,6 @@ set_start_region!(value::HVDCTransportTechnology, val) = value.start_region = va set_available!(value::HVDCTransportTechnology, val) = value.available = val """Set [`HVDCTransportTechnology`](@ref) `name`.""" set_name!(value::HVDCTransportTechnology, val) = value.name = val -"""Set [`HVDCTransportTechnology`](@ref) `capital_recovery_factor`.""" -set_capital_recovery_factor!(value::HVDCTransportTechnology, val) = value.capital_recovery_factor = val """Set [`HVDCTransportTechnology`](@ref) `end_region`.""" set_end_region!(value::HVDCTransportTechnology, val) = value.end_region = val """Set [`HVDCTransportTechnology`](@ref) `power_systems_type`.""" @@ -155,6 +159,8 @@ set_power_systems_type!(value::HVDCTransportTechnology, val) = value.power_syste set_angle_limit!(value::HVDCTransportTechnology, val) = value.angle_limit = val """Set [`HVDCTransportTechnology`](@ref) `internal`.""" set_internal!(value::HVDCTransportTechnology, val) = value.internal = val +"""Set [`HVDCTransportTechnology`](@ref) `interest_rate`.""" +set_interest_rate!(value::HVDCTransportTechnology, val) = value.interest_rate = val """Set [`HVDCTransportTechnology`](@ref) `ext`.""" set_ext!(value::HVDCTransportTechnology, val) = value.ext = val """Set [`HVDCTransportTechnology`](@ref) `resistance`.""" @@ -173,3 +179,5 @@ set_existing_line_capacity!(value::HVDCTransportTechnology, val) = value.existin set_wacc!(value::HVDCTransportTechnology, val) = value.wacc = val """Set [`HVDCTransportTechnology`](@ref) `line_loss`.""" set_line_loss!(value::HVDCTransportTechnology, val) = value.line_loss = val +"""Set [`HVDCTransportTechnology`](@ref) `capital_recovery_period`.""" +set_capital_recovery_period!(value::HVDCTransportTechnology, val) = value.capital_recovery_period = val diff --git a/src/models/generated/StorageTechnology.jl b/src/models/generated/StorageTechnology.jl index fba3379..458fd9c 100644 --- a/src/models/generated/StorageTechnology.jl +++ b/src/models/generated/StorageTechnology.jl @@ -19,7 +19,6 @@ This file is auto-generated. Do not edit. capital_costs_power::PSY.ValueCurve max_duration::Float64 unit_size_power::Float64 - capital_recovery_factor::Int64 id::Int64 min_cap_power::Float64 capital_costs_energy::PSY.ValueCurve @@ -37,12 +36,14 @@ This file is auto-generated. Do not edit. unit_size_energy::Float64 eff_up::Float64 cluster::Int64 + interest_rate::Float64 ext::Dict base_year::Int reg_cost::Float64 min_duration::Float64 max_cap_energy::Float64 reg_max::Float64 + capital_recovery_period::Int64 end @@ -61,7 +62,6 @@ This file is auto-generated. Do not edit. - `capital_costs_power::PSY.ValueCurve`: (default: `LinearCurve(0.0)`) Capital costs for investing in a technology. - `max_duration::Float64`: (default: `1000.0`) Maximum allowable durection for a storage technology - `unit_size_power::Float64`: (default: `0.0`) Used for discrete investment decisions. Size of each unit being built (MW) -- `capital_recovery_factor::Int64`: (default: `30`) Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs. - `id::Int64`: ID for individual generator - `min_cap_power::Float64`: (default: `0.0`) Minimum required power capacity for a storage technology - `capital_costs_energy::PSY.ValueCurve`: (default: `LinearCurve(0.0)`) Capital costs for investing in a technology. @@ -79,12 +79,14 @@ This file is auto-generated. Do not edit. - `unit_size_energy::Float64`: (default: `0.0`) Used for discrete investment decisions. Size of each unit being built (MW) - `eff_up::Float64`: (default: `1.0`) Efficiency of charging storage - `cluster::Int64`: (default: `1`) Number of the cluster when representing multiple clusters of a given technology in a given region. +- `interest_rate::Float64`: (default: `0.07`) Interest rate for technology - `ext::Dict`: (default: `Dict()`) Option for providing additional data - `base_year::Int`: (default: `2020`) Reference year for technology data - `reg_cost::Float64`: (default: `0.0`) Cost of providing regulation reserves - `min_duration::Float64`: (default: `0.0`) Minimum required durection for a storage technology - `max_cap_energy::Float64`: (default: `1e8`) Maximum allowable installed energy capacity for a storage technology - `reg_max::Float64`: (default: `0.0`) Fraction of nameplate capacity that can committed to provided regulation reserves +- `capital_recovery_period::Int64`: (default: `30`) Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs. """ mutable struct StorageTechnology{T <: PSY.Storage} <: Technology "Base power" @@ -113,8 +115,6 @@ mutable struct StorageTechnology{T <: PSY.Storage} <: Technology max_duration::Float64 "Used for discrete investment decisions. Size of each unit being built (MW)" unit_size_power::Float64 - "Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs." - capital_recovery_factor::Int64 "ID for individual generator" id::Int64 "Minimum required power capacity for a storage technology" @@ -149,6 +149,8 @@ mutable struct StorageTechnology{T <: PSY.Storage} <: Technology eff_up::Float64 "Number of the cluster when representing multiple clusters of a given technology in a given region." cluster::Int64 + "Interest rate for technology" + interest_rate::Float64 "Option for providing additional data" ext::Dict "Reference year for technology data" @@ -161,11 +163,13 @@ mutable struct StorageTechnology{T <: PSY.Storage} <: Technology max_cap_energy::Float64 "Fraction of nameplate capacity that can committed to provided regulation reserves" reg_max::Float64 + "Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs." + capital_recovery_period::Int64 end -function StorageTechnology{T}(; base_power, om_costs_energy=StorageCost(), existing_cap_energy=0.0, prime_mover_type=PrimeMovers.OT, lifetime=100, rsv_cost=0.0, available, existing_cap_power=0.0, name, storage_tech, capital_costs_power=LinearCurve(0.0), max_duration=1000.0, unit_size_power=0.0, capital_recovery_factor=30, id, min_cap_power=0.0, capital_costs_energy=LinearCurve(0.0), losses=1.0, eff_down=1.0, rsv_max=0.0, max_cap_power=1e8, power_systems_type, internal=InfrastructureSystemsInternal(), om_costs_power=StorageCost(), balancing_topology, min_cap_energy=0.0, region=nothing, initial_state_of_charge=0.0, unit_size_energy=0.0, eff_up=1.0, cluster=1, ext=Dict(), base_year=2020, reg_cost=0.0, min_duration=0.0, max_cap_energy=1e8, reg_max=0.0, ) where T <: PSY.Storage - StorageTechnology{T}(base_power, om_costs_energy, existing_cap_energy, prime_mover_type, lifetime, rsv_cost, available, existing_cap_power, name, storage_tech, capital_costs_power, max_duration, unit_size_power, capital_recovery_factor, id, min_cap_power, capital_costs_energy, losses, eff_down, rsv_max, max_cap_power, power_systems_type, internal, om_costs_power, balancing_topology, min_cap_energy, region, initial_state_of_charge, unit_size_energy, eff_up, cluster, ext, base_year, reg_cost, min_duration, max_cap_energy, reg_max, ) +function StorageTechnology{T}(; base_power, om_costs_energy=StorageCost(), existing_cap_energy=0.0, prime_mover_type=PrimeMovers.OT, lifetime=100, rsv_cost=0.0, available, existing_cap_power=0.0, name, storage_tech, capital_costs_power=LinearCurve(0.0), max_duration=1000.0, unit_size_power=0.0, id, min_cap_power=0.0, capital_costs_energy=LinearCurve(0.0), losses=1.0, eff_down=1.0, rsv_max=0.0, max_cap_power=1e8, power_systems_type, internal=InfrastructureSystemsInternal(), om_costs_power=StorageCost(), balancing_topology, min_cap_energy=0.0, region=nothing, initial_state_of_charge=0.0, unit_size_energy=0.0, eff_up=1.0, cluster=1, interest_rate=0.07, ext=Dict(), base_year=2020, reg_cost=0.0, min_duration=0.0, max_cap_energy=1e8, reg_max=0.0, capital_recovery_period=30, ) where T <: PSY.Storage + StorageTechnology{T}(base_power, om_costs_energy, existing_cap_energy, prime_mover_type, lifetime, rsv_cost, available, existing_cap_power, name, storage_tech, capital_costs_power, max_duration, unit_size_power, id, min_cap_power, capital_costs_energy, losses, eff_down, rsv_max, max_cap_power, power_systems_type, internal, om_costs_power, balancing_topology, min_cap_energy, region, initial_state_of_charge, unit_size_energy, eff_up, cluster, interest_rate, ext, base_year, reg_cost, min_duration, max_cap_energy, reg_max, capital_recovery_period, ) end """Get [`StorageTechnology`](@ref) `base_power`.""" @@ -194,8 +198,6 @@ get_capital_costs_power(value::StorageTechnology) = value.capital_costs_power get_max_duration(value::StorageTechnology) = value.max_duration """Get [`StorageTechnology`](@ref) `unit_size_power`.""" get_unit_size_power(value::StorageTechnology) = value.unit_size_power -"""Get [`StorageTechnology`](@ref) `capital_recovery_factor`.""" -get_capital_recovery_factor(value::StorageTechnology) = value.capital_recovery_factor """Get [`StorageTechnology`](@ref) `id`.""" get_id(value::StorageTechnology) = value.id """Get [`StorageTechnology`](@ref) `min_cap_power`.""" @@ -230,6 +232,8 @@ get_unit_size_energy(value::StorageTechnology) = value.unit_size_energy get_eff_up(value::StorageTechnology) = value.eff_up """Get [`StorageTechnology`](@ref) `cluster`.""" get_cluster(value::StorageTechnology) = value.cluster +"""Get [`StorageTechnology`](@ref) `interest_rate`.""" +get_interest_rate(value::StorageTechnology) = value.interest_rate """Get [`StorageTechnology`](@ref) `ext`.""" get_ext(value::StorageTechnology) = value.ext """Get [`StorageTechnology`](@ref) `base_year`.""" @@ -242,6 +246,8 @@ get_min_duration(value::StorageTechnology) = value.min_duration get_max_cap_energy(value::StorageTechnology) = value.max_cap_energy """Get [`StorageTechnology`](@ref) `reg_max`.""" get_reg_max(value::StorageTechnology) = value.reg_max +"""Get [`StorageTechnology`](@ref) `capital_recovery_period`.""" +get_capital_recovery_period(value::StorageTechnology) = value.capital_recovery_period """Set [`StorageTechnology`](@ref) `base_power`.""" set_base_power!(value::StorageTechnology, val) = value.base_power = val @@ -269,8 +275,6 @@ set_capital_costs_power!(value::StorageTechnology, val) = value.capital_costs_po set_max_duration!(value::StorageTechnology, val) = value.max_duration = val """Set [`StorageTechnology`](@ref) `unit_size_power`.""" set_unit_size_power!(value::StorageTechnology, val) = value.unit_size_power = val -"""Set [`StorageTechnology`](@ref) `capital_recovery_factor`.""" -set_capital_recovery_factor!(value::StorageTechnology, val) = value.capital_recovery_factor = val """Set [`StorageTechnology`](@ref) `id`.""" set_id!(value::StorageTechnology, val) = value.id = val """Set [`StorageTechnology`](@ref) `min_cap_power`.""" @@ -305,6 +309,8 @@ set_unit_size_energy!(value::StorageTechnology, val) = value.unit_size_energy = set_eff_up!(value::StorageTechnology, val) = value.eff_up = val """Set [`StorageTechnology`](@ref) `cluster`.""" set_cluster!(value::StorageTechnology, val) = value.cluster = val +"""Set [`StorageTechnology`](@ref) `interest_rate`.""" +set_interest_rate!(value::StorageTechnology, val) = value.interest_rate = val """Set [`StorageTechnology`](@ref) `ext`.""" set_ext!(value::StorageTechnology, val) = value.ext = val """Set [`StorageTechnology`](@ref) `base_year`.""" @@ -317,3 +323,5 @@ set_min_duration!(value::StorageTechnology, val) = value.min_duration = val set_max_cap_energy!(value::StorageTechnology, val) = value.max_cap_energy = val """Set [`StorageTechnology`](@ref) `reg_max`.""" set_reg_max!(value::StorageTechnology, val) = value.reg_max = val +"""Set [`StorageTechnology`](@ref) `capital_recovery_period`.""" +set_capital_recovery_period!(value::StorageTechnology, val) = value.capital_recovery_period = val diff --git a/src/models/generated/SupplyTechnology.jl b/src/models/generated/SupplyTechnology.jl index 4a0a707..1ddac94 100644 --- a/src/models/generated/SupplyTechnology.jl +++ b/src/models/generated/SupplyTechnology.jl @@ -21,7 +21,6 @@ This file is auto-generated. Do not edit. cofire_start_min::Union{Nothing, Dict{ThermalFuels, Float64}} name::String ramp_dn_percentage::Float64 - capital_recovery_factor::Int64 id::Int64 down_time::Float64 initial_capacity::Float64 @@ -32,8 +31,9 @@ This file is auto-generated. Do not edit. power_systems_type::String cofire_level_max::Union{Nothing, Dict{ThermalFuels, Float64}} internal::InfrastructureSystemsInternal - ext::Dict + interest_rate::Float64 balancing_topology::String + ext::Dict region::Union{Nothing, Region, Vector{Region}} maximum_capacity::Float64 cluster::Int64 @@ -44,6 +44,7 @@ This file is auto-generated. Do not edit. min_generation_percentage::Float64 start_cost_per_mw::Float64 reg_max::Float64 + capital_recovery_period::Int64 up_time::Float64 end @@ -65,7 +66,6 @@ This file is auto-generated. Do not edit. - `cofire_start_min::Union{Nothing, Dict{ThermalFuels, Float64}}`: (default: `nothing`) Minimum blending level of each fuel during start-up process for multi-fuel generator - `name::String`: The technology name - `ramp_dn_percentage::Float64`: (default: `100.0`) Maximum decrease in output between operation periods. Fraction of total capacity -- `capital_recovery_factor::Int64`: (default: `30`) Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs. - `id::Int64`: ID for individual generator - `down_time::Float64`: (default: `0.0`) Minimum amount of time a resource has to remain in the shutdown state. - `initial_capacity::Float64`: (default: `0.0`) Pre-existing capacity for a technology @@ -76,8 +76,9 @@ This file is auto-generated. Do not edit. - `power_systems_type::String`: maps to a valid PowerSystems.jl for PCM modeling - `cofire_level_max::Union{Nothing, Dict{ThermalFuels, Float64}}`: (default: `nothing`) Maximum blending level of each fuel during normal generation process for multi-fuel generator - `internal::InfrastructureSystemsInternal`: (default: `InfrastructureSystemsInternal()`) Internal field -- `ext::Dict`: (default: `Dict()`) Option for providing additional data +- `interest_rate::Float64`: (default: `0.07`) Interest rate for technology - `balancing_topology::String`: Set of balancing nodes +- `ext::Dict`: (default: `Dict()`) Option for providing additional data - `region::Union{Nothing, Region, Vector{Region}}`: (default: `nothing`) Zone where tech operates in - `maximum_capacity::Float64`: (default: `Inf`) Maximum allowable installed capacity for a technology - `cluster::Int64`: (default: `1`) Number of the cluster when representing multiple clusters of a given technology in a given region. @@ -88,6 +89,7 @@ This file is auto-generated. Do not edit. - `min_generation_percentage::Float64`: (default: `0.0`) Minimum generation as a fraction of total capacity - `start_cost_per_mw::Float64`: (default: `0.0`) Cost per MW of nameplate capacity to start a generator (/MW per start). - `reg_max::Float64`: (default: `0.0`) Fraction of nameplate capacity that can committed to provided regulation reserves +- `capital_recovery_period::Int64`: (default: `30`) Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs. - `up_time::Float64`: (default: `0.0`) Minimum amount of time a resource has to stay in the committed state. """ mutable struct SupplyTechnology{T <: PSY.Generator} <: Technology @@ -121,8 +123,6 @@ mutable struct SupplyTechnology{T <: PSY.Generator} <: Technology name::String "Maximum decrease in output between operation periods. Fraction of total capacity" ramp_dn_percentage::Float64 - "Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs." - capital_recovery_factor::Int64 "ID for individual generator" id::Int64 "Minimum amount of time a resource has to remain in the shutdown state." @@ -143,10 +143,12 @@ mutable struct SupplyTechnology{T <: PSY.Generator} <: Technology cofire_level_max::Union{Nothing, Dict{ThermalFuels, Float64}} "Internal field" internal::InfrastructureSystemsInternal - "Option for providing additional data" - ext::Dict + "Interest rate for technology" + interest_rate::Float64 "Set of balancing nodes" balancing_topology::String + "Option for providing additional data" + ext::Dict "Zone where tech operates in" region::Union{Nothing, Region, Vector{Region}} "Maximum allowable installed capacity for a technology" @@ -167,13 +169,15 @@ mutable struct SupplyTechnology{T <: PSY.Generator} <: Technology start_cost_per_mw::Float64 "Fraction of nameplate capacity that can committed to provided regulation reserves" reg_max::Float64 + "Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs." + capital_recovery_period::Int64 "Minimum amount of time a resource has to stay in the committed state." up_time::Float64 end -function SupplyTechnology{T}(; base_power, heat_rate_mmbtu_per_mwh=0.0, outage_factor=1.0, prime_mover_type=PrimeMovers.OT, minimum_required_capacity=0.0, cofire_level_min=nothing, capital_costs=LinearCurve(0.0), lifetime=100, rsv_cost=0.0, cofire_start_max=nothing, available=True, co2=0.0, cofire_start_min=nothing, name, ramp_dn_percentage=100.0, capital_recovery_factor=30, id, down_time=0.0, initial_capacity=0.0, start_fuel_mmbtu_per_mw=0.0, operation_costs=ThermalGenerationCost(), rsv_max=0.0, fuel=ThermalFuels.OTHER, power_systems_type, cofire_level_max=nothing, internal=InfrastructureSystemsInternal(), ext=Dict(), balancing_topology, region=nothing, maximum_capacity=Inf, cluster=1, ramp_up_percentage=100.0, base_year=2020, unit_size=0.0, reg_cost=0.0, min_generation_percentage=0.0, start_cost_per_mw=0.0, reg_max=0.0, up_time=0.0, ) where T <: PSY.Generator - SupplyTechnology{T}(base_power, heat_rate_mmbtu_per_mwh, outage_factor, prime_mover_type, minimum_required_capacity, cofire_level_min, capital_costs, lifetime, rsv_cost, cofire_start_max, available, co2, cofire_start_min, name, ramp_dn_percentage, capital_recovery_factor, id, down_time, initial_capacity, start_fuel_mmbtu_per_mw, operation_costs, rsv_max, fuel, power_systems_type, cofire_level_max, internal, ext, balancing_topology, region, maximum_capacity, cluster, ramp_up_percentage, base_year, unit_size, reg_cost, min_generation_percentage, start_cost_per_mw, reg_max, up_time, ) +function SupplyTechnology{T}(; base_power, heat_rate_mmbtu_per_mwh=0.0, outage_factor=1.0, prime_mover_type=PrimeMovers.OT, minimum_required_capacity=0.0, cofire_level_min=nothing, capital_costs=LinearCurve(0.0), lifetime=100, rsv_cost=0.0, cofire_start_max=nothing, available=True, co2=0.0, cofire_start_min=nothing, name, ramp_dn_percentage=100.0, id, down_time=0.0, initial_capacity=0.0, start_fuel_mmbtu_per_mw=0.0, operation_costs=ThermalGenerationCost(), rsv_max=0.0, fuel=ThermalFuels.OTHER, power_systems_type, cofire_level_max=nothing, internal=InfrastructureSystemsInternal(), interest_rate=0.07, balancing_topology, ext=Dict(), region=nothing, maximum_capacity=Inf, cluster=1, ramp_up_percentage=100.0, base_year=2020, unit_size=0.0, reg_cost=0.0, min_generation_percentage=0.0, start_cost_per_mw=0.0, reg_max=0.0, capital_recovery_period=30, up_time=0.0, ) where T <: PSY.Generator + SupplyTechnology{T}(base_power, heat_rate_mmbtu_per_mwh, outage_factor, prime_mover_type, minimum_required_capacity, cofire_level_min, capital_costs, lifetime, rsv_cost, cofire_start_max, available, co2, cofire_start_min, name, ramp_dn_percentage, id, down_time, initial_capacity, start_fuel_mmbtu_per_mw, operation_costs, rsv_max, fuel, power_systems_type, cofire_level_max, internal, interest_rate, balancing_topology, ext, region, maximum_capacity, cluster, ramp_up_percentage, base_year, unit_size, reg_cost, min_generation_percentage, start_cost_per_mw, reg_max, capital_recovery_period, up_time, ) end """Get [`SupplyTechnology`](@ref) `base_power`.""" @@ -206,8 +210,6 @@ get_cofire_start_min(value::SupplyTechnology) = value.cofire_start_min get_name(value::SupplyTechnology) = value.name """Get [`SupplyTechnology`](@ref) `ramp_dn_percentage`.""" get_ramp_dn_percentage(value::SupplyTechnology) = value.ramp_dn_percentage -"""Get [`SupplyTechnology`](@ref) `capital_recovery_factor`.""" -get_capital_recovery_factor(value::SupplyTechnology) = value.capital_recovery_factor """Get [`SupplyTechnology`](@ref) `id`.""" get_id(value::SupplyTechnology) = value.id """Get [`SupplyTechnology`](@ref) `down_time`.""" @@ -228,10 +230,12 @@ get_power_systems_type(value::SupplyTechnology) = value.power_systems_type get_cofire_level_max(value::SupplyTechnology) = value.cofire_level_max """Get [`SupplyTechnology`](@ref) `internal`.""" get_internal(value::SupplyTechnology) = value.internal -"""Get [`SupplyTechnology`](@ref) `ext`.""" -get_ext(value::SupplyTechnology) = value.ext +"""Get [`SupplyTechnology`](@ref) `interest_rate`.""" +get_interest_rate(value::SupplyTechnology) = value.interest_rate """Get [`SupplyTechnology`](@ref) `balancing_topology`.""" get_balancing_topology(value::SupplyTechnology) = value.balancing_topology +"""Get [`SupplyTechnology`](@ref) `ext`.""" +get_ext(value::SupplyTechnology) = value.ext """Get [`SupplyTechnology`](@ref) `region`.""" get_region(value::SupplyTechnology) = value.region """Get [`SupplyTechnology`](@ref) `maximum_capacity`.""" @@ -252,6 +256,8 @@ get_min_generation_percentage(value::SupplyTechnology) = value.min_generation_pe get_start_cost_per_mw(value::SupplyTechnology) = value.start_cost_per_mw """Get [`SupplyTechnology`](@ref) `reg_max`.""" get_reg_max(value::SupplyTechnology) = value.reg_max +"""Get [`SupplyTechnology`](@ref) `capital_recovery_period`.""" +get_capital_recovery_period(value::SupplyTechnology) = value.capital_recovery_period """Get [`SupplyTechnology`](@ref) `up_time`.""" get_up_time(value::SupplyTechnology) = value.up_time @@ -285,8 +291,6 @@ set_cofire_start_min!(value::SupplyTechnology, val) = value.cofire_start_min = v set_name!(value::SupplyTechnology, val) = value.name = val """Set [`SupplyTechnology`](@ref) `ramp_dn_percentage`.""" set_ramp_dn_percentage!(value::SupplyTechnology, val) = value.ramp_dn_percentage = val -"""Set [`SupplyTechnology`](@ref) `capital_recovery_factor`.""" -set_capital_recovery_factor!(value::SupplyTechnology, val) = value.capital_recovery_factor = val """Set [`SupplyTechnology`](@ref) `id`.""" set_id!(value::SupplyTechnology, val) = value.id = val """Set [`SupplyTechnology`](@ref) `down_time`.""" @@ -307,10 +311,12 @@ set_power_systems_type!(value::SupplyTechnology, val) = value.power_systems_type set_cofire_level_max!(value::SupplyTechnology, val) = value.cofire_level_max = val """Set [`SupplyTechnology`](@ref) `internal`.""" set_internal!(value::SupplyTechnology, val) = value.internal = val -"""Set [`SupplyTechnology`](@ref) `ext`.""" -set_ext!(value::SupplyTechnology, val) = value.ext = val +"""Set [`SupplyTechnology`](@ref) `interest_rate`.""" +set_interest_rate!(value::SupplyTechnology, val) = value.interest_rate = val """Set [`SupplyTechnology`](@ref) `balancing_topology`.""" set_balancing_topology!(value::SupplyTechnology, val) = value.balancing_topology = val +"""Set [`SupplyTechnology`](@ref) `ext`.""" +set_ext!(value::SupplyTechnology, val) = value.ext = val """Set [`SupplyTechnology`](@ref) `region`.""" set_region!(value::SupplyTechnology, val) = value.region = val """Set [`SupplyTechnology`](@ref) `maximum_capacity`.""" @@ -331,5 +337,7 @@ set_min_generation_percentage!(value::SupplyTechnology, val) = value.min_generat set_start_cost_per_mw!(value::SupplyTechnology, val) = value.start_cost_per_mw = val """Set [`SupplyTechnology`](@ref) `reg_max`.""" set_reg_max!(value::SupplyTechnology, val) = value.reg_max = val +"""Set [`SupplyTechnology`](@ref) `capital_recovery_period`.""" +set_capital_recovery_period!(value::SupplyTechnology, val) = value.capital_recovery_period = val """Set [`SupplyTechnology`](@ref) `up_time`.""" set_up_time!(value::SupplyTechnology, val) = value.up_time = val diff --git a/src/models/generated/includes.jl b/src/models/generated/includes.jl index 924c582..b79da33 100644 --- a/src/models/generated/includes.jl +++ b/src/models/generated/includes.jl @@ -25,7 +25,7 @@ export get_capital_cost export get_capital_costs export get_capital_costs_energy export get_capital_costs_power -export get_capital_recovery_factor +export get_capital_recovery_period export get_cluster export get_co2 export get_co_2_max_mtons @@ -54,6 +54,7 @@ export get_heat_rate_mmbtu_per_mwh export get_id export get_initial_capacity export get_initial_state_of_charge +export get_interest_rate export get_lifetime export get_line_loss export get_losses @@ -117,7 +118,7 @@ export set_capital_cost! export set_capital_costs! export set_capital_costs_energy! export set_capital_costs_power! -export set_capital_recovery_factor! +export set_capital_recovery_period! export set_cluster! export set_co2! export set_co_2_max_mtons! @@ -146,6 +147,7 @@ export set_heat_rate_mmbtu_per_mwh! export set_id! export set_initial_capacity! export set_initial_state_of_charge! +export set_interest_rate! export set_lifetime! export set_line_loss! export set_losses!