The -undefine_val option sets the grid points to undefined
depending on the value of the grid point. If a single value is specified, grid
values within 0.1 percent are set to undefined. If two values are specified,
the values that are within that range are set to undefined.
Note: the ability to handle ranges was always available but undocumented.
My mistake. That's what you get when you delay writing the documentation.
grid values within 0.1 percent are set to undefined
grid value that are within the rage are set to undefined
i.e., value1 <= grid_value <= value2
Suppose a non-standard grib file uses -999.9 as special value to
indicate an undefined grid point value. This is unfortunate as grib
readers will not know that -999.9 is a special value for undefined
values. (Grib2 uses a bitmap, NaN or out-of-range values.)
The best way to deal with these files is to convert
values of -999.9 to undefined values and then write them out.
$ wgrib2 IN.grb2 -undefine_val -999.9 -set_grib_type same -grib_out OUT.grb