cronian.explicit_heat ===================== .. py:module:: cronian.explicit_heat .. autoapi-nested-parse:: Explicitly built optimization problem of a heat system prosumer. At the time of implementation (2024-09-01), this prosumer had an unsupported assets (a heat storage tank: its model was not yet available in the DERs directory). This script therefore shows how prosumers with unsupported assets can be added to the simulation: by preparing their explicit configuration and explicit timeseries data files, and explicitly building their model components. Functions --------- .. autoapisummary:: cronian.explicit_heat.add_explicit_heat_to_model Module Contents --------------- .. py:function:: add_explicit_heat_to_model(model: pyomo.environ.ConcreteModel, explicit_configuration: dict, explicit_prosumer_timeseries_data: pandas.DataFrame, number_of_timesteps: int | None) -> pyomo.environ.ConcreteModel Add an explicitly built heat system to the simulation. This heat system prosumer agent currently has the following assets: 1. A large scale heat pump that consumes electricity to produce heat. 2. A CHP which consumes methane to produce heat and electricity. 3. A heat storage tank to temporarily buffer heat consumption for later use. It also has a flexible heat load which is modeled as a store with deadlines on its energy level. Args: model: The optimization model to which the heat system will be added. explicit_configuration: Yaml config file of the explicit prosumer. explicit_prosumer_timeseries_data: The csv file containing timeseries data for the explicit prosumer. number_of_timesteps: Number of timesteps to run the optimization for. Returns: model: The optimization model with the heat system added to it. Raises: ValueError: If flex_demand name does not match 'flex+{n:d}'.