windon_layouts = DEgen.eeg_windonlayouts_per_class(graph,cutout)

windon_capacities = pd.DataFrame(index=graph.nodes())
for turbine_items in windon_layouts:
    name = turbine_items[0]["onshore"]
    turbine_cap = np.array(vresutils.reatlas.turbineconf_to_powercurve_object(name)["POW"]).max()
    print(name,turbine_cap)
    windon_capacities[name] = turbine_items[1].sum(axis=(1,2))*turbine_cap/1000.

windon_caps = windon_capacities.sum(axis=1)
windon_caps.describe(),windon_caps.sum()

(generation.windon.max()/windon_caps).describe()

windoff_layouts = DEgen.eeg_windofflayouts_per_class(graph,cutout)

windoff_capacities = pd.DataFrame(index=graph.nodes())
for i,turbine_items in enumerate(windoff_layouts):
    name = turbine_items[0]["offshore"]
    turbine_cap = np.array(vresutils.reatlas.turbineconf_to_powercurve_object(name)["POW"]).max()
    print(name,turbine_cap)
    #add an index to name to avoid duplication of names
    windoff_capacities[name+"-" + str(i)] = turbine_items[1].sum(axis=(1,2))*turbine_cap/1000.

windoff_capacities.sum()

windoff_caps = windoff_capacities.sum(axis=1)
windoff_caps.describe(),windoff_caps.sum()

(generation.windoff.max()/windoff_caps).describe()
windon_capacities = pd.DataFrame(index=graph.nodes())
for turbine_items in windon_layouts:
    name = turbine_items[0]["onshore"]
    turbine_cap = np.array(
        vresutils.reatlas.turbineconf_to_powercurve_object(name)["POW"]).max()
    print(name, turbine_cap)
    windon_capacities[name] = turbine_items[1].sum(
        axis=(1, 2)) * turbine_cap / 1000.

windon_caps = windon_capacities.sum(axis=1)
windon_caps.describe(), windon_caps.sum()

(generation.windon.max() / windon_caps).describe()

windoff_layouts = DEgen.eeg_windofflayouts_per_class(graph, cutout)

windoff_capacities = pd.DataFrame(index=graph.nodes())
for i, turbine_items in enumerate(windoff_layouts):
    name = turbine_items[0]["offshore"]
    turbine_cap = np.array(
        vresutils.reatlas.turbineconf_to_powercurve_object(name)["POW"]).max()
    print(name, turbine_cap)
    #add an index to name to avoid duplication of names
    windoff_capacities[name + "-" + str(i)] = turbine_items[1].sum(
        axis=(1, 2)) * turbine_cap / 1000.

windoff_capacities.sum()

windoff_caps = windoff_capacities.sum(axis=1)
windoff_caps.describe(), windoff_caps.sum()