Kezdõlap

Segédanyag a Climate Data Operator szoftver használatához

Az oldal tartalomjegyzéke:   Mi is az a CDO?

1. Információk kinyerése
2. GRIB-netCDF konverzió
3. Műveletek fájlokkal
3.1 Változók szétválogatása
3.2 Fájlok egyesí­tése
3.3 Kiválasztás
3.4 Alrács kivágása
3.5 Változók átnevezése
3.6  Lineáris időbeli interpoláció
3.7 Formázott ASCII output




Mi is az a CDO?


A CDO egy segédprogram az éghajlati modellek adatainak feldolgozásához. Alkalmazási területe GRIB, netCDF, SERVICE, EXTRA formátumú fájlok kezelése. A CDO egy ingyenes, bárki számára hozzáférhető program, amely letölthető a Max Planck Intézet honlapjáról, illetve a nimbus.elte.hu szerveren felhasználói jogosultsággal rendelkezők számára bármikor elérhető szoftver.
A GRIB fájlokról a WMO honlapján, a netCDF fájlokról pedig az University Corporation for Atmospheric Research honlapján olvasható leírás.

Mielőtt hozzákezdenénk...

Ahhoz, hogy a leírtakat elsajátíthasd, szükséged lesz mintafájlokra, amelyeket letölthetsz innen.


1. Információk kinyerése

A következő parancsok begépelésével röviden megkapjuk a fájlra vonatkozó legfontosabb információkat, vagyis azt, hogy milyen időpontokban és mekkora térbeli felbontással állnak rendelkezésre adatok.
cdo sinfo fájlnév.grib      (fájlnév jelen esetben: surface.grib, upper.grib)

Részletesebb információk:
cdo griddes fájlnév.grib

A változók számát az alábbi paranccsal kérdezhetjük le:
cdo nvar fájlnév.grib
Ez a surface.grib esetén 2, az upper.grib fájl esetén 3.

A következő parancs a változók nevét adja eredményül:
cdo showvar fájlnév.grib

Több magassági szint esetén az alábbi paranccsal megkapjuk a szintek számát, és azt, hogy melyik szinten hány változónk van:
cdo nlevel fájlnév.grib

Ha azt szeretnénk megtudni, hogy a fájl hány időlépcsőt tartalmaz, adjuk ki a következő parancsot:
cdo ntime fájlnév.grib


2. GRIB-netCDF konverzió

Ha GRADS-szal szeretnénk megjelení­teni az adatokat, a GRIB fájlból netCDF-et kell készí­teni. Ezt í­gy tehetjük meg:
cdo -r -f nc copy fájlnév.grib fájlnév.nc

Ezzel a módszerrel COARDS kompatibilis fájlt készí­tettünk.


3. Műveletek fájlokkal

3.1 Változók szétválogatása

NetCDF fájlok esetén lehetőség van a változók külön fájlokba történő szétválogatására.
Adjuk ki az alábbi parancsot:
cdo splitvar fájlnév.nc darabok.nc
Ha az upper.nc példafájllal dolgozunk, a következő eredményt kapjuk:
darabok.ncvar129.nc
darabok.ncvar130.nc
darabok.ncvar157.nc
Tehát a három különböző változónkat a parancs három fájlba válogatta szét, a fájlt pedig a változó szerint nevezte el.

3.2 Fájlok egyesí­tése

Ha vannak olyan fájljaink, amelyek ugyanarra az időpontra különböző változókat vagy egymást követő időpontokra ugyanazokat a változókat tartalmazzák, hasznos lehet az adatsorok egyesí­tése.
A parancs:
cdo merge fájlnév1.grib fájlnév2.grib közös.grib
Esetünkben a példa:
cdo merge upper.grib surface.grib egyutt.grib
Tehát itt az upper.grib és a surface.grib különálló fájlokból készí­tettünk egyet egyutt.grib néven, amely a két eredeti fájl összes változóját tartalmazza. (Természetesen kettőnél több fájl egyesí­tésére is van mód, mindig az utolsóként megadott fájlnév lesz az, amely az összes többit tartalmazza.)

3.3 Kiválasztás

Az adatsorból kiválaszthatunk egy adott időlépcsőhöz, változóhoz vagy szinthez tartozó adatokat, vagy annak egy részét. A példán keresztül  azt mutatjuk be, hogyan  lehet  egy több magassági szintet tartalmazó fájlból  egy adott szinthez  tartozó  adatokat  egy külön fájlba válogatni. 
Nézzük meg, milyen szintek vannak a fájlunkban:
cdo showlevel fájlnév.grib
(A mi fájlunkban a szintek értékei: 50000, 85000 Pa.)
Ezután kiválasztjuk azt a szintet, amelyhez tartozó adatokkal akarunk dolgozni:
cdo sellevel,szint fájlnév.grib példa.grib
Ebben az esetben: 
cdo sellevel,50000 upper.grib 500hPa.grib
(Azaz az 50000 Pa nyomási szinthez tartozó adatokat í­rtuk ki az 500hPa.grib fájlba.)

3.4 Alrács kivágása

Ha nagyobb méretű rács egy kisebb tartományára vagyunk kí­váncsiak:
cdo sellonlatbox,lon1,lon2,lat1,lat2 nagyfájl.grib kisfájl.grib
Így egy téglalap alakú kivágatot készí­tünk, a bal felső sarokpont koordinátái (lon1,lat1), a jobb alsó sarokpont koordinátái (lon2,lat2), ahol lon hosszúsági, lat szélességi érték.

Például:
cdo sellonlatbox,16,23,45,48 surface.grib mo.grib
A parancs az eredeti, surface.grib fájlból kivágatot készí­t Magyarországra mo.grib néven.

3.5 Változók átnevezése

NetCDF fájljainkban a változókat tetszőleges névre átnevezhetjük a következő paranccsal:
cdo chvar,oldvar,newvar fájlnév.nc  újfájlnév.nc
Például:
cdo chvar,var167,T2m surface.nc new_surface.nc
(var167 volt a változó eredeti neve, ezt módosí­tottuk T2m-re)

3.6  Lineáris időbeli interpoláció

Az inttime parancs lineáris interpolációt hajt végre két egymást követő időlépcső között. Használata:
cdo inttime,év-hó-nap,óra,dt fájlnév.grib újfájlnév.grib
Példa:
cdo inttime,2000-01-01,12:00,6hour surface.grib dt6h.grib
Az eredeti adatsorunk időbeli felbontása 24 óra, ezt lineáris interpolációval 6 órásra finomí­tottuk.

3.7 Formázott ASCII output

A fájlban szereplő értékeket kií­rathatjuk a képernyőre:
cdo output fájlnév.grib
vagy fájlba irányí­thatjuk:
cdo output fájlnév.grib > fájlnév.txt

További információk olvashatók a CDO programról az alábbi weboldalon.



Készítette: Ádám Rita, Pieczka Ildikó, Seres Alexandra V. éves meteorológus hallgatók
2006/2007 I. félév

Az elektronikus oktatóanyag a Speciális meteorológiai adatformátumok c. speciális kollégium keretén belül készült.
Oktató: dr. Barcza Zoltán