├── test
├── .gitignore
├── modules
├── __init__.py
├── enum_csv.py
├── test_fib.py
├── reader.py
├── fib.py
├── fiz.py
├── test_fiz.py
├── output.py
├── utils.py
├── database.py
├── main.py
└── psy.ipynb
├── LICENSE
├── history_export_2016-12-05T11-55-25.json
├── git
└── git.txt
├── modules.ipynb
└── history_export_2016-12-05T11-55-25.csv
/test:
--------------------------------------------------------------------------------
1 | falskfjskl
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 | .ipynb_checkpoints/
3 | .cache
4 |
--------------------------------------------------------------------------------
/modules/__init__.py:
--------------------------------------------------------------------------------
1 | # ahihihi
2 | True, False = False, True
3 | int = lambda x: 'nope'
4 |
5 |
--------------------------------------------------------------------------------
/modules/enum_csv.py:
--------------------------------------------------------------------------------
1 | CSV_YEAR = 0
2 | CSV_MONTH = 1
3 | CSV_DAY = 2
4 | CSV_HOUR = 3
5 | CSV_MINUTE = 4
6 | CSV_TEMP = 5
7 | CSV_RH = 6
8 | CSV_PRESS = 7
9 |
--------------------------------------------------------------------------------
/modules/test_fib.py:
--------------------------------------------------------------------------------
1 | from modules.fib import fib
2 |
3 | def test_fib_zero():
4 | assert fib(0) == 0
5 |
6 | def test_fib_one():
7 | assert fib(1) == 1
8 |
9 | def test_fib_three():
10 | assert fib(3) == 2
11 | assert fib(3) == fib(1) + fib(2)
12 | assert fib(3) == fib(1) + fib(1) + fib(0)
13 |
--------------------------------------------------------------------------------
/modules/reader.py:
--------------------------------------------------------------------------------
1 | import csv
2 | import json
3 |
4 |
5 | def get_from_csv(csvfile):
6 | weather_station = csv.reader(csvfile, delimiter=';', quotechar='"')
7 | # skip header
8 | next(weather_station, None)
9 | return weather_station
10 |
11 |
12 | def get_from_json(jsonfile):
13 | return json.loads(jsonfile.read())['data']
14 |
--------------------------------------------------------------------------------
/modules/fib.py:
--------------------------------------------------------------------------------
1 | def fib(n):
2 | if n in (0, 1):
3 | return n
4 | return fib(n-1) + fib(n-2)
5 |
6 | print 'Hai guyz'
7 |
8 | def fib_wtf(n):
9 | if n == 0:
10 | return 11
11 | elif n == 1:
12 | return 42
13 | else:
14 | return fib_wtf(n-1) + fib_wtf(n-2)
15 |
16 | if __name__ == "__main__":
17 | from sys import argv
18 | print fib(int(argv[1]))
19 |
20 |
--------------------------------------------------------------------------------
/modules/fiz.py:
--------------------------------------------------------------------------------
1 | def fizzbuzz(n,f="Fizz",b="Buzz"):
2 | if n==0: return ""
3 | x="1"
4 | for i in range(2,n+1):
5 | x += '\n' + fizzbuzz_single(i,f,b)
6 |
7 | return x
8 |
9 | def fizzbuzz_single(i,f,b):
10 | if i%3==0 and i%5==0:
11 | return f+b
12 | elif i%3==0:
13 | return f
14 | elif i%5==0:
15 | return b
16 | else:
17 | return str(i)
18 |
19 | def fizzbuzz_array(n,f='Fizz',b='Buzz'):
20 | l = []
21 | for i in range(1, n):
22 | l.append(fizzbuzz_single(n,f,b))
23 | return l
24 | #???
25 |
--------------------------------------------------------------------------------
/modules/test_fiz.py:
--------------------------------------------------------------------------------
1 | from fiz import fizzbuzz, fizzbuzz_single
2 |
3 | def test_fizz_1():
4 | assert fizzbuzz(1,)=="1"
5 |
6 | def test_fizz_2():
7 | assert fizzbuzz(2)=="1\n2"
8 |
9 | def test_fizz_3_addition():
10 | assert fizzbuzz(3,"Tom","Bob")=="1\n2\nTom"
11 |
12 | def test_fizz_3():
13 | assert fizzbuzz(3)=="1\n2\nFizz"
14 |
15 | def test_fizz_5_addition():
16 | assert fizzbuzz(5)=="1\n2\nFizz\n4\nBuzz"
17 |
18 | def test_fizz_5():
19 | assert fizzbuzz(5,"Tom","Bob")=="1\n2\nTom\n4\nBob"
20 |
21 | def test_fizz_single_150():
22 | assert fizzbuzz_single(150, 'Fizz', 'Buzz') == 'FizzBuzz'
23 |
24 |
25 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 Marek Piechula
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/modules/output.py:
--------------------------------------------------------------------------------
1 | from utils import dp
2 | from enum_csv import CSV_TEMP, CSV_RH
3 |
4 | # dla wygody zmieniam to w jeden slownik danych. Mega wygodne
5 | def get_output_data(data_row, temp_stats):
6 | dew_point = dp(float(data_row[CSV_TEMP]), float(data_row[CSV_RH]))
7 | return {
8 | 'temperature': data_row[CSV_TEMP],
9 | 'max': temp_stats['abs_max'],
10 | 'min': temp_stats['abs_min'],
11 | 'avg': temp_stats['abs_avg'],
12 | 'rh': data_row[CSV_RH],
13 | 'dp': dew_point,
14 | }
15 |
16 |
17 | def render_raw(data):
18 | print "curr: {}, max: {}, min: {}, avg: {}, rh: {}, dp: {}".format(
19 | data['temperature'],
20 | data['max'],
21 | data['min'],
22 | data['avg'],
23 | data['rh'],
24 | data['dp'],
25 | )
26 |
27 | def render_html(data):
28 | print '
'
29 | print '| curr | %f | ' % data['temperature']
30 | print 'max | %f | ' % data['max']
31 | print 'min | %f | ' % data['min']
32 | print 'avg | %f | ' % data['avg']
33 | print 'rh | %f | ' % data['rh']
34 | print 'dp | %f | ' % dew_point
35 | print '
'
36 |
37 | def render_start_html():
38 | print ''
39 |
40 | def render_stop_html():
41 | print '
'
42 |
--------------------------------------------------------------------------------
/modules/utils.py:
--------------------------------------------------------------------------------
1 | from enum_csv import CSV_TEMP, CSV_YEAR, CSV_DAY, CSV_MONTH, CSV_HOUR, CSV_MINUTE
2 | from datetime import datetime
3 |
4 | def dp(t, h):
5 | """
6 | calculates the dewpoint via the formula from weatherwise.org
7 |
8 | :type t: float
9 | :param t: temperature
10 | :param h: humidity
11 | :return: dew point
12 | """
13 | x = 1 - 0.01 * h;
14 |
15 | dew_point = (14.55 + 0.114 * t) * x
16 | dew_point += ((2.5 + 0.007 * t) * x) ** 3
17 | dew_point += (15.9 + 0.117 * t) * x ** 14
18 | dew_point = t - dew_point
19 |
20 | return dew_point
21 |
22 | # Tutaj wykorzystuje dynamicznosc pythona oraz referencje
23 | # nie zwracam nic, modyfikuje obiekt znajdujacy sie w argumencie
24 | # zaleta/wada - trudny temat :) napewno wygodne
25 | def modify_stats(stats, data_row):
26 | temp = data_row[CSV_TEMP] # wyciagniecie wartosci jako zmienna lokalna
27 | if stats['abs_max'] is None:
28 | stats['abs_max'] = temp
29 | stats['abs_min'] = temp
30 | stats['abs_avg'] = float(temp)
31 | else:
32 | # nie mialem modyfikowac kodu ale tutaj plakalem jak przepisywalem
33 | stats['abs_max'] = max(temp, stats['abs_max'])
34 | stats['abs_min'] = min(temp, stats['abs_min'])
35 | stats['abs_avg'] = (float(temp) + stats['abs_avg']) / 2.0
36 |
37 |
38 | def get_day(data_row):
39 | return datetime(
40 | int(data_row[CSV_YEAR]), int(data_row[CSV_MONTH]), int(data_row[CSV_DAY]),
41 | int(data_row[CSV_HOUR]), int(data_row[CSV_MINUTE]))
42 |
43 |
44 |
--------------------------------------------------------------------------------
/history_export_2016-12-05T11-55-25.json:
--------------------------------------------------------------------------------
1 | {"data": [
2 | [2016,11,21,0,0,7.43,90.00,1014.40,0.00,0.00,17.73,185.83,29.88],
3 | [2016,11,21,1,0,7.07,92.00,1015.30,0.00,0.00,14.78,182.79,33.12],
4 | [2016,11,21,2,0,6.72,93.00,1015.50,0.00,0.00,13.68,178.49,35.28],
5 | [2016,11,21,3,0,6.67,94.00,1015.80,0.00,0.00,13.80,172.50,31.32],
6 | [2016,11,21,4,0,6.74,95.00,1016.30,0.00,0.00,13.28,167.47,28.44],
7 | [2016,11,21,5,0,6.67,95.00,1016.70,0.00,0.00,13.78,160.14,27.00],
8 | [2016,11,21,6,0,6.95,97.00,1017.30,0.00,0.00,14.12,160.64,18.72],
9 | [2016,11,21,7,0,6.95,97.00,1017.00,0.00,0.00,13.44,159.62,17.64],
10 | [2016,11,21,8,0,7.13,96.00,1017.90,0.00,0.00,14.81,154.06,17.64],
11 | [2016,11,21,9,0,8.18,95.00,1017.70,0.00,0.00,15.79,155.77,19.08],
12 | [2016,11,21,10,0,9.50,91.00,1018.00,0.00,0.00,15.62,154.03,19.80],
13 | [2016,11,21,11,0,11.25,85.00,1017.80,0.00,0.00,16.90,153.43,24.12],
14 | [2016,11,21,12,0,13.09,78.00,1017.80,0.00,0.00,18.06,156.50,26.28],
15 | [2016,11,21,13,0,13.27,75.00,1015.20,0.00,0.00,19.20,149.59,20.88],
16 | [2016,11,21,14,0,13.21,75.00,1015.00,0.00,0.00,18.89,149.04,21.96],
17 | [2016,11,21,15,0,12.90,77.00,1015.00,0.00,0.00,16.79,149.04,24.12],
18 | [2016,11,21,16,0,12.47,81.00,1015.50,0.00,0.00,14.19,144.29,22.32],
19 | [2016,11,21,17,0,12.05,85.00,1015.80,0.00,0.00,13.61,142.52,24.12],
20 | [2016,11,21,18,0,11.13,89.00,1015.20,0.00,0.00,15.38,147.43,25.20],
21 | [2016,11,21,19,0,10.58,91.00,1015.30,0.00,0.00,15.84,158.68,26.64],
22 | [2016,11,21,20,0,10.23,92.00,1015.40,0.00,0.00,16.85,160.02,29.52],
23 | [2016,11,21,21,0,10.01,92.00,1016.00,0.00,0.00,17.65,163.41,27.72]
24 | ]}
25 |
--------------------------------------------------------------------------------
/git/git.txt:
--------------------------------------------------------------------------------
1 | cokolwiek
2 | #grupa A
3 | Bez nóg, bez rąk, bez głowy i brzucha, a gdy się obróci, wszędzie dmucha.
4 | wiatrak
5 |
6 | Zła pani – mieszka w bani.
7 | nalewka
8 |
9 | #grupa B
10 | Stoi panna w murze – w czerwonym kapturze.
11 | Czterech braciszków się gonią, a nigdy się nie dogonią.
12 | #grupa C
13 | Między żerdziami nad kołkiem kołek, kto szedł, to wyszedł aż na wierzchołek.
14 | Wszystkie dziury w dachu poszyli, tylko jedną zostawili.
15 | #grupa D
16 | Siedmiu braciszków cały rok się gonią, i z roku na rok, i z wieku na wiek.
17 | Kto o nią dba, ten jej nie ma,a kto o nią nie dba, ten ją ma.
18 | #grupa E
19 | Głowę mu ścięto, serce wyjęto, pić mu dano, mówić kazano.
20 | Skrzętnie murarze murują, W ich murze ludzie smakują.
21 | #grupa F
22 | W lesie ścięto, w domu zgięto, W stajni stało, ogon dało, Na ręce wzięto – płakało.
23 | Pole niewymierzone, bydełko niezliczone, Parobek rogaty a gospodarz bogaty.
24 | #grupa G
25 | Żyje bez ciała,mówi bez języka,nikt go nie widzi,a każdy go słyszy.
26 | echo
27 | Z jakiego drzewa liść nigdy nie opada?
28 | binarnego
29 | #grupa H
30 | Jak ze słomy zrobić masło?
31 | Co nad nami do góry nogami?
32 | #grupa I
33 | Przy drodze stoi,ręce rozkłada i nic nie gada.
34 | Kto się żywi wodą i wiatrem?
35 | #grupa J
36 | Gdzie najdroższa woda?
37 | Kto je ruszy, płakać musi.
38 | #grupa K
39 | W zimie w wodnej jamie siedzi, a jak słońce, to na wierzch wychodzi.
40 | Ani zwierz, ani ptak, w nosie spica z głosem dzwonka, kto go zabije, ten swoją krew przeleje.
41 | #grupa L
42 | Biały baran ogónkiem kiwa, czerwony ptaszek żałośnie śpiewa.
43 | Przyszedł byk, w dziurkę tryk.
44 | #grupa M
45 | Pełna stajenka białych cieliczek, a między nimi czerwony byczek.
46 | Trzy konie o jednym ogonie.
47 | #grupa N
48 | Żelazna świneczka - konopiany ogon.
49 | Lata ptaszek popod lasek, Zakrzywiony ma dziubasek.
50 | #grupa O
51 | Czerwony ptaszek, kopie ogonkiem piasek.
52 | Długie, cienkie nogi, długi ostry dziób, Uciekajcie żaby, bo to jest wasz wróg.
53 |
54 |
--------------------------------------------------------------------------------
/modules/database.py:
--------------------------------------------------------------------------------
1 | import sqlite3
2 |
3 | # pozwolilem sobie zmodyfikowac stringa - {} zamienilem na nazewnictwo
4 | db_insert_query = "INSERT INTO measures (meas_time, temp, humidity, pressure) VALUES ('{day}','{temperature}','{humidity}','{pressure}');"
5 |
6 |
7 | def init(filename):
8 | # czesto ludzie dodawali argument filename do inicjalizacji bazy
9 | # +1 dla was
10 | db = sqlite3.connect(filename)
11 | db.execute('''
12 | DROP TABLE IF EXISTS `measures`;
13 | ''')
14 | db.execute('''CREATE TABLE IF NOT EXISTS measures (
15 | meas_time INT PRIMARY KEY,
16 | temp NUMERIC,
17 | humidity NUMERIC,
18 | pressure NUMERIC
19 | );''')
20 |
21 | # to byl moj temat rozwazan - czy chce uzyc db jako zmienna globalna
22 | # w tym module albo zwracam polaczenie jako wynik tej funkcji?
23 | # to jest pytanie dosc programistyczno-filozoficzne
24 | # 1) db jako stala globalna po za funkcja:
25 | # + nie musimy ja zwracac po inicjalizacji
26 | # oraz uzywac jej jako pierwszy argument (jak w jezyku C)
27 | # + osoba korzystajaca z tego modulu nie musi sie martwic polaczeniem
28 | # - nie mozna takim sposobem posiadac wiele polaczen naraz
29 | # 2) db jako zwrocona wartosc funkcji
30 | # + mozna posiadac wiele polaczen naraz
31 | # + wygodniejsze testowanie (mozemy modifikowac polaczenie recznie w razie potrzeby)
32 | # - programista musi pilnowac obiekt
33 | # 3) Obiektowosc :) Bedzie na kolejnym spotkaniu
34 | # ja postanowilem zwracac.
35 | return db
36 |
37 |
38 | def add_record(db, day, temperature, humidity, pressure):
39 | # funkcje w pythonie posiadaja tak zwane keywords
40 | # mozemy sie odwolac do nazwanego argumentu funkcji
41 | # wiecej: https://docs.python.org/2/tutorial/controlflow.html#keyword-arguments
42 | query = db_insert_query.format(
43 | day=day,
44 | temperature=temperature,
45 | humidity=humidity,
46 | pressure=pressure,
47 | )
48 | db.execute(query)
49 | db.commit()
50 |
51 |
52 | def close(db):
53 | db.close()
54 |
55 |
--------------------------------------------------------------------------------
/modules/main.py:
--------------------------------------------------------------------------------
1 | # oto propowana przezemnie wersja kodu - nie wiem czy jest idealna
2 | # przyznam szczerze, ze pomysly refactoringu kodu ukradlem od was,
3 | # wiec po czesci to tez wasz kod :)
4 | import csv
5 | import json
6 | from datetime import datetime
7 | import database
8 | import output
9 | import reader
10 | from utils import modify_stats, get_day
11 | from enum_csv import CSV_TEMP, CSV_RH, CSV_PRESS
12 |
13 | temp_stats = {'abs_max': None, 'abs_min': None, 'abs_avg': None}
14 |
15 | # zamiast options - takie rzeczy powinny byc zastapione przez uzycie argumentow w konsoli
16 | # dobrym pomyslem jest uzycie modulu argparse (ktory zostal napisany przez naszego rodaka :))
17 | # https://docs.python.org/2.7/library/argparse.html
18 | options = {
19 | 'db': True,
20 | 'out_html': False,
21 | 'out_raw': True,
22 | 'in_json': False,
23 | 'in_csv': True,
24 | }
25 |
26 | if options['db']:
27 | db = database.init('temp.db')
28 | else:
29 | db = None
30 |
31 | if options['out_html']:
32 | output.render_start_html()
33 |
34 | # tutaj probowaliscie zamienic open na cos innego - dobry pomysl
35 | # niestety ze wzgledu ze nie chcielismy wprowadzac zaawansowanego
36 | # pythona, nie wprowadzalismy dzialanie 'with' bo to wymaga wytlumaczenia
37 | # oraz obiektowosci, wiec nie bylismy w stanie zastapic open
38 | # Jezeli ktos jest zainteresowany: https://docs.python.org/2.7/library/contextlib.html
39 | # Tutaj tez zamiast stalej nazwy fajnie by bylo uzyc argparse (komentarz powyzej)
40 | with open('history_export_2016-12-05T11-55-25.csv', 'r') as csvfile:
41 | if options['in_csv']:
42 | weather_station = reader.get_from_csv(csvfile)
43 | elif options['in_json']:
44 | weather_station = reader.get_from_json(csvfile)
45 |
46 | # process data
47 | for data_row in weather_station:
48 | modify_stats(temp_stats, data_row)
49 | measured_day = get_day(data_row)
50 | if options['db']:
51 | # keywords - opisane w pliku database.py
52 | database.add_record(
53 | db=db,
54 | day=measured_day,
55 | temperature=data_row[CSV_TEMP],
56 | humidity=data_row[CSV_RH],
57 | pressure=data_row[CSV_PRESS],
58 | )
59 |
60 | # zapakowanie danych do wyswietlenia
61 | output_data = output.get_output_data(data_row, temp_stats)
62 |
63 | if options['out_raw']:
64 | output.render_raw(output_data)
65 | if options['out_html']:
66 | output.render_html(output_data)
67 |
68 | if options['out_html']:
69 | output.render_stop_html()
70 | if options['db']:
71 | database.close(db)
72 |
73 |
--------------------------------------------------------------------------------
/modules.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": null,
6 | "metadata": {
7 | "collapsed": false
8 | },
9 | "outputs": [],
10 | "source": [
11 | "import modules"
12 | ]
13 | },
14 | {
15 | "cell_type": "code",
16 | "execution_count": null,
17 | "metadata": {
18 | "collapsed": false
19 | },
20 | "outputs": [],
21 | "source": [
22 | "dir(modules)"
23 | ]
24 | },
25 | {
26 | "cell_type": "code",
27 | "execution_count": null,
28 | "metadata": {
29 | "collapsed": false
30 | },
31 | "outputs": [],
32 | "source": [
33 | "import modules.fib"
34 | ]
35 | },
36 | {
37 | "cell_type": "code",
38 | "execution_count": null,
39 | "metadata": {
40 | "collapsed": false
41 | },
42 | "outputs": [],
43 | "source": [
44 | "modules.fib"
45 | ]
46 | },
47 | {
48 | "cell_type": "code",
49 | "execution_count": null,
50 | "metadata": {
51 | "collapsed": false
52 | },
53 | "outputs": [],
54 | "source": [
55 | "modules.fib.fib"
56 | ]
57 | },
58 | {
59 | "cell_type": "code",
60 | "execution_count": null,
61 | "metadata": {
62 | "collapsed": false
63 | },
64 | "outputs": [],
65 | "source": [
66 | "from modules.fib import fib, fib_wtf"
67 | ]
68 | },
69 | {
70 | "cell_type": "code",
71 | "execution_count": null,
72 | "metadata": {
73 | "collapsed": false
74 | },
75 | "outputs": [],
76 | "source": [
77 | "fib(10)"
78 | ]
79 | },
80 | {
81 | "cell_type": "code",
82 | "execution_count": null,
83 | "metadata": {
84 | "collapsed": false
85 | },
86 | "outputs": [],
87 | "source": [
88 | "fib_wtf(10)"
89 | ]
90 | },
91 | {
92 | "cell_type": "code",
93 | "execution_count": null,
94 | "metadata": {
95 | "collapsed": true
96 | },
97 | "outputs": [],
98 | "source": [
99 | "from modules import fib "
100 | ]
101 | },
102 | {
103 | "cell_type": "code",
104 | "execution_count": null,
105 | "metadata": {
106 | "collapsed": false
107 | },
108 | "outputs": [],
109 | "source": [
110 | "fib(10)"
111 | ]
112 | },
113 | {
114 | "cell_type": "code",
115 | "execution_count": null,
116 | "metadata": {
117 | "collapsed": false
118 | },
119 | "outputs": [],
120 | "source": [
121 | "fib"
122 | ]
123 | },
124 | {
125 | "cell_type": "code",
126 | "execution_count": null,
127 | "metadata": {
128 | "collapsed": true
129 | },
130 | "outputs": [],
131 | "source": [
132 | "from modules.fib import fib as fib_func"
133 | ]
134 | },
135 | {
136 | "cell_type": "code",
137 | "execution_count": null,
138 | "metadata": {
139 | "collapsed": false
140 | },
141 | "outputs": [],
142 | "source": [
143 | "fib_func(3)"
144 | ]
145 | },
146 | {
147 | "cell_type": "code",
148 | "execution_count": null,
149 | "metadata": {
150 | "collapsed": true
151 | },
152 | "outputs": [],
153 | "source": [
154 | "import modules as wtf_modules"
155 | ]
156 | },
157 | {
158 | "cell_type": "code",
159 | "execution_count": null,
160 | "metadata": {
161 | "collapsed": false
162 | },
163 | "outputs": [],
164 | "source": [
165 | "wtf_modules"
166 | ]
167 | },
168 | {
169 | "cell_type": "code",
170 | "execution_count": null,
171 | "metadata": {
172 | "collapsed": true
173 | },
174 | "outputs": [],
175 | "source": [
176 | "from modules import *"
177 | ]
178 | },
179 | {
180 | "cell_type": "code",
181 | "execution_count": null,
182 | "metadata": {
183 | "collapsed": false
184 | },
185 | "outputs": [],
186 | "source": [
187 | "int(2) == 2"
188 | ]
189 | },
190 | {
191 | "cell_type": "code",
192 | "execution_count": null,
193 | "metadata": {
194 | "collapsed": false
195 | },
196 | "outputs": [],
197 | "source": [
198 | "int(2)"
199 | ]
200 | },
201 | {
202 | "cell_type": "code",
203 | "execution_count": null,
204 | "metadata": {
205 | "collapsed": true
206 | },
207 | "outputs": [],
208 | "source": [
209 | "y = 1+1 == 2"
210 | ]
211 | },
212 | {
213 | "cell_type": "code",
214 | "execution_count": null,
215 | "metadata": {
216 | "collapsed": false
217 | },
218 | "outputs": [],
219 | "source": [
220 | "y is True"
221 | ]
222 | },
223 | {
224 | "cell_type": "code",
225 | "execution_count": null,
226 | "metadata": {
227 | "collapsed": false
228 | },
229 | "outputs": [],
230 | "source": [
231 | "True"
232 | ]
233 | }
234 | ],
235 | "metadata": {
236 | "kernelspec": {
237 | "display_name": "Python 2",
238 | "language": "python",
239 | "name": "python2"
240 | },
241 | "language_info": {
242 | "codemirror_mode": {
243 | "name": "ipython",
244 | "version": 2
245 | },
246 | "file_extension": ".py",
247 | "mimetype": "text/x-python",
248 | "name": "python",
249 | "nbconvert_exporter": "python",
250 | "pygments_lexer": "ipython2",
251 | "version": "2.7.6"
252 | }
253 | },
254 | "nbformat": 4,
255 | "nbformat_minor": 2
256 | }
257 |
--------------------------------------------------------------------------------
/modules/psy.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 39,
6 | "metadata": {
7 | "collapsed": true
8 | },
9 | "outputs": [],
10 | "source": [
11 | "class Pies(object):\n",
12 | " rasa = '-'\n",
13 | " kolor = '-'\n",
14 | " nazwa = ''\n",
15 | " pojemnosc = 100 # kg\n",
16 | " rzeczy = []\n",
17 | " def __init__(self, nazwa):\n",
18 | " self.nazwa = nazwa\n",
19 | " self.rzeczy = []\n",
20 | " def szczekaj(self):\n",
21 | " raise NotImplementedError('szczekaj')\n",
22 | " def jedz(self):\n",
23 | " self.pojemnosc += 1\n",
24 | " def gloduj(self):\n",
25 | " self.pojemnosc -= 1\n",
26 | " def czy_zdech(self):\n",
27 | " return self.pojemnosc <= 0"
28 | ]
29 | },
30 | {
31 | "cell_type": "code",
32 | "execution_count": 40,
33 | "metadata": {
34 | "collapsed": false
35 | },
36 | "outputs": [
37 | {
38 | "ename": "NotImplementedError",
39 | "evalue": "szczekaj",
40 | "output_type": "error",
41 | "traceback": [
42 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
43 | "\u001b[0;31mNotImplementedError\u001b[0m Traceback (most recent call last)",
44 | "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mPies\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m''\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mszczekaj\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
45 | "\u001b[0;32m\u001b[0m in \u001b[0;36mszczekaj\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrzeczy\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mszczekaj\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 11\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mNotImplementedError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'szczekaj'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 12\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mjedz\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpojemnosc\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
46 | "\u001b[0;31mNotImplementedError\u001b[0m: szczekaj"
47 | ]
48 | }
49 | ],
50 | "source": [
51 | "Pies('').szczekaj()"
52 | ]
53 | },
54 | {
55 | "cell_type": "code",
56 | "execution_count": 4,
57 | "metadata": {
58 | "collapsed": true
59 | },
60 | "outputs": [],
61 | "source": [
62 | "class Jamnik(Pies):\n",
63 | " rasa = 'jamnik'\n",
64 | " \n",
65 | " def szczekaj(self):\n",
66 | " return 'woow woow tak bardzo'"
67 | ]
68 | },
69 | {
70 | "cell_type": "code",
71 | "execution_count": 5,
72 | "metadata": {
73 | "collapsed": true
74 | },
75 | "outputs": [],
76 | "source": [
77 | "j = Jamnik('olek')"
78 | ]
79 | },
80 | {
81 | "cell_type": "code",
82 | "execution_count": 6,
83 | "metadata": {
84 | "collapsed": false
85 | },
86 | "outputs": [
87 | {
88 | "data": {
89 | "text/plain": [
90 | "'woow woow tak bardzo'"
91 | ]
92 | },
93 | "execution_count": 6,
94 | "metadata": {},
95 | "output_type": "execute_result"
96 | }
97 | ],
98 | "source": [
99 | "j.szczekaj()"
100 | ]
101 | },
102 | {
103 | "cell_type": "code",
104 | "execution_count": 7,
105 | "metadata": {
106 | "collapsed": false
107 | },
108 | "outputs": [
109 | {
110 | "data": {
111 | "text/plain": [
112 | "'olek'"
113 | ]
114 | },
115 | "execution_count": 7,
116 | "metadata": {},
117 | "output_type": "execute_result"
118 | }
119 | ],
120 | "source": [
121 | "j.nazwa"
122 | ]
123 | },
124 | {
125 | "cell_type": "code",
126 | "execution_count": 8,
127 | "metadata": {
128 | "collapsed": false
129 | },
130 | "outputs": [
131 | {
132 | "data": {
133 | "text/plain": [
134 | "'jamnik'"
135 | ]
136 | },
137 | "execution_count": 8,
138 | "metadata": {},
139 | "output_type": "execute_result"
140 | }
141 | ],
142 | "source": [
143 | "j.rasa"
144 | ]
145 | },
146 | {
147 | "cell_type": "code",
148 | "execution_count": 9,
149 | "metadata": {
150 | "collapsed": true
151 | },
152 | "outputs": [],
153 | "source": [
154 | "for i in range(10):\n",
155 | " j.jedz()"
156 | ]
157 | },
158 | {
159 | "cell_type": "code",
160 | "execution_count": 10,
161 | "metadata": {
162 | "collapsed": true
163 | },
164 | "outputs": [],
165 | "source": [
166 | "for i in range(200):\n",
167 | " j.gloduj()"
168 | ]
169 | },
170 | {
171 | "cell_type": "code",
172 | "execution_count": 11,
173 | "metadata": {
174 | "collapsed": false
175 | },
176 | "outputs": [
177 | {
178 | "data": {
179 | "text/plain": [
180 | "True"
181 | ]
182 | },
183 | "execution_count": 11,
184 | "metadata": {},
185 | "output_type": "execute_result"
186 | }
187 | ],
188 | "source": [
189 | "j.czy_zdech()"
190 | ]
191 | },
192 | {
193 | "cell_type": "code",
194 | "execution_count": 16,
195 | "metadata": {
196 | "collapsed": true
197 | },
198 | "outputs": [],
199 | "source": [
200 | "class Buldog(Pies):\n",
201 | " rasa = 'buldog'\n",
202 | " kolor = 'ciapaty'\n",
203 | " \n",
204 | " def szczekaj(self):\n",
205 | " if self.pojemnosc > 0:\n",
206 | " return 'wooow'\n",
207 | " else:\n",
208 | " return 'nie woow bo nie zyje'\n",
209 | " \n",
210 | " def jedz(self):\n",
211 | " super(Buldog, self).jedz()\n",
212 | " self.rzeczy.append('posilek')"
213 | ]
214 | },
215 | {
216 | "cell_type": "code",
217 | "execution_count": 17,
218 | "metadata": {
219 | "collapsed": true
220 | },
221 | "outputs": [],
222 | "source": [
223 | "b = Buldog('patrycja')"
224 | ]
225 | },
226 | {
227 | "cell_type": "code",
228 | "execution_count": 18,
229 | "metadata": {
230 | "collapsed": false
231 | },
232 | "outputs": [
233 | {
234 | "data": {
235 | "text/plain": [
236 | "'wooow'"
237 | ]
238 | },
239 | "execution_count": 18,
240 | "metadata": {},
241 | "output_type": "execute_result"
242 | }
243 | ],
244 | "source": [
245 | "b.szczekaj()"
246 | ]
247 | },
248 | {
249 | "cell_type": "code",
250 | "execution_count": 19,
251 | "metadata": {
252 | "collapsed": false
253 | },
254 | "outputs": [],
255 | "source": [
256 | "b.jedz()"
257 | ]
258 | },
259 | {
260 | "cell_type": "code",
261 | "execution_count": 20,
262 | "metadata": {
263 | "collapsed": false
264 | },
265 | "outputs": [
266 | {
267 | "data": {
268 | "text/plain": [
269 | "101"
270 | ]
271 | },
272 | "execution_count": 20,
273 | "metadata": {},
274 | "output_type": "execute_result"
275 | }
276 | ],
277 | "source": [
278 | "b.pojemnosc"
279 | ]
280 | },
281 | {
282 | "cell_type": "code",
283 | "execution_count": 21,
284 | "metadata": {
285 | "collapsed": true
286 | },
287 | "outputs": [],
288 | "source": [
289 | "for i in range(200):\n",
290 | " b.gloduj()"
291 | ]
292 | },
293 | {
294 | "cell_type": "code",
295 | "execution_count": 22,
296 | "metadata": {
297 | "collapsed": false
298 | },
299 | "outputs": [
300 | {
301 | "data": {
302 | "text/plain": [
303 | "-99"
304 | ]
305 | },
306 | "execution_count": 22,
307 | "metadata": {},
308 | "output_type": "execute_result"
309 | }
310 | ],
311 | "source": [
312 | "b.pojemnosc"
313 | ]
314 | },
315 | {
316 | "cell_type": "code",
317 | "execution_count": 23,
318 | "metadata": {
319 | "collapsed": false
320 | },
321 | "outputs": [
322 | {
323 | "data": {
324 | "text/plain": [
325 | "'nie woow bo nie zyje'"
326 | ]
327 | },
328 | "execution_count": 23,
329 | "metadata": {},
330 | "output_type": "execute_result"
331 | }
332 | ],
333 | "source": [
334 | "b.szczekaj()"
335 | ]
336 | },
337 | {
338 | "cell_type": "code",
339 | "execution_count": 24,
340 | "metadata": {
341 | "collapsed": false
342 | },
343 | "outputs": [
344 | {
345 | "data": {
346 | "text/plain": [
347 | "['posilek']"
348 | ]
349 | },
350 | "execution_count": 24,
351 | "metadata": {},
352 | "output_type": "execute_result"
353 | }
354 | ],
355 | "source": [
356 | "b.rzeczy"
357 | ]
358 | },
359 | {
360 | "cell_type": "code",
361 | "execution_count": 25,
362 | "metadata": {
363 | "collapsed": false
364 | },
365 | "outputs": [
366 | {
367 | "data": {
368 | "text/plain": [
369 | "['posilek']"
370 | ]
371 | },
372 | "execution_count": 25,
373 | "metadata": {},
374 | "output_type": "execute_result"
375 | }
376 | ],
377 | "source": [
378 | "j.rzeczy"
379 | ]
380 | },
381 | {
382 | "cell_type": "code",
383 | "execution_count": 28,
384 | "metadata": {
385 | "collapsed": false
386 | },
387 | "outputs": [
388 | {
389 | "data": {
390 | "text/plain": [
391 | "['posilek', 'chipsy', 'kluczyki']"
392 | ]
393 | },
394 | "execution_count": 28,
395 | "metadata": {},
396 | "output_type": "execute_result"
397 | }
398 | ],
399 | "source": [
400 | "Buldog.rzeczy"
401 | ]
402 | },
403 | {
404 | "cell_type": "code",
405 | "execution_count": 27,
406 | "metadata": {
407 | "collapsed": true
408 | },
409 | "outputs": [],
410 | "source": [
411 | "Buldog.rzeczy += ['chipsy', 'kluczyki']"
412 | ]
413 | },
414 | {
415 | "cell_type": "code",
416 | "execution_count": 29,
417 | "metadata": {
418 | "collapsed": false
419 | },
420 | "outputs": [
421 | {
422 | "data": {
423 | "text/plain": [
424 | "['posilek', 'chipsy', 'kluczyki']"
425 | ]
426 | },
427 | "execution_count": 29,
428 | "metadata": {},
429 | "output_type": "execute_result"
430 | }
431 | ],
432 | "source": [
433 | "Pies.rzeczy"
434 | ]
435 | },
436 | {
437 | "cell_type": "code",
438 | "execution_count": 30,
439 | "metadata": {
440 | "collapsed": true
441 | },
442 | "outputs": [],
443 | "source": [
444 | "b.rzeczy = []"
445 | ]
446 | },
447 | {
448 | "cell_type": "code",
449 | "execution_count": 31,
450 | "metadata": {
451 | "collapsed": false
452 | },
453 | "outputs": [
454 | {
455 | "data": {
456 | "text/plain": [
457 | "[]"
458 | ]
459 | },
460 | "execution_count": 31,
461 | "metadata": {},
462 | "output_type": "execute_result"
463 | }
464 | ],
465 | "source": [
466 | "b.rzeczy"
467 | ]
468 | },
469 | {
470 | "cell_type": "code",
471 | "execution_count": 32,
472 | "metadata": {
473 | "collapsed": false
474 | },
475 | "outputs": [
476 | {
477 | "data": {
478 | "text/plain": [
479 | "['posilek', 'chipsy', 'kluczyki']"
480 | ]
481 | },
482 | "execution_count": 32,
483 | "metadata": {},
484 | "output_type": "execute_result"
485 | }
486 | ],
487 | "source": [
488 | "Pies.rzeczy"
489 | ]
490 | },
491 | {
492 | "cell_type": "code",
493 | "execution_count": 33,
494 | "metadata": {
495 | "collapsed": false
496 | },
497 | "outputs": [
498 | {
499 | "data": {
500 | "text/plain": [
501 | "'-'"
502 | ]
503 | },
504 | "execution_count": 33,
505 | "metadata": {},
506 | "output_type": "execute_result"
507 | }
508 | ],
509 | "source": [
510 | "Pies.rasa"
511 | ]
512 | },
513 | {
514 | "cell_type": "code",
515 | "execution_count": 34,
516 | "metadata": {
517 | "collapsed": false
518 | },
519 | "outputs": [
520 | {
521 | "data": {
522 | "text/plain": [
523 | "'jamnik'"
524 | ]
525 | },
526 | "execution_count": 34,
527 | "metadata": {},
528 | "output_type": "execute_result"
529 | }
530 | ],
531 | "source": [
532 | "Jamnik.rasa"
533 | ]
534 | },
535 | {
536 | "cell_type": "code",
537 | "execution_count": 35,
538 | "metadata": {
539 | "collapsed": false
540 | },
541 | "outputs": [
542 | {
543 | "data": {
544 | "text/plain": [
545 | "'buldog'"
546 | ]
547 | },
548 | "execution_count": 35,
549 | "metadata": {},
550 | "output_type": "execute_result"
551 | }
552 | ],
553 | "source": [
554 | "Buldog.rasa"
555 | ]
556 | },
557 | {
558 | "cell_type": "code",
559 | "execution_count": null,
560 | "metadata": {
561 | "collapsed": true
562 | },
563 | "outputs": [],
564 | "source": []
565 | }
566 | ],
567 | "metadata": {
568 | "kernelspec": {
569 | "display_name": "Python 2",
570 | "language": "python",
571 | "name": "python2"
572 | },
573 | "language_info": {
574 | "codemirror_mode": {
575 | "name": "ipython",
576 | "version": 2
577 | },
578 | "file_extension": ".py",
579 | "mimetype": "text/x-python",
580 | "name": "python",
581 | "nbconvert_exporter": "python",
582 | "pygments_lexer": "ipython2",
583 | "version": "2.7.6"
584 | }
585 | },
586 | "nbformat": 4,
587 | "nbformat_minor": 2
588 | }
589 |
--------------------------------------------------------------------------------
/history_export_2016-12-05T11-55-25.csv:
--------------------------------------------------------------------------------
1 | Year;Month;Day;Hour;Minute;Temperature [2 m above gnd];Relative humidity [2 m above gnd];Mean Sea Level Pressure [MSL];Total Precipitation [sfc];Snowfall amount [sfc];Wind speed [10 m above gnd];Wind direction [10 m above gnd];Wind Gust [10 m above gnd]
2 | 2016;11;21;00;00;7.43;90.00;1014.40;0.00;0.00;17.73;185.83;29.88
3 | 2016;11;21;01;00;7.07;92.00;1015.30;0.00;0.00;14.78;182.79;33.12
4 | 2016;11;21;02;00;6.72;93.00;1015.50;0.00;0.00;13.68;178.49;35.28
5 | 2016;11;21;03;00;6.67;94.00;1015.80;0.00;0.00;13.80;172.50;31.32
6 | 2016;11;21;04;00;6.74;95.00;1016.30;0.00;0.00;13.28;167.47;28.44
7 | 2016;11;21;05;00;6.67;95.00;1016.70;0.00;0.00;13.78;160.14;27.00
8 | 2016;11;21;06;00;6.95;97.00;1017.30;0.00;0.00;14.12;160.64;18.72
9 | 2016;11;21;07;00;6.95;97.00;1017.00;0.00;0.00;13.44;159.62;17.64
10 | 2016;11;21;08;00;7.13;96.00;1017.90;0.00;0.00;14.81;154.06;17.64
11 | 2016;11;21;09;00;8.18;95.00;1017.70;0.00;0.00;15.79;155.77;19.08
12 | 2016;11;21;10;00;9.50;91.00;1018.00;0.00;0.00;15.62;154.03;19.80
13 | 2016;11;21;11;00;11.25;85.00;1017.80;0.00;0.00;16.90;153.43;24.12
14 | 2016;11;21;12;00;13.09;78.00;1017.80;0.00;0.00;18.06;156.50;26.28
15 | 2016;11;21;13;00;13.27;75.00;1015.20;0.00;0.00;19.20;149.59;20.88
16 | 2016;11;21;14;00;13.21;75.00;1015.00;0.00;0.00;18.89;149.04;21.96
17 | 2016;11;21;15;00;12.90;77.00;1015.00;0.00;0.00;16.79;149.04;24.12
18 | 2016;11;21;16;00;12.47;81.00;1015.50;0.00;0.00;14.19;144.29;22.32
19 | 2016;11;21;17;00;12.05;85.00;1015.80;0.00;0.00;13.61;142.52;24.12
20 | 2016;11;21;18;00;11.13;89.00;1015.20;0.00;0.00;15.38;147.43;25.20
21 | 2016;11;21;19;00;10.58;91.00;1015.30;0.00;0.00;15.84;158.68;26.64
22 | 2016;11;21;20;00;10.23;92.00;1015.40;0.00;0.00;16.85;160.02;29.52
23 | 2016;11;21;21;00;10.01;92.00;1016.00;0.00;0.00;17.65;163.41;27.72
24 | 2016;11;21;22;00;9.75;92.00;1016.10;0.00;0.00;17.21;164.22;26.28
25 | 2016;11;21;23;00;9.48;93.00;1016.60;0.00;0.00;17.53;160.82;26.28
26 | 2016;11;22;00;00;9.20;93.00;1016.70;0.00;0.00;17.99;160.11;25.20
27 | 2016;11;22;01;00;8.91;93.00;1017.30;0.00;0.00;18.25;157.99;26.28
28 | 2016;11;22;02;00;8.64;93.00;1017.40;0.00;0.00;17.92;157.56;25.92
29 | 2016;11;22;03;00;8.40;93.00;1017.70;0.00;0.00;17.88;154.98;24.48
30 | 2016;11;22;04;00;8.12;93.00;1018.00;0.00;0.00;17.73;150.83;23.04
31 | 2016;11;22;05;00;7.92;94.00;1018.50;0.00;0.00;17.10;149.66;22.68
32 | 2016;11;22;06;00;7.72;94.00;1019.10;0.00;0.00;17.48;147.62;23.04
33 | 2016;11;22;07;00;7.46;94.00;1018.60;0.00;0.00;17.37;145.98;23.04
34 | 2016;11;22;08;00;7.49;94.00;1019.20;0.00;0.00;17.67;146.63;23.04
35 | 2016;11;22;09;00;8.66;89.00;1019.60;0.00;0.00;18.68;152.45;23.04
36 | 2016;11;22;10;00;10.32;82.00;1020.30;0.00;0.00;19.21;167.01;23.04
37 | 2016;11;22;11;00;11.33;80.00;1020.30;0.00;0.00;19.96;172.75;25.92
38 | 2016;11;22;12;00;12.40;76.00;1020.80;0.00;0.00;19.25;172.48;24.12
39 | 2016;11;22;13;00;12.16;71.00;1017.50;0.00;0.00;17.91;149.83;20.52
40 | 2016;11;22;14;00;12.37;71.00;1017.20;0.00;0.00;17.24;151.29;20.16
41 | 2016;11;22;15;00;12.10;74.00;1017.30;0.00;0.00;12.39;144.46;18.72
42 | 2016;11;22;16;00;11.55;78.00;1017.90;0.00;0.00;9.42;133.45;13.68
43 | 2016;11;22;17;00;11.05;81.00;1018.60;0.00;0.00;8.50;126.38;17.28
44 | 2016;11;22;18;00;9.86;87.00;1018.10;0.00;0.00;8.05;116.57;11.88
45 | 2016;11;22;19;00;8.22;94.00;1017.90;0.00;0.00;8.50;126.38;15.12
46 | 2016;11;22;20;00;7.27;97.00;1018.90;0.00;0.00;8.79;145.01;20.16
47 | 2016;11;22;21;00;7.05;97.00;1019.10;0.00;0.00;9.69;158.20;16.56
48 | 2016;11;22;22;00;6.59;97.00;1019.50;0.00;0.00;9.01;177.71;22.68
49 | 2016;11;22;23;00;6.21;96.00;1020.40;0.00;0.00;8.64;180.00;20.16
50 | 2016;11;23;00;00;6.02;96.00;1020.80;0.00;0.00;7.64;188.13;19.08
51 | 2016;11;23;01;00;5.82;95.00;1021.40;0.00;0.00;7.95;185.19;17.64
52 | 2016;11;23;02;00;5.55;95.00;1021.70;0.00;0.00;8.21;195.26;20.52
53 | 2016;11;23;03;00;5.51;95.00;1022.10;0.00;0.00;7.34;191.31;12.96
54 | 2016;11;23;04;00;5.66;95.00;1022.50;0.00;0.00;7.57;182.73;14.04
55 | 2016;11;23;05;00;5.50;95.00;1022.80;0.00;0.00;8.31;184.97;16.92
56 | 2016;11;23;06;00;5.26;95.00;1023.70;0.00;0.00;7.28;188.53;15.48
57 | 2016;11;23;07;00;5.26;95.00;1023.70;0.00;0.00;7.28;188.53;16.56
58 | 2016;11;23;08;00;5.86;95.00;1024.30;0.00;0.00;7.64;188.13;19.44
59 | 2016;11;23;09;00;6.81;94.00;1024.90;0.00;0.00;7.86;195.95;19.08
60 | 2016;11;23;10;00;7.46;93.00;1025.30;0.00;0.00;8.21;195.26;18.00
61 | 2016;11;23;11;00;8.31;91.00;1025.60;0.00;0.00;9.29;215.54;18.36
62 | 2016;11;23;12;00;9.49;87.00;1026.10;0.00;0.00;7.99;215.84;18.72
63 | 2016;11;23;13;00;12.42;73.00;1022.30;0.00;0.00;7.57;205.35;9.00
64 | 2016;11;23;14;00;12.73;73.00;1022.30;0.00;0.00;6.79;212.01;9.72
65 | 2016;11;23;15;00;12.41;75.00;1022.60;0.00;0.00;4.33;221.63;7.92
66 | 2016;11;23;16;00;11.88;78.00;1023.30;0.00;0.00;3.83;228.81;6.12
67 | 2016;11;23;17;00;11.50;80.00;1024.30;0.00;0.00;3.56;225.00;6.12
68 | 2016;11;23;18;00;10.91;83.00;1023.40;0.00;0.00;3.40;212.01;6.12
69 | 2016;11;23;19;00;10.40;86.00;1023.00;0.00;0.00;3.98;185.19;6.48
70 | 2016;11;23;20;00;9.90;89.00;1023.80;0.00;0.00;5.04;180.00;9.36
71 | 2016;11;23;21;00;9.23;92.00;1023.70;0.00;0.00;5.01;201.04;10.80
72 | 2016;11;23;22;00;8.64;96.00;1023.90;0.00;0.00;4.61;218.66;11.88
73 | 2016;11;23;23;00;8.10;99.00;1024.00;0.00;0.00;4.33;221.63;12.60
74 | 2016;11;24;00;00;7.35;97.00;1024.10;0.00;0.00;3.76;253.30;12.24
75 | 2016;11;24;01;00;6.14;97.00;1024.90;0.00;0.00;3.67;281.31;12.60
76 | 2016;11;24;02;00;5.64;96.00;1024.40;0.00;0.00;2.28;288.43;12.96
77 | 2016;11;24;03;00;5.19;95.00;1024.60;0.00;0.00;1.94;291.80;15.12
78 | 2016;11;24;04;00;5.24;95.00;1025.20;0.00;0.00;1.94;291.80;15.48
79 | 2016;11;24;05;00;4.96;95.00;1024.90;0.00;0.00;3.32;319.40;10.80
80 | 2016;11;24;06;00;5.18;95.00;1025.40;0.00;0.00;5.90;322.43;18.72
81 | 2016;11;24;07;00;5.87;96.00;1025.10;0.00;0.00;9.09;326.31;19.80
82 | 2016;11;24;08;00;6.43;96.00;1025.90;0.00;0.00;12.50;348.37;16.92
83 | 2016;11;24;09;00;6.69;94.00;1027.30;0.00;0.00;11.88;360.00;20.52
84 | 2016;11;24;10;00;7.24;91.00;1027.70;0.00;0.00;12.61;358.36;17.28
85 | 2016;11;24;11;00;8.57;74.00;1027.60;0.00;0.00;15.16;4.09;17.28
86 | 2016;11;24;12;00;9.50;63.00;1028.10;0.00;0.00;15.27;8.13;16.20
87 | 2016;11;24;13;00;9.36;58.00;1025.00;0.00;0.00;14.41;12.99;18.72
88 | 2016;11;24;14;00;9.58;50.00;1025.20;0.00;0.00;14.00;17.97;17.64
89 | 2016;11;24;15;00;8.88;51.00;1025.50;0.00;0.00;11.18;14.93;17.28
90 | 2016;11;24;16;00;7.66;58.00;1026.30;0.00;0.00;9.47;8.75;16.20
91 | 2016;11;24;17;00;6.64;64.00;1027.30;0.00;0.00;8.64;360.00;13.68
92 | 2016;11;24;18;00;5.58;71.00;1027.40;0.00;0.00;8.31;355.03;12.24
93 | 2016;11;24;19;00;4.37;79.00;1027.50;0.00;0.00;8.35;352.57;17.28
94 | 2016;11;24;20;00;3.28;85.00;1028.10;0.00;0.00;8.67;355.24;16.56
95 | 2016;11;24;21;00;2.60;87.00;1028.10;0.00;0.00;7.57;357.27;15.12
96 | 2016;11;24;22;00;2.33;85.00;1028.60;0.00;0.00;6.95;338.75;12.24
97 | 2016;11;24;23;00;2.27;84.00;1028.80;0.00;0.00;7.10;329.53;10.80
98 | 2016;11;25;00;00;2.20;83.00;1028.60;0.00;0.00;7.70;322.59;12.60
99 | 2016;11;25;01;00;2.01;83.00;1029.40;0.00;0.00;7.65;318.81;16.92
100 | 2016;11;25;02;00;1.27;87.00;1029.10;0.00;0.00;7.65;318.81;18.36
101 | 2016;11;25;03;00;0.41;93.00;1029.30;0.00;0.00;8.21;322.13;21.24
102 | 2016;11;25;04;00;0.97;87.00;1029.80;0.00;0.00;8.56;337.75;19.80
103 | 2016;11;25;05;00;2.16;97.00;1030.00;0.00;0.00;9.83;351.57;16.56
104 | 2016;11;25;06;00;2.42;97.00;1030.20;0.00;0.00;8.05;349.70;21.96
105 | 2016;11;25;07;00;2.39;96.00;1029.80;0.00;0.00;7.57;357.27;18.72
106 | 2016;11;25;08;00;2.31;95.00;1030.80;0.00;0.00;6.12;360.00;17.64
107 | 2016;11;25;09;00;2.57;94.00;1031.30;0.00;0.00;3.96;360.00;14.40
108 | 2016;11;25;10;00;2.98;93.00;1031.70;0.00;0.00;2.52;360.00;12.24
109 | 2016;11;25;11;00;3.37;92.00;1031.50;0.00;0.00;2.74;23.20;10.80
110 | 2016;11;25;12;00;4.00;89.00;1032.30;0.00;0.00;1.44;360.00;9.36
111 | 2016;11;25;13;00;7.25;74.00;1027.00;0.00;0.00;5.09;278.13;5.40
112 | 2016;11;25;14;00;7.21;74.00;1026.30;0.00;0.00;6.21;280.01;6.48
113 | 2016;11;25;15;00;6.70;76.00;1026.60;0.00;0.00;5.80;277.13;5.76
114 | 2016;11;25;16;00;6.15;78.00;1026.50;0.00;0.00;6.49;266.82;8.64
115 | 2016;11;25;17;00;5.56;80.00;1026.70;0.00;0.00;7.24;264.29;10.44
116 | 2016;11;25;18;00;4.85;84.00;1026.80;0.00;0.00;7.70;259.22;12.96
117 | 2016;11;25;19;00;3.95;88.00;1026.00;0.00;0.00;8.31;252.35;15.12
118 | 2016;11;25;20;00;3.26;90.00;1026.50;0.00;0.00;8.65;253.07;15.48
119 | 2016;11;25;21;00;2.57;93.00;1026.90;0.00;0.00;9.45;252.26;17.64
120 | 2016;11;25;22;00;1.70;96.00;1026.40;0.00;0.00;10.04;255.47;20.88
121 | 2016;11;25;23;00;1.63;96.00;1026.50;0.00;0.00;11.97;263.09;23.40
122 | 2016;11;26;00;00;1.56;95.00;1026.00;0.00;0.00;13.63;257.80;28.44
123 | 2016;11;26;01;00;1.50;95.00;1025.80;0.00;0.00;14.00;252.03;25.92
124 | 2016;11;26;02;00;1.35;95.00;1025.40;0.00;0.00;14.71;248.46;25.92
125 | 2016;11;26;03;00;1.17;95.00;1025.40;0.00;0.00;15.18;247.69;27.00
126 | 2016;11;26;04;00;0.97;95.00;1024.90;0.00;0.00;15.84;248.68;25.56
127 | 2016;11;26;05;00;0.83;95.00;1024.40;0.00;0.00;16.52;249.59;26.28
128 | 2016;11;26;06;00;0.80;95.00;1024.50;0.00;0.00;17.58;247.11;29.16
129 | 2016;11;26;07;00;0.75;95.00;1023.60;0.00;0.00;18.86;246.37;32.04
130 | 2016;11;26;08;00;0.77;95.00;1023.20;0.00;0.00;19.34;245.82;34.56
131 | 2016;11;26;09;00;1.24;94.00;1022.90;0.00;0.00;19.64;243.90;36.36
132 | 2016;11;26;10;00;2.12;90.00;1022.40;0.00;0.00;21.25;243.87;38.52
133 | 2016;11;26;11;00;3.70;85.00;1021.60;0.00;0.00;22.55;245.48;37.08
134 | 2016;11;26;12;00;5.14;80.00;1021.20;0.00;0.00;24.74;248.66;39.96
135 | 2016;11;26;13;00;6.33;69.00;1016.30;0.00;0.00;29.50;250.02;39.24
136 | 2016;11;26;14;00;6.47;71.00;1014.90;0.00;0.00;29.96;249.61;40.32
137 | 2016;11;26;15;00;5.95;74.00;1013.90;0.00;0.00;30.30;249.84;40.68
138 | 2016;11;26;16;00;4.98;78.00;1013.80;0.00;0.00;29.16;249.78;39.24
139 | 2016;11;26;17;00;4.71;79.00;1013.80;0.00;0.00;31.42;251.98;40.32
140 | 2016;11;26;18;00;4.50;80.00;1012.60;0.00;0.00;31.96;255.65;42.12
141 | 2016;11;26;19;00;4.37;81.00;1011.50;0.10;0.00;32.91;250.18;43.56
142 | 2016;11;26;20;00;4.45;83.00;1011.40;0.00;0.00;32.11;250.35;44.64
143 | 2016;11;26;21;00;4.32;86.00;1011.00;0.00;0.00;31.21;258.69;42.84
144 | 2016;11;26;22;00;4.18;88.00;1010.70;0.00;0.00;32.57;256.58;43.92
145 | 2016;11;26;23;00;4.20;88.00;1010.80;0.00;0.00;31.85;259.58;42.84
146 | 2016;11;27;00;00;4.32;90.00;1009.60;0.00;0.00;31.78;260.22;43.56
147 | 2016;11;27;01;00;4.70;91.00;1009.80;0.00;0.00;32.02;261.60;41.04
148 | 2016;11;27;02;00;4.76;92.00;1009.50;0.00;0.00;33.28;264.41;42.84
149 | 2016;11;27;03;00;4.65;94.00;1009.20;0.00;0.00;32.04;270.00;40.68
150 | 2016;11;27;04;00;4.63;95.00;1009.50;0.00;0.00;29.93;273.45;37.80
151 | 2016;11;27;05;00;4.45;93.00;1009.70;0.00;0.00;31.68;270.65;39.96
152 | 2016;11;27;06;00;4.26;92.00;1009.80;0.00;0.00;34.23;272.41;44.64
153 | 2016;11;27;07;00;4.24;92.00;1009.20;0.00;0.00;33.67;276.14;43.56
154 | 2016;11;27;08;00;4.66;89.00;1010.50;0.00;0.00;32.62;292.04;42.12
155 | 2016;11;27;09;00;5.19;73.00;1010.80;0.00;0.00;29.38;306.03;39.24
156 | 2016;11;27;10;00;5.33;71.00;1011.60;0.00;0.00;32.78;301.07;40.68
157 | 2016;11;27;11;00;5.76;65.00;1012.40;0.00;0.00;34.30;309.04;41.40
158 | 2016;11;27;12;00;6.05;59.00;1012.30;0.00;0.00;35.31;309.21;45.36
159 | 2016;11;27;13;00;6.31;52.00;1009.40;0.00;0.00;28.86;319.55;37.80
160 | 2016;11;27;14;00;5.88;49.00;1010.10;0.00;0.00;30.60;323.13;38.52
161 | 2016;11;27;15;00;4.99;51.00;1010.50;0.00;0.00;29.09;323.56;37.80
162 | 2016;11;27;16;00;3.70;56.00;1011.40;0.00;0.00;26.83;319.90;37.80
163 | 2016;11;27;17;00;2.79;61.00;1012.10;0.00;0.00;26.23;316.67;38.16
164 | 2016;11;27;18;00;2.23;63.00;1012.10;0.00;0.00;25.48;317.29;37.80
165 | 2016;11;27;19;00;2.38;57.00;1012.40;0.00;0.00;28.36;326.92;40.32
166 | 2016;11;27;20;00;1.87;58.00;1013.30;0.00;0.00;27.46;325.68;39.24
167 | 2016;11;27;21;00;2.02;62.00;1013.90;0.00;0.00;29.06;326.11;39.60
168 | 2016;11;27;22;00;1.87;65.00;1014.70;0.00;0.00;32.27;321.34;41.04
169 | 2016;11;27;23;00;1.39;71.00;1014.90;0.00;0.00;33.90;318.01;44.28
170 | 2016;11;28;00;00;1.22;79.00;1014.80;0.00;0.00;37.93;314.62;52.56
171 | 2016;11;28;01;00;1.24;85.00;1015.90;0.00;0.00;42.64;319.45;59.40
172 | 2016;11;28;02;00;0.95;92.00;1016.40;0.00;0.21;53.78;328.97;60.48
173 | 2016;11;28;03;00;1.01;92.00;1017.40;0.00;0.07;50.32;329.95;56.16
174 | 2016;11;28;04;00;1.02;92.00;1018.20;0.00;0.07;50.24;332.70;54.72
175 | 2016;11;28;05;00;0.97;91.00;1019.00;0.00;0.00;48.60;337.80;57.96
176 | 2016;11;28;06;00;0.81;89.00;1020.80;0.00;0.00;49.98;340.65;56.16
177 | 2016;11;28;07;00;0.85;88.00;1020.80;0.00;0.00;52.96;343.41;59.40
178 | 2016;11;28;08;00;0.90;88.00;1022.30;0.00;0.00;52.17;343.57;65.52
179 | 2016;11;28;09;00;1.49;85.00;1023.50;0.00;0.00;54.24;347.35;64.44
180 | 2016;11;28;10;00;2.23;77.00;1024.30;0.00;0.00;55.24;352.13;61.56
181 | 2016;11;28;11;00;2.57;72.00;1025.70;0.00;0.00;56.78;354.54;64.80
182 | 2016;11;28;12;00;2.93;69.00;1027.40;0.00;0.00;55.22;355.89;60.12
183 | 2016;11;28;13;00;1.94;77.00;1024.40;0.00;0.00;41.66;6.45;48.96
184 | 2016;11;28;14;00;1.70;78.00;1025.10;0.00;0.00;39.05;5.29;46.44
185 | 2016;11;28;15;00;1.20;82.00;1027.10;0.00;0.00;33.91;3.65;42.12
186 | 2016;11;28;16;00;0.14;85.00;1027.90;0.00;0.00;26.01;355.24;35.28
187 | 2016;11;28;17;00;-0.30;86.00;1028.50;0.00;0.00;23.34;340.17;39.24
188 | 2016;11;28;18;00;-0.44;86.00;1029.40;0.00;0.00;24.48;331.93;37.08
189 | 2016;11;28;19;00;-0.68;86.00;1029.70;0.00;0.00;22.47;324.78;29.88
190 | 2016;11;28;20;00;-0.72;88.00;1030.30;0.00;0.00;22.92;313.73;29.16
191 | 2016;11;28;21;00;-0.64;88.00;1030.80;0.00;0.00;22.39;306.50;32.04
192 | 2016;11;28;22;00;-0.70;90.00;1030.90;0.00;0.00;24.64;295.07;34.92
193 | 2016;11;28;23;00;-0.74;90.00;1030.70;0.00;0.00;27.35;290.82;34.92
194 | 2016;11;29;00;00;-0.40;86.00;1030.40;0.00;0.00;30.17;289.52;40.32
195 | 2016;11;29;01;00;-0.12;83.00;1030.20;0.00;0.00;33.13;289.03;42.84
196 | 2016;11;29;02;00;0.07;80.00;1029.90;0.00;0.00;35.46;285.31;47.52
197 | 2016;11;29;03;00;0.09;80.00;1029.80;0.00;0.00;38.51;283.52;47.52
198 | 2016;11;29;04;00;0.17;80.00;1029.20;0.00;0.00;41.21;284.16;55.80
199 | 2016;11;29;05;00;0.17;86.00;1028.20;0.00;0.00;44.28;282.68;54.72
200 | 2016;11;29;06;00;0.45;88.00;1028.80;0.00;0.00;48.28;284.24;60.48
201 | 2016;11;29;07;00;0.12;89.00;1028.10;0.00;0.00;49.07;287.50;57.60
202 | 2016;11;29;08;00;0.54;89.00;1028.20;0.00;0.00;49.35;293.20;57.24
203 | 2016;11;29;09;00;1.57;90.00;1028.60;0.00;0.00;48.10;300.60;54.36
204 | 2016;11;29;10;00;2.97;92.00;1028.90;0.00;0.00;45.32;308.87;51.48
205 | 2016;11;29;11;00;3.74;92.00;1029.10;0.00;0.00;45.87;312.46;50.04
206 | 2016;11;29;12;00;4.09;90.00;1029.90;0.00;0.00;45.06;314.03;48.60
207 | 2016;11;29;13;00;5.42;78.00;1028.10;0.00;0.00;22.97;302.20;31.32
208 | 2016;11;29;14;00;5.55;77.00;1027.60;0.00;0.00;22.57;303.94;30.24
209 | 2016;11;29;15;00;5.49;73.00;1028.70;0.00;0.00;22.47;305.22;29.16
210 | 2016;11;29;16;00;4.79;78.00;1028.90;0.00;0.00;17.71;296.57;25.20
211 | 2016;11;29;17;00;4.48;83.00;1029.40;0.00;0.00;16.04;279.04;22.68
212 | 2016;11;29;18;00;3.83;87.00;1029.00;0.00;0.00;18.72;270.00;23.76
213 | 2016;11;29;19;00;3.70;84.00;1029.00;0.00;0.00;23.80;273.47;31.32
214 | 2016;11;29;20;00;3.27;82.00;1029.50;0.00;0.00;25.20;270.82;33.12
215 | 2016;11;29;21;00;2.43;81.00;1029.50;0.00;0.00;22.75;265.46;32.40
216 | 2016;11;29;22;00;2.08;80.00;1029.10;0.00;0.00;26.48;262.97;33.48
217 | 2016;11;29;23;00;1.64;83.00;1028.90;0.00;0.00;24.72;257.38;34.56
218 | 2016;11;30;00;00;0.84;82.00;1028.00;0.00;0.00;25.52;253.61;38.88
219 | 2016;11;30;01;00;0.30;81.00;1028.10;0.00;0.00;28.39;254.55;39.96
220 | 2016;11;30;02;00;-0.16;84.00;1027.40;0.10;0.00;35.07;252.68;41.76
221 | 2016;11;30;03;00;-0.44;88.00;1026.90;0.20;0.00;43.48;255.62;50.40
222 | 2016;11;30;04;00;-0.40;89.00;1025.90;0.10;0.00;45.41;255.30;50.04
223 | 2016;11;30;05;00;-0.20;89.00;1024.70;0.00;0.00;46.89;255.32;53.64
224 | 2016;11;30;06;00;-0.14;90.00;1024.80;0.00;0.00;50.14;257.56;54.00
225 | 2016;11;30;07;00;-0.22;91.00;1023.40;0.10;0.21;51.55;259.95;54.72
226 | 2016;11;30;08;00;0.23;92.00;1023.70;0.10;0.21;50.84;266.75;55.44
227 | 2016;11;30;09;00;1.29;87.00;1023.10;0.00;0.00;50.50;273.68;56.16
228 | 2016;11;30;10;00;2.07;86.00;1022.80;0.00;0.00;48.42;278.55;54.72
229 | 2016;11;30;11;00;3.60;85.00;1022.70;0.00;0.00;48.73;282.80;54.36
230 | 2016;11;30;12;00;4.82;84.00;1022.80;0.00;0.00;48.28;287.35;56.16
231 | 2016;11;30;13;00;4.06;71.00;1019.70;0.00;0.00;47.72;275.19;52.56
232 | 2016;11;30;14;00;4.22;75.00;1019.10;0.00;0.00;45.92;275.40;51.12
233 | 2016;11;30;15;00;3.88;80.00;1019.30;0.00;0.00;43.66;273.78;48.24
234 | 2016;11;30;16;00;3.37;86.00;1018.80;0.00;0.00;41.41;271.00;47.88
235 | 2016;11;30;17;00;3.43;89.00;1018.70;0.00;0.00;41.40;269.50;48.60
236 | 2016;11;30;18;00;3.42;93.00;1018.20;0.00;0.00;43.20;270.00;49.32
237 | 2016;11;30;19;00;3.67;94.00;1017.60;0.00;0.00;41.55;278.97;48.60
238 | 2016;11;30;20;00;4.35;94.00;1018.00;0.00;0.00;37.69;294.85;46.08
239 | 2016;11;30;21;00;4.29;91.00;1018.70;0.00;0.00;36.83;291.80;45.36
240 | 2016;11;30;22;00;3.73;94.00;1018.40;0.00;0.00;35.31;290.28;43.20
241 | 2016;11;30;23;00;3.08;99.00;1018.50;0.00;0.00;32.56;288.03;41.04
242 | 2016;12;01;00;00;3.40;97.00;1018.60;0.00;0.00;33.27;283.13;38.88
243 | 2016;12;01;01;00;3.42;97.00;1018.10;0.00;0.00;26.93;278.46;39.60
244 | 2016;12;01;02;00;3.96;98.00;1017.00;0.00;0.00;28.52;265.66;34.92
245 | 2016;12;01;03;00;3.72;97.00;1016.40;0.40;0.00;21.79;239.20;30.96
246 | 2016;12;01;04;00;3.92;97.00;1015.30;0.50;0.00;36.66;262.67;49.68
247 | 2016;12;01;05;00;4.04;97.00;1013.70;0.50;0.00;39.42;260.54;45.36
248 | 2016;12;01;06;00;4.33;97.00;1013.10;0.10;0.00;42.20;266.58;47.88
249 | 2016;12;01;07;00;4.61;97.00;1012.00;0.30;0.00;39.66;266.88;48.24
250 | 2016;12;01;08;00;4.97;97.00;1010.60;0.40;0.00;45.72;269.55;54.36
251 | 2016;12;01;09;00;5.63;96.00;1010.00;0.40;0.00;49.04;273.37;54.72
252 | 2016;12;01;10;00;6.34;94.00;1009.50;0.20;0.00;49.84;278.31;55.80
253 | 2016;12;01;11;00;7.83;89.00;1008.30;0.10;0.00;51.01;287.67;56.88
254 | 2016;12;01;12;00;8.59;87.00;1008.10;0.10;0.00;50.89;295.11;56.16
255 | 2016;12;01;13;00;6.10;92.00;1007.80;0.80;0.00;9.66;243.43;15.48
256 | 2016;12;01;14;00;6.14;93.00;1006.50;0.70;0.00;7.42;219.09;19.44
257 | 2016;12;01;15;00;6.08;96.00;1005.40;0.80;0.00;5.63;206.57;27.36
258 | 2016;12;01;16;00;7.09;95.00;1004.60;0.80;0.00;15.46;282.09;39.60
259 | 2016;12;01;17;00;7.30;93.00;1004.60;0.60;0.00;25.84;288.69;41.04
260 | 2016;12;01;18;00;7.23;92.00;1003.40;0.40;0.00;26.11;285.19;41.04
261 | 2016;12;01;19;00;7.11;93.00;1002.00;0.40;0.00;25.86;278.81;40.68
262 | 2016;12;01;20;00;7.11;91.00;1001.10;0.40;0.00;32.79;278.84;47.52
263 | 2016;12;01;21;00;6.88;90.00;1000.00;0.40;0.00;35.52;280.51;51.12
264 | 2016;12;01;22;00;6.59;90.00;999.00;0.40;0.00;37.17;278.91;55.44
265 | 2016;12;01;23;00;6.40;89.00;998.40;0.40;0.00;40.03;281.41;57.60
266 | 2016;12;02;00;00;6.12;88.00;997.00;0.30;0.00;40.88;289.55;56.16
267 | 2016;12;02;01;00;5.04;74.00;997.80;0.30;0.00;45.19;300.65;61.20
268 | 2016;12;02;02;00;4.16;75.00;998.30;0.10;0.07;43.11;311.28;58.68
269 | 2016;12;02;03;00;3.56;73.00;998.80;0.10;0.21;40.71;308.90;55.44
270 | 2016;12;02;04;00;3.01;68.00;999.20;0.00;0.00;41.62;307.27;58.68
271 | 2016;12;02;05;00;2.62;80.00;999.40;0.00;0.00;40.34;302.98;58.32
272 | 2016;12;02;06;00;2.88;86.00;1001.40;0.00;0.00;43.99;331.13;61.92
273 | 2016;12;02;07;00;2.66;81.00;1004.70;0.00;0.00;44.09;8.92;61.92
274 | 2016;12;02;08;00;2.37;74.00;1008.20;0.00;0.00;31.35;2.63;46.80
275 | 2016;12;02;09;00;3.20;79.00;1010.70;0.00;0.00;28.14;343.65;38.52
276 | 2016;12;02;10;00;3.71;76.00;1012.50;0.00;0.00;27.56;340.14;34.56
277 | 2016;12;02;11;00;4.00;74.00;1013.80;0.00;0.00;25.49;323.62;34.56
278 | 2016;12;02;12;00;4.82;67.00;1014.10;0.00;0.00;25.58;309.29;33.84
279 | 2016;12;02;13;00;4.84;64.00;1012.40;0.00;0.00;40.51;317.52;45.36
280 | 2016;12;02;14;00;4.94;67.00;1013.00;0.00;0.00;37.94;316.15;42.84
281 | 2016;12;02;15;00;4.81;72.00;1014.00;0.00;0.00;34.62;314.16;40.68
282 | 2016;12;02;16;00;2.96;82.00;1014.30;0.00;0.00;32.11;307.26;37.80
283 | 2016;12;02;17;00;2.27;85.00;1015.00;0.00;0.00;30.50;300.50;44.28
284 | 2016;12;02;18;00;1.60;87.00;1015.70;0.00;0.00;28.67;298.50;36.36
285 | 2016;12;02;19;00;2.60;86.00;1015.80;0.00;0.00;29.30;307.01;37.08
286 | 2016;12;02;20;00;2.67;89.00;1016.10;0.00;0.00;28.12;309.81;37.08
287 | 2016;12;02;21;00;1.74;95.00;1016.90;0.00;0.00;24.80;309.70;33.48
288 | 2016;12;02;22;00;1.21;95.00;1017.20;0.00;0.00;23.19;306.16;32.04
289 | 2016;12;02;23;00;1.23;93.00;1017.70;0.00;0.00;22.41;313.70;30.96
290 | 2016;12;03;00;00;0.64;92.00;1018.70;0.00;0.00;23.42;315.00;29.52
291 | 2016;12;03;01;00;0.56;91.00;1019.00;0.00;0.00;24.69;314.41;33.48
292 | 2016;12;03;02;00;0.34;91.00;1019.40;0.00;0.00;26.98;315.00;31.68
293 | 2016;12;03;03;00;0.33;92.00;1020.80;0.00;0.00;30.11;318.88;35.64
294 | 2016;12;03;04;00;0.60;91.00;1021.40;0.00;0.00;34.36;324.81;38.88
295 | 2016;12;03;05;00;1.12;90.00;1022.20;0.00;0.00;39.12;333.20;40.68
296 | 2016;12;03;06;00;0.46;93.00;1023.20;0.00;0.00;34.90;338.20;40.68
297 | 2016;12;03;07;00;-0.24;93.00;1023.60;0.00;0.00;27.21;332.42;34.92
298 | 2016;12;03;08;00;-0.42;87.00;1024.90;0.00;0.00;24.48;323.97;31.32
299 | 2016;12;03;09;00;0.56;80.00;1025.70;0.00;0.00;24.76;319.13;32.76
300 | 2016;12;03;10;00;1.80;74.00;1026.20;0.00;0.00;27.03;318.24;30.24
301 | 2016;12;03;11;00;2.68;66.00;1026.40;0.00;0.00;28.02;317.08;29.16
302 | 2016;12;03;12;00;3.29;57.00;1027.00;0.00;0.00;29.41;309.54;39.60
303 | 2016;12;03;13;00;4.17;69.00;1023.70;0.00;0.00;24.16;294.66;30.60
304 | 2016;12;03;14;00;4.14;64.00;1023.80;0.00;0.00;23.68;289.54;30.24
305 | 2016;12;03;15;00;3.75;67.00;1024.80;0.00;0.00;22.55;289.59;30.24
306 | 2016;12;03;16;00;2.67;74.00;1024.60;0.00;0.00;21.13;283.80;29.88
307 | 2016;12;03;17;00;1.95;79.00;1025.20;0.00;0.00;21.83;283.35;31.32
308 | 2016;12;03;18;00;1.31;84.00;1025.30;0.00;0.00;22.03;281.31;31.68
309 | 2016;12;03;19;00;0.96;88.00;1025.40;0.00;0.00;23.23;282.53;33.84
310 | 2016;12;03;20;00;0.78;92.00;1026.30;0.00;0.00;22.45;285.82;33.48
311 | 2016;12;03;21;00;0.55;93.00;1026.40;0.00;0.00;20.62;286.22;30.24
312 | 2016;12;03;22;00;0.86;91.00;1026.50;0.00;0.00;20.43;284.28;34.20
313 | 2016;12;03;23;00;1.02;91.00;1026.90;0.00;0.00;20.19;281.31;37.08
314 | 2016;12;04;00;00;0.95;91.00;1026.60;0.00;0.00;19.60;277.39;30.60
315 | 2016;12;04;01;00;0.60;92.00;1026.90;0.00;0.00;17.64;271.17;25.56
316 | 2016;12;04;02;00;0.30;93.00;1027.30;0.00;0.00;18.01;272.29;29.52
317 | 2016;12;04;03;00;0.09;93.00;1027.50;0.00;0.00;17.67;273.50;28.44
318 | 2016;12;04;04;00;0.63;90.00;1028.40;0.00;0.00;18.36;271.12;28.44
319 | 2016;12;04;05;00;0.34;93.00;1028.30;0.00;0.00;20.16;268.98;24.48
320 | 2016;12;04;06;00;-0.06;93.00;1028.90;0.00;0.00;25.56;270.00;30.60
321 | 2016;12;04;07;00;-0.19;93.00;1029.40;0.00;0.00;27.91;276.67;29.88
322 | 2016;12;04;08;00;-0.16;94.00;1029.90;0.00;0.00;25.92;279.59;28.80
323 | 2016;12;04;09;00;0.41;92.00;1030.60;0.00;0.00;24.37;282.80;26.64
324 | 2016;12;04;10;00;1.14;91.00;1031.20;0.00;0.00;22.70;284.70;22.68
325 | 2016;12;04;11;00;1.49;91.00;1031.70;0.00;0.00;21.57;284.50;20.16
326 | 2016;12;04;12;00;2.25;88.00;1032.50;0.00;0.00;20.28;286.50;17.64
327 | 2016;12;04;13;00;1.19;88.00;1030.90;0.00;0.00;16.85;250.02;16.92
328 | 2016;12;04;14;00;1.38;89.00;1031.20;0.00;0.00;18.12;249.04;18.36
329 | 2016;12;04;15;00;1.16;91.00;1032.20;0.00;0.00;17.76;252.30;21.24
330 | 2016;12;04;16;00;0.90;93.00;1032.30;0.00;0.00;17.25;246.64;21.96
331 | 2016;12;04;17;00;0.81;94.00;1032.30;0.00;0.00;17.55;244.49;21.96
332 | 2016;12;04;18;00;0.70;94.00;1032.20;0.00;0.00;18.53;245.92;21.60
333 | 2016;12;04;19;00;0.67;94.00;1032.70;0.00;0.00;21.13;246.93;24.48
334 | 2016;12;04;20;00;0.63;94.00;1032.80;0.00;0.00;22.93;247.86;25.56
335 | 2016;12;04;21;00;0.57;94.00;1032.60;0.00;0.00;24.97;245.28;24.84
336 | 2016;12;04;22;00;0.56;94.00;1032.50;0.00;0.00;26.76;246.19;32.04
337 | 2016;12;04;23;00;0.56;95.00;1032.70;0.00;0.00;27.35;249.18;27.36
338 | 2016;12;05;00;00;0.52;95.00;1032.60;0.00;0.00;27.90;250.40;28.80
339 | 2016;12;05;01;00;0.64;95.00;1032.60;0.00;0.00;27.48;248.48;29.88
340 | 2016;12;05;02;00;0.74;95.00;1032.20;0.00;0.00;27.75;247.09;33.84
341 | 2016;12;05;03;00;0.83;95.00;1032.40;0.00;0.00;28.95;248.86;35.28
342 | 2016;12;05;04;00;0.86;95.00;1032.10;0.00;0.00;29.50;250.02;36.72
343 | 2016;12;05;05;00;0.77;95.00;1031.30;0.00;0.00;30.30;249.84;37.44
344 | 2016;12;05;06;00;0.67;95.00;1031.90;0.00;0.00;30.76;249.44;33.48
345 | 2016;12;05;07;00;0.46;95.00;1031.10;0.00;0.00;31.56;249.29;34.20
346 | 2016;12;05;08;00;0.23;94.00;1030.70;0.00;0.00;33.96;248.88;36.36
347 | 2016;12;05;09;00;0.43;92.00;1030.60;0.00;0.00;36.83;248.20;41.04
348 | 2016;12;05;10;00;1.01;87.00;1030.40;0.00;0.00;39.97;252.71;41.76
349 | 2016;12;05;11;00;1.57;84.00;1029.90;0.00;0.00;41.65;255.48;43.20
350 | 2016;12;05;12;00;2.26;82.00;1029.90;0.00;0.00;41.51;258.50;43.20
351 | 2016;12;05;13;00;2.96;80.00;1029.00;0.00;0.00;40.90;260.37;43.92
352 | 2016;12;05;14;00;2.98;81.00;1028.00;0.00;0.00;40.19;260.20;44.28
353 | 2016;12;05;15;00;2.41;84.00;1028.60;0.00;0.00;39.90;259.60;44.28
354 | 2016;12;05;16;00;1.87;86.00;1028.60;0.00;0.00;38.77;259.84;45.00
355 | 2016;12;05;17;00;1.60;88.00;1027.60;0.00;0.00;38.40;263.54;44.28
356 | 2016;12;05;18;00;1.34;89.00;1027.60;0.00;0.00;38.24;266.22;42.84
357 | 2016;12;05;19;00;1.41;88.00;1028.00;0.00;0.00;38.55;267.86;42.84
358 | 2016;12;05;20;00;1.42;88.00;1028.20;0.00;0.00;37.83;267.82;42.48
359 | 2016;12;05;21;00;1.37;89.00;1027.70;0.00;0.00;38.54;268.39;41.76
360 | 2016;12;05;22;00;1.44;92.00;1027.70;0.00;0.00;38.89;271.59;40.32
361 | 2016;12;05;23;00;1.66;94.00;1027.50;0.00;0.00;37.61;275.49;39.24
362 |
--------------------------------------------------------------------------------