docs: def _get_mean_rock(self, mag, _rake, rrup, is_reverse, imt):
          """
          Calculate and return the mean intensity for rock sites.
  
          Implements an equation from table 2.
          """
          if mag <= self.NEAR_FIELD_SATURATION_MAG:
              C = self.COEFFS_ROCK_LOWMAG[imt]
          else:
              C = self.COEFFS_ROCK_HIMAG[imt]
          # clip mag if greater than 8.5. This is to avoid
          # ValueError: negative number cannot be raised to a fractional power
          mag = 8.5 if mag > 8.5 else mag
          mean = (
              C['c1'] + C['c2'] * mag + C['c3'] * ((8.5 - mag) ** 2.5)
              + C['c4'] * numpy.log(rrup + numpy.exp(C['c5'] + C['c6'] * mag))
              + C['c7'] * numpy.log(rrup + 2)
          )
          if is_reverse:
              # footnote in table 2 says that for reverse ruptures
              # the mean amplitude value should be multiplied by 1.2
              mean += 0.1823215567939546  # == log(1.2)
          return mean