Skip Navigation Links www.nws.noaa.gov 
NOAA logo - Click to go to the NOAA home page National Weather Service   NWS logo - Click to go to the NWS home page
Climate Prediction Center
 
 

 
About Us
   Our Mission
   Who We Are

Contact Us
   CPC Information
   CPC Web Team

 
HOME > Monitoring_and_Data > Oceanic and Atmospheric Data > Reanalysis: Atmospheric Data > wgrib2-i -i_file
 

wgrib2: -i, -i_file

Introduction

The -i option specifies that wgrib2 should read STDIN to determine the records to be processed. The -i_file option is similar except that wgrib2 reads file a user-specified file to determine the records to be processed. Some of the common uses of -i can also be done with the -match option.

Slicing and Dicing

Wgrib2 is a program to "slice and dice" grib2 files. Suppose you have a big grib file but you only want the 2-meter temperature and the precipitation. Rather than fill up your disk with big files, you can easily extract the required fields.

The first step is to figure what is in the grib file.

-sh-2.05b$ wgrib2 test.grb2 -s
1:0:d=2005090200:HGT:1000 mb:60 hour fcst
2:133907:d=2005090200:HGT:975 mb:60 hour fcst
3:263511:d=2005090200:HGT:950 mb:60 hour fcst
4:389058:d=2005090200:HGT:925 mb:60 hour fcst
5:511037:d=2005090200:HGT:900 mb:60 hour fcst
6:630256:d=2005090200:HGT:850 mb:60 hour fcst
7:745505:d=2005090200:HGT:800 mb:60 hour fcst
....
291:37540403:d=2005090200:GPA:1000 mb:60 hour fcst
292:37677072:d=2005090200:GPA:500 mb:60 hour fcst
293:37791941:d=2005090200:5WAVA:500 mb:60 hour fcst

Information overload. Lets see if you can find the desired variables.

-sh-2.05b$ wgrib2 test.grb2 -s | grep ':TMP:2 m'
265:35107588:d=2005090200:TMP:2 m above ground:60 hour fcst
Found the 2-m temperature, can we find the precipitation?
-sh-2.05b$ wgrib2 test.grb2 -s | grep ':PRATE:'
260:34814859:d=2005090200:PRATE:surface:54-60 hour fcst
Yes. we found the fields. Now we need to combine the above into a single command using the or option of egrep; i.e., egrep '(A|B)'.
-sh-2.05b$ wgrib2 test.grb2 -s | egrep '(:TMP:2 m|:PRATE:)'
260:34814859:d=2005090200:PRATE:surface:54-60 hour fcst
265:35107588:d=2005090200:TMP:2 m above ground:60 hour fcst
Now that we have selected the records, we can send the output (inventory) back into wgrib2 to manipulate.
-sh-2.05b$  wgrib2 test.grb2 -s | egrep '(:TMP:2 m|:PRATE:)' | wgrib2 -i test.grb2 -grib small.grb
260:34814859:d=2005090200:PRATE:surface:54-60 hour fcst
265:35107588:d=2005090200:TMP:2 m above ground:60 hour fcst
The above command made a grib2 file consisting of the precipation (PRATE) and 2-m temperature (TMP).
-sh-2.05b$ ls -l test.grb2 small.grb
-rw-r--r--    1 wd51we   wd5        212429 2006-10-16 15:08 small.grb
-rwxr-xr-x    1 wd51we   wd5      37862776 2006-05-25 15:16 test.grb2
As you can see, the new file is much smaller than the original file.
-sh-2.05b$  wgrib2 small.grb
1:0:d=2005090200:PRATE:surface:54-60 hour fcst
2:110654:d=2005090200:TMP:2 m above ground:60 hour fcst
As expected, the new grib file only has the desired two fields.

Decoding a Single record

Another use of the -i option is to specify the field to decode.

-sh-2.05b$ wgrib2 test.grb2 -s | grep ':PRATE:' | wgrib2 -i test.grb2 -spread field.txt
260:34814859:d=2005090200:PRATE:surface:54-60 hour fcst
-sh-2.05b$ head field.txt
lon,lat,PRATE surface d=2005090200 54-60 hour fcst
0,-90,5e-06
0.5,-90,5e-06
1,-90,5e-06
1.5,-90,5e-06
2,-90,5e-06
2.5,-90,5e-06
3,-90,5e-06
3.5,-90,5e-06
4,-90,5e-06

-i_file

The -i_file MY_FILE option reads the inventory from file, MY_FILE. The following 3 lines are equivalent.
cat FILE.inv | grep UGRD | wgrib2 -i FILE.grb -bin data.bin

cat FILE.inv | wgrib2 -i FILE.grb -match UGRD -bin data.bin

wgrib2 -i_file FILE.inv FILE.grb -match UGRD -bin data.bin 

Usage

-i
-i_file FILE

Speed

The following command is very common so it incorporated within wgrib2. This speeds up the operation by eliminating two program executions and duplicate reads.

wgrib2 gribfile | grep "string" | wgrib2 -i gribfile (other options)

is equivalent to 

wgrib2 gribfile -match "string" (other options)
However, the -i option can be more efficient when making multiple extractions from a file. For example,
wgrib2 gribfile >gribfile.inv
grep "string1" gribfile.inv | wgrib2 -i gribfile (other options)
grep "string2" gribfile.inv | wgrib2 -i gribfile (other options)
grep "string3" gribfile.inv | wgrib2 -i gribfile (other options)

is faster than

wgrib2 gribfile -match "string1" (other options)
wgrib2 gribfile -match "string2" (other options)
wgrib2 gribfile -match "string3" (other options)

See also: -match, -not, -d,


NOAA/ National Weather Service
National Centers for Environmental Prediction
Climate Prediction Center
5830 University Research Court
College Park, Maryland 20740
Climate Prediction Center Web Team
Page last modified: May 15, 2005
Disclaimer Privacy Policy