GRIB API oktatóanyag >> grib_set tool

A GRIB üzenet tartalmát lehet megváltoztatni ezzel a paranccsal. Az input GRIB fájlban kulcs-érték párokat készít és minden üzenetet az output GRIB fájlba ír. Ha hibát észlel, akkor leáll (pl. ha nem találja a kulcsot).

Használat

grib_set [beállítások] grib_fájl grib_fájl output_grib_fájl

Beállítások

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

Kulcs/érték beállításához használhatjuk. Minden egyes kulcshoz különböző típusokat lehet definiálni: karakterlánc (kulcs: s), dupla (kulcs: d) vagy hosszú (kulcs: l). Alapértelmezésben a natív típus van beállítva.


-r

Újracsomagolja az adatokat. Néha, miután megadtunk néhány kulcsot, beleértve a csomagolás algoritmusának tulajdonságait, szükséges újracsomagolni az adatokat. Ehhez az újracsomagoláshoz ezt a -r parancsot kell alkalmazni.


-d érték

Az összes adat értékét "értékké" alakítja.


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

A kulcsok deklarációja, amelyet ki szeretnénk írni. Minden egyes kulcs karakterlánc (kulcs: s), dupla (kulcs: d) vagy hosszú (kulcs: l) értékűnek adható. Az általános típus a string (karakterlánc).


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

A -p paranccsal deklarált kulcsot az alapértelmezett listához adja.


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


-7

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


-S

Szigorú mód. Csak azokat a GRIB üzeneteket másolja a kimeneti fájlba, amelyek illeszkednek a korlátokhoz.


-V

GRIB API verziószám.


-M

Nem használ multi-GRIBeket. (Azaz egyetlen GRIB üzenetben több mezőt nem enged meg.)


-g

GTS (Grid Trust Service) fejléc másolása.


-G

GRIBEX (egy FORTRAN alapú eljárásgyűjtemény) kompatibilitási mód.


-f

Arra kényszerít, hogy ne álljon le akkor sem, ha hibát észlel.


-v

Bőbeszédű mód.


Oldal tetejére


Gyakorlati példák

1. A 2007_07_Interim_HU_2D.grib fájl időlépcsőjét szeretnénk megváltoztatni 12-re.

Ehhez elsőként megnézzük, hogy az eredeti fájlban milyen az időlépcső (stepRange), amit a grib_ls paranccsal tehetünk meg.

Eredmény:

2007_07_Interim_HU_2D.grib
edition centre typeOfLevel level dataDate stepRange dataType shortName
packingType gridType 1 ecmf surface 0 20070701 0 an msl
grid_simple regular_ll 1 ecmf surface 0 20070701 0 an 10u
grid_simple regular_ll 1 ecmf surface 0 20070701 0 an 10v
grid_simple regular_ll 1 ecmf surface 0 20070701 0 an 2t
grid_simple regular_ll 1 ecmf surface 0 20070701 0 an msl
grid_simple regular_ll

A következő parancs, amivel megváltoztatjuk az időlépcsőt:

grib_set -s stepRange=12 2007_07_Interim_HU_2D.grib 2007_07_Interim_HU_2D_12.grib

Az alábbi paranccsal pedig ellenőrizzük, hogy sikerült-e a változtatás:

grib_ls 2007_07_Interim_HU_2D_12.grib | more

Eredmény:

2007_07_Interim_HU_2D_12.grib
edition centre typeOfLevel level dataDate stepRange dataType shortName
packingType gridType 1 ecmf surface 0 20070701 12 an msl
grid_simple regular_ll 1 ecmf surface 0 20070701 12 an 10u
grid_simple regular_ll 1 ecmf surface 0 20070701 12 an 10v
grid_simple regular_ll 1 ecmf surface 0 20070701 12 an 2t
grid_simple regular_ll 1 ecmf surface 0 20070701 12 an msl
grid_simple regular_ll
grib_ls Megnézzük az eredeti fájl időlépcsőjét a fájl tartalmának gyors kiíratásával.
grib_set -s stepRange=12 Megváltoztatjuk az időlépcsőt 12 órára.
grib_ls Megnézzük az új fájl időlépcsőjét a fájl tartalmának gyors kiíratásával.

2. A 2007_07_Interim_HU_2d.grib fájl dátumát szeretnénk megváltoztatni 2008.07-re. Ellenőrzésként pedig a grib_ls paranccsal megnézzük az új fájlban levő dátumot.

Módosítás:

grib_set -s dataDate=200807 2007_07_Interim_HU_2D.grib 2008_07_Interim_HU_2D.grib

Az ellenőrzéshez kiadott parancs:

grib_ls 2008_07_Interim_HU_2D.grib | more

Eredmény:

2008_07_Interim_HU_2D.grib

edition	centre	typeOfLevel	level	dataDate	stepRange	dataType	shortName
packingType	gridType
1	ecmf	surface		0	200807		0		an		msl
grid_simple	regular_ll
1	ecmf	surface		0	200807		0		an		10u
grid_simple	regular_ll
1	ecmf	surface		0	200807		0		an		10v
grid_simple	regular_ll
1	ecmf	surface		0	200807		0		an		2t
grid_simple	regular_ll
1	ecmf	surface		0	200807		0		an		msl
grid_simple	regular_ll
grib_set -s dataDate=200807 Megváltoztatjuk a dátumot 2008 07-re.
grib_ls Megnézzük az új fájl dátumát a fájl tartalmának gyors kiíratásával.

3. GRIB1 - GRIB2 konverzió

Lehetőség van arra, hogy egy 2. kiadású GRIB fájlt készítsünk egy 1. kiadású GRIB fájlból, mégpedig olyan egyszerűen, hogy csupán megváltoztatjuk a kiadás számát a grib_set paranccsal. A fejlesztésnek ebben a szakaszában minden geográfiai paraméter, szint és idő információ helyesen transzformálódik, de a termék definiálásához további beállítások szükségesek. Ahhoz, hogy ezek a beállítások megfelelőek legyenek, a grib_filter parancsot ajánlott használni.

A kiadott parancs:

grib_set -s edition=2 2007_07_Interim_HU_2D.grib 2007_07_Interim_HU_2D.grib2

Az ellenőrzéshez kiadott parancs:

grib_ls 2007_07_Interim_HU_2D.grib2 | more

Eredmény:

edition	centre	date	dataType	gridType	stepRange	typeOfLevel		level
shortName	packingType
2	ecmf	20070701	an	regular_ll	0		meanSea			0
msl	grid_simple
2	ecmf	20070701	an	regular_ll	0		heightAboveGround	10
10u	grid_simple
2	ecmf	20070701	an	regular_ll	0		heightAboveGround	10
10v	grid_simple
2	ecmf	20070701	an	regular_ll	0		heightAboveGround	2
2t	grid_simple
grib_set -s edition=2 2. kiadású GRIB fájlt készít 1. kiadású GRIB fájlból

Oldal tetejére >> Vissza a főoldalra