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