docs: def _get_mean_deep_soil(self, mag, rake, rrup, is_reverse, imt):
          """
          Calculate and return the mean intensity for deep soil sites.
  
          Implements an equation from table 4.
          """
          if mag <= self.NEAR_FIELD_SATURATION_MAG:
              c4 = self.COEFFS_SOIL_IMT_INDEPENDENT['c4lowmag']
              c5 = self.COEFFS_SOIL_IMT_INDEPENDENT['c5lowmag']
          else:
              c4 = self.COEFFS_SOIL_IMT_INDEPENDENT['c4himag']
              c5 = self.COEFFS_SOIL_IMT_INDEPENDENT['c5himag']
          c2 = self.COEFFS_SOIL_IMT_INDEPENDENT['c2']
          c3 = self.COEFFS_SOIL_IMT_INDEPENDENT['c3']
          C = self.COEFFS_SOIL[imt]
          if is_reverse:
              c1 = self.COEFFS_SOIL_IMT_INDEPENDENT['c1r']
              c6 = C['c6r']
          else:
              c1 = self.COEFFS_SOIL_IMT_INDEPENDENT['c1ss']
              c6 = C['c6ss']
          # 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
          return (c1 + c2 * mag + c6 + C['c7'] * ((8.5 - mag) ** 2.5)
                  - c3 * numpy.log(rrup + c4 * numpy.exp(c5 * mag)))