def _guess_diffusion_axis(process_or_domain):
axes = get_axes(process_or_domain)<EOL>diff_ax = {}<EOL>for axname, ax in axes.items():<EOL><INDENT>if ax.num_points > <NUM_LIT:1>:<EOL><INDENT>diff_ax.update({axname: ax})<EOL><DEDENT><DEDENT>if len(list(diff_ax.keys())) == <NUM_LIT:1>:<EOL><INDENT>return list(diff_ax.keys())[<NUM_LIT:0>]<EOL><DEDENT>else:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>
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