docs: def roll(self, shifts=None, **shifts_kwargs):
          """
          Return a new Variable with rolld data.
  
          Parameters
          ----------
          shifts : mapping of the form {dim: offset}
              Integer offset to roll along each of the given dimensions.
              Positive offsets roll to the right; negative offsets roll to the
              left.
          **shifts_kwargs:
              The keyword arguments form of ``shifts``.
              One of shifts or shifts_kwarg must be provided.
  
          Returns
          -------
          shifted : Variable
              Variable with the same dimensions and attributes but rolled data.
          """
          shifts = either_dict_or_kwargs(shifts, shifts_kwargs, 'roll')
  
          result = self
          for dim, count in shifts.items():
              result = result._roll_one_dim(dim, count)
          return result