code: def mean_hub_height(self):
          r
          self.hub_height = np.exp(
              sum(np.log(wind_dict['wind_turbine'].hub_height) *
                  wind_dict['wind_turbine'].nominal_power *
                  wind_dict['number_of_turbines']
                  for wind_dict in self.wind_turbine_fleet) /
              self.get_installed_power())
          return self
docs: r"""
          Calculates the mean hub height of the wind farm.
  
          The mean hub height of a wind farm is necessary for power output
          calculations with an aggregated wind farm power curve containing wind
          turbines with different hub heights. Hub heights of wind turbines with
          higher nominal power weigh more than others. Assigns the hub height to
          the wind farm object.
  
          Returns
          -------
          self
  
          Notes
          -----
          The following equation is used [1]_:
  
          .. math:: h_{WF} = e^{\sum\limits_{k}{ln(h_{WT,k})}
                             \frac{P_{N,k}}{\sum\limits_{k}{P_{N,k}}}}
  
          with:
              :math:`h_{WF}`: mean hub height of wind farm,
              :math:`h_{WT,k}`: hub height of the k-th wind turbine of a wind
              farm, :math:`P_{N,k}`: nominal power of the k-th wind turbine
  
          References
          ----------
          .. [1]  Knorr, K.: "Modellierung von raum-zeitlichen Eigenschaften der
                   Windenergieeinspeisung für wetterdatenbasierte
                   Windleistungssimulationen". Universität Kassel, Diss., 2016,
                   p. 35