diff --git a/assume/units/powerplant.py b/assume/units/powerplant.py index 348e7123..4f907bbf 100644 --- a/assume/units/powerplant.py +++ b/assume/units/powerplant.py @@ -9,8 +9,6 @@ import pandas as pd from assume.common.base import SupportsMinMax -from assume.common.market_objects import MarketConfig, Orderbook -from assume.common.utils import get_products_index logger = logging.getLogger(__name__) @@ -164,61 +162,6 @@ def execute_current_dispatch( return self.outputs["energy"].loc[start:end] - def set_dispatch_plan( - self, - marketconfig: MarketConfig, - orderbook: Orderbook, - ) -> None: - """ - Adds the dispatch plan from the current market result to the total dispatch plan and calculates the cashflow. - - Args: - marketconfig (MarketConfig): The market configuration. - orderbook (Orderbook): The orderbook. - """ - products_index = get_products_index(orderbook) - - max_power = ( - self.forecaster.get_availability(self.id)[products_index] * self.max_power - ) - - product_type = marketconfig.product_type - for order in orderbook: - start = order["start_time"] - end = order["end_time"] - end_excl = end - self.index.freq - if isinstance(order["accepted_volume"], dict): - self.outputs[product_type].loc[start:end_excl] += [ - order["accepted_volume"][key] - for key in order["accepted_volume"].keys() - ] - else: - self.outputs[product_type].loc[start:end_excl] += order[ - "accepted_volume" - ] - - self.calculate_cashflow(product_type, orderbook) - - for start in products_index: - current_power = self.outputs[product_type][start] - - previous_power = self.get_output_before(start) - op_time = self.get_operation_time(start) - - current_power = self.calculate_ramp(op_time, previous_power, current_power) - - if current_power > 0: - current_power = min(current_power, max_power[start]) - current_power = max(current_power, self.min_power) - - self.outputs[product_type][start] = current_power - - self.bidding_strategies[marketconfig.market_id].calculate_reward( - unit=self, - marketconfig=marketconfig, - orderbook=orderbook, - ) - def calc_simple_marginal_cost( self, ):