code: def interpolate(self, gmvs):
          
          # gmvs are clipped to max(iml)
          gmvs_curve = numpy.piecewise(
              gmvs, [gmvs > self.imls[-1]], [self.imls[-1], lambda x: x])
          idxs = gmvs_curve >= self.imls[0]  # indices over the minimum
          gmvs_curve = gmvs_curve[idxs]
          return self._probs_i1d(gmvs_curve), numpy.zeros_like(gmvs_curve), idxs
docs: :param gmvs:
             array of intensity measure levels
          :returns:
             (interpolated probabilities, zeros, indices > min)