code: def get_distance_term(self, C, dists, rup):
          
          x_ij = dists.rrup
          gn_exp = np.exp(C["c1"] + 6.5 * C["c2"])
          g_n = C["gcrN"] * np.log(self.CONSTANTS["xcro"] + 30. + gn_exp) *\
              np.ones_like(x_ij)
          idx = x_ij <= 30.0
          if np.any(idx):
              g_n[idx] = C["gcrN"] * np.log(self.CONSTANTS["xcro"] +
                                            x_ij[idx] + gn_exp)
          c_m = min(rup.mag, self.CONSTANTS["m_c"])
          r_ij = self.CONSTANTS["xcro"] + x_ij + np.exp(C["c1"] + C["c2"] * c_m)
          return C["gUM"] * np.log(r_ij) +\
              C["gcrL"] * np.log(x_ij + 200.0) +\
              g_n + C["eum"] * x_ij + C["ecrV"] * dists.rvolc + C["gamma_S"]
docs: Returns the distance attenuation term