print(network.snapshots)

#temporary load scaling factor for Germany load in relation to ENTSO-E hourly load
#based roughly on Schumacher & Hirth (2015)
#http://www.feem.it/userfiles/attach/20151191122284NDL2015-088.pdf
#In principle rescaling should happen on a monthly basis

load_factor = 1.12

for bus in graph.nodes():
    network.add("Load",bus,bus=bus,
                p_set = pd.Series(data=load_factor*1000*load.loc[network.snapshots,bus],index=network.snapshots))

#%matplotlib inline

pd.DataFrame(load.sum(axis=1)).plot()

load_distribution = network.loads_t.p_set.loc[network.snapshots[0]].groupby(network.loads.bus).sum()

network.plot(bus_sizes=load_distribution)

total_load = load.sum(axis=1)

monthly_load = total_load.resample("M").sum()

monthly_load.plot(grid=True)

## Attach conventional generators from BNetzA list

from vresutils import shapes as vshapes
#http://www.feem.it/userfiles/attach/20151191122284NDL2015-088.pdf
#In principle rescaling should happen on a monthly basis

load_factor = 1.12

for bus in graph.nodes():
    network.add("Load",
                bus,
                bus=bus,
                p_set=pd.Series(data=load_factor * 1000 *
                                load.loc[network.snapshots, bus],
                                index=network.snapshots))

#%matplotlib inline

pd.DataFrame(load.sum(axis=1)).plot()

load_distribution = network.loads_t.p_set.loc[network.snapshots[0]].groupby(
    network.loads.bus).sum()

network.plot(bus_sizes=load_distribution)

total_load = load.sum(axis=1)

monthly_load = total_load.resample("M").sum()

monthly_load.plot(grid=True)

## Attach conventional generators from BNetzA list

from vresutils import shapes as vshapes