Skip to content

Data

Großwetterlagen

Großwetterlagen beschreiben wiederkehrende Strömungsmuster über Europa. Mit den jeweiligen Mustern sind jahreszeitlich bestimmten lokale Witterungsbedingungen verknüpft. Woher die Luftmasse kommt, und wie lange sie bleibt und welche Eigenschaften sie mitbringt lässt dich daraus qualitativ ableiten.

Screenshot

Abb.: Beispiel einer wiederkehrenden Strömungssituation im August (HNA), die in der Regel andauernde Hitzewellen begünstigen.

Wetterdaten

Parameter

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot


Luftqualitätsdaten

Parameter

Screenshot

Screenshot

Screenshot


Patientendaten

Screenshot


Code

Loading

# coding: utf-8
# -*- coding: iso-8859-1 -*-
import sys
import os
import matplotlib
matplotlib.use('Agg') # Must be before importing matplotlib.pyplot or pylab!
import matplotlib.pyplot as P
import numpy as N

P.style.use('bmh')
params = {'legend.fontsize': 8,'font.family': 'serif'}
P.rcParams.update(params)

Defining

def moving_average(a,n=3):
    ret=N.cumsum(a,dtype=float)
    ret[n:]=ret[n:]-ret[:-n]
    return ret[n-1:]/n

Reading

data = N.genfromtxt('../csv/collect_bzk.csv',delimiter=';',names=True,dtype=None,encoding=None)

orte = ['SteglitzZehlendorf',
        'Pankow',
        'Neukölln',
        'Marzahn-Hellersdorf',
        'FriedrichshainKreuzberg',
        'TreptowKoepenick',
        'Lichtenberg',
        'Spandau',
        'Mitte',
        'TempelhofSchoeneberg',
        'CharlottenburgWilmersdorf',
        'Reinickendorf',
        'Potsdam']

para = {'temperature':['Temperature [$^\circ$C]',-10,30],
        'humidity':['Relative Humidity [%]',30,100],
        'airpressure':['Air Pressure [hPa]',950,1050],
        'sunshine':['Sunshine Duration [h]',0,12],
        'windspeed':['Windspeed [m/s]',0,12],
        'nox':['NOX [nox]',0,350],
        'ozone':['Ozone [O3]',0,150],
        'particles':['Particles [PM25]',0,150],
        'admissions': ['Admissions [N]',0,50]
}

Plotting

for par in para:

    fig = P.figure(figsize=(10,5))
    ax = P.subplot(111)

    for ort in orte:

        id = N.where(data['orte']==ort)[0]
        tmp = data[par][id]

        P.plot(tmp,label=ort)

    P.xticks([0,365,2*365,3*365,4*365,5*365])
    P.ylabel(para[par][0],fontsize=16,weight='bold')
    P.ylim(para[par][1],para[par][2])
    P.xlabel('Days since 01.01.2012',fontsize=16,weight='bold')

    ax.tick_params(direction='out')

    P.legend(shadow=True,title='Bezirke', bbox_to_anchor=(1.05, 1), loc='upper left')
    P.tight_layout()
    P.savefig('./img/%s.png'%par,dpi=240,bbox_inches='tight',pad_inches=0.0)#,transparent='true')