code: def _compute_mean(self, C, rup, dists, sites, imt):
          
  
          mean = (self._compute_term_1_2(rup, C) +
                  self._compute_term_3_4(dists, C) +
                  self._get_site_amplification(sites, imt, C))
  
          # convert from m/s**2 to g for PGA and from m/s to g for PSV
          # and divided this value for the ratio(SA_larger/SA_geo_mean)
          if imt.name == "PGA":
              mean = (np.exp(mean) / g) / C['r_SA']
          else:
              W = (2. * np.pi)/imt.period
              mean = ((np.exp(mean) * W) / g) / C['r_SA']
          return np.log(mean)
docs: Compute mean value for PGA and pseudo-velocity response spectrum,
          as given in equation 1. Converts also pseudo-velocity response
          spectrum values to SA, using:
  
            SA = (PSV * W)/ratio(SA_larger/SA_geo_mean)
             W = (2 * pi / T)
             T = period (sec)