EnergyModelsX / EnergyModelsGeography.jl

MIT License
3 stars 1 forks source link

Support for emissions associated with transmissions #9

Open trulsf opened 4 months ago

trulsf commented 4 months ago

There is currently no support for modeling the emissions associated with the transmissions. This is especially relevant if the transmission represents an underlying transport using e.g. trucks or ships.

As an initial attempt to show how this may be implemented, I have made a first version which can be found here: https://github.com/EnergyModelsX/EnergyModelsGeography.jl/tree/feature/emission

To get these emissions into the total emissions as modeled in EnergyModelsBase.jl, I use a slightly "hacky" solution where the constraint coefficients are modified directly based on the name of the constraint. This require a slightly modifed version of EnergyModelsBase (https://github.com/EnergyModelsX/EnergyModelsBase.jl/tree/test/emission) and should not be considered as a more permanent solution.

JulStraus commented 4 months ago

We are currently evaluating to redefine TransmissionModes as

abstract type TransmissionMode <: EMB.Link

and add the potential for Links to have associated variable creation and potential for emissions using a similar functionality as we have through the function has_emissions(n::Node) . This would solve the problem for TransmissionMode, but may not be a general solution to include, e.g., emissions from investments.

At the time being, I would suggest to keep the "hacky" solution until we are able to identify a generalized solution that is sufficiently flexible for all potential changes. The current solution allows for easy rebase of the branch when a new version is released, but unfortunately not to use a registered version.