code: def growth_curve(self, method='best', **method_options):
          
          if method == 'best':
              if self.catchment.amax_records:
                  # Gauged catchment, use enhanced single site
                  self.results_log['method'] = 'enhanced_single_site'
                  return self._growth_curve_enhanced_single_site()
              else:
                  # Ungauged catchment, standard pooling group
                  self.results_log['method'] = 'pooling_group'
                  return self._growth_curve_pooling_group()
          else:
              try:
                  self.results_log['method'] = 'method'
                  return getattr(self, '_growth_curve_' + method)(**method_options)
              except AttributeError:
                  raise AttributeError("Method `{}` to estimate the growth curve does not exist.".format(method))
docs: Return QMED estimate using best available methodology depending on what catchment attributes are available.
  
          ====================== ====================== ==================================================================
          `method`               `method_options`       notes
          ====================== ====================== ==================================================================
          `enhanced_single_site` `distr='glo'`          Preferred method for gauged catchments (i.e. with
                                 `as_rural=False`       `Catchment.amax_record`).
          `single_site`          `distr='glo'`          Alternative method for gauged catchments. Uses AMAX data from
                                                        subject station only.
          `pooling_group`        `distr='glo'`          Only possible method for ungauged catchments.
                                 `as_rural=False`
          ====================== ====================== ==================================================================
  
          :param method: methodology to use to estimate the growth curve. Default: automatically choose best method.
          :type method: str
          :param method_options: any optional parameters for the growth curve method function
          :type method_options: kwargs
          :return: Inverse cumulative distribution function, callable class with one parameter `aep` (annual exceedance
                   probability)
          :type: :class:`.GrowthCurve`