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

  1. To copy only the pressure levels from a file

    >  grib_copy -w levtype=pl ../data/tigge_pf_ecmwf.grib2 out.grib
    


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


  3. To copy only the first three fields from a file

    >  grib_copy -w count=1/2/3 ../data/tigge_pf_ecmwf.grib2 out.grib
    


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


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


  6. To copy fields whose typeOfLevel is either 'surface' or 'meanSea'

    >  grib_copy -w typeOfLevel=surface/meanSea orig.grib out.grib
    


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