Commit a17655e8 authored by Eric Duminil's avatar Eric Duminil
Browse files

PV and QA are optional

parent ea70243c
...@@ -25,17 +25,21 @@ class EnergyGridResults(SimStadtResults): ...@@ -25,17 +25,21 @@ class EnergyGridResults(SimStadtResults):
with open(json_output, encoding="utf-8") as out: with open(json_output, encoding="utf-8") as out:
content = json.load(out) content = json.load(out)
buildings = content["buildings"] buildings = content["buildings"]
n = len(content["ambient_temperature"])
zeros = [0.0] * n
df = pd.DataFrame({ df = pd.DataFrame({
"ambient_temperature": content["ambient_temperature"], "ambient_temperature": content["ambient_temperature"],
"electricity_demand": np.sum([b["building_electricity_demand"] for b in buildings], axis=0), "electricity_demand": np.sum([b["building_electricity_demand"] for b in buildings], axis=0),
"heat_demand": np.sum([b["th_heat_demand"] for b in buildings], axis=0), "heat_demand": np.sum([b["th_heat_demand"] for b in buildings], axis=0),
"pv_production": np.sum([b["pv_production"] for b in buildings], axis=0), "pv_production": np.sum([b["pv_production"] or zeros for b in buildings], axis=0),
}) })
df.attrs["number_of_buildings"] = len(buildings) df.attrs["number_of_buildings"] = len(buildings)
df.attrs["number_of_households"] = sum(b["number_of_households"] for b in buildings) df.attrs["number_of_households"] = sum(b["number_of_households"] for b in buildings)
df.attrs["number_of_people"] = sum(sum(b["people_in_units"]) for b in buildings) df.attrs["number_of_people"] = sum(sum(b["people_in_units"]) for b in buildings)
df.attrs["total_heated_area"] = sum(b["heated_area"] for b in buildings) df.attrs["total_heated_area"] = sum(b["heated_area"] for b in buildings)
df.attrs["archetype_counts"] = Counter(b["quarter_archetype"] for b in buildings) df.attrs["archetype_counts"] = Counter(
b["quarter_archetype"] for b in buildings if b["quarter_archetype"] is not None
)
return df return df
@property @property
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment