Open mabijkerk opened 6 months ago
I think that the addition of changing the free_co2_factor with the CCS input of industry nodes (as you suggest) will fix the first and second issue. As an example in share_of_industry_chemicals_fertilizers_captured_combustion_co2
, the query should contain something like the following:
UPDATE(V(industry_chemicals_fertilizers_burner_network_gas), free_co2_factor, 0.85 * DIVIDE(USER_INPUT(),100.0))
Here, a CO2 capture rate (or free_co2_factor) of 85% is assumed (and hard-coded) and multiplied with the share of installed capacity that will be equipped with carbon capture. By updating the free_co2_factor of the node, only the CO2 emissions costs will be calculated for the share that is not captured (1-free_co2_factor) and the captured biogenic CO2 costs (negative value) will be calculated for the biogenic share that is captured (free_co2_factor).
CO2 emission costs:
def co2_emissions_costs_per_typical_input
fetch(:co2_emissions_costs_per_typical_input) do
weighted_carrier_co2_per_mj * area.co2_price *
(1 - area.co2_percentage_free) *
(takes_part_in_ets || 1.0) * ((1 - free_co2_factor))
end
end
Captured biogenic CO2 costs:
def captured_biogenic_co2_costs_per_typical_input
fetch(:captured_biogenic_co2_costs_per_typical_input) do
weighted_carrier_potential_co2_per_mj *
- area.captured_biogenic_co2_price *
free_co2_factor
end
end
Thanks for diving into this @kndehaan! Instead of using a hardcoded value though, I'd rather use a dynamic attribute. Preferably the dataset attribute that sets the share in the molecule graph:
~ parent_share = SHARE("molecules/industry_chemicals_fertilizers_combustion_co2_parent_share", industry_chemicals_fertilizers_emitted_co2)
Could you implement your suggested fix and verify whether it produces the expected results?
I came across two CCS share queries that are hidden in the front-end:
share_of_industry_chemicals_other_captured_co2
: hidden due to dependent_on: _always_hidden
share_of_industry_chemicals_refineries_captured_co2
: the slider of this query is hidden in the front-end , I think it has something to do with dependent_on: true
? Do these queries need to be updated as well or are they never used for some reason and therefore not relevant?
This issue has had no activity for 60 days and will be closed in 7 days. Removing the "Stale" label or posting a comment will prevent it from being closed automatically. You can also add the "Pinned" label to ensure it isn't marked as stale in the future.
Background In a blank
nl2019
scenario, when all energetic demand in the fertilizer sector is set to 100% network gas burner, the CO2 emission costs in the costs export forindustry_chemicals_fertilizers_burner_network_gas
are as follows:Then, if in that scenario 100% CCS for combustion in the fertilizer is applied, 85% of all emissions are captured and the demand for the
industry_chemicals_fertilizers_captured_combustion_co2
node is 1.38 MT. This means that it could be expected that CO2 emission costs of theindustry_chemicals_fertilizers_burner_network_gas
would decrease. However they stay the same at:Issue In the energy sector, when CCS is applied, effectively a different node is activated. For example,
energy_power_combined_cycle_coal
switches toenergy_power_combined_cycle_ccs_coal
. One of the key differences between both nodes is thefree_co2_factor
, which is 0.0 and 0.85 respectively. In the cost methods on ETEngine this then leads to reducedco2_emissions_costs_per_typical_input
:However, in the industry sector, no different node is activated and there is no change in the
free_co2_factor
. There only is an increased use of electricity on theindustry_chemicals_fertilizers_captured_combustion_co2_electricity
and costs are calculated in the molecule graph on theindustry_chemicals_fertilizers_captured_combustion_co2
node. The same issue also applies to the recently added captured biogenic CO2 costs.Solution There are three issue sfor which a solution needs to be found:
free_co2_factor
with the CCS input)free_co2_factor
with the CCS input)initial_investment
, while it might be better to allocate it toccs_investment