diff --git a/src/libecalc/common/stream.py b/src/libecalc/common/stream.py new file mode 100644 index 000000000..acb35f051 --- /dev/null +++ b/src/libecalc/common/stream.py @@ -0,0 +1,26 @@ +from typing import Literal + +from libecalc.common.string_utils import to_camel_case +from libecalc.common.utils.rates import TimeSeriesFloat, TimeSeriesRate +from pydantic import BaseModel, Extra + + +class StreamCondition(BaseModel): + class Config: + extra = Extra.forbid + alias_generator = to_camel_case + allow_population_by_field_name = True + + rate: TimeSeriesRate + pressure: TimeSeriesFloat + fluid_density: TimeSeriesFloat = None + + +class Stage(BaseModel): + class Config: + extra = Extra.forbid + alias_generator = to_camel_case + allow_population_by_field_name = True + + name: Literal["inlet", "before_choke", "outlet"] + stream_condition: StreamCondition diff --git a/src/libecalc/common/tabular_time_series.py b/src/libecalc/common/tabular_time_series.py index 530bcc64c..9e0f731e5 100644 --- a/src/libecalc/common/tabular_time_series.py +++ b/src/libecalc/common/tabular_time_series.py @@ -1,7 +1,9 @@ import itertools from typing import Protocol, TypeVar +from libecalc.common.list_utils import transpose from libecalc.common.utils.rates import TimeSeries +from pydantic import BaseModel from typing_extensions import Self @@ -52,5 +54,30 @@ def merge(cls, *objects_with_time_series: ObjectWithTimeSeries): merged_object.__setattr__(key, merged_timesteps) elif isinstance(value, TimeSeries): merged_object.__setattr__(key, accumulated_value.merge(other_value)) + elif isinstance(value, BaseModel): + merged_object.__setattr__( + key, cls.merge(*[obj.__getattribute__(key) for obj in objects_with_time_series]) + ) + elif ( + isinstance(value, list) + and len(value) > 0 + and (isinstance(value[0], TimeSeries) or isinstance(value[0], BaseModel)) + ): + list_attributes = [obj.__getattribute__(key) for obj in objects_with_time_series] + transposed_list_attributes = transpose(list_attributes) + merged_list_attributes = [] + if isinstance(value[0], TimeSeries): + for time_series_to_merge in transposed_list_attributes: + first_time_series, *others_time_series = time_series_to_merge + merged_time_series = first_time_series + for other_time_series in others_time_series: + merged_time_series = merged_time_series.merge(other_time_series) + merged_list_attributes.append(merged_time_series) + elif isinstance(value[0], BaseModel): + merged_list_attributes = [ + cls.merge(*objs_to_merge) for objs_to_merge in transposed_list_attributes + ] + + merged_object.__setattr__(key, merged_list_attributes) return merged_object diff --git a/src/libecalc/core/consumers/compressor/component.py b/src/libecalc/core/consumers/compressor/component.py index 1fc142469..b5ea61c3e 100644 --- a/src/libecalc/core/consumers/compressor/component.py +++ b/src/libecalc/core/consumers/compressor/component.py @@ -6,6 +6,7 @@ import numpy as np from libecalc import dto from libecalc.common.exceptions import ProgrammingError +from libecalc.common.stream import Stage, StreamCondition from libecalc.common.temporal_model import TemporalModel from libecalc.common.units import Unit from libecalc.common.utils.rates import ( @@ -75,7 +76,7 @@ def evaluate( evaluated_timesteps = [] # TODO: This is a false assumption and will be dealt with shortly (that the regularity is the same - # for all timesteps, and only taken for the first timestep) + # for all timesteps, and only taken for the first timestep). Not the first timestep, the first rate evaluated_regularity = operational_settings.stream_day_rates[0].regularity for timestep in operational_settings.timesteps: compressor = self._temporal_model.get_model(timestep) @@ -108,6 +109,24 @@ def evaluate( if energy_usage.unit == Unit.STANDARD_CUBIC_METER_PER_DAY: energy_usage = energy_usage.to_calendar_day() # provide fuel usage in calendar day, same as legacy consumer + # Creating a single input rate until we decide how to deal with multiple rates, multiple rates added because of + # multiple streams and pressures model, but we need to look at how streams are defined there. + total_requested_rate = TimeSeriesRate( + timesteps=operational_settings.timesteps, + values=list(np.sum([rate.values for rate in operational_settings.stream_day_rates], axis=0)), + unit=operational_settings.stream_day_rates[0].unit, + regularity=operational_settings.stream_day_rates[0].regularity, + rate_type=operational_settings.stream_day_rates[0].rate_type, + ) + + outlet_pressure_before_choke = TimeSeriesFloat( + values=aggregated_result.outlet_pressure_before_choking + if aggregated_result.outlet_pressure_before_choking + else [np.nan for _ in evaluated_timesteps], + timesteps=evaluated_timesteps, + unit=Unit.BARA, + ) + component_result = core_results.CompressorResult( timesteps=evaluated_timesteps, power=TimeSeriesRate( @@ -132,13 +151,30 @@ def evaluate( timesteps=evaluated_timesteps, unit=Unit.NONE, ), - outlet_pressure_before_choking=TimeSeriesFloat( - values=aggregated_result.outlet_pressure_before_choking - if aggregated_result.outlet_pressure_before_choking - else [np.nan for _ in evaluated_timesteps], - timesteps=evaluated_timesteps, - unit=Unit.BARA, - ), + outlet_pressure_before_choking=outlet_pressure_before_choke, + stages=[ + Stage( + name="inlet", + stream_condition=StreamCondition( + rate=total_requested_rate, + pressure=operational_settings.inlet_pressure, + ), + ), + Stage( + name="before_choke", + stream_condition=StreamCondition( + rate=total_requested_rate, + pressure=outlet_pressure_before_choke, + ), + ), + Stage( + name="outlet", + stream_condition=StreamCondition( + rate=total_requested_rate, + pressure=operational_settings.outlet_pressure, + ), + ), + ], ) return EcalcModelResult( diff --git a/src/libecalc/core/result/results.py b/src/libecalc/core/result/results.py index 14255f0ae..2e1c74928 100644 --- a/src/libecalc/core/result/results.py +++ b/src/libecalc/core/result/results.py @@ -4,6 +4,7 @@ from datetime import datetime from typing import Any, Dict, List, Optional, Union +from libecalc.common.stream import Stage from libecalc.common.tabular_time_series import TabularTimeSeriesUtils from libecalc.common.utils.rates import ( TimeSeriesBoolean, @@ -62,6 +63,7 @@ class CompressorResult(GenericComponentResult): recirculation_loss: TimeSeriesRate rate_exceeds_maximum: TimeSeriesBoolean outlet_pressure_before_choking: TimeSeriesFloat + stages: List[Stage] = None # Optional because only in v2 def get_subset(self, indices: List[int]) -> Self: return self.__class__( diff --git a/src/libecalc/dto/result/results.py b/src/libecalc/dto/result/results.py index 0986f1d99..7df2eee78 100644 --- a/src/libecalc/dto/result/results.py +++ b/src/libecalc/dto/result/results.py @@ -5,6 +5,7 @@ from libecalc.common.component_info.component_level import ComponentLevel from libecalc.common.logger import logger +from libecalc.common.stream import Stage from libecalc.common.time_utils import Frequency from libecalc.common.units import Unit from libecalc.common.utils.rates import ( @@ -117,6 +118,8 @@ class CompressorResult(EquipmentResultBase): rate_exceeds_maximum: TimeSeriesBoolean outlet_pressure_before_choking: TimeSeriesFloat + stages: List[Stage] = None # Optional because only in v2 + class DirectEmitterResult(EquipmentResultBase): componentType: Literal[ComponentType.DIRECT_EMITTER] diff --git a/src/libecalc/input/mappers/component_mapper.py b/src/libecalc/input/mappers/component_mapper.py index 4fd5e1f60..5710ec0c4 100644 --- a/src/libecalc/input/mappers/component_mapper.py +++ b/src/libecalc/input/mappers/component_mapper.py @@ -108,8 +108,8 @@ def from_yaml_to_dto( if EcalcYamlKeywords.type in data: if data[EcalcYamlKeywords.type] == ComponentType.COMPRESSOR_SYSTEM_V2: - compressor_system_yaml = YamlCompressorSystem(**data) try: + compressor_system_yaml = YamlCompressorSystem(**data) return compressor_system_yaml.to_dto( consumes=consumes, regularity=regularity, @@ -120,9 +120,8 @@ def from_yaml_to_dto( except ValidationError as e: raise DtoValidationError(data=data, validation_error=e) from e if data[EcalcYamlKeywords.type] == ComponentType.PUMP_SYSTEM_V2: - pump_system_yaml = YamlPumpSystem(**data) - try: + pump_system_yaml = YamlPumpSystem(**data) return pump_system_yaml.to_dto( consumes=consumes, regularity=regularity, diff --git a/src/libecalc/input/validation_errors.py b/src/libecalc/input/validation_errors.py index debb1b6db..76cf0455f 100644 --- a/src/libecalc/input/validation_errors.py +++ b/src/libecalc/input/validation_errors.py @@ -73,9 +73,8 @@ def __init__( error_key: Optional[str] = None, dump_flow_style: Optional[DumpFlowStyle] = None, ): - self.message = message super().__init__(message) - + self.message = message extended_message = "\nError in object\n" if data is not None: diff --git a/src/tests/libecalc/common/test_tabular_time_series.py b/src/tests/libecalc/common/test_tabular_time_series.py index 14bab0ae3..1e22913d0 100644 --- a/src/tests/libecalc/common/test_tabular_time_series.py +++ b/src/tests/libecalc/common/test_tabular_time_series.py @@ -2,6 +2,7 @@ from typing import List import pytest +from libecalc.common.stream import Stage, StreamCondition from libecalc.common.tabular_time_series import TabularTimeSeriesUtils from libecalc.common.units import Unit from libecalc.common.utils.rates import TimeSeriesFloat, TimeSeriesRate @@ -16,6 +17,9 @@ class MergeableObject(BaseModel): list_of_float_test: List[float] time_series_float: TimeSeriesFloat time_series_rate: TimeSeriesRate + time_series_float_list_test: List[TimeSeriesFloat] + time_series_rate_list_test: List[TimeSeriesRate] + stage_list: List[Stage] class TestMerge: @@ -38,6 +42,70 @@ def test_valid_merge(self): values=[11, 12], unit=Unit.NORWEGIAN_KRONER, ), + time_series_float_list_test=[ + TimeSeriesFloat( + timesteps=first_timesteps, + values=[111, 112], + unit=Unit.NORWEGIAN_KRONER, + ), + TimeSeriesFloat( + timesteps=first_timesteps, + values=[-121, -122], + unit=Unit.NORWEGIAN_KRONER, + ), + ], + time_series_rate_list_test=[ + TimeSeriesRate( + timesteps=first_timesteps, + values=[111, 112], + unit=Unit.NORWEGIAN_KRONER, + regularity=[111, 112], + rate_type=RateType.CALENDAR_DAY, + ), + TimeSeriesRate( + timesteps=first_timesteps, + values=[-121, -122], + unit=Unit.NORWEGIAN_KRONER, + regularity=[121, 122], + rate_type=RateType.CALENDAR_DAY, + ), + ], + stage_list=[ + Stage( + name="inlet", + stream_condition=StreamCondition( + rate=TimeSeriesRate( + timesteps=first_timesteps, + values=[-111, -112], + unit=Unit.NORWEGIAN_KRONER, + regularity=[111, 112], + rate_type=RateType.CALENDAR_DAY, + ), + pressure=TimeSeriesFloat( + timesteps=first_timesteps, + values=[-111, -112], + unit=Unit.BARA, + ), + ), + ), + Stage( + name="outlet", + stream_condition=StreamCondition( + rate=TimeSeriesRate( + timesteps=first_timesteps, + values=[-121, -122], + unit=Unit.NORWEGIAN_KRONER, + regularity=[121, 122], + rate_type=RateType.CALENDAR_DAY, + ), + pressure=TimeSeriesFloat( + timesteps=first_timesteps, + values=[-121, -122], + unit=Unit.BARA, + ), + ), + ), + ], ) second_timesteps = [datetime(2021, 1, 1), datetime(2023, 1, 1)] @@ -58,29 +126,160 @@ def test_valid_merge(self): regularity=[21, 22], rate_type=RateType.CALENDAR_DAY, ), + time_series_float_list_test=[ + TimeSeriesFloat( + timesteps=second_timesteps, + values=[211, 212], + unit=Unit.NORWEGIAN_KRONER, + ), + TimeSeriesFloat( + timesteps=second_timesteps, + values=[-221, -222], + unit=Unit.NORWEGIAN_KRONER, + ), + ], + time_series_rate_list_test=[ + TimeSeriesRate( + timesteps=second_timesteps, + values=[211, 212], + unit=Unit.NORWEGIAN_KRONER, + regularity=[211, 212], + rate_type=RateType.CALENDAR_DAY, + ), + TimeSeriesRate( + timesteps=second_timesteps, + values=[-221, -222], + unit=Unit.NORWEGIAN_KRONER, + regularity=[221, 222], + rate_type=RateType.CALENDAR_DAY, + ), + ], + stage_list=[ + Stage( + name="inlet", + stream_condition=StreamCondition( + rate=TimeSeriesRate( + timesteps=second_timesteps, + values=[-211, -212], + unit=Unit.NORWEGIAN_KRONER, + regularity=[211, 212], + rate_type=RateType.CALENDAR_DAY, + ), + pressure=TimeSeriesFloat( + timesteps=second_timesteps, + values=[-211, -212], + unit=Unit.BARA, + ), + ), + ), + Stage( + name="outlet", + stream_condition=StreamCondition( + rate=TimeSeriesRate( + timesteps=second_timesteps, + values=[-221, -222], + unit=Unit.NORWEGIAN_KRONER, + regularity=[221, 222], + rate_type=RateType.CALENDAR_DAY, + ), + pressure=TimeSeriesFloat( + timesteps=second_timesteps, + values=[-221, -222], + unit=Unit.BARA, + ), + ), + ), + ], ) merged = TabularTimeSeriesUtils.merge(first, second) expected_timesteps = [datetime(2020, 1, 1), datetime(2021, 1, 1), datetime(2022, 1, 1), datetime(2023, 1, 1)] - assert merged == MergeableObject( - string_test="1", - int_test=15, - float_test=1.0, - list_of_float_test=[11, 12, 13, 14, 15], - time_series_float=TimeSeriesFloat( - timesteps=expected_timesteps, - values=[11, 21, 12, 22], - unit=Unit.NORWEGIAN_KRONER, - ), - time_series_rate=TimeSeriesRate( - timesteps=expected_timesteps, - values=[11, 21, 12, 22], - unit=Unit.NORWEGIAN_KRONER, - regularity=[11, 21, 12, 22], - rate_type=RateType.CALENDAR_DAY, - ), + assert ( + merged.dict() + == MergeableObject( + string_test="1", + int_test=15, + float_test=1.0, + list_of_float_test=[11, 12, 13, 14, 15], + time_series_float=TimeSeriesFloat( + timesteps=expected_timesteps, + values=[11, 21, 12, 22], + unit=Unit.NORWEGIAN_KRONER, + ), + time_series_rate=TimeSeriesRate( + timesteps=expected_timesteps, + values=[11, 21, 12, 22], + unit=Unit.NORWEGIAN_KRONER, + regularity=[11, 21, 12, 22], + rate_type=RateType.CALENDAR_DAY, + ), + time_series_float_list_test=[ + TimeSeriesFloat( + timesteps=expected_timesteps, + values=[111, 211, 112, 212], + unit=Unit.NORWEGIAN_KRONER, + ), + TimeSeriesFloat( + timesteps=expected_timesteps, + values=[-121, -221, -122, -222], + unit=Unit.NORWEGIAN_KRONER, + ), + ], + time_series_rate_list_test=[ + TimeSeriesRate( + timesteps=expected_timesteps, + values=[111, 211, 112, 212], + unit=Unit.NORWEGIAN_KRONER, + regularity=[111, 211, 112, 212], + rate_type=RateType.CALENDAR_DAY, + ), + TimeSeriesRate( + timesteps=expected_timesteps, + values=[-121, -221, -122, -222], + unit=Unit.NORWEGIAN_KRONER, + regularity=[121, 221, 122, 222], + rate_type=RateType.CALENDAR_DAY, + ), + ], + stage_list=[ + Stage( + name="inlet", + stream_condition=StreamCondition( + rate=TimeSeriesRate( + timesteps=expected_timesteps, + values=[-111, -211, -112, -212], + unit=Unit.NORWEGIAN_KRONER, + regularity=[111, 211, 112, 212], + rate_type=RateType.CALENDAR_DAY, + ), + pressure=TimeSeriesFloat( + timesteps=expected_timesteps, + values=[-111, -211, -112, -212], + unit=Unit.BARA, + ), + ), + ), + Stage( + name="outlet", + stream_condition=StreamCondition( + rate=TimeSeriesRate( + timesteps=expected_timesteps, + values=[-121, -221, -122, -222], + unit=Unit.NORWEGIAN_KRONER, + regularity=[121, 221, 122, 222], + rate_type=RateType.CALENDAR_DAY, + ), + pressure=TimeSeriesFloat( + timesteps=expected_timesteps, + values=[-121, -221, -122, -222], + unit=Unit.BARA, + ), + ), + ), + ], + ).dict() ) def test_invalid_types(self): diff --git a/src/tests/libecalc/integration/snapshots/test_all_consumer_with_time_slots_models/test_all_consumer_with_time_slots_models_results/all_consumer_with_time_slots_models_v3.json b/src/tests/libecalc/integration/snapshots/test_all_consumer_with_time_slots_models/test_all_consumer_with_time_slots_models_results/all_consumer_with_time_slots_models_v3.json index b6a26a964..6d1526f3f 100644 --- a/src/tests/libecalc/integration/snapshots/test_all_consumer_with_time_slots_models/test_all_consumer_with_time_slots_models_results/all_consumer_with_time_slots_models_v3.json +++ b/src/tests/libecalc/integration/snapshots/test_all_consumer_with_time_slots_models/test_all_consumer_with_time_slots_models_results/all_consumer_with_time_slots_models_v3.json @@ -14233,6 +14233,7 @@ 1.44934846 ] }, + "stages": null, "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", diff --git a/src/tests/libecalc/integration/snapshots/test_all_energy_usage_models/test_all_results/all_energy_usage_models_v3.json b/src/tests/libecalc/integration/snapshots/test_all_energy_usage_models/test_all_results/all_energy_usage_models_v3.json index f030b2ca7..df3418917 100644 --- a/src/tests/libecalc/integration/snapshots/test_all_energy_usage_models/test_all_results/all_energy_usage_models_v3.json +++ b/src/tests/libecalc/integration/snapshots/test_all_energy_usage_models/test_all_results/all_energy_usage_models_v3.json @@ -114,6 +114,7 @@ 0.0 ] }, + "stages": null, "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -1174,6 +1175,7 @@ 0.0 ] }, + "stages": null, "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -1868,6 +1870,7 @@ 0.0 ] }, + "stages": null, "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -2834,6 +2837,7 @@ 0.0 ] }, + "stages": null, "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -7256,6 +7260,7 @@ 0.0 ] }, + "stages": null, "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8244,6 +8249,7 @@ 0.0 ] }, + "stages": null, "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -9057,6 +9063,7 @@ 0.0 ] }, + "stages": null, "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -16662,6 +16669,7 @@ 0.0 ] }, + "stages": null, "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -17356,6 +17364,7 @@ 0.0 ] }, + "stages": null, "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -20286,6 +20295,7 @@ 0.0 ] }, + "stages": null, "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -21390,6 +21400,7 @@ 0.0 ] }, + "stages": null, "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23065,6 +23076,7 @@ 0.0 ] }, + "stages": null, "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", diff --git a/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2-consumer_system_v20/consumer_system_v2.json b/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2-consumer_system_v20/consumer_system_v2.json index dc88d1939..8544da34c 100644 --- a/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2-consumer_system_v20/consumer_system_v2.json +++ b/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2-consumer_system_v20/consumer_system_v2.json @@ -3916,6 +3916,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4040,6 +4171,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4250,6 +4512,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4370,6 +4763,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4490,6 +5014,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4613,6 +5268,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", diff --git a/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2_dto_temporal_operational_settings_and_temporal_compressor_models-consumer_system_v22/consumer_system_v2_dto_temporal_operational_settings_and_temporal_compressor_models.json b/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2_dto_temporal_operational_settings_and_temporal_compressor_models-consumer_system_v22/consumer_system_v2_dto_temporal_operational_settings_and_temporal_compressor_models.json index dc88d1939..8544da34c 100644 --- a/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2_dto_temporal_operational_settings_and_temporal_compressor_models-consumer_system_v22/consumer_system_v2_dto_temporal_operational_settings_and_temporal_compressor_models.json +++ b/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2_dto_temporal_operational_settings_and_temporal_compressor_models-consumer_system_v22/consumer_system_v2_dto_temporal_operational_settings_and_temporal_compressor_models.json @@ -3916,6 +3916,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4040,6 +4171,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4250,6 +4512,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4370,6 +4763,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4490,6 +5014,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4613,6 +5268,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", diff --git a/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2_dto_with_overlapping_temporal_operational_settings_and_temporal_compressor_models-consumer_system_v23/consumer_system_v2_dto_with_overlapping_temporal_operational_settings_and_temporal_compressor_models.json b/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2_dto_with_overlapping_temporal_operational_settings_and_temporal_compressor_models-consumer_system_v23/consumer_system_v2_dto_with_overlapping_temporal_operational_settings_and_temporal_compressor_models.json index dc88d1939..8544da34c 100644 --- a/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2_dto_with_overlapping_temporal_operational_settings_and_temporal_compressor_models-consumer_system_v23/consumer_system_v2_dto_with_overlapping_temporal_operational_settings_and_temporal_compressor_models.json +++ b/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2_dto_with_overlapping_temporal_operational_settings_and_temporal_compressor_models-consumer_system_v23/consumer_system_v2_dto_with_overlapping_temporal_operational_settings_and_temporal_compressor_models.json @@ -3916,6 +3916,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4040,6 +4171,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4250,6 +4512,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4370,6 +4763,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4490,6 +5014,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4613,6 +5268,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", diff --git a/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2_with_temporal_operational_settings-consumer_system_v21/consumer_system_v2_with_temporal_operational_settings.json b/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2_with_temporal_operational_settings-consumer_system_v21/consumer_system_v2_with_temporal_operational_settings.json index dc88d1939..8544da34c 100644 --- a/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2_with_temporal_operational_settings-consumer_system_v21/consumer_system_v2_with_temporal_operational_settings.json +++ b/src/tests/libecalc/integration/snapshots/test_consumer_system_v2/test_compressor_system_v2_results/consumer_system_v2_with_temporal_operational_settings-consumer_system_v21/consumer_system_v2_with_temporal_operational_settings.json @@ -3916,6 +3916,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4040,6 +4171,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4250,6 +4512,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4370,6 +4763,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4490,6 +5014,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 4000000.0, + 4000000.0, + 4000000.0, + 4000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4613,6 +5268,137 @@ 0.0 ] }, + "stages": [ + { + "name": "inlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "before_choke", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + NaN, + NaN, + NaN, + NaN + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + }, + { + "name": "outlet", + "stream_condition": { + "fluid_density": null, + "pressure": { + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "bara", + "values": [ + 125.0, + 125.0, + 125.0, + 125.0 + ] + }, + "rate": { + "rate_type": "STREAM_DAY", + "regularity": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "timesteps": [ + "2022-01-01 00:00:00", + "2024-01-01 00:00:00", + "2025-01-01 00:00:00", + "2026-01-01 00:00:00" + ], + "unit": "Sm3/d", + "values": [ + 2000000.0, + 2000000.0, + 2000000.0, + 3000000.0 + ] + } + } + } + ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00",