docs: def _compute_site_response_term(self, C, sites, pga1000):
          """
          Compute and return site response model term
          This GMPE adopts the same site response scaling model of
          Walling et al (2008) as implemented in the Abrahamson & Silva (2008)
          GMPE. The functional form is retained here.
          """
          vs_star = sites.vs30.copy()
          vs_star[vs_star > 1000.0] = 1000.
          arg = vs_star / C["vlin"]
          site_resp_term = C["theta12"] * np.log(arg)
          # Get linear scaling term
          idx = sites.vs30 >= C["vlin"]
          site_resp_term[idx] += (C["b"] * self.CONSTS["n"] * np.log(arg[idx]))
          # Get nonlinear scaling term
          idx = np.logical_not(idx)
          site_resp_term[idx] += (
              -C["b"] * np.log(pga1000[idx] + self.CONSTS["c"]) +
              C["b"] * np.log(pga1000[idx] + self.CONSTS["c"] *
                              (arg[idx] ** self.CONSTS["n"])))
          return site_resp_term