Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 Python interface there is a function called "codes_get_native_type" which returns an integer which can be checked against the following macros:

CODES_TYPE_UNDEFINED
CODES_TYPE_LONG
CODES_TYPE_DOUBLE
CODES_TYPE_STRING
CODES_TYPE_BYTES
CODES_TYPE_SECTION
CODES_TYPE_LABEL
CODES_TYPE_MISSING

...

one of: "int", "float" or "str". E.g.

Code Block
languagepy
gid = codes_grib_new_from_samples("GRIB2")
codes_get_native_type(gid, "date")           # returns int
codes_get_native_type(gid, "referenceValue") # returns float
codes_get_native_type

...

(gid, "stepType")       # returns 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.
Let's look at the types of various keys in a GRIB2 message:

...

  • "ascii" means a string (character array)
  • "codetable" means an integer whose values come from entries in the given Code Table e.g. 1.4
  • "unsigned" is a non-negative integer
  • "signed" means an integer which can be negative
  • "ieeefloat" is a floating-point number (https://en.wikipedia.org/wiki/IEEE_754)

...