Use MockSnakemake and logging.basicConfig everywhere

This commit is contained in:
Jonas Hörsch 2018-02-01 12:40:30 +01:00
parent 2fc2d09ad3
commit b7a1a090f1
4 changed files with 20 additions and 24 deletions

View File

@ -290,24 +290,23 @@ def base_network():
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 = MockSnakemake(
snakemake = Dict() path='..',
snakemake.input = Dict( wildcards={},
eg_buses='../data/entsoegridkit/buses.csv', input=Dict(
eg_lines='../data/entsoegridkit/lines.csv', eg_buses='data/entsoegridkit/buses.csv',
eg_links='../data/entsoegridkit/links.csv', eg_lines='data/entsoegridkit/lines.csv',
eg_converters='../data/entsoegridkit/converters.csv', eg_links='data/entsoegridkit/links.csv',
eg_transformers='../data/entsoegridkit/transformers.csv', eg_converters='data/entsoegridkit/converters.csv',
parameter_corrections='../data/parameter_corrections.yaml', eg_transformers='data/entsoegridkit/transformers.csv',
links_p_nom='../data/links_p_nom.csv' parameter_corrections='data/parameter_corrections.yaml',
links_p_nom='data/links_p_nom.csv'
),
output = ['networks/base_LC.nc']
) )
with open('../config.yaml') as f: logging.basicConfig(level=snakemake.config['logging_level'])
snakemake.config = yaml.load(f)
snakemake.output = ['../networks/base_LC.nc']
logger.setLevel(level=snakemake.config['logging_level'])
n = base_network() n = base_network()
n.export_to_netcdf(snakemake.output[0]) n.export_to_netcdf(snakemake.output[0])

View File

@ -136,7 +136,6 @@ if __name__ == "__main__":
if 'snakemake' not in globals(): if 'snakemake' not in globals():
from vresutils.snakemake import MockSnakemake, Dict from vresutils.snakemake import MockSnakemake, Dict
snakemake = MockSnakemake( snakemake = MockSnakemake(
path='..',
wildcards=Dict(network='elec', simpl='', clusters='45'), wildcards=Dict(network='elec', simpl='', clusters='45'),
input=Dict( input=Dict(
network='networks/{network}_s{simpl}.nc', network='networks/{network}_s{simpl}.nc',
@ -150,8 +149,7 @@ if __name__ == "__main__":
) )
) )
logger = logging.getLogger() logging.basicConfig(snakemake.config['logging_level'])
logger.setLevel(snakemake.config['logging_level'])
n = pypsa.Network(snakemake.input.network) n = pypsa.Network(snakemake.input.network)

View File

@ -86,13 +86,12 @@ if __name__ == "__main__":
if 'snakemake' not in globals(): if 'snakemake' not in globals():
from vresutils.snakemake import MockSnakemake from vresutils.snakemake import MockSnakemake
snakemake = MockSnakemake( snakemake = MockSnakemake(
path='..',
wildcards=dict(network='elec', simpl='', clusters='37', lv='2', opts='Co2L-3H'), wildcards=dict(network='elec', simpl='', clusters='37', lv='2', opts='Co2L-3H'),
input=['networks/{network}_s{simpl}_{clusters}.nc'], input=['networks/{network}_s{simpl}_{clusters}.nc'],
output=['networks/{network}_s{simpl}_{clusters}_lv{lv}_{opts}.nc'] output=['networks/{network}_s{simpl}_{clusters}_lv{lv}_{opts}.nc']
) )
logger.setLevel(snakemake.config['logging_level']) logging.basicConfig(snakemake.config['logging_level'])
opts = snakemake.wildcards.opts.split('-') opts = snakemake.wildcards.opts.split('-')

View File

@ -1,8 +1,7 @@
import numpy as np import numpy as np
import pandas as pd import pandas as pd
import logging import logging
logging.basicConfig(filename=snakemake.log.python, level=logging.INFO) logger = logging.getLogger(__name__)
import pypsa import pypsa
@ -235,7 +234,6 @@ if __name__ == "__main__":
if 'snakemake' not in globals(): if 'snakemake' not in globals():
from vresutils.snakemake import MockSnakemake, Dict from vresutils.snakemake import MockSnakemake, Dict
snakemake = MockSnakemake( snakemake = MockSnakemake(
path='..',
wildcards=dict(simpl='', clusters='45', lv='1.5', opts='Co2L'), wildcards=dict(simpl='', clusters='45', lv='1.5', opts='Co2L'),
input=["networks/elec_s{simpl}_{clusters}_lv{lv}_{opts}.nc"], input=["networks/elec_s{simpl}_{clusters}_lv{lv}_{opts}.nc"],
output=["results/networks/s{simpl}_{clusters}_lv{lv}_{opts}.nc"], output=["results/networks/s{simpl}_{clusters}_lv{lv}_{opts}.nc"],
@ -243,6 +241,8 @@ if __name__ == "__main__":
python="logs/s{simpl}_{clusters}_lv{lv}_{opts}_python.log") python="logs/s{simpl}_{clusters}_lv{lv}_{opts}_python.log")
) )
logging.basicConfig(filename=snakemake.log.python, level=logging.INFO)
n = pypsa.Network(snakemake.input[0]) n = pypsa.Network(snakemake.input[0])
n = prepare_network(n) n = prepare_network(n)