prepare_network: reactivate Ep option (closes #63)

This commit is contained in:
Fabian Neumann 2019-11-14 15:41:09 +01:00
parent 61be125bd8
commit 6a6bae41db
2 changed files with 3 additions and 18 deletions

View File

@ -564,19 +564,6 @@ def estimate_renewable_capacities(n, tech_map=None):
.transform(lambda s: normed(s) * tech_capacities.at[s.name])
.where(lambda s: s>0.1, 0.)) # only capacities above 100kW
def add_co2limit(n, Nyears=1.):
n.add("GlobalConstraint", "CO2Limit",
carrier_attribute="co2_emissions", sense="<=",
constant=snakemake.config['electricity']['co2limit'] * Nyears)
def add_emission_prices(n, emission_prices=None, exclude_co2=False):
if emission_prices is None:
emission_prices = snakemake.config['costs']['emission_prices']
if exclude_co2: emission_prices.pop('co2')
ep = (pd.Series(emission_prices).rename(lambda x: x+'_emissions') * n.carriers).sum(axis=1)
n.generators['marginal_cost'] += n.generators.carrier.map(ep)
n.storage_units['marginal_cost'] += n.storage_units.carrier.map(ep)
def add_nice_carrier_names(n):
nice_names = pd.Series(snakemake.config['plotting']['nice_names'])
n.carriers['nice_names'] = nice_names[n.carriers.index]

View File

@ -78,12 +78,10 @@ def add_co2limit(n, Nyears=1., factor=None):
constant=annual_emissions * Nyears)
def add_emission_prices(n, emission_prices=None, exclude_co2=False):
assert False, "Needs to be fixed, adds NAN"
if emission_prices is None:
emission_prices = snakemake.config['costs']['emission_prices']
if exclude_co2: emission_prices.pop('co2')
ep = (pd.Series(emission_prices).rename(lambda x: x+'_emissions') * n.carriers).sum(axis=1)
ep = (pd.Series(emission_prices).rename(lambda x: x+'_emissions') * n.carriers.filter(like='_emissions')).sum(axis=1)
n.generators['marginal_cost'] += n.generators.carrier.map(ep)
n.storage_units['marginal_cost'] += n.storage_units.carrier.map(ep)
@ -215,8 +213,8 @@ if __name__ == "__main__":
else:
add_co2limit(n, Nyears)
# if 'Ep' in opts:
# add_emission_prices(n)
if 'Ep' in opts:
add_emission_prices(n)
ll_type, factor = snakemake.wildcards.ll[0], snakemake.wildcards.ll[1:]
if ll_type == 'v':