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

Podobne dokumenty