DESCRIPTION
Copies the content of GRIB files printing values of some keys. If the name of the output_grib_file contains a key enclosed in square brackets, its value will be used.
USAGE
grib_copy [options] grib_file grib_file ... output_grib_file
OPTIONS
-f
Force. Force the execution not to fail on error.
-r
Repack data. Sometimes after setting some keys involving properties of the packing algorithm a repacking of data is needed. This repacking is performed setting this -r option.
-p key[:{s|d|i}],key[:{s|d|i}],...
Declaration of keys to print. For each key a string (key:s), a double (key:d) or an integer (key:i) type can be requested. Default type is string.
-P key[:{s|d|i}],key[:{s|d|i}],...
As -p adding the declared keys to the default list.
-w key[:{s|d|i}]{=|!=}value,key[:{s|d|i}]=value,...
Where clause. Only GRIB messages matching the key/value constraints are copied to the output_grib_file. A valid constraint is of type key=value or key!=value. For each key a string (key:s), a double (key:d) or an integer (key:i) type can be defined.
Default type is string. In the value you can also use the forward-slash character '/' to specify an OR condition (i.e. a logical disjunction)
Note: only one -w clause is allowed.
-B order by directive
Order by. The output will be ordered according to the order by directive.
Example: "step:i asc, centre desc" (step numeric ascending and centre descending)
Default sort mode is 'asc'
-V
Version.
-W width
Minimum width of each column in output. Default is 10.
-M
Multi-field support off. Turn off support for multiple fields in single GRIB message.
-T T | B | M | A
Message type. T->GTS, B->BUFR, M->METAR (Experimental),A->Any (Experimental). The input file is interpreted according to the message type.
-g
Copy GTS header.
-G
GRIBEX compatibility mode.
-7
Does not fail when the message has wrong length
-X offset
Input file offset in bytes. Processing of the input file will start from "offset".
-v
Verbose.
grib_copy examples
To copy only the pressure levels from a file
> grib_copy -w levtype=pl ../data/tigge_pf_ecmwf.grib2 out.grib
To copy only the fields that are not on pressure levels from a file
> grib_copy -w levtype!=pl ../data/tigge_pf_ecmwf.grib2 out.grib
To copy only the first three fields from a file
> grib_copy -w count=1/2/3 ../data/tigge_pf_ecmwf.grib2 out.grib
A grib_file with multi field messages can be converted in single field messages with a simple grib_copy.
> grib_copy multi.grib simple.grib
Use the square brackets to insert the value of a key in the name of the output file (This is a good way to split a large GRIB file)
> grib_copy in.grib 'out_[shortName].grib'
Note: we need to quote the name of the output so the shell does not interpret the square brackets
To copy fields whose typeOfLevel is either 'surface' or 'meanSea'
> grib_copy -w typeOfLevel=surface/meanSea orig.grib out.grib
To copy selected fields and apply sorting (sorted by level in ascending order)
> grib_copy -w typeOfLevel=heightAboveGround -B'level:i asc' tigge_af_ecmwf.grib2 out.grib
Note: we need to specify the ':i' to get a numerical sort. By default values are sorted as strings so a level of 100 would come before 20!