Skip to end of metadata
Go to start of metadata

Problem

When converting to JPEG packing with the Jasper library, you get the above assertion:

% grib_set -s packingType=grid_jpeg input.grib2 output.grib2
grib_set: jpc_enc.c:186: jpc_abstorelstepsize: Assertion `!((expn) & (~0x1f))' failed.
Aborted (core dumped)

This problem can also occur if you have an existing JPEG packed field and you wish to encode it with different values e.g. scaling all values up

% grib_set -s scaleValuesBy=150 input.grib2 output.grib2


Solution

This is a problem in the Jasper library (https://github.com/mdadams/jasper).  It seems to be related to the number of bits per value of the input field.

Pick a decimal precision value that will avoid the assertion and preserves the required precision
  1. grib_set -s setDecimalPrecision=4,packingType=grid_jpeg input.grib2 output.grib2
  2. Check the statistics before and after
  3. grib_ls -n statistics input.grib2
  4. grib_ls -n statistics output.grib2
  5. Compare the results