ethos_penalps.storage#

Module Contents#

Classes#

BaseStorage

Storage

Attributes#

logger

ethos_penalps.storage.logger#
class ethos_penalps.storage.BaseStorage(stream_handler: ethos_penalps.stream_handler.StreamHandler, input_to_output_conversion_factor: numbers.Number, commodity: ethos_penalps.data_classes.Commodity, process_step_name: str, storage_level_at_start: numbers.Number = 0)#
create_storage_entries_from_start_to_end(list_of_input_stream_states: list[ethos_penalps.stream.BaseStreamState], list_of_output_stream_states: list[ethos_penalps.stream.BaseStreamState], last_storage_update_time: datetime.datetime) list[ethos_penalps.data_classes.StorageProductionPlanEntry]#
determine_net_mass(list_of_input_stream_states: list[ethos_penalps.stream.ContinuousStreamState | ethos_penalps.stream.BatchStreamState], list_of_output_stream_states: list[ethos_penalps.stream.ContinuousStreamState | ethos_penalps.stream.BatchStreamState]) numbers.Number#
create_a_list_of_datetime_ranges_from_list_of_stream_states(list_of_input_stream_states: list[ethos_penalps.stream.ContinuousStreamState | ethos_penalps.stream.BatchStreamState], list_of_output_stream_states: list[ethos_penalps.stream.ContinuousStreamState | ethos_penalps.stream.BatchStreamState], exclude_output_times_before_input_end_time: bool, exclude_output_times_before_input_start_time: bool, last_update_time_storage: datetime.datetime, order_from_end_to_start: bool) list[datetimerange.DateTimeRange]#
create_storage_entry_from_start_to_end(list_of_input_stream_states: list[ethos_penalps.stream.ContinuousStreamState | ethos_penalps.stream.BatchStreamState], list_of_output_stream_states: list[ethos_penalps.stream.ContinuousStreamState | ethos_penalps.stream.BatchStreamState], storage_date_range: datetimerange.DateTimeRange) ethos_penalps.data_classes.StorageProductionPlanEntry#
determine_net_mass_in_date_range(list_of_input_stream_states: list[ethos_penalps.stream.ContinuousStreamState | ethos_penalps.stream.BatchStreamState], list_of_output_stream_states: list[ethos_penalps.stream.ContinuousStreamState | ethos_penalps.stream.BatchStreamState], storage_date_range: datetimerange.DateTimeRange, from_start_to_end: bool) numbers.Number#
convert_output_to_input_mass(output_mass: numbers.Number) numbers.Number#
convert_input_to_output_mass(input_mass: numbers.Number) numbers.Number#
class ethos_penalps.storage.Storage(name: str, commodity: ethos_penalps.data_classes.Commodity, stream_handler: ethos_penalps.stream_handler.StreamHandler, input_stream_name: str, output_stream_name: str, time_data: ethos_penalps.time_data.TimeData, input_to_output_conversion_factor: numbers.Number, state_data_container: ethos_penalps.simulation_data.container_simulation_data.ProductionProcessStateContainer, process_step_name: str, minimum_storage_level: numbers.Number = 0, maximum_storage_level: numbers.Number | None = None, minimum_storage_level_at_start_time_of_production_branch: numbers.Number | None = None, maximum_storage_level_at_start_time_of_production_branch: numbers.Number | None = None)#

Bases: BaseStorage

determine_missing_input_mass(target_output_mass: numbers.Number) numbers.Number#
convert_output_to_input_mass(output_mass: numbers.Number) numbers.Number#
convert_input_to_output_mass(input_mass: numbers.Number) numbers.Number#
create_batch_dictionary(list_of_storage_date_ranges: list[datetimerange.DateTimeRange], list_of_input_stream_states: list[ethos_penalps.stream.ContinuousStreamState | ethos_penalps.stream.BatchStreamState], list_of_output_stream_states: list[ethos_penalps.stream.ContinuousStreamState | ethos_penalps.stream.BatchStreamState]) dict[datetime.datetime, numbers.Number]#
create_a_list_of_datetime_ranges_from_list_of_stream_states(list_of_input_stream_states: list[ethos_penalps.stream.ContinuousStreamState | ethos_penalps.stream.BatchStreamState], list_of_output_stream_states: list[ethos_penalps.stream.ContinuousStreamState | ethos_penalps.stream.BatchStreamState], exclude_output_times_before_input_end_time: bool, exclude_output_times_before_input_start_time: bool) list[datetimerange.DateTimeRange]#
create_all_storage_production_plan_entry(exclude_output_times_before_input_end_time: bool, exclude_output_times_before_input_start_time: bool, back_calculation: bool)#