Reference

Index

Types

Methods

EnergyModelsBase.create_nodeMethod
EMB.create_node(m, n::GeoAvailability, 𝒯, 𝒫, modeltype::EnergyModel)

Repaces constraints for availability nodes of type GeoAvailability. The resource balances are set by the area constraints instead.

source
EnergyModelsGeography.check_areaMethod
check_area(a::Area, 𝒯, 𝒫, modeltype::EnergyModel, check_timeprofiles::Bool)

Check that the fields of an Area corresponds to required structure.

source
EnergyModelsGeography.check_case_dataMethod
check_case_data(case)

Checks the case dictionary is in the correct format. The function is only checking the new, additional data as we do not yet consider dispatch on the case data.

Checks

  • The dictionary requires the keys :areas and :transmission.
  • The individual keys are of the correct type, that is
    • :areas::Area and
    • :transmission::Vector{<:Transmission}.
source
EnergyModelsGeography.check_dataMethod
check_data(case, modeltype, check_timeprofiles::Bool)

Check if the case data is consistent. Use the @assert_or_log macro when testing. Currently, not checking data except that the case dictionary follows the required structure.

source
EnergyModelsGeography.check_modeMethod
check_mode(m::TransmissionMode, 𝒯, 𝒫, modeltype::EnergyModel, check_timeprofiles::Bool)

Check that the fields of a TransmissionMode corresponds to required structure.

source
EnergyModelsGeography.check_transmissionMethod
check_transmission(l::Transmission, 𝒯, 𝒫, modeltype::EnergyModel, check_timeprofiles::Bool)

Check that the fields of a Transmission corridor corresponds to required structure.

source
EnergyModelsGeography.constraints_areaMethod
constraints_area(m, 𝒜, 𝒯, ℒᵗʳᵃⁿˢ, 𝒫, modeltype::EnergyModel)

Create constraints for the energy balances within an area for each resource using the GeoAvailability node. Keep track of the exchange with other areas in a seperate variable :area_exchange.

source
EnergyModelsGeography.constraints_capacityMethod
constraints_capacity(m, tm::TransmissionMode, 𝒯::TimeStructure, modeltype::EnergyModel)

Function for creating the constraint on the maximum capacity of a generic TransmissionMode. This function serves as fallback option if no other function is specified for a TransmissionMode.

source
EnergyModelsGeography.constraints_opex_fixedMethod
constraints_opex_fixed(m, tm::TransmissionMode, 𝒯ᴵⁿᵛ, modeltype::EnergyModel)

Function for creating the constraint on the fixed OPEX of a generic TransmissionMode. This function serves as fallback option if no other function is specified for a TransmissionMode.

source
EnergyModelsGeography.constraints_opex_varMethod
constraints_opex_var(m, tm::TransmissionMode, 𝒯ᴵⁿᵛ, modeltype::EnergyModel)

Function for creating the constraint on the variable OPEX of a generic TransmissionMode. This function serves as fallback option if no other function is specified for a TransmissionMode.

source
EnergyModelsGeography.constraints_trans_balanceMethod
constraints_trans_balance(m, tm::TransmissionMode, 𝒯::TimeStructure, modeltype::EnergyModel)

Function for creating the transmission balance for a generic TransmissionMode. This function serves as fallback option if no other function is specified for a TransmissionMode.

source
EnergyModelsGeography.constraints_trans_lossMethod
constraints_trans_loss(m, tm::TransmissionMode, 𝒯::TimeStructure, modeltype::EnergyModel)

Function for creating the constraint on the transmission loss of a generic TransmissionMode. This function serves as fallback option if no other function is specified for a TransmissionMode.

source
EnergyModelsGeography.create_areaMethod
create_area(m, a::LimitedExchangeArea, 𝒯, ℒᵗʳᵃⁿˢ, modeltype)

Constraint that limit exchange with other areas based on the specified exchange_limit.

source
EnergyModelsGeography.create_modelMethod
create_model(case, modeltype::EnergyModel; check_timeprofiles::Bool=true)

Create the model and call all required functions.

Input

  • case - The case dictionary requiring the keys :T, :nodes, :links, products as it is the case for standard EnergyModelsBase models. In addition, the keys :areas and :transmission are required for extending the existing model. If the input is not provided in the correct form, the checks will identify the problem. In the case of a
  • modeltype::EnergyModel - Used modeltype, that is a subtype of the type EnergyModel.
  • m - the empty JuMP.Model instance. If it is not provided, then it is assumed that the input is a standard JuMP.Model.

Conditional input

  • check_timeprofiles::Bool=true - A boolean indicator whether the time profiles of the individual nodes should be checked or not. It is advised to not deactivate the check, except if you are testing new components. It may lead to unexpected behaviour and potential inconsistencies in the input data, if the time profiles are not checked.
source
EnergyModelsGeography.update_objectiveMethod
update_objective(m, 𝒩, 𝒯, 𝒫, ℒᵗʳᵃⁿˢ, modeltype::EnergyModel)

Update the objective function with costs related to geography (areas and energy transmission).

source
EnergyModelsGeography.variables_areaMethod
variables_area(m, 𝒜, 𝒯, ℒᵗʳᵃⁿˢ, modeltype::EnergyModel)

Create variables to track how much energy is exchanged from an area for all time periods t ∈ 𝒯.

source
EnergyModelsGeography.variables_trans_capacityMethod
variables_trans_capacity(m, 𝒯, ℳ, modeltype::EnergyModel)

Declaration of variables for tracking how much of installed transmision capacity is used f or all time periods t ∈ 𝒯 of the tranmission modes.

source
EnergyModelsGeography.variables_trans_capexMethod
variables_trans_capex(m, 𝒯, ℳ, modeltype::EnergyModel)

Create variables for the capital costs for the investments in transmission. Empty function to allow for multiple dispatch in the EnergyModelsInvestment package.

source
EnergyModelsGeography.variables_trans_modeMethod
variables_trans_mode(m, 𝒯, ℳᴸᴾ::Vector{<:PipeLinepackSimple}, modeltype::EnergyModel)

Adds the following special variables for linepacking:

  • :linepack_stor_level - storage level in linepack
source
EnergyModelsGeography.variables_trans_modeMethod
variables_trans_mode(m, 𝒯, ℳˢᵘᵇ::Vector{<:TransmissionMode}, modeltype::EnergyModel)

Default fallback method when no function is defined for a TransmissionMode type. It introduces the variables that are required in all TransmissionModes. These variables are:

  • :trans_in - inlet flow to transmission mode
  • :trans_out - outlet flow from a transmission mode
  • :trans_loss - loss during transmission
  • :trans_loss_neg - negative loss during transmission, helper variable if bidirectional

transport is possible

  • :trans_loss_pos - positive loss during transmission, helper variable if bidirectional

transport is possible

source
EnergyModelsGeography.variables_trans_modesMethod
variables_trans_modes(m, 𝒯, ℳ, modeltype::EnergyModel)

Loop through all TransmissionMode types and create variables specific to each type. This is done by calling the method variables_trans_mode on all modes of each type.

The TransmissionMode type representing the widest category will be called first. That is, variables_trans_mode will be called on a TransmissionMode before it is called on PipeMode-nodes.

source