docs: def setUp(self, mfd_conf):
          '''
          Input core configuration parameters as specified in the
          configuration file
  
          :param dict mfd_conf:
              Configuration file containing the following attributes:
              * 'Type' - Choose between the 1st, 2nd or 3rd type of recurrence
              model {'First' | 'Second' | 'Third'}
              * 'Model_Weight' - Logic tree weight of model type (float)
              * 'MFD_spacing' - Width of MFD bin (float)
              * 'Minimum_Magnitude' - Minimum magnitude of activity rates (float)
              * 'b_value' - Tuple of (b-value, b-value uncertainty)
              * 'Maximum_Magnitude' - Maximum magnitude on fault (if not defined
              will use scaling relation)
              * 'Maximum_Magnitude_Uncertainty' - Uncertainty on maximum
              magnitude (If not defined and the MSR has a sigma term then this
              will be taken from sigma)
          '''
          self.mfd_type = mfd_conf['Model_Type']
          self.mfd_model = 'Anderson & Luco (Arbitrary) ' + self.mfd_type
          self.mfd_weight = mfd_conf['Model_Weight']
          self.bin_width = mfd_conf['MFD_spacing']
          self.mmin = mfd_conf['Minimum_Magnitude']
          self.mmax = None
          self.mmax_sigma = None
          self.b_value = mfd_conf['b_value'][0]
          self.b_value_sigma = mfd_conf['b_value'][1]
          self.occurrence_rate = None