GRIB API oktatóanyag >> grib_ls tool

Kilistázza GRIB fájl tartalmát, úgy hogy kiírja néhány kulcs értékét. Hibát jelez, ha nem találja a kulcsot. (A fájl tartalmának gyorslistázása.)

Használat

grib_ls [beállítások] grib_fájl grib_fájl ...

Beállítások

-p kulcs[:{s/d/l}],kulcs[:{s/d/l}],...

A kulcsok deklarációját írja ki. Minden egyes kulcshoz különböző típusokat lehet kérni: karakterlánc (kulcs: s), dupla (kulcs: d), hosszú (kulcs: l). Az alapértelmezett típus a karakterlánc.


-F formátum

C stílusú lebegőpontos számformátum


-P kulcs[:{s/d/l}],kulcs[:{s/d/l}],...

Az alapértelmezett listához adja a -p utasítással deklarált kulcsot.


-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.


-j

JSON (JavaScript Object Notation, JavaScript objektumjelölés) outputok.


-B sorrend adott elv alapján

Rendezés. Az output rendezhető egy adott elv alapján. A rendezési elv lehet például: "step asc, centre desc" (lépésenként növekvő és középpontjától csökkenő).


-l szélesség,hosszúság[,MÓD,fájl]

A megadott szélesség/hosszúság ponthoz közeli érték(ek) listázása. A MÓD engedélyezett értékei: 4 (a 4 legközelebbi pont értékeit írja ki), 1 (alapértelmezés; ez a legközelebbi rácspont értékét írja ki). fájl (A fájl maszkként van használva. Azon legközelebb pontot írja ki, amely a maszk értékénél 0,5-nél nem nagyobb távolságra van.)


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

Kulcs/érték beállítása. Minden egyes kulcs lehet karakterlánc (kulcs: s), dupla (kulcs: d) vagy hosszú (kulcs: l). Az alapértelmezés szerint a natív típus van beállítva.


-i index

Ha az adatérték megegyezik az adott indexszel, akkor kiírja.


-n névterület

Kiírja az összes kulcshoz tartozó névterületet.


-m

Kiírja a MARS kulcsokat (Meteorological Archival and Retrieval System, Meteorológiai Archív és Visszakereshető Rendszer).


-V

A GRIB API verzió kiíratása.


-W szélesség

Az egyes oszlopok minimális szélessége az output fájlokban. Az alapértelmezett a 10.


-M

Kikapcsolja a multi-grib támogatást, azaz egyetlen GRIB üzenetben nem engedélyez több mezőt.


-g

Bemásolja a GTS (Grid Trust Service) fejlécét.


-G

GRIBEX (egy korábbi, FORTRAN alapú eljárásgyűjtemény, amelyet az ECMWF-nél fejlesztettek ki) kompatibilitási mód.


-7

Nem áll le, amennyiben nem megfelelő az üzenet hossza.


-x

Gyors szűrési opció, csak a fejlécet tölti be.


Oldal tetejére


Gyakorlati példák

1. Az északi sz. 45,33°-a és a keleti h. 19,33°-a által kijelölt ponthoz legközelebbi pontban 2007. július 12-én keressük a földfelszín felett 2 m-es magasságban mért léghőmérsékletet

Parancs (egy sorba írandó):

grib_ls -l 45.33,19.33,1 -w shortName=2t,dataDate=20070712 -p shortName,dataDate,dataTime 2007_07_Interim_HU_2D.grib

Eredmény:

2007_07_Interim_HU_2D.grib
shortName   dataDate    dataTime     value
2t          20070712    0           287.186
2t          20070712    600         289.134
2t          20070712    1200        296.089
2t          20070712    1800        294.451
4 of 496 grib messages in 2007_07_Interim_HU_2D.grib

4 of 496 total grib messages in 1 files
Input Point: latitude=45.33  longitude=19.33
Grid Point chosen #1 index=112 latitude=45.00 longitude=19.50 distance=39.02 (Km)
Other grid Points
- 1 - index=112 latitude=45.00 longitude=19.50 distance=39.02 (Km)
- 2 - index=111 latitude=45.00 longitude=18.00 distance=110.48 (Km)
- 3 - index=97 latitude=46.50 longitude=19.50 distance=130.69 (Km)
- 4 - index=96 latitude=46.50 longitude=18.00 distance=165.77 (Km)
grib_ls A fájl tartalmának kiíratása.
-l 45.33,19.33,1 Megválasztom, hogy mely földrajzi ponthoz közel eső adatokat keresem, illetve hogy hány pontot tekintek közelinek.
-w shortName=2t,dataDate=20070712 Megválasztom, hogy milyen típusú adatokra van szükségem. Megválasztom, hogy mely időpontban van adatra szükségem. (A dátumot YYYYMMDD, az időpontot HHMM formátumban adjuk meg.)
-p shortName,dataDate,dataTime Megválasztom, hogy milyen sorrendben következzenek az oszlopok a kiíratásnál.

2. Az északi sz. 45,33°-a és a keleti h. 19,33°-a által kijelölt ponthoz legközelebbi 4 pontban 2007. július 12-én keressük a földfelszín felett 2 m-es magasságban mért léghőmérsékletet

Parancs (egy sorba írandó):

grib_ls -l 45.33,19.33,4 -w shortName=2t,dataDate=20070712 -p shortName,dataDate,dataTime 2007_07_Interim_HU_2D.grib

Eredmény:

2007_07_Interim_HU_2D.grib
shortName   dataDate    dataTime           value1  value2  value3  value4
2t          20070712    0           287.186 285.305 286.727 285.971
2t          20070712    600         289.134 287.585 289.541 289.277
2t          20070712    1200        296.089 294.937 296.61 295.167
2t          20070712    1800        294.451 293.732 293.173 293.011
4 of 496 grib messages in 2007_07_Interim_HU_2D.grib

4 of 496 total grib messages in 1 files
Input Point: latitude=45.33  longitude=19.33
Grid Point chosen #1 index=112 latitude=45.00 longitude=19.50 distance=39.02 (Km)
Other grid Points
- 1 - index=112 latitude=45.00 longitude=19.50 distance=39.02 (Km)
- 2 - index=111 latitude=45.00 longitude=18.00 distance=110.48 (Km)
- 3 - index=97 latitude=46.50 longitude=19.50 distance=130.69 (Km)
- 4 - index=96 latitude=46.50 longitude=18.00 distance=165.77 (Km)
grib_ls A fájl tartalmának kiíratása.
-l 45.33,19.33,4 Megválasztom, hogy mely földrajzi ponthoz közel eső adatokat keresem, illetve hogy hány pontot tekintek közelinek.
-w shortName=2t,dataDate=20070712 Megválasztom, hogy milyen típusú adatokra van szükségem. Megválasztom, hogy mely időpontban van adatra szükségem. (A dátumot YYYYMMDD, az időpontot HHMM formátumban adjuk meg.)
-p shortName,dataDate,dataTime Megválasztom, hogy milyen sorrendben következzenek az oszlopok a kiíratásnál.

3. Az északi sz. 45,33°-a és a keleti h. 19,33°-a által kijelölt ponthoz legközelebbi pontban 2007. július 12-én 18 UTC időpontban keressük az átlagos tengerszinti nyomást [Pa], a földfelszín felett 10 m-es magasságban mért szélsebesség-komponenseket [ms-1] és a földfelszín felett 2 m-es magasságban mért léghőmérsékletet [K].

Parancs (egy sorba írandó):

grib_ls -l 45.33,19.33,1 -w shortName=msl/10v/10u/2t,dataDate=20070712,dataTime=1800 -p shortName,dataDate,dataTime 2007_07_Interim_HU_2D.grib

Eredmény:

2007_07_Interim_HU_2D.grib
shortName   dataDate    dataTime     value
10v         20070712    1800        -1.90053
msl         20070712    1800        101698
10u         20070712    1800        1.01173
2t          20070712    1800        294.451
4 of 496 grib messages in 2007_07_Interim_HU_2D.grib

4 of 496 total grib messages in 1 files
Input Point: latitude=45.33  longitude=19.33
Grid Point chosen #1 index=112 latitude=45.00 longitude=19.50 distance=39.02 (Km)
Other grid Points
- 1 - index=112 latitude=45.00 longitude=19.50 distance=39.02 (Km)
- 2 - index=111 latitude=45.00 longitude=18.00 distance=110.48 (Km)
- 3 - index=97 latitude=46.50 longitude=19.50 distance=130.69 (Km)
- 4 - index=96 latitude=46.50 longitude=18.00 distance=165.77 (Km)
grib_ls A fájl tartalmának kiíratása.
-l 45.33,19.33,4 Megválasztom, hogy mely földrajzi ponthoz közel eső adatokat keresem, illetve hogy hány pontot tekintek közelinek.
-w shortName=msl/10v/10u/2t,dataDate=20070712,dataTime=1800 Megválasztom, hogy mely paraméterekre van szükségem (felsorolásnál a "/" jelet használom). Megválasztom, hogy mely időpontban van adatra szükségem.
-p shortName,dataDate,dataTime Megválasztom, hogy milyen sorrendben következzenek az oszlopok a kiíratásnál.

4. Az északi sz. 45,33°-a és a keleti h. 19,33°-a által kijelölt ponthoz legközelebbi pontban 2007. július 12-13-án 18 UTC időponton kívül keressük a földfelszín felett 2 m-es magasságban mért léghőmérsékletet [K].

Parancs (egy sorba írandó):

grib_ls -l 45.33,19.33,1 -w shortName=2t,dataDate=20070712/20070713,dataTime!=1800 -p shortName,dataDate,dataTime 2007_07_Interim_HU_2D.grib

Eredmény:

2007_07_Interim_HU_2D.grib
shortName   dataDate    dataTime     value
2t          20070712    0           287.186
2t          20070712    600         289.134
2t          20070712    1200        296.089
2t          20070713    0           286.577
2t          20070713    600         290.278
2t          20070713    1200        298.147
6 of 496 grib messages in 2007_07_Interim_HU_2D.grib

6 of 496 total grib messages in 1 files
Input Point: latitude=45.33  longitude=19.33
Grid Point chosen #1 index=112 latitude=45.00 longitude=19.50 distance=39.02 (Km)
Other grid Points
- 1 - index=112 latitude=45.00 longitude=19.50 distance=39.02 (Km)
- 2 - index=111 latitude=45.00 longitude=18.00 distance=110.48 (Km)
- 3 - index=97 latitude=46.50 longitude=19.50 distance=130.69 (Km)
- 4 - index=96 latitude=46.50 longitude=18.00 distance=165.77 (Km)
grib_ls A fájl tartalmának kiíratása.
-l 45.33,19.33,1 Megválasztom, hogy mely földrajzi ponthoz közel eső adatokat keresem, illetve hogy hány pontot tekintek közelinek.
-w shortName=2t,dataDate=20070712/20070713,dataTime!=1800 Megválasztom, hogy mely paraméterekre van szükségem. Megválasztom, hogy mely időpontban van adatra szükségem (! = nem egyezés).
-p shortName,dataDate,dataTime Megválasztom, hogy milyen sorrendben következzenek az oszlopok a kiíratásnál.

5. Az északi sz. 45,33°-a és a keleti h. 19,33°-a által kijelölt ponthoz legközelebbi pontban 2007. július 12-én 00 és 12 UTC időpontban keressük a földfelszín felett 2 m-es magasságban mért léghőmérsékletet [K] és az átlagos tengerszinti nyomást [Pa] két tizedes jegyig kiíratva.

Parancs (egy sorba írandó):

grib_ls -l 45.33,19.33,1 -w shortName=msl/2t,dataDate=20070712,dataTime=0000/1200 -p shortName,dataDate,dataTime -F "%.2f" 2007_07_Interim_HU_2D.grib

Eredmény:

2007_07_Interim_HU_2D.grib
shortName   dataDate    dataTime     value
2t          20070712    0           287.19
msl         20070712    0           101395.38
msl         20070712    1200        101625.75
2t          20070712    1200        296.09
4 of 496 grib messages in 2007_07_Interim_HU_2D.grib

4 of 496 total grib messages in 1 files
Input Point: latitude=45.33  longitude=19.33
Grid Point chosen #1 index=112 latitude=45.00 longitude=19.50 distance=39.02 (Km)
Other grid Points
- 1 - index=112 latitude=45.00 longitude=19.50 distance=39.02 (Km)
- 2 - index=111 latitude=45.00 longitude=18.00 distance=110.48 (Km)
- 3 - index=97 latitude=46.50 longitude=19.50 distance=130.69 (Km)
- 4 - index=96 latitude=46.50 longitude=18.00 distance=165.77 (Km)
grib_ls A fájl tartalmának kiíratása.
-l 45.33,19.33,1 Megválasztom, hogy mely földrajzi ponthoz közel eső adatokat keresem, illetve hogy hány pontot tekintek közelinek.
-w shortName=msl/2t,dataDate=20070712,dataTime=0000/1200 Megválasztom, hogy mely paraméterekre van szükségem. Megválasztom, hogy mely időpontban van adatra szükségem.
-p shortName,dataDate,dataTime Megválasztom, hogy milyen sorrendben következzenek az oszlopok a kiíratásnál.
-F "%.2f" Megválasztom, hogy milyen formátumban íratom ki az eredményt.

6. Amennyiben ismerünk egy olyan időpontot, amelyre nézve a GRIB mindenképp tartalmaz adatokat (esetünkben 2007. július 12-én 18 UTC időpontban), akkor megnézhetjük, hogy pontosan milyen meteorológiai paraméterekre nézve vannak adataink. (A paramId kulcs értékeit visszakereshetjük a mellékelt txt fájlból.)

Parancs (egy sorba írandó):

grib_ls -w dataDate=20070712,dataTime=1800 -p paramId,shortName 2007_07_Interim_HU_2D.grib

Eredmény:

2007_07_Interim_HU_2D.grib
paramId     shortName
166         10v
151         msl
165         10u
167         2t
4 of 496 grib messages in 2007_07_Interim_HU_2D.grib

4 of 496 total grib messages in 1 files
grib_ls A fájl tartalmának kiíratása.
-w dataDate=20070712,dataTime=1800 Megválasztom, hogy mely időpontban van adatra szükségem.
-p paramId,shortName Megválasztom, hogy milyen adatot írassak ki. (paramId = ECMWF GRIB kód, shortName = rövidítés)

7. Az északi sz. 45,33°-a és a keleti h. 19,33°-a által kijelölt ponthoz legközelebbi pontban 2007. július 12-13-án 00 és 12 UTC időpontban keressük a földfelszín felett 10 m-es magasságban mért szélsebesség-komponenseket [ms-1], a földfelszín felett 2 m-es magasságban mért léghőmérsékletet [K] és az átlagos tengerszinti nyomást [Pa].

Parancs (egy sorba írandó):

grib_ls -l 45.33,19.33,1 -w dataDate=20070712/20070713,dataTime=0000/1200 -p shortName,dataDate,dataTime -B shortName,dataTime,dataDate 2007_07_Interim_HU_2D.grib

Eredmény:

shortName   dataDate    dataTime     value
10u         20070712    0           2.54898
10u         20070713    0           2.04071
10u         20070712    1200        2.53281
10u         20070713    1200        2.24933
10v         20070712    0           -1.44899
10v         20070713    0           -0.594009
10v         20070712    1200        -3.27611
10v         20070713    1200        -2.96535
2t          20070712    0           287.186
2t          20070713    0           286.577
2t          20070712    1200        296.089
2t          20070713    1200        298.147
msl         20070712    0           101395
msl         20070713    0           101937
msl         20070712    1200        101626
msl         20070713    1200        102030
Input Point: latitude=45.33  longitude=19.33
Grid Point chosen #1 index=112 latitude=45.00 longitude=19.50 distance=39.02 (Km)
Other grid Points
- 1 - index=112 latitude=45.00 longitude=19.50 distance=39.02 (Km)
- 2 - index=111 latitude=45.00 longitude=18.00 distance=110.48 (Km)
- 3 - index=97 latitude=46.50 longitude=19.50 distance=130.69 (Km)
- 4 - index=96 latitude=46.50 longitude=18.00 distance=165.77 (Km)
grib_ls A fájl tartalmának kiíratása.
-l 45.33,19.33,1 Megválasztom, hogy mely földrajzi ponthoz közel eső adatokat keresem, illetve hogy hány pontot tekintek közelinek.
-w dataDate=20070712/20070713,dataTime=0000/1200 Megválasztom, hogy mely időpontban van adatra szükségem.
-p shortName,dataDate,dataTime Megválasztom, hogy milyen sorrendben következzenek az oszlopok a kiíratásnál.
-B shortName,dataTime,dataDate Megválasztom, hogy mely értékek alapján rendeződjenek sorba az adatok kiíratásnál.

8. A 112. grid pontban 2007. július 12-13-án 00 és 12 UTC időpontban keressük a földfelszín felett 10 m-es magasságban mért szélsebesség-komponenseket [ms-1], a földfelszín felett 2 m-es magasságban mért léghőmérsékletet [K] és az átlagos tengerszinti nyomást [Pa]

A 7. példa eredményeit megnézve láthatjuk, hogy minden egyes földrajzi szélesség és hosszúság párt egy-egy indexszel azonosíthatunk. Példának okául az északi sz. 45°-a és a keleti h. 19,5°-a által kijelölt pont a 112. indexszel azonosítható ebben a fájlban.

Parancs (egy sorba írandó):

grib_ls -i 112 -w dataDate=20070712/20070713,dataTime=0000/1200 -p shortName,dataDate,dataTime -B shortName,dataTime,dataDate 2007_07_Interim_HU_2D.grib

Eredmény:

shortName   dataDate    dataTime            value(112)
10u         20070712    0          2.54898
10u         20070713    0          2.04071
10u         20070712    1200       2.53281
10u         20070713    1200       2.24933
10v         20070712    0          -1.44899
10v         20070713    0          -0.594009
10v         20070712    1200       -3.27611
10v         20070713    1200       -2.96535
2t          20070712    0          287.186
2t          20070713    0          286.577
2t          20070712    1200       296.089
2t          20070713    1200       298.147
msl         20070712    0          101395
msl         20070713    0          101937
msl         20070712    1200       101626
msl         20070713    1200       102030
grib_ls A fájl tartalmának kiíratása.
-i 112 Megválasztom, hogy mely grid pont adatait keresem.
-w dataDate=20070712/20070713,dataTime=0000/1200 Megválasztom, hogy mely időpontban van adatra szükségem.
-p shortName,dataDate,dataTime Megválasztom, hogy milyen sorrendben következzenek az oszlopok a kiíratásnál.
-B shortName,dataTime,dataDate Megválasztom, hogy mely értékek alapján rendeződjenek sorba az adatok kiíratásnál.

Oldal tetejére >> Vissza a főoldalra