code: def _compute_mean(self, C, mag, rrup):
          
          # see table 3, page 14
          R1 = 90.
          R2 = 150.
          # see equation 19, page 32
          m_ref = mag - 4
          r1 = R1 + C['c8'] * m_ref
          r2 = R2 + C['c11'] * m_ref
          assert r1 > 0
          assert r2 > 0
          g0 = np.log10(
              np.sqrt(np.minimum(rrup, r1) ** 2 + (1 + C['c5'] * m_ref) ** 2)
          )
          g1 = np.maximum(np.log10(rrup / r1), 0)
          g2 = np.maximum(np.log10(rrup / r2), 0)
  
          mean = (C['c0'] + C['c1'] * m_ref + C['c2'] * m_ref ** 2 +
                  (C['c3'] + C['c4'] * m_ref) * g0 +
                  (C['c6'] + C['c7'] * m_ref) * g1 +
                  (C['c9'] + C['c10'] * m_ref) * g2)
  
          # convert from log10 to ln and units from cm/s2 to g
          mean = np.log((10 ** mean) * 1e-2 / g)
  
          return mean
docs: Compute mean value according to equation 18, page 32.