code: def _compute_site_term(self, C, vs30):
          
          # for rock values the site term is zero
          site_term = np.zeros_like(vs30)
  
          # hard soil
          site_term[(vs30 >= 360) & (vs30 < 800)] = C['aB']
  
          # medium soil
          site_term[(vs30 >= 180) & (vs30 < 360)] = C['aC']
  
          # soft soil
          site_term[vs30 < 180] = C['aD']
  
          return site_term
docs: Compute site term as a function of vs30: 4th, 5th and 6th terms in
          equation 2 page 462.