iris.fileformats.grib.grib_phenom_translation

Provide grib 1 and 2 phenomenon translations to + from CF terms.

This is done by wrapping ‘_grib_cf_map.py’, which is in a format provided by the metadata translation project.

Currently supports only these ones:

  • grib1 –> cf
  • grib2 –> cf
  • cf –> grib2

In this module:

iris.fileformats.grib.grib_phenom_translation.cf_phenom_to_grib2_info(standard_name, long_name=None)

Lookup CF names –> grib2_data or None.

Returned grib2_data has attributes:

  • discipline

  • category

  • number

  • units
    : a cf_units.Unit

    The unit represents the defined reference units for the message data.

↑ top ↑

iris.fileformats.grib.grib_phenom_translation.grib1_phenom_to_cf_info(table2_version, centre_number, param_number)

Lookup grib-1 parameter –> cf_data or None.

Returned cf_data has attributes:

  • standard_name
  • long_name
  • units : a cf_units.Unit
  • set_height : a scalar ‘height’ value , or None

↑ top ↑

iris.fileformats.grib.grib_phenom_translation.grib2_phenom_to_cf_info(param_discipline, param_category, param_number)

Lookup grib-2 parameter –> cf_data or None.

Returned cf_data has attributes:

  • standard_name
  • long_name
  • units : a cf_units.Unit

↑ top ↑

Specialised dictionary object for making lookup tables.

Returns None for unknown keys (instead of raising exception). Raises exception for any attempt to change an existing entry, (but it is still possible to remove keys)

class iris.fileformats.grib.grib_phenom_translation.LookupTable(*args, **kwargs)

Bases: dict

Specialised dictionary object for making lookup tables.

Returns None for unknown keys (instead of raising exception). Raises exception for any attempt to change an existing entry, (but it is still possible to remove keys)

clear() → None. Remove all items from D.
copy() → a shallow copy of D
fromkeys(S[, v]) → New dict with keys from S and values equal to v.

v defaults to None.

get(k[, d]) → D[k] if k in D, else d. d defaults to None.
has_key(k) → True if D has a key k, else False
items() → list of D's (key, value) pairs, as 2-tuples
iteritems() → an iterator over the (key, value) items of D
iterkeys() → an iterator over the keys of D
itervalues() → an iterator over the values of D
keys() → list of D's keys
pop(k[, d]) → v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised

popitem() → (k, v), remove and return some (key, value) pair as a

2-tuple; but raise KeyError if D is empty.

setdefault(k[, d]) → D.get(k,d), also set D[k]=d if k not in D
update([E, ]**F) → None. Update D from dict/iterable E and F.

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values() → list of D's values
viewitems() → a set-like object providing a view on D's items
viewkeys() → a set-like object providing a view on D's keys
viewvalues() → an object providing a view on D's values