GRIB API oktatóanyag >> GRIB_dump tool

Kiírja a GRIB fájl tartalmát különböző formátumban.

Használat

grib_dump [beállítások] fájl1 fájl2...

Beállítások

-O

Oktet mód. WMO dokumentáció stílusban írja ki a fájl adatait.


-D

Debug mód: kiír minden kulcsot, ami a GRIB-ben található. A kódtáblákról részletes információk.


-d

Az összes adat értéket kiírja. Csak C módban.


-C

C programkódot generál.


-t

Kiírja a típusinformációkat. Minden információ előtt feltűnteti annak típusát.


-H

Oktett tartalmat hexadecimális formátumban írja ki.


-a

Megadja a grid-hez tartozó változók elnevezéseit.


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


-M

Kikapcsolja a multi-grib szolgáltatást. Egy grib-üzenetben nem engedélyez több mezőt.


-7

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


-V

GRIB API verziószáma.


-G

GRIBEX kompatibilis változat.


Oldal tetejére


Gyakorlati példák

1. A GRIB fájlban található minden név (a számított kulcsokat is beleértve) elérése

Parancs:

grib_dump -D efi.grb

Eredmény:

***** FILE: efi.grb
#==============   MESSAGE 1 ( length=360 )  ==============
0-0 transient parametersVersion = 1
0-0 constant definitionFilesVersion = 1.9.8.0
0-0 constant zero = 0 [epsStatistics]
0-0 constant one = 1
0-0 constant two = 1
0-0 constant three = 1
0-0 constant eight = 8
0-0 constant hundred = 100
0-0 constant eleven = 11
0-0 constant false = false
0-0 transient truncateLaplacian = 0
0-0 constant marsDir = mars
0-0 constant present = 1 [grib2LocalSectionPresent]
0-0 constant epsPoint = 1 [productDefinitionTemplateNumber]
0-0 constant epsContinous = 11
...
  ======> section section_1 (106,106,0)
      8-8 constant ECMWF = 98
      8-8 constant ECMWF_s = ecmf
      8-8 constant WMO = 0
      8-8 constant conceptsMasterDir = grib1
      8-8 constant conceptsLocalDirECMF = grib1/localConcepts/ecmf
      8-8 constant conceptsLocalDirAll = grib1/localConcepts/[centre:s]
      8-8 transient productionStatusOfProcessedData = 0
      8-8 position offsetSection1 = 8
      8-11 section_length section1Length = 106
      11-11 section_pointer section1Pointer = 8_106
      11-11 constant wrongPadding = 0
      11-12 unsigned table2Version = 128 [gribTablesVersionNo]
...
grib_dump GRIB fájl tartalmának kiíratása.
-D "Debug" mód, az összes kulcs kiíratása.

2. Írjuk ki a GRIB üzenetet WMO dokumentáció stílusban, valamint tüntessük fel a típusinformációkat, a változók elnevezéseit és az oktett tartalmat hexadecimális formátumban.

Parancs:

grib_dump -OtaH 2007_07_Interim_HU_2D.grib

Eredmény:

***** FILE: 2007_07_Interim_HU_2D.grib
#==============   MESSAGE 1 ( length=468 )  ==============
1-4       ascii identifier = GRIB ( 0x47 0x52 0x49 0x42 )
5-7       g1_message_length totalLength = 468 ( 0x00 0x01 0xD4 )
8         unsigned editionNumber = 1 ( 0x01 ) [ls.edition]
======================   SECTION_1 ( length=52, padding=0 )    ======================
1-3       section_length section1Length = 52 ( 0x00 0x00 0x34 )
4         unsigned table2Version = 128 ( 0x80 ) [gribTablesVersionNo]
5         codetable centre = 98 ( 0x62 ) 
[European Center for Medium-Range Weather Forecasts (grib1/0.table) ] 
[identificationOfOriginatingGeneratingCentre, originatingCentre, ls.centre, centreForTable2]
6         unsigned generatingProcessIdentifier = 128 ( 0x80 ) [generatingProcessIdentificationNumber, 
process]
7         unsigned gridDefinition = 255 ( 0xFF )
8         codeflag section1Flags = 128 [10000000] ( 0x80 )
9         codetable indicatorOfParameter = 151 ( 0x97 ) 
[Mean sea level pressure  (Pa)  (grib1/2.98.128.table) ]
10        codetable indicatorOfTypeOfLevel = 1 ( 0x01 ) 
[Surface  (of the Earth, which includes sea surface)  (grib1/3.table) ] [levelType, mars.levtype]
11-12     unsigned level = 0 ( 0x00 0x00 ) [vertical.topLevel, vertical.bottomLevel, ls.level, lev]
13        unsigned yearOfCentury = 7 ( 0x07 )
14        unsigned month = 7 ( 0x07 )
15        unsigned day = 1 ( 0x01 )
16        unsigned hour = 0 ( 0x00 )
17        unsigned minute = 0 ( 0x00 )
18        codetable unitOfTimeRange = 1 ( 0x01 ) [Hour (grib1/4.table) ] 
[unitOfTime, indicatorOfUnitOfTimeRange]
grib dump A fájl tartalmának kiíratása.
-O WMO dokumentáció stílusban íratom ki az adatokat
-t Feltüntetem a típusinformációkat.
-a Kiíratom a változók elnevezéseit.
-H Kiíratom az oktett tartalmat hexadecimális formátumban.

3. 2 m-es hőmérséklet kiírása 2007 július 19-én 06 UTC-re

Parancs:

grib_dump -w shortName=2t,dataDate=20070719,dataTime=600 2007_07_Interim_HU_2D.grib

Eredmény:

***** FILE: 2007_07_Interim_HU_2D.grib 
#==============   MESSAGE 296 ( length=468 )               ==============
GRIB {
  editionNumber = 1;
  table2Version = 128;
  # European Center for Medium-Range Weather Forecasts (grib1/0.table)  
  centre = 98;
  generatingProcessIdentifier = 128;
  # 2 metre temperature  (K)  (grib1/2.98.128.table)  
  indicatorOfParameter = 167;
  # Surface  (of the Earth, which includes sea surface)  (grib1/3.table)  
  indicatorOfTypeOfLevel = 1;
  level = 0;
  # Forecast product valid at reference time + P1  (P1>0)  (grib1/5.table)  
  timeRangeIndicator = 0;
  # Unknown code table entry (grib1/0.ecmf.table)  
  subCentre = 0;
  paramId = 167;
  #-READ ONLY- units = K;
  #-READ ONLY- nameECMF = 2 metre temperature;
  #-READ ONLY- name = 2 metre temperature;
  decimalScaleFactor = 0;
  dataDate = 20070719;
  dataTime = 600;
  # Hour (stepUnits.table)  
  stepUnits = 1;
  stepRange = 0;
  startStep = 0;
  endStep = 0;
  #-READ ONLY- marsParam = 167.128;
  # MARS labelling or ensemble forecast data (grib1/localDefinitionNumber.98.table)  
  localDefinitionNumber = 1;
  # ERA Interim (mars/class.table)  
  marsClass = 14;
  # Analysis (mars/type.table)  
  marsType = 2;
  # Atmospheric model (mars/stream.table)  
  marsStream = 1025;
  experimentVersionNumber = 0001;
  perturbationNumber = 0;
  numberOfForecastsInEnsemble = 0;
  shortName = 2t;
  GDSPresent = 1;
  bitmapPresent = 0;
  numberOfVerticalCoordinateValues = 0;
  Ni = 15;
  Nj = 12;
  latitudeOfFirstGridPointInDegrees = 55.5;
  longitudeOfFirstGridPointInDegrees = 9;
  earthIsOblate = 0;
  uvRelativeToGrid = 0;
  latitudeOfLastGridPointInDegrees = 39;
  longitudeOfLastGridPointInDegrees = 30;
  iScansNegatively = 0;
  jScansPositively = 0;
  jPointsAreConsecutive = 0;
  #-READ ONLY- alternativeRowScanning = 0;
  jDirectionIncrementInDegrees = 1.5;
  iDirectionIncrementInDegrees = 1.5;
  #-READ ONLY- numberOfDataPoints = 180;
  #-READ ONLY- numberOfValues = 180;
  missingValue = 9999;
  #-READ ONLY- binaryScaleFactor = -12;
  #-READ ONLY- referenceValue = 288.144;
  sphericalHarmonics = 0;
  complexPacking = 0;
  integerPointValues = 0;
  additionalFlagPresent = 0;
  packingType = grid_simple;
  bitsPerValue = 16;
  values(180) =  {
  2.8819531250e+02, 2.8902148438e+02, 2.8936523438e+02, 2.8992968750e+02, 2.8967968750e+02, 
  2.9001367188e+02, 2.9030859375e+02, 2.9081640625e+02, 2.9133789062e+02, 2.9115820312e+02, 
  2.9134765625e+02, 2.9143554688e+02, 2.9153125000e+02, 2.9166796875e+02, 2.9156054688e+02, 
  2.8967187500e+02, 2.8978125000e+02, 2.9045703125e+02, 2.9093359375e+02, 2.9109960938e+02, 
  2.9073242188e+02, 2.9091210938e+02, 2.9169531250e+02, 2.9226171875e+02, 2.9264648438e+02, 
  2.9305468750e+02, 2.9361718750e+02, 2.9362109375e+02, 2.9303320312e+02, 2.9276953125e+02, 
  2.9000390625e+02, 2.9091601562e+02, 2.9170312500e+02, 2.9199609375e+02, 2.9208789062e+02, 
  2.9208007812e+02, 2.9266406250e+02, 2.9312500000e+02, 2.9350195312e+02, 2.9405468750e+02, 
  2.9508398438e+02, 2.9550000000e+02, 2.9523828125e+02, 2.9529492188e+02, 2.9571679688e+02, 
  2.8991601562e+02, 2.9054101562e+02, 2.9130859375e+02, 2.9219531250e+02, 2.9232031250e+02, 
  2.9270703125e+02, 2.9401367188e+02, 2.9428906250e+02, 2.9478515625e+02, 2.9560937500e+02, 
  2.9634765625e+02, 2.9676367188e+02, 2.9733789062e+02, 2.9799414062e+02, 2.9882617188e+02, 
  2.9193359375e+02, 2.9207617188e+02, 2.9222070312e+02, 2.9252734375e+02, 2.9280078125e+02, 
  2.9378710938e+02, 2.9453515625e+02, 2.9327148438e+02, 2.9419531250e+02, 2.9588085938e+02, 
  2.9655664062e+02, 2.9737890625e+02, 2.9830078125e+02, 2.9948046875e+02, 3.0064453125e+02, 
  2.9229492188e+02, 2.9179492188e+02, 2.9235546875e+02, 2.9283593750e+02, 2.9375000000e+02, 
  2.9776757812e+02, 3.0021093750e+02, 2.9983203125e+02, 3.0058593750e+02, 2.9929687500e+02, 
  2.9574023438e+02, 2.9607226562e+02, 2.9930078125e+02, 3.0108007812e+02, 3.0087109375e+02, 
  2.8824804688e+02, 2.8814453125e+02, 2.9031250000e+02, 2.9170703125e+02, 2.9446289062e+02, 
  2.9842968750e+02, 2.9980273438e+02, 3.0061132812e+02, 3.0108007812e+02, 2.9750390625e+02
  ... 80 more values
  } 
  #-READ ONLY- numberOfCodedValues = 180;
  #-READ ONLY- maximum = 303.191;
  #-READ ONLY- minimum = 288.145;
  #-READ ONLY- average = 295.835;
  #-READ ONLY- numberOfMissing = 0;
  #-READ ONLY- standardDeviation = 3.7466;
  #-READ ONLY- skewness = 947.689;
  #-READ ONLY- kurtosis = 66572.8;
  #-READ ONLY- isConstant = 0;
  gridType = regular_ll;
  #-READ ONLY- getNumberOfValues = 180;
}
grib_dump A fájl tartalmának kiíratása.
-w shortName=2t,dataDate=20070719,dataTime=600 Megválasztom, hogy mely időpontban, milyen adatra van szükségem.

Oldal tetejére >> Vissza a főoldalra