Step-by-step guide
For the moment there is no simple way of knowing what the type of a key value is. However, the library provides a function that can be used to find out what the native type of a key value is.
In the C API, there is a function called "codes_get_native_type" which returns an integer which can be checked against the following macros:
CODES_TYPE_UNDEFINEDCODES_TYPE_LONGCODES_TYPE_DOUBLECODES_TYPE_STRINGCODES_TYPE_BYTESCODES_TYPE_SECTIONCODES_TYPE_LABELCODES_TYPE_MISSING
In the Python interface, the same function "codes_get_native_type" has a simpler interface and returns one of: "int", "float" or "str".
As of version 2.14.0, one can use the grib_dump tool with the "-p" option to dump a given key and query its type with the "-t" option.
E.g.
% grib_dump -t -p identifier my.grib # type ascii (str) #-READ ONLY- identifier = GRIB; % grib_dump -t -p referenceValue my.grib # type ieeefloat (double) #-READ ONLY- referenceValue = 45.67;
Here you can see that the key "identifier" is of type string and "referenceValue" is a double.