-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add reporting and calculations for feedstocks and plastics #489
Conversation
…ons factors for energy-related emissions to FE witout non-energy use and add feedstocks emissions with lowered emissions factors to industrial process emissions
…tible with earlier GDXs
…nd energy carriers and remove deprecated non-energy use reporting
…dstock_reporting
…-energy use FE variables
…roducts from non-fossil origin
…and reintroduce EU21 temporary fix
…nflicts and merge master
…gative emissions to feedstocks carbon contained in non-incinerated plastics
…cal feedstock and plastics are not included
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey Simon, looks good overall! :)
Just some clarification questions and comments from my side.
- dimSums(mselect(vm_emiIndCCS_Sub, all_enty1 = "fesos")*p_share_CCS, dim = 3)) * GtC_2_MtCO2, | ||
- dimSums(mselect(vm_emiIndCCS_Sub, all_enty1 = "fesos")*p_share_CCS, dim = 3) | ||
# substract synthetic and biogenic carbon contained in non-incinerated plastics | ||
- dimSums(mselect(vm_nonIncineratedPlastics, all_enty=c("sesobio","sesosyn"), all_enty1 = "fesos"), dim=3)) * GtC_2_MtCO2, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couldn't you also use plastic_CDR
variable here like for Emi|CO2|+|Energy
. It is the same as this, right? But might be confusing to read if you use different formulations at the two instances.
R/reportEmi.R
Outdated
"Emi|CO2|Feedstocks unknown fate (Mt CO2/yr)"), | ||
setNames(dimSums(vm_incinerationEmi, dim=3)* GtC_2_MtCO2, | ||
"Emi|CO2|Plastics incineration (Mt CO2/yr)") | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These two variables do not really conform to our emissions category taxonomy. Let's maybe think again how to label them and fit into the structure. Are they process or energy-related emissions?
Emi|CO2|Plastics incineration
could be incineration for energy purposes (IPCC 1A1) e.g. for power generation or incineration without energy recovery (IPCC 5C). Is that a correct understanding? If so, the first category we would account under Emi|CO2|Energy|Supply|+|Electricity/Heat
. The second we would account under Emi|GHG|+++|Waste
. (Or we would add a Emi|CO2|+|Waste
).
Concerning the Feedstock emissions with "unknown fate", we would also need a decision of whether these emissions are energy-related (IPCC 1) or belong to some other sector.
Maybe it is also good to check again whether the IAM community has already defined something on this (I fear not, though) e.g. by looking at the variable definitions of the NAVIGATE template.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
important point! This is my interpretation of what we discussed with the carbon management team. So I'm roping in @strefler to help make a decision here.
The problem with using Emi|CO2|Energy|Supply|+|Electricity/Heat
is that waste incineration is not connected in any way to waste-to-energy in remind. If we are to change this, I would favor using Emi|CO2|+|Waste
.
Regarding the feedstock with unknown fate, we decided that the safest option was to assume they are re-emitted. Of course, this means that there is no reporting variable that fits perfectly. maybe also adding it to Emi|CO2|+|Waste
is the best way to go but for sure it is not really accurate. Still, I think it would be better than making our process emissions harder to trace back (which I think is a more common requirement in current projects, compared to waste management). I'd like to wait for Jess' decision before modifying any of this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the records, we fixed it with the new category Emi|CO2|Energy|+|Waste
, under which we created: Emi|CO2|Energy|Waste|+|Plastics Incineration
and Emi|CO2|Energy|Waste|+|Feedstocks unknown fate
setNames(dimSums(vm_incinerationEmi, dim = 3) * GtC_2_MtCO2, | ||
"Carbon Management|Materials|Plastics|++|Incineration (Mt CO2/yr)"), | ||
# carbon in plastics with other fate | ||
setNames(dimSums(vm_nonIncineratedPlastics, dim = 3) * GtC_2_MtCO2, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about vm_feedstockEmiUnknownFate
here? Are they part of vm_nonIncineratedPlastics
? Or are they not accounted as CO2 going into materials?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
jup, we are not assigning that to any material. For now the only material is plastic and then carbon fibers will be added
setNames((dimSums(EmiFeCarrier[, , "indst"], dim = 3) | ||
- dimSums(vm_emiIndCCS[, , emiInd37_fuel]* p_share_CCS, dim = 3) | ||
# substract synthetic and biogenic carbon contained in industrial feedstocks | ||
- dimSums(plastic_CDR, dim=3)) * GtC_2_MtCO2, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a quick refresher for my memory. Here, we only substract the plastic carbon from biogenic and synthetic sources and not the carbon from fossil sources because fossil feedstock carbon is not accounted as emissions in EmiFeCarrier
in the first place. Correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also this means that we account all (non-fossil) carbon stored in materials as negative emissions for industry.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
jup
# note: only for REMIND-EU SSP2 | ||
|
||
if ("DEU" %in% getRegions(vm_prodFe) & indu_mod == 'subsectors') { | ||
if ("DEU" %in% getRegions(vm_prodFe) & indu_mod == 'subsectors' & is.null(vm_demFENonEnergySector)) { | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I think our non-energy use reporting for ARIADNE can actually be removed once this is merged. Although you are right it is maybe safe to still keep it here and I will check out our new Germany scenarios with the feedstocks implementation afterwards and then delete this part, if everything looks good.
# add FE w/o non-energy use variables if available | ||
if ("FE|Non-energy Use (EJ/yr)" %in% getNames(out)) { | ||
|
||
# bunker correction for distinction of fossil, biomass, hydrogen-based liquids |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we also add something here to also get FE|w/o Bunkers|w/o Non-energy Use
. So the top-level FE variable without both? Or do you have that somewhere already?
# (Note: The non-energy use variables are so far only available for REMIND-EU runs and industry fixed_shares) | ||
# 8. Ad-hoc fix for emissions w/o non-energy use and Aggregation to global and regional values ---- | ||
|
||
if (is.null(vm_demFENonEnergySector) && (module2realisation["industry", 2] == "fixed_shares")) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This condition breaks reportEmi for some project-specific reportings (for example Ariadne) and will be reverted.
This PR adds new (endogenously calculated) feedstock and plastic variables when available, including necessary calculations for emissions and final energy demand. Everything should be hidden behind if clauses to secure backward compatibility.
It also includes some new plots for these variables in cs2.