🍾 Xarray is now 10 years old! 🎉

xarray.decode_cf

Contents

xarray.decode_cf#

xarray.decode_cf(obj, concat_characters=True, mask_and_scale=True, decode_times=True, decode_coords=True, drop_variables=None, use_cftime=None, decode_timedelta=None)[source]#

Decode the given Dataset or Datastore according to CF conventions into a new Dataset.

Parameters:
  • obj (Dataset or DataStore) – Object to decode.

  • concat_characters (bool, optional) – Should character arrays be concatenated to strings, for example: [“h”, “e”, “l”, “l”, “o”] -> “hello”

  • mask_and_scale (bool, optional) – Lazily scale (using scale_factor and add_offset) and mask (using _FillValue).

  • decode_times (bool, optional) – Decode cf times (e.g., integers since “hours since 2000-01-01”) to np.datetime64.

  • decode_coords (bool or {"coordinates", "all"}, optional) – Controls which variables are set as coordinate variables:

    • “coordinates” or True: Set variables referred to in the 'coordinates' attribute of the datasets or individual variables as coordinate variables.

    • “all”: Set variables referred to in 'grid_mapping', 'bounds' and other attributes as coordinate variables.

  • drop_variables (str or iterable, optional) – A variable or list of variables to exclude from being parsed from the dataset. This may be useful to drop variables with problems or inconsistent values.

  • use_cftime (bool, optional) – Only relevant if encoded dates come from a standard calendar (e.g. “gregorian”, “proleptic_gregorian”, “standard”, or not specified). If None (default), attempt to decode times to np.datetime64[ns] objects; if this is not possible, decode times to cftime.datetime objects. If True, always decode times to cftime.datetime objects, regardless of whether or not they can be represented using np.datetime64[ns] objects. If False, always decode times to np.datetime64[ns] objects; if this is not possible raise an error.

  • decode_timedelta (bool, optional) – If True, decode variables and coordinates with time units in {“days”, “hours”, “minutes”, “seconds”, “milliseconds”, “microseconds”} into timedelta objects. If False, leave them encoded as numbers. If None (default), assume the same value of decode_time.

Returns:

decoded (Dataset)