Area
A geographical Area consist of a location and a connection to a local energy system via a specialized Availability node called GeoAvailability. The specialized Availability node is required to modify the energy/mass balance to allow for imports and exports. Constraints related to the area keep track of a resource's export and import to the local system and exchange with other areas. Multiple dispatch is used on the Area type for imposing specific constraints. Hence, other restrictions can be applied on a area level, such as electricity generation reserves, CO₂ emission limits or resource limits (wind power, natural gas etc.).
Area types
The following types are inmplemented:
EnergyModelsGeography.Area — TypeArea <: AbstractElementDeclaration of the general type for areas.
EnergyModelsGeography.RefArea — TypeRefArea <: AreaA RefArea is an area representation with no additional constraints on energy/mass exchange.
Fields
idis the name/identifier of the area.nameis the name of the area.lon::Realis the longitudinal position of the area.lat::Realis the latitudinal position of the area.node::Availabilityis theAvailabilitynode routing different resources within an area.
EnergyModelsGeography.LimitedExchangeArea — TypeLimitedExchangeArea <: AreaA LimitedExchangeArea is an area in which the export is limited in each individual operational period for the provided resources. This can be necessary when an area is coupled with multiple other areas and the total export capacity should be restricted.
Fields
idis the name/identifier of the area.nameis the name of the area.lon::Realis the longitudinal position of the area.lat::Realis the latitudinal position of the area.node::Availabilityis theAvailabilitynode routing different resources within an area.limit::Dict{<:EMB.Resource, <:TimeProfile}is the amount of a resource that can be exchanged with other areas.
EnergyModelsGeography.GeoAvailability — TypeGeoAvailability <: EMB.AvailabilityA geography Availability node for substituion of the general GenAvailability node. A GeoAvailability is required if transmission should be included between individual Areas due to a changed mass balance.
Fields
Functions for accessing fields of Area types
The following functions are defined for accessing fields from an Area:
EnergyModelsGeography.name — Functionname(a::Area)Returns the name of area a.
EnergyModelsGeography.availability_node — Functionavailability_node(a::Area)Returns the availability node of an Area a.
EnergyModelsGeography.limit_resources — Functionlimit_resources(a::LimitedExchangeArea)Returns the limited resources of a LimitedExchangeArea a. All other resources are considered unlimited.
EnergyModelsGeography.exchange_limit — Functionexchange_limit(a::LimitedExchangeArea)
exchange_limit(a::LimitedExchangeArea, p::Resource)
exchange_limit(a::LimitedExchangeArea, p::Resource, t)Returns the limits of the exchange resources in area a as dictionary, the value of resource p as TimeProfile, or the value of resource p in operational period t.
If the resource p is not included, the function returns either a FixedProfile(0) or a value of 0.
EnergyModelsGeography.exchange_resources — Functionexchange_resources(ℒᵗʳᵃⁿˢ, a::Area)Return the resources exchanged (import and export) from area a on the transmission corridors in ℒᵗʳᵃⁿˢ.
Utility functions for Area types
EnergyModelsGeography.getnodesinarea — Functiongetnodesinarea(a::Area, links)Return a vector with all the nodes connected to the central availability node of an area.
Arguments
a::Area.linksis a vector of all links in the model.
EnergyModelsGeography.nodes_in_area — Functionnodes_in_area(a::Area, ℒ::Vector{<:Link}; n_nodes=1000)Returns a vector of all nodes in area a connected through links ℒ. The approach is based on a breadth-first-search and provides all connected nodes, contrary to the function getnodesinarea.
Arguments
a::Areais area that should be evaluatedℒ::Vector{<:Link}is a vector of links that should be evaluated.
Keyword arguments
n_nodes=1000the number of nodes added after which the loop is broken. It must be at least equal to the number of nodes in the areaa.