docs: def store_source_info(self, calc_times):
          """
          Save (weight, num_sites, calc_time) inside the source_info dataset
          """
          if calc_times:
              source_info = self.datastore['source_info']
              arr = numpy.zeros((len(source_info), 3), F32)
              ids, vals = zip(*sorted(calc_times.items()))
              arr[numpy.array(ids)] = vals
              source_info['weight'] += arr[:, 0]
              source_info['num_sites'] += arr[:, 1]
              source_info['calc_time'] += arr[:, 2]