Ah... Try using .dimensions instead (variables have dimensions but not coordinates).

On Tue, May 20, 2014 at 5:34 PM, Joe Hamman <notifications@github.com>
wrote:

>> +        """
>> +
>> +        # if copy_attrs:
>> +        #     attrs = self.attrs
>> +        # else:
>> +        #     attrs = {}
>> +
>> +        if isinstance(dimension, basestring):
>> +            dims = set([dimension])
>> +        elif dimension is None:
>> +            dims = set(self.coordinates)
>> +        else:
>> +            dims = set(dimension)
>> +
>> +        variables = OrderedDict()
>> +        for name, da in iteritems(self):
> I tried this, and well...couldn't get it to work.  The problem is that iterating over `self.variables` returns all variables, including `coordinates` which breaks this 
> ```python
> reduce_dims = [dim for dim in da.coordinates if dim in dims]
> ```
> since a `Coordinate` doesn't have a `coordinates` attribute.
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/xray/xray/pull/137/files#r12876374