This happens for stepType of "max" and "min". Unfortunately edition 1 does not support maximum and minimum in its "Time Range Indicator" table (Table 5). So ECMWF invented its own centre-specific combination to support this. There is no such issue in GRIB edition 2.
To see this let's try setting the stepType key on a GRIB file whose centre is not ECMWF:
% grib_ls -p centre,edition my.grib1 centre edition consensus 1 # Set its stepType to max % ECCODES_DEBUG=-1 grib_set -s stepType=max my.grib1 max.grib1 ECCODES DEBUG grib_set_string stepType=|max| ECCODES DEBUG grib_set_long timeRangeIndicator=2 ECCODES DEBUG grib_set_long centre=98 % grib_ls -p centre,stepType max.grib1 centre stepType ecmf max
Here we turn on the debugging to see what other keys get set when we change the stepType. We can see that the centre got changed to "98" (=ecmwf).