Merge branch 'master' into btl
This commit is contained in:
commit
8c62fb1b56
@ -263,7 +263,9 @@ sector:
|
|||||||
biomass_transport: false # biomass transport between nodes
|
biomass_transport: false # biomass transport between nodes
|
||||||
conventional_generation: # generator : carrier
|
conventional_generation: # generator : carrier
|
||||||
OCGT: gas
|
OCGT: gas
|
||||||
biomass_to_liquid: true
|
biomass_to_liquid: false
|
||||||
|
biosng: false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
industry:
|
industry:
|
||||||
@ -510,6 +512,7 @@ plotting:
|
|||||||
solid biomass for industry co2 from atmosphere: '#736412'
|
solid biomass for industry co2 from atmosphere: '#736412'
|
||||||
solid biomass for industry co2 to stored: '#47411c'
|
solid biomass for industry co2 to stored: '#47411c'
|
||||||
biomass to liquid: '#32CD32'
|
biomass to liquid: '#32CD32'
|
||||||
|
BioSNG: '#123456'
|
||||||
# power transmission
|
# power transmission
|
||||||
lines: '#6c9459'
|
lines: '#6c9459'
|
||||||
transmission lines: '#6c9459'
|
transmission lines: '#6c9459'
|
||||||
|
@ -139,4 +139,5 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
add_brownfield(n, n_p, year)
|
add_brownfield(n, n_p, year)
|
||||||
|
|
||||||
|
n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
|
||||||
n.export_to_netcdf(snakemake.output[0])
|
n.export_to_netcdf(snakemake.output[0])
|
||||||
|
@ -495,4 +495,5 @@ if __name__ == "__main__":
|
|||||||
default_lifetime = snakemake.config['costs']['lifetime']
|
default_lifetime = snakemake.config['costs']['lifetime']
|
||||||
add_heating_capacities_installed_before_baseyear(n, baseyear, grouping_years, ashp_cop, gshp_cop, time_dep_hp_cop, costs, default_lifetime)
|
add_heating_capacities_installed_before_baseyear(n, baseyear, grouping_years, ashp_cop, gshp_cop, time_dep_hp_cop, costs, default_lifetime)
|
||||||
|
|
||||||
|
n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
|
||||||
n.export_to_netcdf(snakemake.output[0])
|
n.export_to_netcdf(snakemake.output[0])
|
||||||
|
@ -307,7 +307,6 @@ def plot_h2_map(network):
|
|||||||
)
|
)
|
||||||
|
|
||||||
n.plot(
|
n.plot(
|
||||||
geomap=False,
|
|
||||||
bus_sizes=0,
|
bus_sizes=0,
|
||||||
link_colors='#72d3d6',
|
link_colors='#72d3d6',
|
||||||
link_widths=link_widths_retro,
|
link_widths=link_widths_retro,
|
||||||
@ -441,7 +440,6 @@ def plot_ch4_map(network):
|
|||||||
)
|
)
|
||||||
|
|
||||||
n.plot(
|
n.plot(
|
||||||
geomap=False,
|
|
||||||
ax=ax,
|
ax=ax,
|
||||||
bus_sizes=0.,
|
bus_sizes=0.,
|
||||||
link_colors='#e8d1d1',
|
link_colors='#e8d1d1',
|
||||||
@ -451,7 +449,6 @@ def plot_ch4_map(network):
|
|||||||
)
|
)
|
||||||
|
|
||||||
n.plot(
|
n.plot(
|
||||||
geomap=False,
|
|
||||||
ax=ax,
|
ax=ax,
|
||||||
bus_sizes=0.,
|
bus_sizes=0.,
|
||||||
link_colors=link_color_used,
|
link_colors=link_color_used,
|
||||||
|
@ -1860,6 +1860,7 @@ def add_biomass(n, costs):
|
|||||||
lifetime=costs.at[key, 'lifetime']
|
lifetime=costs.at[key, 'lifetime']
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
#Solid biomass to liquid fuel
|
#Solid biomass to liquid fuel
|
||||||
if options["biomass_to_liquid"]:
|
if options["biomass_to_liquid"]:
|
||||||
n.madd("Link",
|
n.madd("Link",
|
||||||
@ -1894,6 +1895,42 @@ def add_biomass(n, costs):
|
|||||||
capital_cost=costs.at['BtL', 'fixed'] + costs.at['biomass CHP capture', 'fixed'] * costs.at[
|
capital_cost=costs.at['BtL', 'fixed'] + costs.at['biomass CHP capture', 'fixed'] * costs.at[
|
||||||
"BtL", "CO2 stored"],
|
"BtL", "CO2 stored"],
|
||||||
marginal_cost=costs.at['BtL', 'efficiency'] * costs.loc["BtL", "VOM"]
|
marginal_cost=costs.at['BtL', 'efficiency'] * costs.loc["BtL", "VOM"]
|
||||||
|
|
||||||
|
#BioSNG from solid biomass
|
||||||
|
if options["biosng"]:
|
||||||
|
n.madd("Link",
|
||||||
|
spatial.biomass.nodes,
|
||||||
|
suffix=" solid biomass to gas",
|
||||||
|
bus0=spatial.biomass.nodes,
|
||||||
|
bus1=spatial.gas.nodes,
|
||||||
|
bus3="co2 atmosphere",
|
||||||
|
carrier="BioSNG",
|
||||||
|
lifetime=costs.at['BioSNG', 'lifetime'],
|
||||||
|
efficiency=costs.at['BioSNG', 'efficiency'],
|
||||||
|
efficiency3=-costs.at['solid biomass', 'CO2 intensity'] + costs.at['BioSNG', 'CO2 stored'],
|
||||||
|
p_nom_extendable=True,
|
||||||
|
capital_cost=costs.at['BioSNG', 'fixed'],
|
||||||
|
marginal_cost=costs.at['BioSNG', 'efficiency']*costs.loc["BioSNG", "VOM"]
|
||||||
|
)
|
||||||
|
|
||||||
|
#TODO: Update with energy penalty for CC
|
||||||
|
n.madd("Link",
|
||||||
|
spatial.biomass.nodes,
|
||||||
|
suffix=" solid biomass to gas CC",
|
||||||
|
bus0=spatial.biomass.nodes,
|
||||||
|
bus1=spatial.gas.nodes,
|
||||||
|
bus2=spatial.co2.nodes,
|
||||||
|
bus3="co2 atmosphere",
|
||||||
|
carrier="BioSNG",
|
||||||
|
lifetime=costs.at['BioSNG', 'lifetime'],
|
||||||
|
efficiency=costs.at['BioSNG', 'efficiency'],
|
||||||
|
efficiency2=costs.at['BioSNG', 'CO2 stored'] * costs.at['BioSNG', 'capture rate'],
|
||||||
|
efficiency3=-costs.at['solid biomass', 'CO2 intensity'] + costs.at['BioSNG', 'CO2 stored'] * (1 - costs.at['BioSNG', 'capture rate']),
|
||||||
|
p_nom_extendable=True,
|
||||||
|
capital_cost=costs.at['BioSNG', 'fixed'] + costs.at['biomass CHP capture', 'fixed'] * costs.at[
|
||||||
|
"BioSNG", "CO2 stored"],
|
||||||
|
marginal_cost=costs.at['BioSNG', 'efficiency']*costs.loc["BioSNG", "VOM"]
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -2503,4 +2540,5 @@ if __name__ == "__main__":
|
|||||||
if options['electricity_grid_connection']:
|
if options['electricity_grid_connection']:
|
||||||
add_electricity_grid_connection(n, costs)
|
add_electricity_grid_connection(n, costs)
|
||||||
|
|
||||||
|
n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
|
||||||
n.export_to_netcdf(snakemake.output[0])
|
n.export_to_netcdf(snakemake.output[0])
|
||||||
|
@ -296,7 +296,7 @@ if __name__ == "__main__":
|
|||||||
if tmpdir is not None:
|
if tmpdir is not None:
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
Path(tmpdir).mkdir(parents=True, exist_ok=True)
|
Path(tmpdir).mkdir(parents=True, exist_ok=True)
|
||||||
opts = snakemake.wildcards.opts.split('-')
|
opts = snakemake.wildcards.sector_opts.split('-')
|
||||||
solve_opts = snakemake.config['solving']['options']
|
solve_opts = snakemake.config['solving']['options']
|
||||||
|
|
||||||
fn = getattr(snakemake.log, 'memory', None)
|
fn = getattr(snakemake.log, 'memory', None)
|
||||||
@ -315,6 +315,7 @@ if __name__ == "__main__":
|
|||||||
n.line_volume_limit = n.global_constraints.at["lv_limit", "constant"]
|
n.line_volume_limit = n.global_constraints.at["lv_limit", "constant"]
|
||||||
n.line_volume_limit_dual = n.global_constraints.at["lv_limit", "mu"]
|
n.line_volume_limit_dual = n.global_constraints.at["lv_limit", "mu"]
|
||||||
|
|
||||||
|
n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
|
||||||
n.export_to_netcdf(snakemake.output[0])
|
n.export_to_netcdf(snakemake.output[0])
|
||||||
|
|
||||||
logger.info("Maximum memory usage: {}".format(mem.mem_usage))
|
logger.info("Maximum memory usage: {}".format(mem.mem_usage))
|
||||||
|
Loading…
Reference in New Issue
Block a user