EnergyModelsX / EnergyModelsBase.jl

MIT License
8 stars 0 forks source link

Support for additional emission variables #37

Open JulStraus opened 2 months ago

JulStraus commented 2 months ago

Currently, we do not have support for the adding additional emissions except for nodal emissions. The key factor is that the upper bounds of emissions are calculated within EnergyModelsBase in the function constraints_emissions(). As a consequence, a current implemented solution is given by naming the constraint and providing additional coefficients through the function update_total_emissions in EnergyModelsGeography as outlined in Issue 9 of EnergyModelsGeography.

Although this approach is working, it is a bit unsatisfactory and may lead to issues in the future. Hence, we have to provide a comprehensive approach for inclusion of emissions.

As outlined in Issue 9 of EnergyModelsGeography, one approach for an improved solution is to see

abstract type TransmissionMode <: EMB.Link

This would move allow introducing emissions for certain types of links directly within EnergyModelsBase. However, it does not yet satisfy the full requirements for potential emission sources outside abstract types declared within EnergyModelsBase (in this case, Node and Link.