Commit 50727aaa authored by Eric Duminil's avatar Eric Duminil
Browse files

Repaired comparison SimStadt vs Urbi

parent 106e0f17
......@@ -5,15 +5,15 @@ import matplotlib.pyplot as plt
PROJ_DIR = Path(__file__).parent
CITYGML = 'Grombühl_v2'
URBI_HEAT_DEMAND = 'totalPrimaryEnergyDemandHeating [kWh/a]'
S_DEMAND = 'Simstadt heat demand [MWh / a]' # Inkl Warmwasser?
S_DEMAND = 'Simstadt heat demand [MWh / a]' # Inkl Warmwasser?
U_DEMAND = 'Urbi+ heat demand [MWh / a]'
AREA = 'Area [m²]'
TYPE = 'Usage Type'
SUFFIX = '_Bensfeld'
SUFFIX = '' # Could be 'Bensheim', for example
# Feldberg : 2.493 (Average : 3.0°C, Min : -18°C)
# Original : 2.487 (Average : 7.9°C, Min : -12°C), Würzburg
# Bensfeld : 2.475 (Average : 10.2°C, Min : -10°C)
# Bensheim : 2.475 (Average : 10.2°C, Min : -10°C)
def get_simstadt_heat_demand():
......@@ -26,17 +26,19 @@ def get_simstadt_heat_demand():
decimal='.')
simstadt_df = simstadt_df.rename({
'Total Yearly Heat+DHW demand': S_DEMAND,
'PrimaryUsageZoneArea': AREA,
'PrimaryUsageZoneType': TYPE,
}, axis='columns')
'Total Yearly Heat+DHW demand': S_DEMAND,
'PrimaryUsageZoneArea': AREA,
'PrimaryUsageZoneType': TYPE,
}, axis='columns')
simstadt_df[S_DEMAND] = simstadt_df[S_DEMAND] / 1000 # kWh -> MWh
simstadt_df = simstadt_df.set_index('GMLId')
by_type_df = simstadt_df.groupby([TYPE]).sum(numeric_only=True)[[AREA, S_DEMAND]]
by_type_df = simstadt_df.groupby([TYPE]).sum(
numeric_only=True)[[AREA, S_DEMAND]]
by_type_df['Specific heat demand [kWh / (m².a)]'] = by_type_df[S_DEMAND] / by_type_df[AREA] * 1000
by_type_df['Specific heat demand [kWh / (m².a)]'] = by_type_df[S_DEMAND] / \
by_type_df[AREA] * 1000
print(by_type_df.round(1).to_string())
......@@ -67,14 +69,17 @@ def compare_results(simstadt_df, urbi_df):
simstadt_urbi = simstadt_df.join(urbi_df)[[S_DEMAND, U_DEMAND]]
simstadt_urbi = simstadt_urbi.dropna()
simstadt_urbi.round(1).to_csv(f'simstadt_vs_urbi_heat_demands_{CITYGML}{SUFFIX}.csv', sep=';', decimal='.')
simstadt_urbi.round(1).to_csv(
f'simstadt_vs_urbi_heat_demands_{CITYGML}{SUFFIX}.csv', sep=';', decimal='.')
plt.rcParams["figure.figsize"] = (10, 10)
ax = simstadt_urbi.plot.scatter(x=S_DEMAND, y=U_DEMAND, title=f'Urbi vs SimStadt Heat-demand\n{CITYGML}{SUFFIX}')
fig = simstadt_urbi.plot.scatter(
x=S_DEMAND, y=U_DEMAND, title=f'Urbi vs SimStadt Heat-demand\n{CITYGML}{SUFFIX}')
max_heat_demand = simstadt_urbi.max().max()
ax.plot([0, max_heat_demand], [0, max_heat_demand])
ax.axis('equal')
plt.savefig(f'simstadt_vs_urbi_heat_demands_{CITYGML}{SUFFIX}.png', bbox_inches='tight')
fig.plot([0, max_heat_demand], [0, max_heat_demand])
fig.axis('equal')
plt.savefig(
f'simstadt_vs_urbi_heat_demands_{CITYGML}{SUFFIX}.png', bbox_inches='tight')
print("Correlation:")
print(simstadt_urbi.corr())
......
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