code: def amplify_ground_shaking(T, vs30, gmvs):
      
      gmvs[gmvs > MAX_GMV] = MAX_GMV  # accelerations > 5g are absurd
      interpolator = interpolate.interp1d(
          [0, 0.1, 0.2, 0.3, 0.4, 5],
          [(760 / vs30)**0.35,
           (760 / vs30)**0.35,
           (760 / vs30)**0.25,
           (760 / vs30)**0.10,
           (760 / vs30)**-0.05,
           (760 / vs30)**-0.05],
      ) if T <= 0.3 else interpolate.interp1d(
          [0, 0.1, 0.2, 0.3, 0.4, 5],
          [(760 / vs30)**0.65,
           (760 / vs30)**0.65,
           (760 / vs30)**0.60,
           (760 / vs30)**0.53,
           (760 / vs30)**0.45,
           (760 / vs30)**0.45],
      )
      return interpolator(gmvs) * gmvs
docs: :param T: period
      :param vs30: velocity
      :param gmvs: ground motion values for the current site in units of g