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
— TypeDeclaration of the general type for areas.
EnergyModelsGeography.RefArea
— TypeRefArea <: Area
A RefArea
is an area representation with no additional constraints on energy/mass exchange.
Fields
id
is the name/identifier of the area.name
is the name of the area.lon::Real
is the longitudinal position of the area.lat::Real
is the latitudinal position of the area.node::Availability
is theAvailability
node routing different resources within an area.
EnergyModelsGeography.LimitedExchangeArea
— TypeLimitedExchangeArea <: Area
A 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
id
is the name/identifier of the area.name
is the name of the area.lon::Real
is the longitudinal position of the area.lat::Real
is the latitudinal position of the area.node::Availability
is theAvailability
node 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.Availability
A geography Availability
node for substituion of the general GenAvailability
node. A GeoAvailability
is required if transmission should be included between individual [Area
](@refs 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 ℒᵗʳᵃⁿˢ
.
EnergyModelsGeography.getnodesinarea
— Functiongetnodesinarea(a::Area, links)
Return a vector with all the nodes connected to the central availability node of an area.
Fields
a::Area
.links
is a vector of all links in the model.