docs: def _get_base_rates(self, base_params):
          '''
          Defines the base moment rate that should be assigned to places of
          zero strain (i.e. Intraplate regions). In Bird et al (2010) this is
          taken as basic rate of Intraplate events in GCMT catalogue above the
          threshold magnitude
  
          :param dict base_params:
              Parameters needed for calculating the base rate. Requires:
                  'CMT_EVENTS': The number of CMT events
                  'area': Total area (km ^ 2) of the region class
                  'CMT_duration': Duration of reference catalogue
                  'CMT_moment': Moment rate from CMT catalogue
                  'corner_mag': Corner magnitude of Tapered G-R for region
                  'beta': Beta value of tapered G-R for distribution
          '''
          base_ipl_rate = base_params['CMT_EVENTS'] / (
              base_params['area'] * base_params['CMT_duration'])
          base_rate = np.zeros(self.number_magnitudes, dtype=float)
  
          for iloc in range(0, self.number_magnitudes):
              base_rate[iloc] = base_ipl_rate * calculate_taper_function(
                  base_params['CMT_moment'],
                  self.threshold_moment[iloc],
                  moment_function(base_params['corner_mag']),
                  base_params['beta'])
          return base_rate