J. Siewert przetwarzanie i wizualizacja zobrazowań z satelity
Transkrypt
J. Siewert przetwarzanie i wizualizacja zobrazowań z satelity
Autor: Jolanta Siewert Opiekun naukowy: dr inż. Janusz M. Jasiński PRZETWARZANIE I WIZUALIZACJA ZOBRAZOWAŃ Z SATELITY METEOSAT 10 ZA POMOCĄ APLIKACJI OPRACOWANEJ W JĘZYKU PROGRAMOWANIA PYTHON Streszczenie: Ciągły wzrost danych z satelitów meteorologicznych stwarza synoptykom wiele nowych możliwości prognostycznych. Aby dane te stały się użytecznym źródłem informacji meteorologicznej muszą zostać poddane przetwarzaniu przy użyciu odpowiedniego oprogramowania. Wysoka cena profesjonalnego i dedykowanego oprogramowania do post-processingu i wizualizacji zobrazowań z satelitów meteorologicznych stała się powodem podjętej w projekcie próby opracowania narzędzia do wyświetlania, przetwarzania i analizy zobrazowań z satelity METEOSAT 10. Ponadto w projekcie przedstawiono praktyczne możliwości wykorzystania języka programowania Python i jego bibliotek meteorologicznych. Słowa kluczowe: meteorologia satelitarna, przetwarzanie zobrazowań z satelitów meteorologicznych 1. Wstęp W ostatnim czasie na całym świecie znacznie wzrosła liczba danych pochodzących z satelitów meteorologicznych, co stwarza bardzo wiele nowych możliwości prognostycznych. Detekcja mgieł i niskich chmur warstwowych na podstawie danych satelitarnych nie jest zadaniem łatwym. Zjawiska te rozwijają się najintensywniej w nocy, gdy zobrazowania widzialne nie są dostępne, a kontrast termiczny pomiędzy tymi zjawiskami i podłożem jest mniejszy niż rozdzielczość termalna zobrazowań podczerwonych. Aby surowe dane satelitarne stały się praktycznym źródłem informacji meteorologicznej w zakresie identyfikacji tych zjawisk, muszą one zostać poddane przetwarzaniu, które pozwoli wydobyć z nich użyteczne informacje oraz umożliwi oddzielić i opracować te dane w produkty, które są łatwe w interpretacji i użyciu dla synoptyków. Takimi produktami są między innymi kompozycje barwne zdjęć satelitarnych - kompozycje RGB, przeznaczone do analizy danych z satelitów meteorologicznych, które mają na celu wspomaganie procesu prognozowania krótkoterminowego i nowcastingu, szczególnie dla lokalnych warunków pogody. Mgły i niskie chmury warstwowe występują znacznie częściej niż inne niebezpieczne dla lotnictwa zjawiska atmosferyczne, szczególnie w okresie jesienno-zimowym. Dlatego też, tak bardzo podkreśla się ich znaczenie oraz wpływ na wykonywanie zadań lotniczych. Niskie podstawy chmur oraz ograniczona widzialność reprezentują jedne z trudniejszych do progno1 zowania elementów meteorologicznych dla modeli numerycznych. Coraz częściej synoptycy wykorzystują szczegółowe dane satelitarne, które dostarczają im informacji o fizycznych właściwościach chmur, takich jak temperatura wierzchołków, stan skupienia i wielkość cząstek chmur do monitorowania zasięgu występowania zachmurzenia niskiego i mgieł. W pracy przedstawiono możliwości wykorzystania bibliotek meteorologicznych napisanych w języku Python, w celu post-procesingu zobrazowań satelitarnych oraz wykonania kompozycji barwnych zdjęć satelitarnych do wykrywania mgieł i niskich chmur warstwowych. Praca zawiera ponadto wyniki analiz oraz ocenę przydatności otrzymanych kompozycji RGB w pracy operacyjnej. 2. Kompozycje barwne zdjęć satelitarnych W pracy wykorzystano zobrazowania z satelity metrologicznego METEOSAT 10, pozyskane przez ogólnodostępny, internetowy serwis danych satelitarnych EUMETSAT [6] oraz aplikację wykonaną w języku programowania Python. Aplikacja ta służy do wizualizacji i przetwarzania danych pochodzących z MSG2 SEVIRI. Narzędzie to oferuje proste, a zarazem bardzo użyteczne rozwiązania umożliwiające tworzenie kompozycji RGB. Rozwiązania te łączą informacje pochodzące z różnych kanałów satelitarnych w produkty, które w sumie dostarczają więcej informacji niż indywidualna analiza poszczególnych obrazów składowych. Aplikacja przystosowana jest do przetwarzania zobrazowań satelitarnych w formacie HRIT. Dane te przed przetwarzaniem zostały poddane dekompresji przy użyciu programu xRITDecompres [6]. Wykorzystane w pracy kompozycje RGB wykonano przy użyciu modułu Kompozycje (rys. 2.1). 2 Rys. 2.1. Widok okna aplikacji oraz modułu do tworzenia własnych kompozycji barwnych 3. Wybór środowiska programistycznego Do wykonania aplikacji służącej do tworzenia kompozycji barwnych zdjęć satelitarnych, użyto języka programowania Python. Wybór Pythona podyktowany był głównie czytelnością jezyka – Python jest interpretowalnym językiem programowania wysokiego poziomu. Jego składnia jest bardzo prosta, dlatego też osoby nie mające doświadczenia w programowaniu mogą postarać się o indywidualna interpretację kodu programu oraz ewentualne jego zmiany. Ponadto Pythona cechuje duża dostępność bibliotek pozwalających na tworzenie aplikacji okienkowych, aplikacji sieciowych i dokonywania obliczeń. Biblioteki meteorologiczne wykorzystane w projekcie zostały utworzone oraz są wykorzystywane przez Duński i Szwedki Instytut Meteorologiczny [9]. Użytkownicy oraz twórcy tych bibliotek stale uaktualniają i udoskonalają je, rozwiązując napotkane problemy podczas ich praktycznego wykorzystania. 4. Moduły meteorologiczne W celu realizacji projektu posłużono się bibliotekami Pythona zarówno dostępnymi w standardowej bibliotece (pygtk, gtk – moduły służące do obsługi interfejsu graficznego; os, 3 sys – moduły systemowe) [9] oraz specjalistycznymi modułami meteorologicznymi (mipp, mpop, pyresample, pycoast). Aplikacja wykorzystuje bibliotekę mipp (ang. Meteorological Ingest-Processing Package) do stworzenia wejściowej warstwy z danych w formacie HRIT [3]. Mipp obsługuje odczytywanie danych satelitarnych poziomu 1.5 (są to dane przetworzone z uwzględnieniem wstępnej kalibracji) i zamianę ich na format interpretowalny przez moduł mpop (ang. Meteorological Post-Processing Package). Pliki konfiguracyjne definiują satelitę, jej instrument i to gdzie dane te są przechowywane. Informacje te są udostępniane następnie modułowi mpop. Dzięki tej bibliotece metadane mogą być udostępniane w postaci krotki, zawierającej m. in. nazwę satelity, czas próbkowania, kanał i obszar próbkowania. Pyresample jest to biblioteka Pythona, która służy do resamplingu danych satelitarnych. Biblioteka ta daje możliwość zmiany projekcji zarówno zobrazowań pochodzących z satelitów geostacjonarnych jak i polarnych [2]. Meteorologiczny moduł mpop służy do post-procesingu zobrazowań satelitarnych, tworzenia kompozycji RGB. Moduł ten został tak skonstruowany, by możliwe było przetwarzanie zarówno zobrazowań z satelitów geostacjonarnych jak i polarnych. Głównym modułem mpop jest moduł scene, który zawiera dane i metadane satelitów oraz ich kanałów. Zapewnia on łatwe przetwarzanie danych z różnych rodzajów satelitów meteorologicznych, a zatem łatwe odnajdowanie poszczególnych kanałów poprzez przypisanie każdemu kanałowi jego centralnej długości fali. Innym istotnym elementem modułu mpop jest moduł imageo. Posiada on wiele funkcji do przetwarzania obrazu, umożliwia między innymi rozciąganie oraz korekcję gamma obrazu [4]. Pycoast jest modułem realizującym dodanie do rastra zobrazowania linii wybrzeży, rzek i granic państw. Aby tego dokonać konieczne jest pobranie zestawu współrzędnych tych obiektów - danych GSHHS (ang. Global Self-consistent, Hierarchical, High-resolution Geography Database) oraz WDBII (ang. World Data Bank II). Dane te pozyskano z NOAA (ang. National Geophysical Data Center) [7]. GSHHG oraz WDBII użyto w formacie shape. Do odczytu plików formatu shape wykorzystano moduł Shapefile.py. Wygładzenie granic przeprowadzono za pomocą modułu AGGdraw.py. 4 5. Praktyczne możliwości programu Tworzenie kompozycji barwnych ze zdjęć satelitarnych odbywa się na dwa sposoby: poprzez określenie parametrów modułu Własna Kompozycja – w rezultacie stworzenie własnej kompozycji, lub poprzez wywołanie zdefiniowanej w bibliotece mpop odpowiedniej nazwy kompozycji. Biblioteka ta określa następujące kompozycje RGB: Natural, Fog, Cloud Top, Air Mass, Ash, Convective, Dust, Green Snow, Night Fog, Red Snow [4]. Na rys. 5.1 przedstawiono wynik przetwarzania zobrazowań satelitarnych w konwencji Night fog RGB. Rys. 5.1. Przetworzone zobrazowanie z dnia 10.11.2013,godz. 20.00UTC, za pomocą kompozycji Night Fog RGB Kompozycja Night Fog RGB zdefiniowana jest w niżej przytoczony sposób: def night_fog(self): """Make a Night Fog RGB image composite. """ self.check_channels('M12', 'M15', 'M16') ch1 = self['M16'].data - self['M15'].data ch2 = self['M15'].data - self['M12'].data ch3 = self['M15'].data img = geo_image.GeoImage((ch1, ch2, ch3), self.area, self.time_slot, fill_value=(0, 0, 0), mode="RGB", crange=((-4, 2), (0, 6), (243, 293))) img.enhance(gamma=(1.0, 2.0, 1.0)) return img 5 Na rys. 5.2 przestawiono wynik przetwarzania zobrazowań w konwencji Fog RGB. Rys. 5.2. Przetworzone zobrazowanie z dnia 25.10.2013,godz. 05.45UTC, za pomocą kompozycji Fog RGB 6. Proces tworzenia kompozycji barwnych Kompozycje barwne zdjęć satelitarnych są wynikiem wieloletnich badań nad właściwościami fizycznymi poszczególnych kanałów spektralnych zdjęć satelitarnych oraz ich oddziaływania z danymi ciałami w zależności od ich składu i budowy. Uzyskany efekt końcowy badań w dużej mierze zależy zarówno od przypadkowych odkryć, jak i długotrwałych eksperymentów naukowców. W celu wykonania kompozycji barwnej należy: − dokładnie zdefiniować problem, który wymaga rozwiązania oraz określić przeznaczenie produktu; − dobrać i zgromadzić odpowiednie materiały wyjściowe (ze względu na przeznaczenie produktu, charakterystyki właściwości fizycznych badanych obiektów oraz poszczególnych kanałów spektralnych); − zmodyfikować i przetworzyć dane za pomocą odpowiedniego oprogramowania [5]. Wybrane kanały, czy też różnice kanałów przypisuje się do odpowiednich barw. Należy w miarę możliwości zachować konwencję barw, która pomaga w interpretacji kompozycji RGB. Dlatego też, na różnych produktach RGB tożsame właściwości fizyczne należy przypisywać do tych samych barw. Stosując się do powyższych zasad, w kompozycji Night Fog RGB różnicy temperatur jasnościowych kanałów: IR 12,0 – IR 10,8 µm przypisuje się barwę czerwoną, IR 10,8 – IR 3,9 µm barwę zieloną, a kanałowi IR 10,8 µm barwę niebieską. Dzię6 ki takiemu doborowi wybranych właściwości fizycznych do kolorów, uzyskana barwa jasnoniebieska odpowiada chmurom niskim i mgle, poprzez połączenie tych dwóch ostatnich barw – zielonej i niebieskiej. Podobnie w przypadku Fog RGB: różnicy temperatur jasnościowych kanałów IR 12,0 – IR 10,8 µm przypisuje się barwę czerwoną, a różnicy temperatur jasnościowych kanałów IR 10,8 – IR 8,7 µm barwę zieloną. W ten sposób na obu kompozycjach mgła i chmury niskie są koloru jasnoniebieskiego. Ocena otrzymanej kompozycji pod względem wyglądu, a głównie skuteczności identyfikacji wybranych elementów meteorologicznych, jest niezbędna przed przystąpieniem do korzystania z utworzonego RGB. Ważne jest to, aby dokonać krytycznej ceny otrzymanych produktów oraz być świadomym ograniczeń jakie niesie ze sobą proponowana metoda. Na rys. 6.1 i 6.2 przedstawiono efekt zastosowania kompozycji RGB – Night Fog RGB w przypadku sytuacji synoptycznych mających miejsce w lipcu i w listopadzie. Zgodnie ze schematem kolorów (tabela 6.1), służącym do interpretacji tego produktu w zależności od pory roku (temperatury podłoża i atmosfery), interpretacja obu zobrazowań jest nieco odmienna. Przykładowo ląd i morze na zobrazowaniu z lipca przedstawione są w jednakowym kolorze, podczas gdy w listopadzie ich temperatura (kolor) jest inna. Rys. 6.1. Night Fog RGB z dnia 15.07.2013r., godz. 02.00 UTC 7 Rys. 6.2. Night Fog RGB z dnia 07.11.2013r., godz. 23.00 UTC Tabela 6.1. Interpretacja schematu barw Night Fog RGB oraz Fog RGB 8 7. Kompozycje barwne MSG do wykrywania mgieł Zestawienia ujęte w tabeli 7.1 przedstawiają zakresy kompozycji RGB służące do wykrywania mgieł i niskich chmur warstwowych. Są one zgodne z zakresami zawartymi w module mpop. Różnią się one nieznacznie od schematów, które stosuje EUMETSAT oraz zaleca WMO do produkcji kompozycji RGB do detekcji mgieł i niskich chmur warstwowych [1]. Różnica ta obejmuje wartość różnicy temperatur jasnościowych kanałów IR 10,8 – IR 3,9 (0 do +10) i IR 10,8 – IR 8,7 (2 do +6). Różnice temperatur jasnościowych poszczególnych kanałów, przypisane do odpowiednich kolorów, nie tylko określają zakresy temperatur obrazowanego zjawiska, ale także prezentują właściwości fizyczne poszczególnych obiektów (tabela 7.2). Ze względu na obrazowanie różnych właściwości przez poszczególne kanały spektralne, nie zastępuje się produktu nocnego do wykrywania mgieł i niskich chmur warstwowych (Night Fog RGB) przez produkt całodobowy (Fog RGB). Tabela 7.1. Zakresy RGB do wykrywania mgieł i niskich chmur warstwowych Składowa RGB Night Fog RGB R G B Fog RGB R G B Kanał spektralny lub różnica kanałów spektralnych Wartość współczynnika Gamma Zakres temperatur jasnościowych [K] IR 12,0 – IR10,8 IR 10,8 – IR 3,9 IR 10,8 -4 do +2 0 do +6 243 do 293 1,0 2,0 1,0 IR 12,0 – IR 10,8 IR 10,8 – IR 8,7 IR 10,8 -4 do +2 0 do +6 243 do 283 1,0 2,0 1,0 Tabela 7.2. Zakresy kompozycji RGB do wykrywania mgieł i niskich chmur warstwowych Kolor Kanał spektralny lub różnica kanałów spektralnych Red IR 12,0 – IR 10,8 (w dzień i w nocy) Green IR 10,8 – IR 3,9 (w nocy) Blue IR 10,8 – 8,7 (w dzień) IR 10,8 (w dzień i w nocy) Obrazowane właściwości za pomocą kanałów spektralnych bądź ich różnic gęstość, gęstość optyczna, ilość wody i lodu w chmurach, rozciągłość pionowa chmur rozmiar i stan fazowy cząsteczek chmurowych; stan fazowy cząsteczek chmurowych temperatura obiektów promieniujących 9 8. Nowcasting z wykorzystaniem kompozycji Night Fog RGB i Fog RGB Określenie możliwego zasięgu wystąpienia niebezpiecznych dla lotnictwa zjawisk pogody jest jednym z głównych zadań stawianych synoptykom. Krótkoterminową prognozę rozwoju, przemieszczania się mgieł i niskich chmur warstwowych można wykonać przy użyciu kompozycji barwnych zdjęć satelitarnych, gdy zjawiska te już wystąpią na danym obszarze. Wykorzystuje się w tym celu ekstrapolację formalną prostoliniową lub ekstrapolację krzywoliniową obszarów oddziaływania tych zjawisk. Należy określić obszar występowania mgły i niskich chmur warstwowych, a następnie śledzić kierunek jego rozwoju oraz prędkość przemieszczania się lub rozprzestrzeniania, posługując się kolejnymi zobrazowaniami (rys. 8.1). Zobrazowania z satelity METEOSAT 10 (z rozdzielczością czasową 15 min) w większości przypadków są wystarczające do wykonania takiej prognozy. Rys. 8.1 Kompozycje RGB z dnia 11.10.2013r., z godz.19.00 UTC, prognoza na + 60 min Wykonując ekstrapolację należy wziąć pod uwagę czynniki terenowe i charakter podłoża, w kierunku którego prognozuje się przemieszczanie oraz informacje o aktualnym rozkładzie wiatrów w przyziemnej warstwie atmosfery. Z przeprowadzonych analiz wynika, iż te czynniki oraz rodzaj występującej mgły są kluczowymi elementami wpływającymi na prędkość przemieszczania się oraz rozwój tych zjawisk w różnych kierunkach. Zaobserwowano, iż mgła i niskie chmury warstwowe nad powierzchnią lądu rozwijają się wolniej niż nad obszarami wodnymi, góry mogą znacznie hamować ich przepływ, a cisza często powoduje całko10 wite zahamowanie ich rozwoju. Prognozy położenia obszarów mgieł i niskich chmur warstwowych należy korygować, gdy następują znaczne odchylenia od opracowanej prognozy. Ciągłe śledzenie oraz korekcja prognozowanego przemieszczania się, rozwoju lub zaniku tych zjawisk pozwala w bardzo prosty i efektywny sposób określić czy dany rejon znajdzie się w zasięgu tych niebezpiecznych zjawisk pogody. Dodatkowo przedstawioną metodę można by zautomatyzować. 9. Podsumowanie Przeprowadzone analizy sytuacji synoptycznych na obszarze Polski z wykorzystaniem kompozycji RGB wykonanych przy użyciu proponowanej aplikacji w pokazują, że kompozycje Night Fog RGB i Fog RGB mogą być stosowane do wykrywania mgieł i niskich chmur warstwowych. Standardowe kompozycje RGB można na własne potrzeby modyfikować poprzez wprowadzenie parametrów definiujących kompozycję w oknie aplikacji. Zalecenia do tworzenia kompozycji RGB, przyjęte w pracy jako standardowe, mogą być uzupełniane o inne schematy, powstałe w trakcie wykorzystywania ich w pracy operacyjnej. Wykorzystując biblioteki meteorologiczne trzeba mieć na uwadze, że schematy w nich zdefiniowane przez autora mogą nieznacznie różnić się od tych które określa WMO i EUMETSAT. W pracy operacyjnej, aby uniknąć błędnej interpretacji zobrazowań Night Fog RGB spowodowanej wzrostem pomierzonej przez satelitę radiancji w kanale 3,9 µm, pod wpływem promieniowania słonecznego, należy zmienić wykorzystywane kompozycje na Fog RGB (na 30 do 15 min przed wschodem słońca). Kompozycje RGB pozwalają uzyskać większą efektywność detekcji zjawisk niż zobrazowania jednokanałowe czy różnicowe, mogą usprawnić komunikację pomiędzy pilotem a synoptykiem, gdyż ułatwiają pilotom podczas briefingu interpretację przedstawianych im zobrazowań satelitarnych gdy interesujące ich zjawiska niebezpieczne są wyróżnione. Zachowanie naturalnej tekstury obiektów na kompozycjach RGB zapewnia bardziej naturalny wygląd prezentowanego zjawiska niż ma to miejsce na produktach automatycznie klasyfikujących zachmurzenie. Na podstawie oceny tekstury mgły, można stwierdzić czy dana mgła jest w stadium rozwoju czy zaniku. Śledzenie kolejnych zobrazowań daje możliwość identyfikacji rodzaju mgły, określenia obszaru jej napływu, zasięgu terenowego i ewolucji. Kompozycje barwne zdjęć satelitarny Night Fog RGB i Fog RGB są ważnym narzędziem do oceny ewolucji niebezpiecznych zjawisk pogody. 11 Niejednokrotnie mgły i niskie chmury warstwowe okazywały się być jedną z istotnych przyczyn katastrof lotniczych, dlatego też należy unikać rutynowego podejścia do prognozowania tych niebezpiecznych zjawisk pogody. W przypadkach wątpliwych warto wykorzystywać kompozycje RGB będące źródłem wiarygodnych danych, w szczególności gdy dostęp do aktualnych informacji meteorologicznych z danego rejonu jest ograniczony. Należy nadmienić, iż również podczas interpretacji kompozycji RGB niezbędna jest szczegółowa wiedza meteorologiczna na temat mgieł, warunków sprzyjających ich powstawaniu, rozwojowi i zanikowi. LITERATURA [1] KERMANN J., Applications of MSG – Fog detection, RGB images: part 03 – Channel selection and enhancements EUMETSAT 2004. [2] NIELSEN, E. S., Pyresample documentation, DMI, URL, 2010. http://pyresample.googlecode.com/svn/trunk/docs/build/html/index.html [3] RASMUSSEN, L. O., Mipp documentation, DMI, URL, 2010. http://github.com/loerum/mipp [4] RASPAUD, M., Mpop documentation, SMHI, URL, 2010. http://mraspaud.github.com/mpop/ [5] www.eumetrain.org [6] www.eumetsat.int [7] www.ngdc.noaa.gov/mgg/shorelines/gshhs.html [8] www.PyGTK.org [9] www.ptroll.org 12