remindmodel / remind

REMIND - REgional Model of INvestments and Development
Other
99 stars 129 forks source link

Improving REMIND/CONOPT Performance w.r.t. Feedstock Shares #1613

Closed 0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q closed 6 months ago

0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q commented 6 months ago

Turns out the performance of #1576 is abysmal, so I am trying a different tack, rubber-ducking @mellamoSimon and @Renato-Rodrigues here.

I think we have three principal equations contributing to this problem:

I think instead we could just set feedstocks equal to chemicals FE demand, times a feedstock share that is identical across energy carriers, turning these three equations into one and a bound

q37_demFeFeedstockChemIndst(t,regi,sefe(entySe,entyFe),emiMkt)$(
                         entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) ..
  vm_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt)
  =e=
    vm_demFeSector_afterTax(t,regi,entySe,entyFe,"indst",emiMkt)
  * v37_chemicals_feedstock_share(t,regi)
;

v37_chemicals_feedstock_share.up(t,regi)
  = p37_chemicals_feedstock_share(t,regi);
mellamoSimon commented 6 months ago

looks good to me. With the current approach, we wanted to let the optimization problem decide on the specific SE carriers to use as feedstock. However, after https://github.com/remindmodel/remind/pull/1576, that's not the case anymore. And anyway SE demand at the subsectoral level is more a reporting trick than a result of the optimization. And it also seems to me that the problem is rather flat in that region. That's all to say that, this would be ok by me. On the implementation, I think that equation still needs to be constrained to the chemicals subsector to be able to use that share, no?

Renato-Rodrigues commented 6 months ago

Please explain to me what am I not getting here. Getting back on the carrier enforcement shares point, both on this proposal and in #1576:

I think that the different emission factors on feedstocks versus chemicals would be just normalized in those alternatives for fixing carrier usage, not reflecting the marginal abatement differences on replacing specific carriers first in certain industry sub-sectors for mitigation purposes. In that case I don't see the difference between endogenously calculating any feedstocks demand variable or just calculating them exogenously.

Don't get me wrong, I agree with the point raised in this issue. The way things are now, apparently there is no advantage on just representing stuff with multiple equations or the single equation suggested by Michaja, at least at first look. I just can't see why it is not the same case of not calculating this at all endogenously, instead of simply adjusting the emission factors per carrier for total chemicals emissions, and then splitting the carrier usage based on an exogenous parameter to get how much belongs to feedstocks and how much belongs to chemicals without the need for any equation at all.

I guess these changes move away from the initial implementation idea that pushed all these changes in the first place. The idea of representing endogenously feedstocks in the model and internalizing the fact that, from an emissions abatement perspective, there would be a cost merit order decision between decarbonizing first direct energy carrier usage due to the higher emission factors associated with them when compared to feedstocks carrier usage.

0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q commented 6 months ago

The original disconnect is that we assume identical shares of SE carriers in FE demand across industry subsectors (i.e. cement, steel, chemicals, otherInd use identical shares of fossils/biomass/synfuels for each of solids, liquids, and gases), but feedstocks (as a "subsubsector") does not. So an alternative would be to account for that in the calculation of o37_demFeIndSub. Feedstock sure prefers fossils over the others, that is the cause of the problem.

0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q commented 6 months ago

Currently, we have

What we could do is vm_demFeSector_afterTaxv37_demFeSector_Indst_intermediate(t,regi,entySe,entyFe,in,emiMkt)vm_cesIO and calculate o37_demFeIndSub as a sum over v37_demFeSector_Indst_intermediate, in which case the SE/FE shares in the subsectors would be endogenous to the model (but possibly rather flat).

mellamoSimon commented 6 months ago

thank you guys for all that input. Just to be explicit about it, I think you are right, Renato, that forcing homogenous shares of SE carriers for final energy and feedstock use won't let us get the insights we originally wanted to get on the sectoral dynamics of industry decarbonization and the potential carbon lock-in in feedstocks. So yeah, no difference in the final results to an emission-factor-based (+post solve energy allocation) solution. I think it does make a strategic difference though (e.g. it leaves us closer to implementing circular scenarios or to coupling with waste-to-energy).

What we could do is vm_demFeSector_afterTax → v37_demFeSector_Indst_intermediate(t,regi,entySe,entyFe,in,emiMkt) → vm_cesIO and calculate o37_demFeIndSub as a sum over v37_demFeSector_Indst_intermediate, in which case the SE/FE shares in the subsectors would be endogenous to the model (but possibly rather flat).

I think it would be great if we could manage to implement this solution and I think it could add value to the paper you are writing now, Michaja, but I don't know how manageable it is time-wise. What do you think?

0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q commented 6 months ago

Actually it is not that bad to implement.

0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q commented 6 months ago

Actually it is not that bad to implement.

Famous last words …