Krzysztof Markowicz. NetCDF - format danych meteorologicznych

Podobne dokumenty
76.Struktura oprogramowania rozproszonego.

Komputery przemysłowe i systemy wbudowane

Tunelowanie, kapsułkowanie, XDR. 1. Transmisja tunelowa i kapsułkowanie serwery proxy. 2. Zewnętrzna reprezentacja danych XDR.

Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.

Zdalne wywołania procedur. Jarosław Kuchta Programowanie Współbieżne

Standaryzacja danych w projekcie MICORE

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Podstawy Informatyki. Wykład 3 UNIX

RPC Remote Procedural Call. Materiały do prezentacji można znaleźć na stronie:

"Klasyczna" struktura systemu operacyjnego:

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Środowiska i platformy programistyczne

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

Sun RPC/XDR. Dariusz Wawrzyniak 1

Ochrona Danych Wrocław 7 marzec 2007

external Data Representation

Arkusz1 Rok wprowadzenia. System plików Twórca Oryginalny system operacyjny

Sun RPC/XDR 10. listopada Dariusz Wawrzyniak (IIPP) 1

external Data Representation

Pliki. Informacje ogólne. Obsługa plików w języku C

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Przykłady DFS z lotu ptaka :) NFS AFS Coda GoogleFS ZFS

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Podstawy programowania. Wprowadzenie

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Biblioteka standardowa - operacje wejścia/wyjścia

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

Oprogramowanie Alternatywne

Przegląd współczesnych systemów operacyjnych

Architektura komputerów

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p.

Programowanie współbieżne i rozproszone

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Drukarnia Centrum Usług Drukarskich Henryk Miler drukuje prace do formatu B1+, oddając do Twojej dyspozycji:

Tworzenie plików w formacie DjVu z wykorzystaniem oprogramowania DocumentExpress Enterprise Edition

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Informatyka. Michał Rad

MATLAB Z3. Rafał Woźniak. Warsaw, Faculty of Economic Sciences, University of Warsaw

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Rok akademicki: 2014/2015 Kod: CCB s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Wykład 4. Tablice. Pliki

Krótka Historia Systemów Operacyjnych. Tomasz Borzyszkowski

Architektura komputerów

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Podstawy Informatyki. Wykład 2. Reprezentacja liczb w komputerze

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Wykład pt Plik DXF. Jarosław Bydłosz

Prefiksy binarne. kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit)

Systemy czasu rzeczywistego wstęp

Pliki. Informacje ogólne. Obsługa plików w języku C

SYSTEMY OPERACYJNE WYKŁAD 2 PRZEGLĄD SYSTEMÓW WINDOWS I UNIX

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 5. Karol Tarnowski A-1 p.

Technologie Informatyczne Wykład IV/V

Laboratorium grafiki i multimediów

Kurs języka Python Wykład 6. Pliki tekstowe Pliki rekordów Pliki CSV Strumienie

Książki elektroniczne

Arytmetyka stało- i zmiennoprzecinkowa. 1. Informacje wstępne

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p.

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko

Tworzenie aplikacji rozproszonej w Sun RPC

7 Przygotował: mgr inż. Maciej Lasota

Argumenty wywołania programu, operacje na plikach

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Michał & Mateusz w zastępstwie za Marcin Lewandowski [ ]

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

Arytmetyka stało i zmiennoprzecinkowa

Zastosowania skryptowych j zyków programowania w dzia alno ci informacyjnej

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Architektura komputerów

Przepełnienie bufora. Trochę historii Definicja problemu Mechanizm działania Przyczyny Źródła (coś do poczytania)

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

Kompilator języka C na procesor 8051 RC51 implementacja


Tworzenie oprogramowania

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Simulink MATLAB Przegląd obiektów i przykłady zastosowań

Autorzy opracowania (* oznacza współautorstwo):

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Oprogramowanie systemów równoległych i rozproszonych. Wykład 6

Lista Rozkazów: Język komputera

Internacjonalizacja i lokalizowanie aplikacji internetowych wg

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Internacjonalizacja i lokalizowanie aplikacji internetowych wg

Komputerowe wspomaganie eksperymentu 5

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

C compiler (Linux) Cześć 01 - Ćwiczenia strona 2 z 9

Wywoływanie procedur zdalnych

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Podstawy programowania w Qt4

Języki programowania. Karolina Mikulska-Rumińska Pokój 573, tel Konsultacje wtorek 9-10.

Raport Hurtownie Danych

Transkrypt:

Krzysztof Markowicz NetCDF - format danych meteorologicznych materiały seminaryjne 27-11-2000 1. Formaty danych meteorologicznych: 2. NetCDF GRIB'y CDF (Common Data File), NASA Space Science Data Center at Goddard HDF (Header Data Format), National Center for Supercomputing Applications (NCSA) NetCDF NetCDF - Network Common Data http://www.unidata.ucar.edu/packages/netcdf/ Napisany w 1989 przez: Russ Rew, Glenn Davis, Steve Emerson, Harvey Davies w Unidata Program Center in Boulder (Colorado). Obecnie szeroko stosowany do zapisu danych atmosferycznych i oceanicznych. 3. Cechy formatu NetCDF:

samoopisują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ąbezpo?redni dostęp 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ą?ć do 4. Współdziałanie NetCDF-u z komputerami i oprogramowaniem: http://www.unidata.ucar.edu/packages/netcdf/s oftware.html a) Systemy komputerowe z jakimi współdziała NetCDF: AIX-4.3 BSD/OS 3.0 HPUX-10.20, HPUX-11.00 IRIX-5.3, IRIX-6.5, IRIX64-6.5 Linux 2.0.31 OSF1-4.0 BSD/OS 3.0 SunOS-4.1.4, SunOS-5.6 (Sparc and i386) SUPER-UX 7.2 (NEC SX-4) ULTRIX-4.5 Win 95/98

b) języki w jakich napisane zostały biblioteki NetCDF-u: C C++ Fortran Perl Jave c) niektóre programy czytające pliki NetCDF: IDL Interface MATLAB NCAR Graphics FERRET GrADS HDF Interface 5.Struktura pliku NetCDF. przykładowy plik w NetCDF-ie a) header - część opisują?ci opisujšca zmienne 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 Struktura zapisu danych: a) little Endian najmniej znaczący bajt znajduje się najniżej w pamięci komputera DEC, ALPHA, IMB PC b) big Endian najbardziej znaczący bajt znajduje się najniżej w pamięci komputera CRAY, IBM(RISC), SGI, Sun NetCDF korzysta z kodowania danych w formacie: XDR (Binary external Data Representation) rozwinięty przez Sun Microsystems Incorporation. Prawie wszystkie komputery dopuszczają zapis danych w XDF. Wskutek tego użytkownicy nie muszą znać struktury binarnej pliku kody komputerowe czytające i zapisujące dane w NetCDF-ie wyglądają tak samo na różnych komputerach. NetCDF używa XDF do zapisu zarówno informacji zawartych w header?ze jak i w sekcji danych. Koszt czasu pracy procesora użycia XDF zależy od typu danych oraz od tego czy XDF jest standardem zapisu danych na odpowiednim komputerze. Dla niektórych typów danych na

pewnych komputerach czas potrzebny na konwersje danych do XDF może być znaczny. Najgorzej wygląda to w czasie czytanie i zapisu danych typu float na maszynie, która nie używa IEEE (format floating point operation) jako naturalnej reprezentacji. 6. Ograniczenia NetCDF-u: maksymalna wielkość?ć pliku tylko jeden wymiar może być nieograniczony brak interfejsu do definiowania zmiennych, które są zawarte w innym pliku. brak możliwości budowy rozbudowanych struktur macierzowych. 7. Matlab toolbox http://crusty.er.usgs.gov/~cdenham/mexcdf/ nc4ml5.html przykłady: otwieranie pliku Czytanie danych z netcdf-u w matlabie nc=netcdf('nazwa_pliku'); disp(nc) NetCDF_File:'/home/kmark /cyrkulacja/eof/eof.nc' ndimensions: 3 nvariables: 7 nglobalattributes: 3 RecordDimension: 'time'

nrecords: 1 Permission: 'nowrite' DefineMode: 'data' FillMode: 'fill' MaxNameLen: 0 czytanie globalnych atrybutów ittid=att(nc); attid{1} NetCDF_Attribute: 'Conventions' itstype: 'char' itslength: 6 itisunsigned: 0 attid{1}(:) COARDS czytanie wymiarów dimid=dim(nc) dimid{1} NetCDF_Dimension: 'lat' itslength: 25 dimid{1}(:) 25 czytanie zmiennych vatid=var(nc) varid{4} NetCDF_Variable: 'eof1' itstype: 'float' itsdimensions: 'time lat lon'

itslengths: [1 25 42] itsorientation: [1 2 3] nattributes: 4 itisautoscaling: 0 itisautonaning: 0 itisunsigned: 0 itisquick: 0 atrybuty zmiennej: v4=att(varid{4}) vr{4} NetCDF_Attribute: 'valid_range' itstype: 'float' itslength: 2 itisunsigned: 0 vr{4}(:) -10.0000 10.0000 wypisywanie danych varid{4}(1,1:2,1:5) 0.1604 0.1454 0.1434 0.1461 0.1417 0.1674 0.1534 0.1468 0.1473 0.1454 Program w matlabie do generowania pliku w netcdf-ie nc=netcdf('prob.nc','noclobber'); deklaracja wymiarów: nc('lon')=361; nc('lat')=141; nc('time')=0;

definiowanie zmiennych nc{'lat'}=ncint('lat'); nc{'lat'}.long_name=ncchar('latitude'); nc{'lat'}.units=ncchar('degrees_north'); nc{'lon'}=ncfloat('lon'); nc{'lon'}.long_name=ncchar('longitude'); nc{'lon'}.units=ncchar('degrees_east'); nc{'time'}=ncdouble('time'); nc{'time'}.long_name=ncchar('time'); nc{'time'}.units=ncchar('hours since 1-1-1 00:00:00'); nc{'time'}.delta_t=ncchar('0000-00-01 00:00:00'); nc{'aot'}=ncdouble('time','lat','lon'); nc{'aot'}.long_name=ncchar('aot_average'); nc{'aot'}.missing_value=ncfloat(1.e34); nc{'aot'}.units=ncchar('no'); nc{'aot'}.valid_range=ncfloat([-124.255,117.121]); nc.conventions=ncchar('coards'); nc.title=ncchar('aerosol Optical Depth'); nc.description=ncchar('creaded by Krzysztof Markowicz 07-02-2000'); tnum0=datenum(0,12,30)*24; tnum=datenum(2000,1,1)*24; load dataaot nc{'lat'}(:)=[-70:1:70]; nc{'lon'}(:)=[0:1:360]; nc{'aot'}(1,:,:)=aot(1,:,:); nc{'time'}(1)=tnum-tnum0; close(nc)