docs: def state_to_xarray(state):
      '''Convert a dictionary of climlab.Field objects to xarray.Dataset
  
      Input: dictionary of climlab.Field objects
      (e.g. process.state or process.diagnostics dictionary)
  
      Output: xarray.Dataset object with all spatial axes,
      including 'bounds' axes indicating cell boundaries in each spatial dimension.
  
      Any items in the dictionary that are not instances of climlab.Field
      are ignored.'''
      from climlab.domain.field import Field
  
      ds = Dataset()
      for name, field in state.items():
          if isinstance(field, Field):
              ds[name] = Field_to_xarray(field)
              dom = field.domain
              for axname, ax in dom.axes.items():
                  bounds_name = axname + '_bounds'
                  ds.coords[bounds_name] = DataArray(ax.bounds, dims=[bounds_name],
                                      coords={bounds_name:ax.bounds})
                  try:
                      ds[bounds_name].attrs['units'] = ax.units
                  except:
                      pass
          else:
              warnings.warn('{} excluded from Dataset because it is not a Field variable.'.format(name))
      return ds