System analizy i dostarczania danych dla predyktora

Transkrypt

System analizy i dostarczania danych dla predyktora
System analizy i dostarczania danych dla
predyktora zanieczyszczeń powietrza
Grant: „Opracowanie, zainstalowanie, testowanie predyktora
zanieczyszczeń powietrza w oparciu o dane immisji, sieci
neuronowe i prognozowane parametry meteorologiczne.”
dr Mieczysław Sowiński (IPJ)
mgr inż. Jacek Szlachciak (IPJ)
mgr inż. Marek Lasiewicz (IPJ)
Paweł Rożnowski (PW)
Platforma sprzętowa i programowa
- serwer
•
komputer klasy PC
– 2 procesory Intel Pentium III 550 MHz
– 512 MB pamięci RAM
•
system operacyjny
•
baza danych
•
pobieranie, przetwarzanie i wprowadzanie danych
•
system kontroli wersji
•
serwer http
•
automatyczne uruchamianie skryptów i akwizycja danych
•
prezentacja danych na stronie www
– Ubuntu wersja 9.04
– PostgreSQL wersja 8.3
– język Python wersja 2.5.2
– Mercurial wersja 1.1.2
– Apache wersja 2.2.11
– Cron wersja 3.0
– Django wersja 1.1
1
Platforma programowa
- komputer do analizy danych i predykcji zanieczyszczeń
• predykcja zanieczyszczeń
– Matlab 7.6.0 (R2008a)
• połączenie z bazą danych
– PostgreSQL ODBC Connector 8.04.01
• analiza danych
– MS Excel 2003
Źródła danych
•
•
•
•
Interdyscyplinarne Centrum Modelowania
Matematycznego i Komputerowego (ICM)
dane pobierane z serwera ftp ICM-u
model matematyczny (siatka 14 km x 14 km)
postać danych: spakowane archiwum w formacie
zip
rodzaj danych: temperatura powietrza, wilgotność
względna, ciśnienie atmosferyczne, zachmurzenie
ogólne, opad całkowity, składowe U i V wiatru,
dane geograficzne punktów
2
Źródła danych – ICM
Źródła danych
Instytut Chemii i Techniki Jądrowej (ICHTJ)
• dane pobierane z serwera WWW za pomocą
skryptu http://www.ichtj.waw.pl/amiz/swierk.php
• postać danych: plik w formacie txt
• rodzaj danych: czas pomiaru, zapylenie,
temperatura, wilgotność, ciśnienie, numer
urządzenia pomiarowego
3
Struktura bazy danych
Baza danych jest przechowywana w systemie do zarządzania relacyjnymi
bazami danych PostgreSQL i składa się z następujących tabel:
Opis zawartości
Tabela
calendar
kwalifikacja dat pod względem: dzień tygodnia, niedziela lub święto, dzień
wolny, miesiąc, sezon letni lub zimowy, sezon grzewczy
m_AMIZ
dane zbierane prze ICHiTJ za pomocą miernika zapylenia powietrza
AMIZ-2004
m_ICM
predykcja parametrów meteorologicznych stworzoną przez ICM.
m_ursynow
dane ze stacji meteorologicznej WIOŚ-u na Ursynowie
otwock
wektory wejściowe do otrzymania predykcji dla Otwocka
place
współrzędne geograficzne miejsc, dla których otrzymywana jest predykcja
prediction
wartości pyłu zawieszonego obliczone za pomocą sieci neuronowej;
predykcja jedno i dwu dobowa.
predictor
opis rodzaju predyktora użytego do otrzymania predykcji zapylenia
ursynow
wektory wejściowe do otrzymania predykcji dla Ursynowa
Zautomatyzowanie procesu predykcji zapylenia
Serwer WWW ICiTJ (AMIZ)
Serwer FTP ICM
Internet
plik z danymi
predykcyjnymi
IRISS
wektor danych
wejściowych dla
predyktora
PC z predyktorem
4
Zautomatyzowanie procesu predykcji zapylenia
•
Predykcja jest przeprowadzana w środowisku Matlab zainstalowanym na komputerze
pracującym pod systemem Windows XP. Za pomocą systemowego programu do
zarządzania zaplanowanymi zadaniami wywoływane są dwa skrypty napisane w języku
Python oraz skrypt wywołujący program w Matlabie z odpowiednimi parametrami.
Skrypty w fazie przygotowania:
• Pierwszy skrypt „pythonowy” pobiera wektor danych wejściowych z serwera, a następnie
zapisuje go w pliku tekstowym. Wektor wejściowy na serwerze jest generowany za
pomocą widoków SQL-owych, których schemat działania jest następujący:
- wybranie najnowszej wersji danych meteorologicznych z ICM-u
- policzenie średnich dobowych dla danych z ICM-u
- policzenie średnich dobowych dla stężenia pyłu z miernika AMIZ
- wybranie stężenia pyłu dla siedmiu dni wstecz
- wybranie danych z ICM dla predykcji jedno- i dwudniowej
- wybranie danych kalendarzowych dla predykcji jedno- i dwudniowej.
•
Skrypt „matlabowy” wywoływany jest z dwoma parametrami: nazwą pliku z danymi
wejściowymi i nazwą pliku na dane wyjściowe.
•
Drugi skrypt „pythonowy” przesyła plik z danymi wyjściowymi do serwera, gdzie są one
wprowadzane do bazy danych.
Zautomatyzowanie procesu predykcji zapylenia
• W wyniku zautomatyzowania procesu predykcji,
uzyskane dane PM10 dla AMIZ Otwock oraz dane
meteorologiczne z ICM są generowane bezpośrednio
na stronie internetowej (dostęp w sieci LAN)
http://iriss/dust/get_otwock, skąd za pomocą pliku
tekstowego txt są wprowadzane do programu Matlab.
• Finalizacją procesu testowania predyktora
zanieczyszczeń jest wpisanie otrzymanych danych w
tabelę programu MS Excel i utworzenie wykresów.
5
Wstępne wyniki predykcji PM10 dla WIOŚ Ursynów
Wstępne wyniki predykcji zanieczyszczenia pyłem zawieszonym PM10 dla WIOŚ Ursynów (predykcja w czasie
rzeczywistym):model "step-by-step: 7 dni wstecz"
Prognoza na następny dzień (dane meteo z ICM)
Dane rzeczywiste
Prognoza na dwa dni (dane meteo z ICM)
80
70
60
50
30
mg/m 3
40
20
10
2009-10-22
2009-10-21
2009-10-20
2009-10-19
2009-10-18
2009-10-17
2009-10-16
2009-10-15
2009-10-14
2009-10-13
2009-10-12
2009-10-11
2009-10-10
2009-10-09
2009-10-08
2009-10-07
2009-10-06
2009-10-05
2009-10-04
2009-10-03
2009-10-02
2009-10-01
0
Data
Wstępne wyniki predykcji PM10 dla AMIZ Otwock
Wstępne wyniki predykcji zanieczyszczenia pyłem zawieszonym PM10 dla AMIZ Otwock (predykcja w czasie
rzeczywistym):model "step-by-step'7 dni wstecz"
Prognoza na następny dzień (dane meteo z ICM)
Dane rzeczywiste
Prognoza na dwa dni (dane meteo z ICM)
250
200
mg/m
3
150
100
50
2009-10-27
2009-10-26
2009-10-25
2009-10-24
2009-10-23
2009-10-22
2009-10-21
2009-10-20
2009-10-19
2009-10-18
2009-10-17
2009-10-16
2009-10-15
2009-10-14
2009-10-13
2009-10-12
2009-10-11
2009-10-10
2009-10-09
2009-10-08
2009-10-07
2009-10-06
2009-10-05
2009-10-04
2009-10-03
2009-10-02
2009-10-01
0
Data
6
Wstępne wyniki predykcji PM2.5 dla AMIZ Otwock
Wstępne wyniki predykcji zanieczyszczenia pyłem zawieszonym PM2.5 dla AMIZ Otwock (predykcja w czasie
rzeczywistym):model"step-by-step:7 dni wstecz"
Predykcja na następny dzień (dane meteo z ICM)
Dane rzeczywiste
Prognoza na dwa dni (dane meteo z ICM)
160
140
120
80
mg/m3
100
60
40
20
2009-10-27
2009-10-26
2009-10-25
2009-10-24
2009-10-23
2009-10-22
2009-10-21
2009-10-20
2009-10-19
2009-10-18
2009-10-17
2009-10-16
2009-10-15
2009-10-14
2009-10-13
2009-10-12
2009-10-11
2009-10-10
2009-10-09
2009-10-08
2009-10-07
2009-10-06
2009-10-05
2009-10-04
2009-10-03
2009-10-02
2009-10-01
0
Data
Podsumowanie ostatniej fazy projektu
• koncepcja automatycznego predyktora
została przetestowana i wdrożona
• ilość zadań wykonywanych przez serwer
bazodanowy przekroczyła możliwości
wydajnościowe tego sprzętu - przy dalszym
rozwoju systemu wymaga będzie wymiana
serwera
7