Skip to content

Commit 8219ca5

Browse files
committed
House model completed
1 parent 4dd23d8 commit 8219ca5

File tree

8 files changed

+36664
-12
lines changed

8 files changed

+36664
-12
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ PrettyPrinting = "0.4.2"
2929
Revise = "3.8.0"
3030
SankeyMakie = "0.1.1"
3131
StatsPlots = "0.15.7"
32-
Test = "1.11.0"
32+
Test = "1.11.0"

examples/House/config.json

Lines changed: 254 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,254 @@
1+
{
2+
"_comment1": "House Model",
3+
"_comment2": "The parser will ignore any key that starts with '_comment', such as this one.",
4+
"_comment3": "",
5+
"units": {
6+
"_comment": "Each entity must have 'input', 'output' and 'scale' keys.",
7+
"power":{"input": "kW", "scale": 1, "output": "kW"},
8+
"energy": {"input": "kWh", "scale": 1, "output": "kWh"},
9+
"co2_emissions": {"input": "kg", "scale": 1, "output": "kg"},
10+
"cost_energy": {"input": "EUR/kWh", "scale": 1, "output": "EUR/kWh"},
11+
"cost_power": {"input": "EUR/kW", "scale": 1, "output": "EUR/kW"},
12+
"co2_spec": {"input": "kg/kWh", "scale": 1, "output": "kg/kWh"},
13+
"money": {"input": "EUR", "scale": 1, "output": "EUR"}
14+
},
15+
"parameters": {
16+
"_comment1": "This dictionary contains the definition of parameters. The 'type' and 'sets' keys are mandatory in all parameter definitions.",
17+
"_comment2": "The value of the 'type' key must be an integer, float, boolean or string.",
18+
"_comment3": "A parameter can have either a 'value' or a 'default' key, but not both at the same time.",
19+
"_comment4": "The value of the 'sets' key could be [],['Y'],['C'],['P'],['P','Y'],['P','T']. Replace the surrounding quotes with double quotes.",
20+
"_comment5": "If 'sets' is equal to [] or ['Y'] then the 'value' must be defined here in the definition of the parameter.",
21+
"discount_rate": {
22+
"type": "Float",
23+
"sets": [],
24+
"value": 0.05
25+
},
26+
"dt": {
27+
"type": "Integer",
28+
"sets": [],
29+
"value": 1
30+
},
31+
"annual_co2_limit": {
32+
"type": "Float",
33+
"sets": ["Y"],
34+
"unit": "co2_emissions",
35+
"value": 0
36+
},
37+
"co2_price": {
38+
"type": "Float",
39+
"sets": ["Y"],
40+
"unit": "money",
41+
"value": 0
42+
},
43+
"is_storage": {
44+
"type": "Boolean",
45+
"sets": ["P"],
46+
"default": false
47+
},
48+
"charge_efficiency": {
49+
"type": "Float",
50+
"sets": ["P"],
51+
"default": 1
52+
},
53+
"c_rate": {
54+
"type": "Float",
55+
"sets": ["P"]
56+
},
57+
"max_legacy_capacity": {
58+
"type": "Float",
59+
"sets": ["P","Y"],
60+
"unit": "power",
61+
"default": 0
62+
},
63+
"min_legacy_capacity": {
64+
"type": "Float",
65+
"sets": ["P","Y"],
66+
"unit": "power"
67+
},
68+
"max_capacity": {
69+
"type": "Float",
70+
"sets": ["P","Y"],
71+
"unit": "power"
72+
},
73+
"min_capacity": {
74+
"type": "Float",
75+
"sets": ["P","Y"],
76+
"unit": "power"
77+
},
78+
"operational_cost_energy": {
79+
"type": "Float",
80+
"sets": ["P","Y"],
81+
"unit": "cost_energy",
82+
"default": 0
83+
},
84+
"operational_cost_power": {
85+
"type": "Float",
86+
"sets": ["P","Y"],
87+
"unit": "cost_power",
88+
"default": 0
89+
},
90+
"capital_cost_power": {
91+
"type": "Float",
92+
"sets": ["P","Y"],
93+
"unit": "cost_power",
94+
"default": 0
95+
},
96+
"min_fraction_in": {
97+
"type": "Float",
98+
"sets": ["P","Y"]
99+
},
100+
"min_fraction_out": {
101+
"type": "Float",
102+
"sets": ["P","Y"]
103+
},
104+
"max_fraction_in": {
105+
"type": "Float",
106+
"sets": ["P","Y"]
107+
},
108+
"max_fraction_out": {
109+
"type": "Float",
110+
"sets": ["P","Y"]
111+
},
112+
"max_energy_out": {
113+
"type": "Float",
114+
"sets": ["P","Y"],
115+
"unit": "energy"
116+
},
117+
"min_energy_out": {
118+
"type": "Float",
119+
"sets": ["P","Y"],
120+
"unit": "energy"
121+
},
122+
"availability_profile": {
123+
"type": "Float",
124+
"sets": ["P","T"],
125+
"normalized": false
126+
},
127+
"output_profile": {
128+
"type": "Float",
129+
"sets": ["P","T"],
130+
"normalized": true
131+
},
132+
"lifetime": {
133+
"type": "Integer",
134+
"sets": ["P"],
135+
"default": 100
136+
},
137+
"technical_availability": {
138+
"type": "Float",
139+
"sets": ["P"],
140+
"default": 1
141+
},
142+
"specific_co2": {
143+
"type": "Float",
144+
"sets": ["P"],
145+
"default": 0,
146+
"unit": "co2_spec"
147+
},
148+
"efficiency": {
149+
"type": "Float",
150+
"sets": ["P"],
151+
"default": 1
152+
},
153+
"carrier_color": {
154+
"_comment": "https://juliagraphics.github.io/Colors.jl/dev/namedcolors/",
155+
"type": "String",
156+
"sets": ["C"]
157+
},
158+
"carrier_order": {
159+
"_comment": "Order of plotting: The lowest order appears in the lowest position.",
160+
"type": "Integer",
161+
"sets": ["C"]
162+
},
163+
"process_color": {
164+
"_comment": "https://juliagraphics.github.io/Colors.jl/dev/namedcolors/",
165+
"type": "String",
166+
"sets": ["P"]
167+
},
168+
"process_order": {
169+
"_comment": "Order of plotting: The lowest order appears in the lowest position.",
170+
"type": "Integer",
171+
"sets": ["P"]
172+
}
173+
},
174+
"timesteps" : "./time_series/8_weeks_Manual.txt",
175+
"years" : [2015, 2020, 2025, 2030, 2035, 2040, 2045, 2050, 2055, 2060],
176+
"carriers": {
177+
"Dummy": {},
178+
"Vehicles_Propulsion": {
179+
"carrier_color": "tomato1"
180+
},
181+
"Heat": {
182+
"carrier_color": "firebrick2"
183+
},
184+
"Electricity": {
185+
"carrier_color": "orange"
186+
}
187+
},
188+
"processes": {
189+
"Import_Electricity": {
190+
"carrier_in": "Dummy",
191+
"carrier_out": "Electricity",
192+
"operational_cost_energy": 0.30,
193+
"process_color": "lightcyan",
194+
"process_order": 1
195+
},
196+
"Demand_Heat": {
197+
"carrier_in": "Heat",
198+
"carrier_out": "Dummy",
199+
"min_energy_out": 3000,
200+
"output_profile": "./time_series/Household_Heat_Demand.txt",
201+
"process_color": "plum2",
202+
"process_order": 300
203+
},
204+
"Demand_Electricity": {
205+
"carrier_in": "Electricity",
206+
"carrier_out": "Dummy",
207+
"min_energy_out": 2500,
208+
"output_profile": "./time_series/Electricity_Demand_Corrected.txt",
209+
"process_color": "magenta1",
210+
"process_order": 301
211+
},
212+
"PP_PV": {
213+
"carrier_in": "Dummy",
214+
"carrier_out": "Electricity",
215+
"lifetime": 20,
216+
"operational_cost_power": 15,
217+
"capital_cost_power": 1500,
218+
"availability_profile": "./time_series/PV_availability_rescaled.txt",
219+
"process_color": "darkgoldenrod1",
220+
"process_order": 406
221+
},
222+
"PP_Wind": {
223+
"carrier_in": "Dummy",
224+
"carrier_out": "Electricity",
225+
"lifetime": 25,
226+
"operational_cost_power": 20,
227+
"capital_cost_power": 4000,
228+
"availability_profile": "./time_series/Onshore_Wind_Availability_rescaled.txt",
229+
"process_color": "royalblue1",
230+
"process_order": 409
231+
},
232+
"Heat_Pump": {
233+
"carrier_in": "Electricity",
234+
"carrier_out": "Heat",
235+
"efficiency": 3.7,
236+
"lifetime": 17,
237+
"operational_cost_power": 20,
238+
"capital_cost_power": 2000,
239+
"process_color": "tomato2",
240+
"process_order": 603
241+
},
242+
"Battery": {
243+
"_comment": "energy storage capacity of the battery is equal to the capacity of the conversion process(max power in and out) divided by c_rate",
244+
"carrier_in": "Electricity",
245+
"carrier_out": "Electricity",
246+
"lifetime": 15,
247+
"capital_cost_power": 1500,
248+
"is_storage": true,
249+
"c_rate": 0.5,
250+
"process_color": "green2",
251+
"process_order": 1001
252+
}
253+
}
254+
}

0 commit comments

Comments
 (0)