Skip to content

Latest commit

 

History

History
64 lines (52 loc) · 2.27 KB

README.md

File metadata and controls

64 lines (52 loc) · 2.27 KB

swissweather

Historical monthly averages (1864-present) of temperature and precipitation at weather stations across Switzerland. All data is from MeteoSwiss and their license applies to its usage. I have only combined and transformed the data so it is more code-friendly.

Station code Station name
BER Bern / Zollikofen
BAS Basel / Binningen
CHM Chaumont
CHD Château-d'Oex
GSB Col du Grand St-Bernard
DAV Davos
ENG Engelberg
GVE Genève-Cointrin
LUG Lugano
PAY Payerne
SIA Segl-Maria
SIO Sion
SAE Säntis
SMA Zürich / Fluntern

Usage:

  • get_meteoswiss.py gets multiple .txt files from meteoswiss.ch and transforms data:

  • JSON file: meteoswiss.json

  • python module: meteoswiss.py.

  • plot_zurich_temps.py is an example code:

  • loads data from meteoswiss.py

  • selects only Zürich (SMA) as the weather station

  • selects only average June temperatures

  • makes a plot of historical June temperatures in Zürich

from meteoswiss import meteoswiss

yearlist = []
templist = []
for station in meteoswiss:
	print station, ':', meteoswiss[station]['station_name']
	if station == 'SMA': # only Zurich temps
		temps = meteoswiss[station]['temp']
		for key,value in temps.iteritems():
			month = key.split('-')[-1]
			if month == '06': # only June
				yearlist.append(key.split('-')[0])
				templist.append(value)

import matplotlib.pyplot as plt
plt.plot(yearlist,templist,'ro')
plt.xlabel('Year')
plt.ylabel('Temperature (C)')
plt.title('Average June Temperature in Zurich')
plt.grid(True)
plt.show()

Average June Temperature in Zurich