Closed toniseibold closed 3 weeks ago
The oil demand for shipping is added as n.loads.loc["EU oil shipping oil]. So far, there is no distinction between European and German shipping demand. Way to solve this in modify_prenetwork: in snakefile:
n.loads.loc["EU oil shipping oil
modify_prenetwork
params: sector=config_provider("sector"), input: pop_weighted_energy_totals=resources("pop_weighted_energy_totals_s{simpl}_{clusters}.csv"), shipping_demand=resources("shipping_demand_s{simpl}_{clusters}.csv"),
in script:
# global shipping information options = snakemake.params.sector domestic_navigation = ( pd.read_csv(snakemake.input.pop_weighted_energy_totals, index_col=0) * nyears ).loc[:, "total domestic navigation"].squeeze() international_navigation = pd.read_csv(snakemake.input.shipping_demand, index_col=0).squeeze() * nyears shipping_demand = domestic_navigation + international_navigation DE_shipping = shipping_demand.filter(like="DE").sum() * 1e6 / nhours # shipping meoh if "EU methanol shipping methanol" in n.loads.index: efficiency = ( options["shipping_oil_efficiency"] / options["shipping_methanol_efficiency"] ) shipping_methanol_share = options["shipping_methanol_share"][int(snakemake.wildcards.planning_horizons)] p_set_methanol = shipping_methanol_share * DE_shipping * efficiency n.add("Load", "DE shipping methanol", bus="DE methanol", carrier="methanol" , p_set=p_set_methanol) n.loads.loc["EU methanol shipping methanol", "p_set"] -= p_set_methanol # CO2 intensity methanol based on stoichiometric calculation with 22.7 GJ/t methanol (32 g/mol), CO2 (44 g/mol), 277.7, # MWh/TJ = 0.218 t/MWh co2 = p_set_methanol * costs.at["methanolisation", "carbondioxide-input"] n.add( "Load", "DE shipping methanol emissions", bus="co2 atmosphere", carrier="shipping methanol emissions", p_set=-co2, ) n.loads.loc["shipping methanol emissions", "p_set"] += co2 # oil shipping if "EU oil shipping oil" in n.loads.index: shipping_oil_share = options["shipping_oil_share"][int(snakemake.wildcards.planning_horizons)] p_set_oil = shipping_oil_share * DE_shipping n.madd("Load", "DE shipping oil", bus="DE oil", carrier="oil", p_set=p_set_oil,) n.loads.loc["EU oil shipping oil", "p_set"] -= p_set_oil co2 = p_set_oil * costs.at["oil", "CO2 intensity"] n.add("Load", "DE shipping oil emissions", bus="co2 atmosphere", carrier="shipping oil emissions", p_set=-co2) n.loads.loc["shipping oil emissions", "p_set"] += co2
I was wrong, everything working fine in ariadne with shipping
The oil demand for shipping is added as
n.loads.loc["EU oil shipping oil
]. So far, there is no distinction between European and German shipping demand. Way to solve this inmodify_prenetwork
: in snakefile:in script: