def __init__(self, mnc, name):
        self._name = name
        self.nc = mnc.nc
        self.layout = mnc.layout
        self._i0 = mnc._i0
        self._ie = mnc._ie
        self._j0 = mnc._j0
        self._je = mnc._je
        self._nf = mnc._nf
        self._fn = mnc._fn
        v0 = mnc.nc[0].variables[name]
        self._attributes = getattributes(v0, _exclude_var)
        self.itemsize = v0.data.itemsize
        self.typecode = v0.typecode
        self.dtype = np.dtype(self.typecode())
        self.dimensions = v0.dimensions
        self.shape = tuple( mnc.dimensions[d] for d in self.dimensions )
        self.isrec = self.shape[0] is None
        if self.isrec:
            self.shape = (mnc.nrec,) + self.shape[1:]

        # which dimensions are tiled
        self._Xdim = None
        self._Ydim = None
        for i,d in enumerate(self.dimensions):
            if d[0] == 'X': self._Xdim = i
            if d[0] == 'Y': self._Ydim = i