Passed
Pull Request — dev (#1226)
by Patrik
01:51
created

cost_data.energy_prices()   A

Complexity

Conditions 1

Size

Total Lines 18
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 14
dl 0
loc 18
rs 9.7
c 0
b 0
f 0
cc 1
nop 0
1
import pandas as pd
2
3
4
def energy_prices() -> pd.DataFrame:
5
6
    print("Data is taken from at doi: https://doi.org/10.52202/077185-0033")
7
8
    years = [2025, 2030, 2035, 2040, 2045]
9
    return pd.DataFrame(
10
        {
11
            "gas_prices [Eur/kWh]": [0.116, 0.106, 0.133, 0.116, 0.118],
12
            "electricity_prices [Eur/kWh]": [
13
                0.386,
14
                0.303,
15
                0.290,
16
                0.294,
17
                0.286,
18
            ],
19
            "pv_feed_in [Eur/kWh]": [0.081] * 5,
20
        },
21
        index=pd.Index(years, name="year"),
22
    )
23
24
25
def investment_costs() -> pd.DataFrame:
26
    print("Data is taken from doi: https://doi.org/10.52202/077185-0033")
27
28
    years = [2025, 2030, 2035, 2040, 2045]
29
    idx = pd.Index(years, name="year")
30
31
    df = pd.DataFrame(
32
        {
33
            ("gas boiler", "specific_costs [Eur/kW]"): [61] * 5,
34
            ("gas boiler", "fixed_costs [Eur]"): [4794] * 5,
35
            ("heat pump", "specific_costs [Eur/kW]"): [
36
                1680,
37
                1318,
38
                1182,
39
                1101,
40
                1048,
41
            ],
42
            ("heat pump", "fixed_costs [Eur]"): [3860, 3030, 2716, 2530, 2410],
43
            ("heat storage", "specific_costs [Eur/m3]"): [1120] * 5,
44
            ("heat storage", "fixed_costs [Eur]"): [806] * 5,
45
            ("pv", "specific_costs [Eur/kW]"): [1200, 1017, 927, 864, 828],
46
            ("pv", "fixed_costs [Eur]"): [3038, 2575, 2347, 2188, 2096],
47
            ("battery", "specific_costs [Eur/kWh]"): [850, 544, 453, 420, 409],
48
            ("battery", "fixed_costs [Eur]"): [0] * 5,
49
        },
50
        index=idx,
51
    )
52
53
    return df
54