GRIB API oktatóanyag >> grib_compare tool

A grib_compare GRIB állományok összehasonlítására használható.

Használat

grib_compare [beállítások] fájl1, fájl2

Beállítások

-r

Összehasonlítja azokat a fájlokat, melyekben az üzenetek sorrendje nem azonos. Nagyon időigényes.


-b kulcs,kulcs,...

Azokat a kulcsokat melyek a -b utáni listában szerepelnek, átugorja. Ebben az esetben az összehasonlítás bitről-bitre történik.


-e

A GRIB verziójától (GRIB1,GRIB2) független összehasonlítás, mely segítségével a GRIB1 és GRIB2 állományokra elvégezhető.


-c kulcs[:l/d/s/n],kulcs[:l/d/s/n],...

Csak a -c utáni kulcsokat, namespace-eket hasonlítjuk össze. A kettőspont utáni betűk rövidítései a következők: l egész, d lebegőpontos, s karakterlánc (string), n namespace. További részletek a -a beállításnál. Sajnos a -H beállítással nem kompatibilis a kapcsoló.


-S start

Az első mező, melyre az összehasonlítást alkalmazzuk.


-E end

Az utolsó mező, melyre az alkalmazást elvégezzük.


-a

Módosított -c beállítás. A -c beállítás kulcsai nélkül elvégezzük az összehasonlítást, majd az így kapott kulcslistához hozzáadjuk a -c beállítás kulcsait.


-H

Csak az üzenet fejléceit hasonlítja össze bitről-bitre. A -c beállítással nem kompatibilis.


-R kulcs1=relatív_hiba1,kulcs2=relatív_hiba2

A lebegőpontos számok összehasonlítása a relatív hibát, mint tűréshatárt használja. Az adott relatív hiba az adott számmal lesz összehasonlítva. Azaz pl. a kulcs1 a kulcs1-hez tartozó relatív hibával. Az összes kulcsot egy adott relatív hibával is össze lehet hasonlítani az all=relative_error kifejezéssel. Az alapértelmezett érték 0.


-A abszolút_hiba

A lebegőpontos számokat az abszolút hibával, mint tűréshatárral, hasonlítja össze. Alapértelmezés értéke 0.


-P

A tömörítési hibát, mint küszöbértéket felhasználva hasonlítja össze az állományokat.


-T faktor

Adatok értékeit hasonlítja össze a -A, -R, -P beállításokban meghatározott küszöbértékekkel szorozott faktorral.


-w kulcs[:{s/d/l}]{=/!=}érték,kulcs[:{s/d/l}]{=/!=}érték,...

Kitétel, hogy csak azokat a GRIB üzeneteket dolgozza fel, amelyek illeszkednek az összes kulcs/érték korláthoz. Az érvényes korlátok a következő típusok: kulcs = érték (egyezés) vagy kulcs! = érték (nem egyezés). Minden egyes kulcs lehet karakterlánc (kulcs: s), dupla (kulcs: d) vagy hosszú (kulcs: l). Az alapértelmezett típus a karakterlánc (string).


-f

Kényszer. A parancs végrehajtása hiba esetén nem áll le.


-V

Verzió kiírása.


-7

Nem okoz hibát, ha az üzenet hosszúsága nem megfelelően van megadva.


-v

Részletesen kiírja az összehasonlítás eredményét.


Oldal tetejére


Gyakorlati példák

1. Az ERA INTERIM-ből származó két GRIB állomány összehasonlítása, melyek eltérő időbeli információkat tartalmaznak

grib_compare -c time:n ax.grib bx.grib

A parancs eredménye:

-- GRIB #1 -- shortName=r paramId=157 stepRange=0 levelType=pl level=300 packingType=grid_simple gridType=regular_ll --
long [dataDate]: [19991201] != [20000101]
long [validityDate]: [19991201] != [20000101]
-c time:n Kiválasztom, hogy az idő vonatkozásában végezze el az összehasonlítást.
A kapott eredmények értelmezése
long [dataDate]: [19991201] != [20000101]
long [validityDate]: [19991201] != [20000101]
A két GRIB dátuma és érvényességi dátuma különbözik.

2. Az ERA INTERIM-ből származó két GRIB állomány fejlécének összehasonlítása

grib_compare -H ax.grib bx.grib

A parancs eredménye:

-- GRIB #1 -- shortName=r paramId=157 stepRange=0 levelType=pl level=300 packingType= gridType= --
long [indicatorOfParameter]: [157] != [130]
long [level]: [300] != [500]
long [yearOfCentury]: [99] != [100]
long [month]: [12] != [1]
-H ax.grib bx.grib Az ax és bx GRIB állomány fejlécét (header) hasonlítom össze.
A kapott eredmények értelmezése
long [indicatorOfParameter]: [157] != [130] A két állomány első változóinak kódszáma eltérő.
long [level]: [300] != [500] Az első állomány maximális vertikális szintje 300 hPa, míg a másiké 500 hPa.
long [yearOfCentury]: [99] != [100] Az első állomány 1999-ból, míg a másik 2000-ből származó adatokat tartalmaz.
long [month]: [12] != [1] Az első állomány decemberi, míg a másiké januári értékeket tartalmaz.

3. Az ERA INTERIM-ből származó két különböző földrajzi elhelyezkedésű GRIB állomány összehasonlítása

Megjegyzés: a dx.grib állomány USA-beli értéket tartalmaz.

grib_compare -H ax.grib dx.grib

A parancs eredménye:

-- GRIB #1 -- shortName=r paramId=157 stepRange=0 levelType=pl level=300 packingType= gridType= --
long [totalLength]: [2852] != [2796]
long [indicatorOfParameter]: [157] != [130]
long [level]: [300] != [200]
long [Ni]: [49] != [48]
long [latitudeOfFirstGridPoint]: [73500] != [70500]
long [longitudeOfFirstGridPoint]: [-27000] != [229500]
long [latitudeOfLastGridPoint]: [33000] != [30000]
long [longitudeOfLastGridPoint]: [45000] != [300000]
A kapott eredmények értelmezése
long [totalLength]: [2852] != [2796] Az első állomány teljes hossza 2852, a másiké 2796.
long [indicatorOfParameter]: [157] != [130] A két állomány első változóinak kódszáma eltérő.
long [level]: [300] != [200] Az első állomány legmagasabb nyomásszintje 300 hPa, míg a másiké 200 hPa.
long [latitudeOfFirstGridPoint]: [73500] != [70500]
long [longitudeOfFirstGridPoint]: [-27000] != [229500]
Az első állomány legelső rácspontjának földrajzi koordinátája (É 73,5°;Ny 27,0°), a másiké (É 70,5°; Ny 130,5°).
long [latitudeOfLastGridPoint]: [33000] != [30000]
long [longitudeOfLastGridPoint]: [45000] != [300000]
Az utolsó rácspont koordinátája az első állomány esetén (É 33,0°; K 45,0°), míg a másiké (É 30°; Ny 60°).

Oldal tetejére >> Vissza a főoldalra