150 likes | 280 Views
Wykład 15 Formaty Danych Meteorologicznych. Krzysztof Markowicz kmark@igf.fuw.edu.pl. Formaty danych metrologicznych.
E N D
Wykład 15Formaty Danych Meteorologicznych Krzysztof Markowicz kmark@igf.fuw.edu.pl
Formaty danych metrologicznych • Zapisywanie danych meteorologicznych obejmujących dane: synoptyczne, klimatyczne, satelitarne czy też wyniki obliczeń numerycznych prognoz pogody w odpowiednim formacie stanowi zasadnicza kwestia w sensie ich przesyłania, archiwizacji i budowy baz danych z możliwością dostępu dla użytkowników. • Niestety nie stanieje żaden standardowy format, w którym zapisywane byłby wyżej wspominane dane. • Dlatego też czytanie danych meteorologicznych wymaga niejednokrotnie używania specjalnych programów, które zależą od systemów operacyjnych i rodzajów używanych komputerów.
Pliki tekstowe i binarne • Rozróżniamy dwa rodzaje plików: tekstowe i binarne. Nazwy są trochę mylące, bo wszystkie pliki są binarne, czyli ,,zero-jedynkowe''. • Jednak pliki tekstowe zajmują wśród nich wyróżnioną pozycję, sposób ich odczytywania jest bowiem najbardziej rozpowszechnionym Znajdują się w nich litery, zamienione na bity. • Zapisany w ten sposób plik można odczytać na dowolnym komputerze, niezależnie od systemu operacyjnego itp. W dodatku ,,odczytać'' możemy tu rozumieć dosłownie, gdyż po zamianie bitów na litery (czyli wyświetleniu pliku ASCII) pojawia się tekst, zwykle zrozumiały dla człowieka. • Ogólnie, pliki binarne to wszystkie pliki nietekstowe. Mogą zawierać obrazy, lub dowolne dane. Jeśli zapisano je w jednym z ogólnie przyjętych standardów to zwykle daje się je odczytać na większości komputerów, jeśli tylko zainstalowano na nich odpowiednie programy. To jednak znacznie komplikuje i utrudnia zadanie użytkownikom którzy zajmują się analiza tego typu danych
Hierarchical Data Format- HDF • HDF jest biblioteka oraz wielowymiarowym formatem plików używanym do przesyłania danych w postaci graficznej oraz numerycznej po miedzy komputerami. • Format HDF zawiera kilka modułów danych: wielowymiarowe macierze, grafikę rastowa oraz tablice. Każdy z nich zawiera zespół zmiennych, które mogą być zapisywane, czytane oraz dodawane przez użytkownika • Format HDF jest samoopisujący się co oznacza, że czytając plik z danymi nie musimy posiadać żadnej informacji o strukturze pliku. • Pliki w formacie HDF mogą być wymieniane pomiędzy większością komputerów i systemów operacyjnych. Z czym nie radzi sobie większość formatów binarnych. • Format HDF używany jest najczęściej dla danych satelitarnych
GRIB (GRIdded Binary) • To matematyczny format używany na potrzeby meteorologii do archiwizowania danych historycznych oraz numerycznych prognoz pogody • GRIP jest formatem standardowym zaakceptowanym przez World Meteorological Organization jakos GRIB FM 92-IX, opisany w raporach WMO (Manual on Codes No.306). • Obecnie funkcjonują dwie wersje GRIB-ow: • Edycja pierwsza GRIB-ow jest szeroko używana przez centra meteorologiczne na potrzeby numerycznych prognoz pogody • Nowej generacji (druga edycja) nie jest używana tak powszechnie. Wyjątkiem jest Eumetcast, gdzie w GRIBAch zapisuje się produkty związane z Meteosatem drugiej generacji (Meteosat Second Generation)
NetCDF (Network Common Data FormCechy Formatu NetCDF • samo-opisujący się (plik netCDF zawiera informacje o zawartych w nim danych). • niezależny od architektury komputera • bezpośredni dostęp do danych (dowolna część danych może być efektywnie czytana bez wcześniejszego czytania poprzedzający danych) • dane mogą być dopisywane do pliku w jednym wymiarze bez przedefiniowania struktury pliku. • istnieje możliwość zmiany struktury pliku oraz kopiowanie innych ustawień • równoczesna dostępność do pliku przez osobę zapisującą dane jak i użytkowników czytając do
języki w jakich napisane zostały biblioteki NetCDF • C • C++ • Fortran • Perl • Jave niektóre programy służące do czytania plików NetCDF: • IDL Interface • MATLAB • NCAR Graphics • FERRET • GrADS • HDF Interface
Struktura pliku NetCDF a) header - część opisująca zmienne zawierająca informacje o: • wymiarach • atrybutach • zmiennych • b) sekcja danych - zawiera właściwe dane o: ograniczonych wymiarach nieograniczonym (jednym) wymiarze • c) typy zmiennych: • ncbyte 1 Byte • ncchar 1 Byte • ncshort 2 Byte • ncint 4 Byte • ncfloat 4 Byte • ncdouble 8 Byte
netcdf uwnd10m.mon.mean { • dimensions: • lon = 192 ; • lat = 94 ; • time = UNLIMITED ; // (694 currently) • variables: • float lat(lat) ; • lat:units = "degrees_north" ; • lat:actual_range = 88.542f -88.542f ; • lat:long_name = "Latitude" ; • float lon(lon) ; • lon:units = "degrees_east" ; • lon:long_name = "Longitude" ; • lon:actual_range = 0.f, 358.125f ; • double time(time) ; • time:units = "hours since 1-1-1 00:00:0.0" ; • time:long_name = "Time" ; • time:actual_range = 17067072., 17573304. ; • time:delta_t = "0000-01-00 00:00:00" ; • time:avg_period = "0017-00-00 00:00:00" ; • time:prev_avg_period = "0000-00-01 00:00:00" ; • float uwnd(time, lat, lon) ;
float uwnd(time, lat, lon) ; • uwnd:long_name = "Monthly Mean of U-Wind" ; • uwnd:valid_range = -102.2f, 102.2f ; • uwnd:actual_range = -13.76903f, 14.4571f ; • uwnd:units = "m/s" ; • uwnd:add_offset = 0.f ; • uwnd:scale_factor = 1.f ; • uwnd:missing_value = 32766s ; • uwnd:precision = 2s ; • uwnd:least_significant_digit = 1s ; • uwnd:GRIB_id = 11s ; • uwnd:var_desc = "u-wind" ; • uwnd:dataset = "CDC Derived NCEP Reanalysis Products\n", • "AC" ; • uwnd:level_desc = "10 m\n", • "P" ; • uwnd:statistic = "Mean\n", • "M" ; • uwnd:parent_stat = "Individual Obs\n", • "I" ;
// global attributes: • :Conventions = "COARDS" ; • :title = "monthly mean u wind" ; • :history = "renamevars Thu Feb 1 09:41:58 2001 from uwnd10m.mon.mean.nc\n", • "Tue Jul 6 00:21:54 1999: ncrcat uwnd10m.mon.mean.nc /Datasets/ncep.reanalysis.derived/surface_gauss/uwnd10m.mon.mean.nc /dm/dmwork/nmc.rean.ingest/combinedMMs/uwnd10m.mon.mean.nc\n", • "created 97/10/04 by CAS (netCDF2.3)" ; • :description = "Data is from NMC initialized reanalysis\n", • "(4x/day). It consists of T62 variables interpolated to\n", • "pressure surfaces from model (sigma) surfaces." ; • :platform = "Model" ;
Sekcja danych • lon = 0, 1.875, 3.75, 5.625,… • lat = 88.542, 86.6531, 84.7532, 82.8508,… • time = 17067072, 17067816, 17068512, 17069256,… • uwnd= -2.035805, -2.166451, -2.145482, -2.277421, -2.800644,…
Kod SYNOP • Format SYNOP jest międzynarodowym formatem danych meteorologicznych używanym do ich transmisji w trybie rzeczywistym. • Używany jest od ponad 50 lat. W kodzie SYNOP zawarte są następujące grupy obserwacji Grupa 000 – oznaczana numer stacji i lokalizacje • Grupa 111 – opisuje obserwacje nad lądem • Grupa 222 – opisuje pomiary powierzchni mórz i oceanów • Grupa 333 – zawiera dane klimatologiczne
Struktura formatu SYNOP • IIiii lub IIIIIYYGGi99LLL QLLLL • iihVVNddff00fff1sTTT2sTTT3PPPP4PPPP5appp6RRRt7wwWW8NCCC9GGgg • 222Dv0sTTT1PPHH2PPHH3dddd4PPHH5PPHH6IEER70HHH8aTTT • 333 0....1sTTT2sTTT3Ejjj4Esss5jjjj jjjjj6RRRt7RRRR8Nchh9SSss
Inne formaty danych • SHIP • TEMP • METAR, TAF, TEMP • BOUY, AMDAR, AIREP.