Problem
You are trying to convert a GRIB edition 1 field to GRIB edition 2 via grib_set but it fails.
Solution
Let's say you have a GRIB1 file with the paramId=201 which is "Maximum temperature at 2 metres since previous post-processing". You try to convert it to edition 2:
Code Block |
---|
% grib_ls -p paramId,shortName mx2t.grib1 paramId shortName 201 mx2t % grib_set -s edition=2 mx2t.grib1 mx2t.grib2 ECCODES ERROR: grib_set_values[4] typeOfStatisticalProcessing (type=long) failed: Key/value not found ECCODES ERROR: grib_set_values[0] edition (type=long) failed: Key/value not found |
The conversion fails because the definition of the parameter 201 contains the key "typeOfStatisticalProcessing". Check the GRIB2 representation of this parameter in the Parameter database.
A value of 2 means "Maximum", see code table for key "typeOfStatisticalProcessing".
The grib_set command above sets the Product Definition Template number to 0 (instantaneous) because that is the default.
But this parameter requires a Product Definition Template for interval-based products (not instantaneous), see here.
So we need to select the correct Product Definition Template number:
Code Block | |
---|---|
% grib_set -s edition=2,productDefinitionTemplateNumber=8 mx2t.grib1 mx2t.grib2
% grib_ls -p paramId,shortName mx2t.grib2
paramId shortName
201 mx2t | |
Panel | |
bgColor | #fff
Related articles
Content by Label | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Page properties | ||
---|---|---|
| ||
|