Add missing p_nom and introduce MockSnakemake
This commit is contained in:
parent
ff0d302479
commit
5723a07f48
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
idx = pd.IndexSlice
|
idx = pd.IndexSlice
|
||||||
|
|
||||||
@ -180,6 +181,7 @@ def attach_hydro(n, costs, ppl):
|
|||||||
n.madd("Generator", ror.index,
|
n.madd("Generator", ror.index,
|
||||||
carrier='ror',
|
carrier='ror',
|
||||||
bus=ror['bus'],
|
bus=ror['bus'],
|
||||||
|
p_nom=ror['p_nom'],
|
||||||
efficiency=costs.at['ror', 'efficiency'],
|
efficiency=costs.at['ror', 'efficiency'],
|
||||||
capital_cost=costs.at['ror', 'capital_cost'],
|
capital_cost=costs.at['ror', 'capital_cost'],
|
||||||
weight=ror['p_nom'],
|
weight=ror['p_nom'],
|
||||||
@ -191,6 +193,7 @@ def attach_hydro(n, costs, ppl):
|
|||||||
n.madd('StorageUnit', phs.index,
|
n.madd('StorageUnit', phs.index,
|
||||||
carrier='PHS',
|
carrier='PHS',
|
||||||
bus=phs['bus'],
|
bus=phs['bus'],
|
||||||
|
p_nom=phs['p_nom'],
|
||||||
capital_cost=costs.at['PHS', 'capital_cost'],
|
capital_cost=costs.at['PHS', 'capital_cost'],
|
||||||
max_hours=c['PHS_max_hours'],
|
max_hours=c['PHS_max_hours'],
|
||||||
efficiency_store=np.sqrt(costs.at['PHS','efficiency']),
|
efficiency_store=np.sqrt(costs.at['PHS','efficiency']),
|
||||||
@ -209,6 +212,7 @@ def attach_hydro(n, costs, ppl):
|
|||||||
|
|
||||||
n.madd('StorageUnit', hydro.index, carrier='hydro',
|
n.madd('StorageUnit', hydro.index, carrier='hydro',
|
||||||
bus=hydro['bus'],
|
bus=hydro['bus'],
|
||||||
|
p_nom=hydro['p_nom'],
|
||||||
max_hours=hydro_max_hours,
|
max_hours=hydro_max_hours,
|
||||||
capital_cost=(costs.at['hydro', 'capital_cost']
|
capital_cost=(costs.at['hydro', 'capital_cost']
|
||||||
if c.get('hydro_capital_cost') else 0.),
|
if c.get('hydro_capital_cost') else 0.),
|
||||||
@ -328,20 +332,18 @@ def add_emission_prices(n, emission_prices=None, exclude_co2=False):
|
|||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# Detect running outside of snakemake and mock snakemake for testing
|
# Detect running outside of snakemake and mock snakemake for testing
|
||||||
if 'snakemake' not in globals():
|
if 'snakemake' not in globals():
|
||||||
from vresutils import Dict
|
from vresutils.snakemake import MockSnakemake, Dict
|
||||||
import yaml
|
|
||||||
snakemake = Dict()
|
|
||||||
with open('../config.yaml') as f:
|
|
||||||
snakemake.config = yaml.load(f)
|
|
||||||
snakemake.wildcards = Dict()
|
|
||||||
snakemake.input = Dict(base_network='../networks/base.nc',
|
|
||||||
tech_costs='../data/costs.csv',
|
|
||||||
regions="../resources/regions_onshore.geojson",
|
|
||||||
**{'profile_' + t: "../resources/profile_" + t + ".nc"
|
|
||||||
for t in snakemake.config['renewable']})
|
|
||||||
snakemake.output = ['../networks/elec.nc']
|
|
||||||
|
|
||||||
logger.setLevel(snakemake.config['logging_level'])
|
snakemake = MockSnakemake(output=['../networks/elec.nc'])
|
||||||
|
snakemake.input = snakemake.expand(
|
||||||
|
Dict(base_network='networks/base.nc',
|
||||||
|
tech_costs='data/costs/costs.csv',
|
||||||
|
regions="resources/regions_onshore.geojson",
|
||||||
|
**{'profile_' + t: "resources/profile_" + t + ".nc"
|
||||||
|
for t in snakemake.config['renewable']})
|
||||||
|
)
|
||||||
|
|
||||||
|
logging.basicConfig(level=snakemake.config['logging_level'])
|
||||||
|
|
||||||
n = pypsa.Network(snakemake.input.base_network)
|
n = pypsa.Network(snakemake.input.base_network)
|
||||||
Nyears = n.snapshot_weightings.sum()/8760.
|
Nyears = n.snapshot_weightings.sum()/8760.
|
||||||
|
Loading…
Reference in New Issue
Block a user