docs: def _build_data(self, amplification_group):
          """
          Creates the numpy array tables from the hdf5 tables
          """
          # Determine shape of the tables
          n_levels = len(amplification_group)
          # Checks the first group in the amplification group and returns the
          # shape of the SA array - implicitly assumes the SA array in all
          # amplification groups is the same shape
          level = next(iter(amplification_group))
          n_d, n_p, n_m = amplification_group[level]["IMLs/SA"].shape
          assert n_d == len(self.distances), (n_d, len(self.distances))
          assert n_m == len(self.magnitudes), (n_m, len(self.magnitudes))
          # Instantiate the arrays with ones
          self.mean = {"SA": numpy.ones([n_d, n_p, n_m, n_levels]),
                       "PGA": numpy.ones([n_d, 1, n_m, n_levels]),
                       "PGV": numpy.ones([n_d, 1, n_m, n_levels])}
          self.sigma = {}
          for stddev_type in [const.StdDev.TOTAL, const.StdDev.INTER_EVENT,
                              const.StdDev.INTRA_EVENT]:
              level = next(iter(amplification_group))
              if stddev_type in amplification_group[level]:
                  self.sigma[stddev_type] = deepcopy(self.mean)
  
          for iloc, (level, amp_model) in enumerate(amplification_group.items()):
              if "SA" in amp_model["IMLs"]:
                  if iloc == 0:
                      self.periods = amp_model["IMLs/T"][:]
                  else:
                      assert numpy.allclose(self.periods, amp_model["IMLs/T"][:])
              for imt in ["SA", "PGA", "PGV"]:
                  if imt in amp_model["IMLs"]:
                      self.mean[imt][:, :, :, self.argidx[iloc]] = \
                          amp_model["IMLs/" + imt][:]
                      for stddev_type in self.sigma:
                          self.sigma[stddev_type][imt][
                              :, :, :, self.argidx[iloc]] = \
                              amp_model["/".join([stddev_type, imt])][:]
          self.shape = (n_d, n_p, n_m, n_levels)