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