wgrib2 can write grib files by either copying an existing
packed grib message (-grib) or by
taking floating point values and packing them into a new grib
message. (For example, -grib_out,
For the latter, one has a choice of packing methods.
Generally methods that are faster methods create larger files
and slower methods make smaller files. For fields with no
undefined values, the jpeg2000 produces the smallest files.
With bitmaps, one of the complex packings is usually the best
(of the supported packing). Complex3 is often the best trade off
between speed and compression for smooth fields. For other fields
complex1 is often the best trade off between speed and compression.
The (-set_grib_type) option controls the
-set_grib_type X X=ieee,simple,complex1,complex2,complex3,jpeg,same
ieee = data is ieee format (4 bytes per data point)
simple = no compression, packed scaled integers
complex1 = complex packing
complex2 = complex packing, pack increments (deltas)
complex3 = complex packing, pack increments after linear extrapolation
jpeg = jpeg2000 compression
same = try to keep same packing type as input
if input is in an unsupported output packing, complex1 is used
note c1,c2,c3 are the same as complex1,complex2,complex3
$ wgrib2 in.grb -set_grib_type complex3 -grib_out out.grb
The above line rewrites a file using complex3 packing.
See also: -grib_out,