docs: def _compute_site_class_term(self, C, vs30):
          """
          Compute nine-th term in equation 1, p. 901.
          """
          # map vs30 value to site class, see table 2, p. 901.
          site_term = np.zeros(len(vs30))
  
          # hard rock
          site_term[vs30 > 1100.0] = C['CH']
  
          # rock
          site_term[(vs30 > 600) & (vs30 <= 1100)] = C['C1']
  
          # hard soil
          site_term[(vs30 > 300) & (vs30 <= 600)] = C['C2']
  
          # medium soil
          site_term[(vs30 > 200) & (vs30 <= 300)] = C['C3']
  
          # soft soil
          site_term[vs30 <= 200] = C['C4']
  
          return site_term