<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def calculate_power_output(self, wind_speed_hub, density_hub):
 r""" Calculates the power output of the wind power plant. The method specified by the parameter `power_output_model` is used. Parameters wind_speed_hub : pandas.Series or numpy.array Wind speed at hub height in m/s. density_hub : pandas.Series or numpy.array Density of air at hub height in kg/m³. Returns ------- pandas.Series Electrical power output of the wind turbine in W. """

        if self.power_output_model == 'power_curve':
            if self.power_plant.power_curve is None:
                raise TypeError("Power curve values of " +
                                self.power_plant.name +
                                " are missing.")
            logging.debug('Calculating power output using power curve.')
            return (power_output.power_curve(
                        wind_speed_hub,
                        self.power_plant.power_curve['wind_speed'],
                        self.power_plant.power_curve['value'],
                        density_hub, self.density_correction))
        elif self.power_output_model == 'power_coefficient_curve':
            if self.power_plant.power_coefficient_curve is None:
                raise TypeError("Power coefficient curve values of " +
                                self.power_plant.name +
                                " are missing.")
            logging.debug('Calculating power output using power coefficient '
                          'curve.')
            return (power_output.power_coefficient_curve(
                        wind_speed_hub,
                        self.power_plant.power_coefficient_curve[
                            'wind_speed'],
                        self.power_plant.power_coefficient_curve[
                            'value'],
                        self.power_plant.rotor_diameter, density_hub))
        else:
            raise ValueError("'{0}' is an invalid value. ".format(
                             self.power_output_model) +
                             "`power_output_model` must be " +
                             "'power_curve' or 'power_coefficient_curve'.")