docs: def by_grp(self):
          """
          :returns: a dictionary grp -> rlzis
          """
          dic = {}  # grp -> [(gsim_idx, rlzis), ...]
          for sm in self.csm_info.source_models:
              for sg in sm.src_groups:
                  if not sg.eff_ruptures:
                      continue
                  rlzs_by_gsim = self.get_rlzs_by_gsim(sg.trt, sm.ordinal)
                  if not rlzs_by_gsim:
                      continue
                  dic['grp-%02d' % sg.id] = numpy.array(
                      list(rlzs_by_gsim.values()))
          return dic