monatlicher Gasverbrauch
Bibliotheken importieren
# Name des aktuellen Notebooks für die exportierten Datein
file_name = "monatlicher_Gasverbrauch"
# Ordner auf dem Server (nach files/)
ftp_folder = 'Notebooks/Auswertung'
## Bibliotheken, Module und Text- bzw- Grafikformatierungen aus zentraler Datei laden
%run ../Template/libraries_and_styles.ipynb
## Warum auch immer muss rcParams.update() in eine eigene Zelle...
mpl.rcParams.update(params)
Daten Import
## Daten importieren
daten = pd.read_csv('../1_Daten/Arbeitsdaten/Daten_15s.csv')
daten["Zeit"] = pd.to_datetime(daten["Zeit"],dayfirst=True)
daten.set_index(['Zeit'], inplace=True)
print(daten[['S_Gas_Vpunkt']].resample("Y").sum().mul(0.001).mul(1/240)) #2000m³
print(daten[['W_Luftdruck']].resample("Y").mean()) # 1012mbar
# show(daten)
S_Gas_Vpunkt
Zeit
2017-12-31 951.773225
2018-12-31 1048.081542
W_Luftdruck
Zeit
2017-12-31 1016.115510
2018-12-31 1010.068572
Berechnung der Zustandszahl Z nach DVGW Arbeitsblatt G 685
## Berechnung der Zustandszahl Z nach DVGW Arbeitsblatt G 685
## Luftdruck i.H Bootshaus 141MüNN
m = 141 # m
L = 1013.25 * (1 - 6.5 * m / 288150)**5.255
#print(L)
Tn = 273.15 # K
t = 15 # °C
Pamb = 1012 #L # mbar ## 1012 mbar aus den Messwerten der Wetterstation Kassel Mitte
Peff = 23.0 # mbar
pn = 1013.25 # mbar
Z = (Tn / (Tn + t)) * ((Pamb + Peff) / pn)
display(Z)
0.9682919433076546
Berechnung des monatlichen Gasverbrauches in kWh
## Berechnung des monatlichen Gasverbrauches in kWh
## prognostizierte Verbrauchswerte aus der Energiebedarfsrechnung
EnEVkWh = [740,624,610,603,689,986,1178,1406,1508,1264,1179,833] # in kWh
## Brennwerte von den Stadtwerken Kassel
BrennwertkWhkm = [11.282,11.282,11.280,11.282,11.277,11.273,11.269,11.263,11.276,11.278,11.280,11.281]
index = ['Mai \n2017', 'Jun', 'Jul','Aug','Sep','Okt','Nov','Dez','Jan \n2018', 'Feb', 'Mrz','Apr']
GV = pd.DataFrame({'EnEVkWh': EnEVkWh, 'BrennwertkWhkm': BrennwertkWhkm}, index=index)
Gasvolumen_Monat = daten[['S_Gas_Vpunkt']].resample("M").sum().mul(0.001).mul(1/240)
GV['Gasvolumen_Monat'] = Gasvolumen_Monat.values
GV['Gasbrennwert_Monat'] = round(GV['Gasvolumen_Monat'] * GV['BrennwertkWhkm'] * Z)
GV['Gasbrennwert_Fehler'] = GV['Gasbrennwert_Monat'].mul(0.016)
display(GV)
|
EnEVkWh |
BrennwertkWhkm |
Gasvolumen_Monat |
Gasbrennwert_Monat |
Gasbrennwert_Fehler |
| Mai \n2017 |
740 |
11.282 |
77.608325 |
848.0 |
13.568 |
| Jun |
624 |
11.282 |
1.644225 |
18.0 |
0.288 |
| Jul |
610 |
11.280 |
2.764254 |
30.0 |
0.480 |
| Aug |
603 |
11.282 |
4.954833 |
54.0 |
0.864 |
| Sep |
689 |
11.277 |
73.436788 |
802.0 |
12.832 |
| Okt |
986 |
11.273 |
128.766483 |
1406.0 |
22.496 |
| Nov |
1178 |
11.269 |
289.644842 |
3161.0 |
50.576 |
| Dez |
1406 |
11.263 |
372.953475 |
4067.0 |
65.072 |
| Jan \n2018 |
1508 |
11.276 |
347.476146 |
3794.0 |
60.704 |
| Feb |
1264 |
11.278 |
354.535392 |
3872.0 |
61.952 |
| Mrz |
1179 |
11.280 |
303.577487 |
3316.0 |
53.056 |
| Apr |
833 |
11.281 |
42.492517 |
464.0 |
7.424 |
Plot
fig, ax = plt.subplots(figsize=(5.9,2.2))
width=0.3
## Bars
GV[['EnEVkWh']].plot.bar( position=1, width=width, color=colo('blau',1),edgecolor='black',linewidth = 0.3, ax=ax)
GV[['Gasbrennwert_Monat']].plot.bar(position=0, width=width, color=colo('rot',1), edgecolor='black',linewidth = 0.3, ax=ax,yerr=GV[['Gasbrennwert_Fehler']].values.T, error_kw=dict(lw=0.5, capsize=1.5, capthick=0.5))
## Axen
ax.xaxis.set_tick_params(rotation=0)
ax.set_ylabel(r'\textbf{Gasverbrauch} [kWh]')
ax.set_xlim(-0.65)
ax.get_yaxis().set_major_formatter(mpl.ticker.FuncFormatter(lambda x, loc: locale.format_string('%d', x, 1))) ## dot as thousand separator
## Legend
legend = ax.legend(["Prognose", "Messung"], ncol=2, loc=2)
set_legend_linewidth(legend)
## Save to pdf
plt.savefig(output_folder + '/' + file_name + '.pdf')
Gesmtbeadarf
## Gesmtbeadarf
display(GV[['Gasbrennwert_Monat','EnEVkWh']].sum())
## monatlicher Durchschnittsbrennwert
display((GV['BrennwertkWhkm'] * Z).sum()/12)
Gasbrennwert_Monat 21832.0
EnEVkWh 11620.0
dtype: float64
10.919347553685144
Save & Upload
## Skriptlaufzeit Ende (Funktion in: libraries_and_styles.ipynb)
hours, minutes, seconds = laufzeit()
## Notebook speichern vor dem Upload (Funktion in: libraries_and_styles.ipynb)
save_notebook()
## Notebook als Markdown Datei mit eingebetten Grafiken speichern und auf den Server laden
%run ../Template/save_and_upload.ipynb
Auskuehlung_Messung Uebersicht_Wetter