Step-by-step guide

This can be done by using the grib_set command.

You can use the "setBitsPerValue" key as in:

% grib_set -s setBitsPerValue=17 in.grib out.grib

or use the "repack" (-r) option with the "bitsPerValue" key:

% grib_set -r -s bitsPerValue=17 in.grib out.grib

In these commands, we first decode the data values, then change the bitsPerValue key and then repack (i.e., encode those values back in).

It is advisable to check the field values after such a change, for example by printing and comparing the statistics before and after:

% grib_ls -n statistics in.grib
% grib_ls -n statistics out.grib

Of course you can also use grib_compare.