code: def _guess_diffusion_axis(process_or_domain):
      
      axes = get_axes(process_or_domain)
      diff_ax = {}
      for axname, ax in axes.items():
          if ax.num_points > 1:
              diff_ax.update({axname: ax})
      if len(list(diff_ax.keys())) == 1:
          return list(diff_ax.keys())[0]
      else:
          raise ValueError('More than one possible diffusion axis.')
docs: Scans given process, domain or dictionary of domains for a diffusion axis
      and returns appropriate name.
  
      In case only one axis with length > 1 in the process or set of domains
      exists, the name of that axis is returned. Otherwise an error is raised.
  
      :param process_or_domain:   input from where diffusion axis should be guessed
      :type process_or_domain:    :class:`~climlab.process.process.Process`,
                                  :class:`~climlab.domain.domain._Domain` or
                                  :py:class:`dict` of domains
      :raises: :exc:`ValueError` if more than one diffusion axis is possible.
      :returns:                   name of the diffusion axis
      :rtype:                     str