From 714888bfa69460174c1b3917470018e8e688b3e1 Mon Sep 17 00:00:00 2001 From: Thomas Falch Johansen Date: Fri, 20 Oct 2023 08:43:06 +0200 Subject: [PATCH] refactor: remove regularity our of core/domain (#246) Regularity should not be transferred or handled in core. At the time data arrives in core, it should only be stream day, and we should not have to relate to "what type of rate" is it, until we decide whether the user output should be calendar or stream day (default) based on user needs. Refs ECALC-196 --- src/libecalc/common/stream.py | 4 +- src/libecalc/common/time_utils.py | 18 + .../utils/calculate_emission_intensity.py | 11 +- src/libecalc/common/utils/rates.py | 142 +- .../core/consumers/compressor/component.py | 22 +- src/libecalc/core/consumers/generator_set.py | 26 +- .../consumers/legacy_consumer/component.py | 18 +- .../legacy_consumer/result_mapper.py | 14 +- src/libecalc/core/consumers/pump/component.py | 18 +- src/libecalc/core/graph_result.py | 470 ++++++- src/libecalc/core/models/fuel.py | 8 +- src/libecalc/core/result/emission.py | 14 +- src/libecalc/core/result/results.py | 12 +- src/libecalc/dto/components.py | 18 +- .../core_specs/system/operational_settings.py | 6 +- src/libecalc/dto/graph.py | 25 +- src/libecalc/dto/result/emission.py | 31 + src/libecalc/dto/result/results.py | 1 + src/libecalc/dto/utils/aggregators.py | 18 +- src/libecalc/dto/variables.py | 1 + src/libecalc/output/results/queries.py | 88 +- .../test_app/test_csv_default/test.csv | 26 +- .../test_csv_resampled/results_resampled.csv | 26 +- .../test_csv_temporal_default/test.csv | 28 +- .../test_temporal.csv | 28 +- .../test_app/test_full_csv/results.csv | 26 +- .../test_full_simplified_json/results.json | 8 +- .../results_resampled.json | 8 +- .../test_app/test_json_true/test_v3.json | 171 ++- .../test_full_json_v3.json | 171 ++- .../common/test_tabular_time_series.py | 70 +- .../test_compute_emission_intensity_yearly.py | 17 +- src/tests/libecalc/common/utils/test_rates.py | 32 +- .../libecalc/core/consumers/test_crossover.py | 7 +- .../libecalc/core/consumers/test_genset.py | 28 +- .../core/consumers/test_legacy_consumer.py | 15 +- .../libecalc/core/models/test_fuel_model.py | 7 + .../libecalc/core/result/test_results.py | 15 +- .../libecalc/dto/utils/test_aggregators.py | 62 +- ...ll_consumer_with_time_slots_models_v3.json | 1142 ---------------- .../all_energy_usage_models_v3.json | 1173 +---------------- .../consumer_system_v2.json | 896 ------------- .../integration/test_consumer_system_v2.py | 2 + .../test_multiple_installations.py | 1 + 44 files changed, 1218 insertions(+), 3706 deletions(-) diff --git a/src/libecalc/common/stream.py b/src/libecalc/common/stream.py index 268641bf8..eef03caa0 100644 --- a/src/libecalc/common/stream.py +++ b/src/libecalc/common/stream.py @@ -4,7 +4,7 @@ from libecalc.common.logger import logger from libecalc.common.string_utils import to_camel_case -from libecalc.common.utils.rates import TimeSeriesFloat, TimeSeriesRate +from libecalc.common.utils.rates import TimeSeriesFloat, TimeSeriesStreamDayRate from pydantic import BaseModel, Extra from typing_extensions import Self @@ -16,7 +16,7 @@ class Config: allow_population_by_field_name = True name: Optional[str] - rate: TimeSeriesRate + rate: TimeSeriesStreamDayRate pressure: TimeSeriesFloat fluid_density: Optional[TimeSeriesFloat] = None diff --git a/src/libecalc/common/time_utils.py b/src/libecalc/common/time_utils.py index fa3b17e1f..32c198142 100644 --- a/src/libecalc/common/time_utils.py +++ b/src/libecalc/common/time_utils.py @@ -25,10 +25,28 @@ def __str__(self) -> str: return f"{self.start}:{self.end}" def __contains__(self, time: datetime) -> bool: + """ + A period of time is defined as [start, end>, + ie inclusive start and exclusive end. + + Args: + time: + + Returns: + + """ return self.start <= time < self.end @staticmethod def intersects(first: Period, second: Period) -> bool: + """ + Args: + first: + second: + + Returns: + + """ return first.start in second or second.start in first def get_timestep_indices(self, timesteps: List[datetime]) -> Tuple[int, int]: diff --git a/src/libecalc/common/utils/calculate_emission_intensity.py b/src/libecalc/common/utils/calculate_emission_intensity.py index 06b1f0a23..c61729f06 100644 --- a/src/libecalc/common/utils/calculate_emission_intensity.py +++ b/src/libecalc/common/utils/calculate_emission_intensity.py @@ -4,8 +4,10 @@ import numpy as np import pandas as pd from libecalc.common.units import Unit -from libecalc.common.utils.rates import TimeSeriesRate, TimeSeriesVolumesCumulative -from libecalc.dto.types import RateType +from libecalc.common.utils.rates import ( + TimeSeriesCalendarDayRate, + TimeSeriesVolumesCumulative, +) def compute_emission_intensity_yearly( @@ -64,7 +66,7 @@ def compute_emission_intensity_yearly( def compute_emission_intensity_by_yearly_buckets( emission_cumulative: TimeSeriesVolumesCumulative, hydrocarbon_export_cumulative: TimeSeriesVolumesCumulative, -) -> TimeSeriesRate: +) -> TimeSeriesCalendarDayRate: """Legacy code that computes yearly intensity and casts the results back to the original time-vector.""" timesteps = emission_cumulative.timesteps yearly_buckets = range(timesteps[0].year, timesteps[-1].year + 1) @@ -73,9 +75,8 @@ def compute_emission_intensity_by_yearly_buckets( hydrocarbon_export_cumulative=hydrocarbon_export_cumulative.values, time_vector=timesteps, ) - return TimeSeriesRate( + return TimeSeriesCalendarDayRate( timesteps=timesteps, values=[yearly_intensity[yearly_buckets.index(t.year)] for t in timesteps], unit=Unit.KG_SM3, - rate_type=RateType.CALENDAR_DAY, ) diff --git a/src/libecalc/common/utils/rates.py b/src/libecalc/common/utils/rates.py index a53c40986..9150ffd3e 100644 --- a/src/libecalc/common/utils/rates.py +++ b/src/libecalc/common/utils/rates.py @@ -8,7 +8,6 @@ from typing import ( Any, DefaultDict, - Dict, Generic, Iterable, Iterator, @@ -243,6 +242,22 @@ def for_timestep(self, current_timestep: datetime) -> Self: unit=self.unit, ) + def for_timesteps(self, timesteps: List[datetime]) -> Self: + """For a given list of datetime, return corresponding values + + Args: + timesteps: + + Returns: + + """ + values: List[TimeSeriesValue] = [] + for timestep in timesteps: + timestep_index = self.timesteps.index(timestep) + values.append(self.values[timestep_index]) + + return self.__class__(timesteps=timesteps, values=values, unit=self.unit) + def to_unit(self, unit: Unit) -> Self: if unit == self.unit: return self.copy() @@ -476,7 +491,7 @@ def resample(self, freq: Frequency) -> TimeSeriesVolumesCumulative: unit=self.unit, ) - def __truediv__(self, other: object) -> TimeSeriesRate: + def __truediv__(self, other: object) -> TimeSeriesCalendarDayRate: if not isinstance(other, TimeSeriesVolumesCumulative): raise TypeError(f"Dividing TimeSeriesVolumesCumulative by '{str(other.__class__)}' is not supported.") @@ -486,7 +501,7 @@ def __truediv__(self, other: object) -> TimeSeriesRate: raise ProgrammingError( f"Unable to divide unit '{self.unit}' by unit '{other.unit}'. Please add unit conversion." ) - return TimeSeriesRate( + return TimeSeriesCalendarDayRate( timesteps=self.timesteps, values=list( np.divide( @@ -497,7 +512,6 @@ def __truediv__(self, other: object) -> TimeSeriesRate: ) ), unit=unit, - rate_type=RateType.CALENDAR_DAY, ) def to_volumes(self) -> TimeSeriesVolumes: @@ -588,11 +602,12 @@ def to_rate(self, regularity: Optional[List[float]] = None) -> TimeSeriesRate: delta_days = calculate_delta_days(self.timesteps).tolist() average_rates = [volume / days for volume, days in zip(self.values, delta_days)] - if regularity and len(regularity) == len(self.timesteps) - 1: + if regularity is not None and isinstance(regularity, list) and len(regularity) == len(self.timesteps) - 1: regularity.append(0.0) average_rates.append(0.0) else: average_rates = self.values + regularity = [1.0] * len(self.timesteps) return TimeSeriesRate( timesteps=self.timesteps, @@ -632,6 +647,50 @@ def resample(self, freq: Frequency) -> TimeSeriesIntensity: ) +class TimeSeriesStreamDayRate(TimeSeriesFloat): + """ + Domain/core layer only. + + Explicit class for only internal core usage. Makes it easy to catch that the + type of data is rate, and has been converted to Stream Day for internal usage. + + When used internally, rate is handled as a "point in time float". It is only needed to + be handled specifically when reporting, e.g. converting to calendar day rate, if needed. + """ + + def __add__(self, other: TimeSeriesStreamDayRate) -> TimeSeriesStreamDayRate: + """ + Args: + other: + + Returns: + + """ + # Check for same unit + if not self.unit == other.unit: + raise ValueError(f"Mismatching units: '{self.unit}' != `{other.unit}`") + + if isinstance(other, TimeSeriesStreamDayRate): + return TimeSeriesStreamDayRate( + timesteps=self.timesteps, + values=list(elementwise_sum(self.values, other.values)), + unit=self.unit, + ) + else: + raise TypeError( + f"TimeSeriesRate can only be added to another TimeSeriesRate. Received type '{str(other.__class__)}'." + ) + + +class TimeSeriesCalendarDayRate(TimeSeriesFloat): + """ + Application layer only - only calendar day rate/used for reporting + Probably not needed, as we want to provide info on regularity etc for the fixed calendar rate data too + """ + + ... + + class TimeSeriesRate(TimeSeries[float]): """A rate time series with can be either in RateType.STREAM_DAY (default) or RateType.CALENDAR_DAY. @@ -645,20 +704,19 @@ class TimeSeriesRate(TimeSeries[float]): Stream day rates are not relevant for fuel consumption, tax and emissions. """ - rate_type: Optional[RateType] = RateType.STREAM_DAY - regularity: Optional[List[float]] # TODO: Consider to set explicitly as a fallback to 1 may easily lead to errors - - @validator("regularity", pre=True, always=True) - def set_regularity(cls, regularity: Optional[List[float]], values: Dict[str, Any]) -> List[float]: - if ( - regularity is not None and regularity != [] - ): # TODO: Current workaround. To be handled when regularity is handled correctly - return regularity - try: - return [1] * len(values["values"]) - except KeyError: - # 'Values' of timeseries is not defined. Not this validators responsibility. - return [] + rate_type: RateType + regularity: List[float] + + @validator("regularity") + def check_regularity_length(cls, regularity: List[float], values: Any) -> List[float]: + regularity_length = len(regularity) + timesteps_length = len(values.get("timesteps", [])) + if regularity_length != timesteps_length: + raise ProgrammingError( + f"Regularity must correspond to nr of timesteps. Length of timesteps ({timesteps_length}) != length of regularity ({regularity_length})." + ) + + return regularity def __add__(self, other: TimeSeriesRate) -> TimeSeriesRate: # Check for same unit @@ -711,7 +769,7 @@ def extend(self, other: TimeSeriesRate) -> Self: # type: ignore[override] timesteps=self.timesteps + other.timesteps, values=self.values + other.values, unit=self.unit, - regularity=self.regularity + other.regularity, # type: ignore + regularity=self.regularity + other.regularity, rate_type=self.rate_type, ) @@ -773,7 +831,7 @@ def for_period(self, period: Period) -> Self: return self.__class__( timesteps=self.timesteps[start_index:end_index], values=self.values[start_index:end_index], - regularity=self.regularity[start_index:end_index], # type: ignore + regularity=self.regularity[start_index:end_index], unit=self.unit, rate_type=self.rate_type, ) @@ -788,7 +846,7 @@ def for_timestep(self, current_timestep: datetime) -> Self: return self.__class__( timesteps=self.timesteps[timestep_index : timestep_index + 1], values=self.values[timestep_index : timestep_index + 1], - regularity=self.regularity[timestep_index : timestep_index + 1], # type: ignore + regularity=self.regularity[timestep_index : timestep_index + 1], unit=self.unit, rate_type=self.rate_type, ) @@ -801,7 +859,7 @@ def to_calendar_day(self) -> Self: calendar_day_rates = list( Rates.to_calendar_day( stream_day_rates=np.asarray(self.values), - regularity=self.regularity, # type: ignore[arg-type] + regularity=self.regularity, ), ) return self.__class__( @@ -820,7 +878,7 @@ def to_stream_day(self) -> Self: stream_day_rates = list( Rates.to_stream_day( calendar_day_rates=np.asarray(self.values), - regularity=self.regularity, # type: ignore[arg-type] + regularity=self.regularity, ), ) return self.__class__( @@ -914,7 +972,7 @@ def __getitem__(self, indices: Union[slice, int, List[int], NDArray[np.float64]] return self.__class__( timesteps=self.timesteps[indices], values=self.values[indices], - regularity=self.regularity[indices], # type: ignore + regularity=self.regularity[indices], unit=self.unit, rate_type=self.rate_type, ) @@ -922,7 +980,7 @@ def __getitem__(self, indices: Union[slice, int, List[int], NDArray[np.float64]] return self.__class__( timesteps=[self.timesteps[indices]], values=[self.values[indices]], - regularity=[self.regularity[indices]], # type: ignore + regularity=[self.regularity[indices]], unit=self.unit, rate_type=self.rate_type, ) @@ -931,7 +989,7 @@ def __getitem__(self, indices: Union[slice, int, List[int], NDArray[np.float64]] return self.__class__( timesteps=[self.timesteps[i] for i in indices], values=[self.values[i] for i in indices], - regularity=[self.regularity[i] for i in indices], # type: ignore + regularity=[self.regularity[i] for i in indices], unit=self.unit, rate_type=self.rate_type, ) @@ -957,5 +1015,33 @@ def reindex(self, new_time_vector: Iterable[datetime]) -> TimeSeriesRate: """ reindex_values = self.reindex_time_vector(new_time_vector) return TimeSeriesRate( - timesteps=new_time_vector, values=reindex_values.tolist(), unit=self.unit, regularity=self.regularity + timesteps=new_time_vector, + values=reindex_values.tolist(), + unit=self.unit, + regularity=self.regularity, + rate_type=self.rate_type, + ) + + @classmethod + def from_timeseries_stream_day_rate( + cls, time_series_stream_day_rate: TimeSeriesStreamDayRate, regularity: TimeSeriesFloat + ) -> Self: + if time_series_stream_day_rate is None: + return None + + regularity = regularity.for_timesteps(time_series_stream_day_rate.timesteps) + + return cls( + timesteps=time_series_stream_day_rate.timesteps, + values=time_series_stream_day_rate.values, + unit=time_series_stream_day_rate.unit, + rate_type=RateType.STREAM_DAY, + regularity=regularity.values, + ) + + def to_stream_day_timeseries(self) -> TimeSeriesStreamDayRate: + """Convert to fixed stream day rate timeseries""" + stream_day_rate = self.to_stream_day() + return TimeSeriesStreamDayRate( + timesteps=stream_day_rate.timesteps, values=stream_day_rate.values, unit=stream_day_rate.unit ) diff --git a/src/libecalc/core/consumers/compressor/component.py b/src/libecalc/core/consumers/compressor/component.py index 314270455..1486b8ffa 100644 --- a/src/libecalc/core/consumers/compressor/component.py +++ b/src/libecalc/core/consumers/compressor/component.py @@ -12,7 +12,7 @@ from libecalc.common.utils.rates import ( TimeSeriesBoolean, TimeSeriesFloat, - TimeSeriesRate, + TimeSeriesStreamDayRate, ) from libecalc.core.consumers.base import BaseConsumerWithoutOperationalSettings from libecalc.core.models.compressor import create_compressor_model @@ -65,7 +65,6 @@ def evaluate( """ Todo: Implement Multiple Streams - Handle regularity outside """ self._operational_settings = operational_settings @@ -91,18 +90,13 @@ def evaluate( # Mixing all input rates to get total rate passed through compressor. Used when reporting streams. total_requested_inlet_stream = Stream.mix_all(operational_settings.inlet_streams) - evaluated_regularity = total_requested_inlet_stream.rate.regularity - energy_usage = TimeSeriesRate( + energy_usage = TimeSeriesStreamDayRate( values=aggregated_result.energy_usage, timesteps=evaluated_timesteps, unit=aggregated_result.energy_usage_unit, - regularity=evaluated_regularity, ) - 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 - outlet_pressure_before_choke = TimeSeriesFloat( values=aggregated_result.outlet_pressure_before_choking if aggregated_result.outlet_pressure_before_choking @@ -113,22 +107,20 @@ def evaluate( component_result = core_results.CompressorResult( timesteps=evaluated_timesteps, - power=TimeSeriesRate( + power=TimeSeriesStreamDayRate( values=aggregated_result.power, timesteps=evaluated_timesteps, unit=aggregated_result.power_unit, - regularity=evaluated_regularity, ).fill_nan(0.0), energy_usage=energy_usage.fill_nan(0.0), is_valid=TimeSeriesBoolean( values=aggregated_result.is_valid, timesteps=evaluated_timesteps, unit=Unit.NONE ), id=self.id, - recirculation_loss=TimeSeriesRate( + recirculation_loss=TimeSeriesStreamDayRate( values=aggregated_result.recirculation_loss, timesteps=evaluated_timesteps, unit=Unit.MEGA_WATT, - regularity=evaluated_regularity, ), rate_exceeds_maximum=TimeSeriesBoolean( values=aggregated_result.rate_exceeds_maximum, @@ -167,19 +159,17 @@ def evaluate( values=aggregated_result.is_valid, unit=Unit.NONE, ), - power=TimeSeriesRate( + power=TimeSeriesStreamDayRate( timesteps=evaluated_timesteps, values=aggregated_result.power, unit=aggregated_result.power_unit, - regularity=evaluated_regularity, ) if aggregated_result.power is not None else None, - energy_usage=TimeSeriesRate( + energy_usage=TimeSeriesStreamDayRate( timesteps=evaluated_timesteps, values=aggregated_result.energy_usage, unit=aggregated_result.energy_usage_unit, - regularity=evaluated_regularity, ), energy_usage_unit=aggregated_result.energy_usage_unit, rate_sm3_day=aggregated_result.rate_sm3_day, diff --git a/src/libecalc/core/consumers/generator_set.py b/src/libecalc/core/consumers/generator_set.py index 07e4bd5e7..1642541ec 100644 --- a/src/libecalc/core/consumers/generator_set.py +++ b/src/libecalc/core/consumers/generator_set.py @@ -2,13 +2,16 @@ from libecalc import dto from libecalc.common.list_utils import array_to_list from libecalc.common.logger import logger -from libecalc.common.temporal_model import TemporalExpression, TemporalModel +from libecalc.common.temporal_model import TemporalModel from libecalc.common.time_utils import Period from libecalc.common.units import Unit -from libecalc.common.utils.rates import Rates, TimeSeriesBoolean, TimeSeriesRate +from libecalc.common.utils.rates import ( + Rates, + TimeSeriesBoolean, + TimeSeriesStreamDayRate, +) from libecalc.core.models.generator import GeneratorModelSampled from libecalc.core.result import GeneratorSetResult -from libecalc.dto.types import RateType from libecalc.dto.variables import VariablesMap from numpy.typing import NDArray @@ -37,11 +40,6 @@ def evaluate( """ logger.debug(f"Evaluating Genset: {self.data_transfer_object.name}") - regularity = TemporalExpression.evaluate( - temporal_expression=TemporalModel(self.data_transfer_object.regularity), - variables_map=variables_map, - ) - if not len(power_requirement) == len(variables_map.time_vector): raise ValueError("length of power_requirement does not match the time vector.") @@ -50,7 +48,8 @@ def evaluate( power_capacity_margin = self.evaluate_power_capacity_margin(power_requirement, variables_map=variables_map) # Convert fuel_rate to calendar day rate - fuel_rate = Rates.to_calendar_day(stream_day_rates=fuel_rate, regularity=regularity) + # fuel_rate = Rates.to_calendar_day(stream_day_rates=fuel_rate, regularity=regularity) + # TODO: Ok to not convert to calendar day here? Seems that all legacy stuff needs to be dealt with anyways... # Check for extrapolations (in el-to-fuel, powers are checked in consumers) valid_timesteps = np.logical_and(~np.isnan(fuel_rate), power_capacity_margin >= 0) @@ -69,23 +68,20 @@ def evaluate( values=list(valid_timesteps), unit=Unit.NONE, ), - power_capacity_margin=TimeSeriesRate( + power_capacity_margin=TimeSeriesStreamDayRate( timesteps=variables_map.time_vector, values=list(power_capacity_margin), unit=Unit.MEGA_WATT, ), - power=TimeSeriesRate( + power=TimeSeriesStreamDayRate( timesteps=variables_map.time_vector, values=array_to_list(power_requirement), unit=Unit.MEGA_WATT, - regularity=regularity, ), - energy_usage=TimeSeriesRate( + energy_usage=TimeSeriesStreamDayRate( timesteps=variables_map.time_vector, values=array_to_list(fuel_rate), unit=Unit.STANDARD_CUBIC_METER_PER_DAY, - regularity=regularity, - rate_type=RateType.CALENDAR_DAY, ), ) diff --git a/src/libecalc/core/consumers/legacy_consumer/component.py b/src/libecalc/core/consumers/legacy_consumer/component.py index d96f442eb..a152b79ee 100644 --- a/src/libecalc/core/consumers/legacy_consumer/component.py +++ b/src/libecalc/core/consumers/legacy_consumer/component.py @@ -14,7 +14,7 @@ TimeSeriesBoolean, TimeSeriesFloat, TimeSeriesInt, - TimeSeriesRate, + TimeSeriesStreamDayRate, ) from libecalc.core.consumers.base import BaseConsumer from libecalc.core.consumers.legacy_consumer.consumer_function import ( @@ -119,25 +119,22 @@ def evaluate( time_vector=consumer_function_result.time_vector, new_time_vector=variables_map.time_vector, ) - power_time_series = TimeSeriesRate( + power_time_series = TimeSeriesStreamDayRate( timesteps=variables_map.time_vector, values=list(power), unit=Unit.MEGA_WATT, - regularity=regularity, ) - energy_usage_time_series = TimeSeriesRate( + energy_usage_time_series = TimeSeriesStreamDayRate( timesteps=variables_map.time_vector, values=list(energy_usage), unit=Unit.STANDARD_CUBIC_METER_PER_DAY, - regularity=regularity, - ).to_calendar_day() + ) elif self._consumer_dto.consumes == ConsumptionType.ELECTRICITY: - energy_usage_time_series = TimeSeriesRate( + energy_usage_time_series = TimeSeriesStreamDayRate( timesteps=variables_map.time_vector, values=list(energy_usage), unit=Unit.MEGA_WATT, - regularity=regularity, ) power_time_series = energy_usage_time_series.copy() @@ -189,11 +186,10 @@ def evaluate( elif self._consumer_dto.component_type == ComponentType.PUMP: # Using generic consumer result as pump has no specific results currently - inlet_rate_time_series = TimeSeriesRate( + inlet_rate_time_series = TimeSeriesStreamDayRate( timesteps=consumer_function_result.time_vector.tolist(), values=list(consumer_function_result.energy_function_result.rate), unit=Unit.STANDARD_CUBIC_METER_PER_DAY, - regularity=regularity, ).reindex(new_time_vector=variables_map.time_vector) inlet_pressure_time_series = TimeSeriesFloat( @@ -273,7 +269,7 @@ def evaluate( is_valid=is_valid, energy_usage=energy_usage_time_series, power=power_time_series, - recirculation_loss=TimeSeriesRate( + recirculation_loss=TimeSeriesStreamDayRate( timesteps=variables_map.time_vector, values=recirculation_loss, unit=Unit.MEGA_WATT, diff --git a/src/libecalc/core/consumers/legacy_consumer/result_mapper.py b/src/libecalc/core/consumers/legacy_consumer/result_mapper.py index 338d25153..1c5ff00fa 100644 --- a/src/libecalc/core/consumers/legacy_consumer/result_mapper.py +++ b/src/libecalc/core/consumers/legacy_consumer/result_mapper.py @@ -5,7 +5,7 @@ from libecalc.common.list_utils import array_to_list from libecalc.common.logger import logger from libecalc.common.units import Unit -from libecalc.common.utils.rates import TimeSeriesBoolean, TimeSeriesRate +from libecalc.common.utils.rates import TimeSeriesBoolean, TimeSeriesStreamDayRate from libecalc.core import result as core_results from libecalc.core.consumers.legacy_consumer.consumer_function import ( ConsumerFunctionResult, @@ -133,7 +133,7 @@ def map_energy_function_results( energy_function_results = [] if isinstance(result, CompressorTrainResult): power = ( - TimeSeriesRate( + TimeSeriesStreamDayRate( timesteps=time_vector, values=result.power, unit=result.power_unit, @@ -141,7 +141,7 @@ def map_energy_function_results( if result.power is not None else None ) - energy_usage = TimeSeriesRate( + energy_usage = TimeSeriesStreamDayRate( timesteps=time_vector, values=result.energy_usage, unit=result.energy_usage_unit, @@ -174,14 +174,14 @@ def map_energy_function_results( values=result.is_valid, unit=Unit.NONE, ), - power=TimeSeriesRate( + power=TimeSeriesStreamDayRate( timesteps=time_vector, values=result.power, unit=result.power_unit, ) if result.power is not None else None, - energy_usage=TimeSeriesRate( + energy_usage=TimeSeriesStreamDayRate( timesteps=time_vector, values=result.energy_usage, unit=result.energy_usage_unit, @@ -202,14 +202,14 @@ def map_energy_function_results( values=result.is_valid, unit=Unit.NONE, ), - power=TimeSeriesRate( + power=TimeSeriesStreamDayRate( timesteps=time_vector, values=result.power, unit=result.power_unit, ) if result.power is not None else None, - energy_usage=TimeSeriesRate( + energy_usage=TimeSeriesStreamDayRate( timesteps=time_vector, values=result.energy_usage, unit=result.energy_usage_unit, diff --git a/src/libecalc/core/consumers/pump/component.py b/src/libecalc/core/consumers/pump/component.py index aa429b155..ab5c6cd2d 100644 --- a/src/libecalc/core/consumers/pump/component.py +++ b/src/libecalc/core/consumers/pump/component.py @@ -12,7 +12,7 @@ from libecalc.common.utils.rates import ( TimeSeriesBoolean, TimeSeriesFloat, - TimeSeriesRate, + TimeSeriesStreamDayRate, ) from libecalc.core.consumers.base import BaseConsumerWithoutOperationalSettings from libecalc.core.models.pump import create_pump_model @@ -88,27 +88,23 @@ def evaluate( # Mixing all input rates to get total rate passed through compressor. Used when reporting streams. total_requested_inlet_stream = Stream.mix_all(operational_settings.inlet_streams) - regularity = total_requested_inlet_stream.rate.regularity component_result = core_results.PumpResult( timesteps=evaluated_timesteps, - power=TimeSeriesRate( + power=TimeSeriesStreamDayRate( values=aggregated_result.power, timesteps=evaluated_timesteps, unit=aggregated_result.power_unit, - regularity=regularity, ).fill_nan(0.0), - energy_usage=TimeSeriesRate( + energy_usage=TimeSeriesStreamDayRate( values=aggregated_result.energy_usage, timesteps=evaluated_timesteps, unit=aggregated_result.energy_usage_unit, - regularity=regularity, ).fill_nan(0.0), - inlet_liquid_rate_m3_per_day=TimeSeriesRate( + inlet_liquid_rate_m3_per_day=TimeSeriesStreamDayRate( values=aggregated_result.rate, timesteps=evaluated_timesteps, unit=Unit.STANDARD_CUBIC_METER_PER_DAY, - regularity=regularity, ), inlet_pressure_bar=TimeSeriesFloat( values=aggregated_result.suction_pressure, @@ -157,19 +153,17 @@ def evaluate( values=aggregated_result.is_valid, unit=Unit.NONE, ), - power=TimeSeriesRate( + power=TimeSeriesStreamDayRate( timesteps=evaluated_timesteps, values=aggregated_result.power, unit=aggregated_result.power_unit, - regularity=regularity, ) if aggregated_result.power is not None else None, - energy_usage=TimeSeriesRate( + energy_usage=TimeSeriesStreamDayRate( timesteps=evaluated_timesteps, values=aggregated_result.energy_usage, unit=aggregated_result.energy_usage_unit, - regularity=regularity, ), inlet_liquid_rate_m3_per_day=aggregated_result.rate, inlet_pressure_bar=aggregated_result.suction_pressure, diff --git a/src/libecalc/core/graph_result.py b/src/libecalc/core/graph_result.py index f5020dcb6..35743da1d 100644 --- a/src/libecalc/core/graph_result.py +++ b/src/libecalc/core/graph_result.py @@ -1,8 +1,9 @@ import math import operator +from collections import defaultdict from datetime import datetime from functools import reduce -from typing import Any, Dict, List, Optional +from typing import Any, Dict, List, Optional, Union import libecalc from libecalc import dto @@ -27,7 +28,7 @@ from libecalc.dto.base import ComponentType from libecalc.dto.graph import Graph from libecalc.dto.models.consumer_system import CompressorSystemConsumerFunction -from libecalc.dto.result.emission import EmissionIntensityResult +from libecalc.dto.result.emission import EmissionIntensityResult, PartialEmissionResult from libecalc.dto.result.results import ( CompressorModelResult, CompressorModelStageResult, @@ -63,8 +64,8 @@ def __init__( @staticmethod def _compute_intensity( hydrocarbon_export_rate: TimeSeriesRate, - emissions: Dict[str, EmissionResult], - ): + emissions: Dict[str, PartialEmissionResult], + ) -> List[EmissionIntensityResult]: hydrocarbon_export_cumulative = hydrocarbon_export_rate.to_volumes().cumulative() emission_intensities = [] for key in emissions: @@ -78,26 +79,35 @@ def _compute_intensity( EmissionIntensityResult( name=emissions[key].name, timesteps=emissions[key].timesteps, - intensity_sm3=intensity_sm3.dict(exclude={"rate_type": True, "regularity": True}), - intensity_boe=intensity_sm3.to_unit(Unit.KG_BOE).dict( - exclude={"rate_type": True, "regularity": True} - ), - intensity_yearly_sm3=intensity_yearly_sm3.dict(exclude={"rate_type": True, "regularity": True}), - intensity_yearly_boe=intensity_yearly_sm3.to_unit(Unit.KG_BOE).dict( - exclude={"rate_type": True, "regularity": True} - ), + intensity_sm3=intensity_sm3, + intensity_boe=intensity_sm3.to_unit(Unit.KG_BOE), + intensity_yearly_sm3=intensity_yearly_sm3, + intensity_yearly_boe=intensity_yearly_sm3.to_unit(Unit.KG_BOE), ) ) return emission_intensities def _evaluate_installations(self, variables_map: dto.VariablesMap) -> List[libecalc.dto.result.InstallationResult]: + """ + All subcomponents have already been evaluated, here we basically collect and aggregate the results + + Args: + variables_map: + + Returns: + + """ asset_id = self.graph.root asset = self.graph.get_component(asset_id) installation_results = [] for installation in asset.installations: - regularity = TemporalExpression.evaluate( - temporal_expression=TemporalModel(installation.regularity), - variables_map=variables_map, + regularity = TimeSeriesFloat( + timesteps=variables_map.time_vector, + values=TemporalExpression.evaluate( + temporal_expression=TemporalModel(installation.regularity), + variables_map=variables_map, + ), + unit=Unit.NONE, ) hydrocarbon_export_rate = TemporalExpression.evaluate( temporal_expression=TemporalModel(installation.hydrocarbon_export), @@ -107,8 +117,8 @@ def _evaluate_installations(self, variables_map: dto.VariablesMap) -> List[libec timesteps=variables_map.time_vector, values=hydrocarbon_export_rate, unit=Unit.STANDARD_CUBIC_METER_PER_DAY, - regularity=regularity, rate_type=RateType.CALENDAR_DAY, + regularity=regularity.values, ) sub_components = [ @@ -121,7 +131,7 @@ def _evaluate_installations(self, variables_map: dto.VariablesMap) -> List[libec power = reduce( operator.add, [ - component.power + TimeSeriesRate.from_timeseries_stream_day_rate(component.power, regularity=regularity) for component in sub_components if self.graph.get_node_info(component.id).component_type == ComponentType.GENERATOR_SET ], @@ -129,22 +139,24 @@ def _evaluate_installations(self, variables_map: dto.VariablesMap) -> List[libec values=[0.0] * self.variables_map.length, timesteps=self.variables_map.time_vector, unit=Unit.MEGA_WATT, - regularity=regularity, + rate_type=RateType.STREAM_DAY, + regularity=regularity.values, ), # Initial value, handle no power output from components ) energy_usage = reduce( operator.add, [ - component.energy_usage + TimeSeriesRate.from_timeseries_stream_day_rate(component.energy_usage, regularity=regularity) for component in sub_components if component.energy_usage.unit == Unit.STANDARD_CUBIC_METER_PER_DAY ], ) + emission_dto_results = self.convert_to_timeseries(self.emission_results, regularity) aggregated_emissions = aggregate_emissions( [ - self.emission_results[fuel_consumer_id] + emission_dto_results[fuel_consumer_id] for fuel_consumer_id in self.graph.get_successors(installation.id) ] ) @@ -164,14 +176,21 @@ def _evaluate_installations(self, variables_map: dto.VariablesMap) -> List[libec ), power=power, power_cumulative=power.to_volumes().to_unit(Unit.GIGA_WATT_HOURS).cumulative(), - energy_usage=energy_usage, + energy_usage=energy_usage.to_calendar_day() + if energy_usage.unit == Unit.STANDARD_CUBIC_METER_PER_DAY + else energy_usage.to_stream_day(), energy_usage_cumulative=energy_usage.to_volumes().cumulative(), hydrocarbon_export_rate=hydrocarbon_export_rate, - emissions=self._parse_emissions(aggregated_emissions), + emissions=self.to_full_result(aggregated_emissions), emission_intensities=self._compute_intensity( hydrocarbon_export_rate=hydrocarbon_export_rate, emissions=aggregated_emissions, ), + regularity=TimeSeriesFloat( + timesteps=variables_map.time_vector, + values=regularity.values, + unit=Unit.NONE, + ), ) ) return installation_results @@ -202,7 +221,53 @@ def timesteps(self): return self.variables_map.time_vector @staticmethod - def _parse_emissions(emissions: Dict[str, EmissionResult]) -> Dict[str, libecalc.dto.result.EmissionResult]: + def _parse_emissions( + emissions: Dict[str, EmissionResult], regularity: TimeSeriesFloat + ) -> Dict[str, libecalc.dto.result.EmissionResult]: + """ + Convert emissions from core result format to dto result format. + + Given that core result does NOT have regularity, that needs to be added + Args: + emissions: + regularity: + + Returns: + + """ + return { + key: libecalc.dto.result.EmissionResult( + name=key, + timesteps=emissions[key].timesteps, + rate=TimeSeriesRate.from_timeseries_stream_day_rate(emissions[key].rate, regularity=regularity), + quota=TimeSeriesRate.from_timeseries_stream_day_rate(emissions[key].quota, regularity=regularity), + tax=TimeSeriesRate.from_timeseries_stream_day_rate(emissions[key].tax, regularity=regularity), + cumulative=TimeSeriesRate.from_timeseries_stream_day_rate(emissions[key].rate, regularity=regularity) + .to_volumes() + .cumulative(), + quota_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate( + emissions[key].quota, regularity=regularity + ) + .to_volumes() + .cumulative(), + tax_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate(emissions[key].tax, regularity=regularity) + .to_volumes() + .cumulative(), + ) + for key in emissions + } + + def to_full_result( + self, emissions: Dict[str, PartialEmissionResult] + ) -> Dict[str, libecalc.dto.result.EmissionResult]: + """ + From the partial result, generate cumulatives for the full emissions result per installation + Args: + emissions: + + Returns: + + """ return { key: libecalc.dto.result.EmissionResult( name=key, @@ -315,12 +380,19 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: installation_results = self._evaluate_installations(variables_map=self.variables_map) + regularities: Dict[str, TimeSeriesFloat] = { + installation.id: installation.regularity for installation in installation_results + } + models = [] sub_components = [*installation_results] for consumer_result in self.consumer_results.values(): consumer_id = consumer_result.component_result.id consumer_node_info = self.graph.get_node_info(consumer_id) + parent_installation_id = self.graph.get_parent_installation_id(consumer_id) + regularity: TimeSeriesFloat = regularities[parent_installation_id] + if consumer_node_info.component_type in [ComponentType.COMPRESSOR, ComponentType.COMPRESSOR_SYSTEM]: component = self.graph.get_component(consumer_id) @@ -371,11 +443,12 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: fluid_composition=stage_result.fluid_composition, asv_recirculation_loss_mw=TimeSeriesRate( timesteps=model.timesteps, + rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, values=stage_result.asv_recirculation_loss_mw if stage_result.asv_recirculation_loss_mw is not None else [math.nan] * len(model.timesteps), unit=Unit.MEGA_WATT, - rate_type=RateType.STREAM_DAY, ), head_exceeds_maximum=TimeSeriesBoolean( timesteps=model.timesteps, @@ -426,6 +499,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=stage_result.energy_usage_unit, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), mass_rate_kg_per_hr=TimeSeriesRate( timesteps=model.timesteps, @@ -434,6 +508,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=Unit.KILO_PER_HOUR, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), mass_rate_before_asv_kg_per_hr=TimeSeriesRate( timesteps=model.timesteps, @@ -442,6 +517,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=Unit.KILO_PER_HOUR, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), power=TimeSeriesRate( timesteps=model.timesteps, @@ -450,6 +526,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=stage_result.power_unit, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), pressure_is_choked=TimeSeriesBoolean( timesteps=model.timesteps, @@ -487,6 +564,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=Unit.ACTUAL_VOLUMETRIC_M3_PER_HOUR, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), actual_rate_before_asv_m3_per_hr=TimeSeriesRate( timesteps=model.timesteps, @@ -495,6 +573,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=Unit.ACTUAL_VOLUMETRIC_M3_PER_HOUR, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), kappa=TimeSeriesFloat( timesteps=model.timesteps, @@ -510,6 +589,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=Unit.KG_M3, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), pressure=TimeSeriesFloat( timesteps=model.timesteps, @@ -548,6 +628,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=Unit.ACTUAL_VOLUMETRIC_M3_PER_HOUR, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), actual_rate_before_asv_m3_per_hr=TimeSeriesRate( timesteps=model.timesteps, @@ -556,6 +637,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=Unit.ACTUAL_VOLUMETRIC_M3_PER_HOUR, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), kappa=TimeSeriesFloat( timesteps=model.timesteps, @@ -571,6 +653,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=Unit.KG_M3, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), pressure=TimeSeriesFloat( timesteps=model.timesteps, @@ -623,6 +706,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=model.turbine_result.energy_usage_unit, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), exceeds_maximum_load=TimeSeriesBoolean( timesteps=model.timesteps, @@ -638,6 +722,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=Unit.STANDARD_CUBIC_METER_PER_DAY, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), is_valid=TimeSeriesBoolean( timesteps=model.timesteps, @@ -653,6 +738,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=model.turbine_result.energy_usage_unit, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), power=TimeSeriesRate( timesteps=model.timesteps, @@ -661,6 +747,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=model.turbine_result.power_unit, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), ) if model.turbine_result is not None @@ -676,6 +763,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: values=model.rate_sm3_day[0], unit=Unit.STANDARD_CUBIC_METER_PER_DAY, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ) else: rate = TimeSeriesRate( @@ -683,6 +771,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: values=model.rate_sm3_day, unit=Unit.STANDARD_CUBIC_METER_PER_DAY, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ) models.extend( @@ -692,7 +781,9 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: name=model.name, componentType=model.component_type, component_level=ComponentLevel.MODEL, - energy_usage=model.energy_usage, + energy_usage=TimeSeriesRate.from_timeseries_stream_day_rate( + model.energy_usage, regularity=regularity + ), energy_usage_unit=model.energy_usage_unit, requested_inlet_pressure=requested_inlet_pressure, requested_outlet_pressure=requested_outlet_pressure, @@ -703,13 +794,22 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: is_valid=TimeSeriesBoolean( timesteps=model.timesteps, values=model.is_valid, unit=Unit.NONE ), - energy_usage_cumulative=model.energy_usage.to_volumes().cumulative(), + energy_usage_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate( + model.energy_usage, regularity=regularity + ) + .to_volumes() + .cumulative(), power_cumulative=( - model.power.to_volumes().to_unit(Unit.GIGA_WATT_HOURS).cumulative() + TimeSeriesRate.from_timeseries_stream_day_rate(model.power, regularity=regularity) + .to_volumes() + .to_unit(Unit.GIGA_WATT_HOURS) + .cumulative() if model.power is not None else None ), - power=model.power, + power=TimeSeriesRate.from_timeseries_stream_day_rate(model.power, regularity=regularity) + if model.power is not None + else None, power_unit=model.power_unit, turbine_result=turbine_result, ) @@ -725,16 +825,27 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: name=model.name, componentType=model.component_type, component_level=ComponentLevel.MODEL, - energy_usage=model.energy_usage, + energy_usage=TimeSeriesRate.from_timeseries_stream_day_rate( + model.energy_usage, regularity=regularity + ), is_valid=model.is_valid, - energy_usage_cumulative=model.energy_usage.to_volumes().cumulative(), + energy_usage_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate( + model.energy_usage, regularity=regularity + ) + .to_volumes() + .cumulative(), timesteps=model.timesteps, power_cumulative=( - model.power.to_volumes().to_unit(Unit.GIGA_WATT_HOURS).cumulative() + TimeSeriesRate.from_timeseries_stream_day_rate(model.power, regularity=regularity) + .to_volumes() + .to_unit(Unit.GIGA_WATT_HOURS) + .cumulative() if model.power is not None else None ), - power=model.power, + power=TimeSeriesRate.from_timeseries_stream_day_rate(model.power, regularity=regularity) + if model.power is not None + else None, inlet_liquid_rate_m3_per_day=TimeSeriesRate( timesteps=model.timesteps, values=model.inlet_liquid_rate_m3_per_day @@ -742,6 +853,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: else [math.nan] * len(model.timesteps), unit=Unit.STANDARD_CUBIC_METER_PER_DAY, rate_type=RateType.STREAM_DAY, + regularity=regularity.for_timesteps(model.timesteps).values, ), inlet_pressure_bar=TimeSeriesFloat( timesteps=model.timesteps, @@ -778,20 +890,235 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: "parent": consumer_id, "componentType": model.component_type, "component_level": ComponentLevel.MODEL, - "energy_usage_cumulative": model.energy_usage.to_volumes().cumulative().dict(), + "energy_usage_cumulative": TimeSeriesRate.from_timeseries_stream_day_rate( + model.energy_usage, regularity=regularity + ) + .to_volumes() + .cumulative() + .dict(), "power_cumulative": ( - model.power.to_volumes().to_unit(Unit.GIGA_WATT_HOURS).cumulative().dict() + TimeSeriesRate.from_timeseries_stream_day_rate(model.power, regularity=regularity) + .to_volumes() + .to_unit(Unit.GIGA_WATT_HOURS) + .cumulative() + .dict() if model.power is not None else None ), + "power": TimeSeriesRate.from_timeseries_stream_day_rate( + model.power, regularity=regularity + ), + "energy_usage": TimeSeriesRate.from_timeseries_stream_day_rate( + model.energy_usage, regularity=regularity + ), }, ) for model in consumer_result.models ] ) - sub_components.append( - parse_obj_as( + obj: libecalc.dto.result.ComponentResult + if consumer_node_info.component_type == ComponentType.GENERATOR_SET: + obj = dto.result.results.GeneratorSetResult( + name=consumer_node_info.name, + parent=self.graph.get_predecessor(consumer_id), + component_level=consumer_node_info.component_level, + componentType=consumer_node_info.component_type, + emissions=self._parse_emissions(self.emission_results[consumer_id], regularity) + if consumer_id in self.emission_results + else [], + energy_usage_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ) + .to_volumes() + .cumulative(), + power_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.power, regularity=regularity + ) + .to_volumes() + .to_unit(Unit.GIGA_WATT_HOURS) + .cumulative() + if consumer_result.component_result.power is not None + else None, + power=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.power, regularity=regularity + ), + energy_usage=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ).to_calendar_day() + if consumer_result.component_result.energy_usage.unit == Unit.STANDARD_CUBIC_METER_PER_DAY + else TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ).to_stream_day(), + power_capacity_margin=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.power_capacity_margin, regularity=regularity + ), + timesteps=consumer_result.component_result.timesteps, + id=consumer_result.component_result.id, + is_valid=consumer_result.component_result.is_valid, + ) + elif consumer_node_info.component_type == ComponentType.PUMP: + obj = dto.result.results.PumpResult( + name=consumer_node_info.name, + parent=self.graph.get_predecessor(consumer_id), + component_level=consumer_node_info.component_level, + componentType=consumer_node_info.component_type, + emissions=self._parse_emissions(self.emission_results[consumer_id], regularity) + if consumer_id in self.emission_results + else [], + energy_usage_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ) + .to_volumes() + .cumulative(), + power_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.power, regularity=regularity + ) + .to_volumes() + .to_unit(Unit.GIGA_WATT_HOURS) + .cumulative() + if consumer_result.component_result.power is not None + else None, + power=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.power, regularity=regularity + ), + energy_usage=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ).to_calendar_day() + if consumer_result.component_result.energy_usage.unit == Unit.STANDARD_CUBIC_METER_PER_DAY + else TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ).to_stream_day(), + inlet_liquid_rate_m3_per_day=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.inlet_liquid_rate_m3_per_day, regularity=regularity + ), + inlet_pressure_bar=consumer_result.component_result.inlet_pressure_bar, + outlet_pressure_bar=consumer_result.component_result.outlet_pressure_bar, + operational_head=consumer_result.component_result.operational_head, + timesteps=consumer_result.component_result.timesteps, + id=consumer_result.component_result.id, + is_valid=consumer_result.component_result.is_valid, + ) + elif consumer_node_info.component_type == ComponentType.COMPRESSOR: + obj = dto.result.results.CompressorResult( + name=consumer_node_info.name, + parent=self.graph.get_predecessor(consumer_id), + component_level=consumer_node_info.component_level, + componentType=consumer_node_info.component_type, + emissions=self._parse_emissions(self.emission_results[consumer_id], regularity) + if consumer_id in self.emission_results + else [], + energy_usage_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ) + .to_volumes() + .cumulative(), + power_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.power, regularity=regularity + ) + .to_volumes() + .to_unit(Unit.GIGA_WATT_HOURS) + .cumulative() + if consumer_result.component_result.power is not None + else None, + power=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.power, regularity=regularity + ), + energy_usage=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ).to_calendar_day() + if consumer_result.component_result.energy_usage.unit == Unit.STANDARD_CUBIC_METER_PER_DAY + else TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ).to_stream_day(), + recirculation_loss=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.recirculation_loss, regularity=regularity + ), + rate_exceeds_maximum=consumer_result.component_result.rate_exceeds_maximum, + outlet_pressure_before_choking=consumer_result.component_result.outlet_pressure_before_choking, + timesteps=consumer_result.component_result.timesteps, + id=consumer_result.component_result.id, + is_valid=consumer_result.component_result.is_valid, + ) + elif consumer_node_info.component_type == ComponentType.ASSET: + obj = dto.result.results.AssetResult( + name=consumer_node_info.name, + parent=self.graph.get_predecessor(consumer_id), + component_level=consumer_node_info.component_level, + componentType=consumer_node_info.component_type, + emissions=self._parse_emissions(self.emission_results[consumer_id], regularity) + if consumer_id in self.emission_results + else [], + energy_usage_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ) + .to_volumes() + .cumulative(), + power_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.power, regularity=regularity + ) + .to_volumes() + .to_unit(Unit.GIGA_WATT_HOURS) + .cumulative() + if consumer_result.component_result.power is not None + else None, + power=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.power, regularity=regularity + ), + energy_usage=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ).to_calendar_day() + if consumer_result.component_result.energy_usage.unit == Unit.STANDARD_CUBIC_METER_PER_DAY + else TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ).to_stream_day(), + hydrocarbon_export_rate=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.hydrocarbon_export_rate, regularity=regularity + ), + emission_intensities=consumer_result.component_result.emission_intensities, + timesteps=consumer_result.component_result.timesteps, + id=consumer_result.component_result.id, + is_valid=consumer_result.component_result.is_valid, + ) + elif consumer_node_info.component_type == ComponentType.INSTALLATION: + obj = dto.result.results.InstallationResult( + name=consumer_node_info.name, + parent=self.graph.get_predecessor(consumer_id), + component_level=consumer_node_info.component_level, + componentType=consumer_node_info.component_type, + emissions=self._parse_emissions(self.emission_results[consumer_id], regularity) + if consumer_id in self.emission_results + else [], + energy_usage_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ) + .to_volumes() + .cumulative(), + power_cumulative=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.power, regularity=regularity + ) + .to_volumes() + .to_unit(Unit.GIGA_WATT_HOURS) + .cumulative() + if consumer_result.component_result.power is not None + else None, + power=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.power, regularity=regularity + ), + energy_usage=TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ).to_calendar_day() + if consumer_result.component_result.energy_usage.unit == Unit.STANDARD_CUBIC_METER_PER_DAY + else TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ).to_stream_day(), + regularity=consumer_result.component_result.regularity, + timesteps=consumer_result.component_result.timesteps, + id=consumer_result.component_result.id, + is_valid=consumer_result.component_result.is_valid, + ) + else: # COMPRESSOR_SYSTEM_V2, COMPRESSOR_SYSTEM, PUMP_SYSTEM_V2, PUMP_SYSTEM, GENERIC, TURBINE, DIRECT_EMITTER + obj = parse_obj_as( libecalc.dto.result.ComponentResult, { **consumer_result.component_result.dict(), @@ -799,29 +1126,48 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: "parent": self.graph.get_predecessor(consumer_id), "component_level": consumer_node_info.component_level, "componentType": consumer_node_info.component_type, - "emissions": self._parse_emissions(self.emission_results[consumer_id]) + "emissions": self._parse_emissions(self.emission_results[consumer_id], regularity) if consumer_id in self.emission_results else [], - "energy_usage_cumulative": consumer_result.component_result.energy_usage.to_volumes() + "energy_usage_cumulative": TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ) + .to_volumes() .cumulative() .dict(), - "power_cumulative": consumer_result.component_result.power.to_volumes() + "power_cumulative": TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.power, regularity=regularity + ) + .to_volumes() .to_unit(Unit.GIGA_WATT_HOURS) .cumulative() .dict() if consumer_result.component_result.power is not None else None, + "power": TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.power, regularity=regularity + ), + "energy_usage": TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ).to_calendar_day() + if consumer_result.component_result.energy_usage.unit == Unit.STANDARD_CUBIC_METER_PER_DAY + else TimeSeriesRate.from_timeseries_stream_day_rate( + consumer_result.component_result.energy_usage, regularity=regularity + ).to_stream_day(), }, ) - ) + + sub_components.append(obj) for installation in asset.installations: + regularity = regularities[installation.id] # Already evaluated regularities for direct_emitter in installation.direct_emitters: energy_usage = TimeSeriesRate( timesteps=self.variables_map.time_vector, values=[0.0] * self.variables_map.length, - regularity=[1] * self.variables_map.length, + regularity=[1] * self.variables_map.length, # Dummy. Has no effect since value is 0 unit=Unit.STANDARD_CUBIC_METER_PER_DAY, + rate_type=RateType.CALENDAR_DAY, ) sub_components.append( libecalc.dto.result.DirectEmitterResult( @@ -830,7 +1176,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: componentType=direct_emitter.component_type, component_level=ComponentLevel.CONSUMER, parent=installation.id, - emissions=self._parse_emissions(self.emission_results[direct_emitter.id]), + emissions=self._parse_emissions(self.emission_results[direct_emitter.id], regularity), timesteps=self.variables_map.time_vector, is_valid=TimeSeriesBoolean( timesteps=self.variables_map.time_vector, @@ -848,7 +1194,11 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: [installation.hydrocarbon_export_rate for installation in installation_results], ) - asset_aggregated_emissions = aggregate_emissions(self.emission_results.values()) + emission_dto_results = self.convert_to_timeseries( + self.emission_results, + regularities, + ) + asset_aggregated_emissions = aggregate_emissions(list(emission_dto_results.values())) asset_power_core = reduce( operator.add, @@ -881,7 +1231,7 @@ def get_asset_result(self) -> libecalc.dto.result.EcalcModelResult: energy_usage=asset_energy_usage_core, energy_usage_cumulative=asset_energy_usage_cumulative, hydrocarbon_export_rate=asset_hydrocarbon_export_rate_core, - emissions=self._parse_emissions(asset_aggregated_emissions), + emissions=self.to_full_result(asset_aggregated_emissions), emission_intensities=self._compute_intensity( hydrocarbon_export_rate=asset_hydrocarbon_export_rate_core, emissions=asset_aggregated_emissions, @@ -903,3 +1253,35 @@ def get_results(self) -> EnergyCalculatorResult: emission_results=self.emission_results, variables_map=self.variables_map, ) + + def convert_to_timeseries( + self, + emission_core_results: Dict[str, Dict[str, EmissionResult]], + regularities: Union[TimeSeriesFloat, Dict[str, TimeSeriesFloat]], + ) -> Dict[str, Dict[str, PartialEmissionResult]]: + """ + Emissions by consumer id and emission name + Args: + emission_core_results: + regularities: + + Returns: + + """ + dto_result: Dict[str, Dict[str, PartialEmissionResult]] = {} + + for consumer_id, emissions in emission_core_results.items(): + installation_id = self.graph.get_parent_installation_id(consumer_id) + dto_result[consumer_id] = defaultdict() + + if isinstance(regularities, Dict): + regularity = regularities[installation_id] + else: + regularity = regularities + + for emission_name, emission_result in emissions.items(): + dto_result[consumer_id][emission_name] = PartialEmissionResult.from_emission_core_result( + emission_result, regularity=regularity + ) + + return dto_result diff --git a/src/libecalc/core/models/fuel.py b/src/libecalc/core/models/fuel.py index 03911d49c..040968782 100644 --- a/src/libecalc/core/models/fuel.py +++ b/src/libecalc/core/models/fuel.py @@ -7,7 +7,7 @@ from libecalc.common.temporal_model import TemporalModel from libecalc.common.time_utils import Period from libecalc.common.units import Unit -from libecalc.common.utils.rates import TimeSeriesRate +from libecalc.common.utils.rates import TimeSeriesStreamDayRate from libecalc.core.result.emission import EmissionResult from libecalc.expression import Expression from numpy.typing import NDArray @@ -94,17 +94,17 @@ def evaluate_emissions( result = EmissionResult( name=emission.name, timesteps=variables_map_this_period.time_vector, - rate=TimeSeriesRate( + rate=TimeSeriesStreamDayRate( timesteps=variables_map_this_period.time_vector, values=emission_rate_tons_per_day.tolist(), unit=Unit.TONS_PER_DAY, ), - tax=TimeSeriesRate( + tax=TimeSeriesStreamDayRate( timesteps=variables_map_this_period.time_vector, values=(fuel_rate_this_period * tax).tolist(), unit=Unit.NORWEGIAN_KRONER_PER_DAY, ), - quota=TimeSeriesRate( + quota=TimeSeriesStreamDayRate( timesteps=variables_map_this_period.time_vector, values=quota.tolist(), unit=Unit.NORWEGIAN_KRONER_PER_DAY, diff --git a/src/libecalc/core/result/emission.py b/src/libecalc/core/result/emission.py index 860220fd5..051065126 100644 --- a/src/libecalc/core/result/emission.py +++ b/src/libecalc/core/result/emission.py @@ -4,7 +4,7 @@ from typing import List from libecalc.common.units import Unit -from libecalc.common.utils.rates import TimeSeriesRate +from libecalc.common.utils.rates import TimeSeriesStreamDayRate from libecalc.core.result.base import EcalcResultBaseModel @@ -13,26 +13,26 @@ class EmissionResult(EcalcResultBaseModel): name: str timesteps: List[datetime] - rate: TimeSeriesRate # ton/day - tax: TimeSeriesRate # cost/day - quota: TimeSeriesRate # cost/day + rate: TimeSeriesStreamDayRate # ton/day + tax: TimeSeriesStreamDayRate # cost/day + quota: TimeSeriesStreamDayRate # cost/day @classmethod def create_empty(cls, name: str, timesteps: List[datetime]): return cls( name=name, timesteps=timesteps, - rate=TimeSeriesRate( + rate=TimeSeriesStreamDayRate( timesteps=timesteps, values=[0] * len(timesteps), unit=Unit.TONS_PER_DAY, ), - tax=TimeSeriesRate( + tax=TimeSeriesStreamDayRate( timesteps=timesteps, values=[0] * len(timesteps), unit=Unit.NORWEGIAN_KRONER_PER_DAY, ), - quota=TimeSeriesRate( + quota=TimeSeriesStreamDayRate( timesteps=timesteps, values=[0] * len(timesteps), unit=Unit.NORWEGIAN_KRONER_PER_DAY, diff --git a/src/libecalc/core/result/results.py b/src/libecalc/core/result/results.py index 2342efeff..a44289742 100644 --- a/src/libecalc/core/result/results.py +++ b/src/libecalc/core/result/results.py @@ -10,7 +10,7 @@ TimeSeriesBoolean, TimeSeriesFloat, TimeSeriesInt, - TimeSeriesRate, + TimeSeriesStreamDayRate, ) from libecalc.core.models.results import CompressorTrainResult from libecalc.core.result.base import EcalcResultBaseModel @@ -25,8 +25,8 @@ class CommonResultBase(EcalcResultBaseModel): is_valid: TimeSeriesBoolean # We need both energy usage and power rate since we sometimes want both fuel and power usage. - energy_usage: TimeSeriesRate - power: Optional[TimeSeriesRate] + energy_usage: TimeSeriesStreamDayRate + power: Optional[TimeSeriesStreamDayRate] class GenericComponentResult(CommonResultBase): @@ -51,7 +51,7 @@ def merge(self, *other_results: CompressorResult) -> Self: class GeneratorSetResult(GenericComponentResult): """The Generator set result component.""" - power_capacity_margin: TimeSeriesRate + power_capacity_margin: TimeSeriesStreamDayRate class ConsumerSystemResult(GenericComponentResult): @@ -60,7 +60,7 @@ class ConsumerSystemResult(GenericComponentResult): class CompressorResult(GenericComponentResult): - recirculation_loss: TimeSeriesRate + recirculation_loss: TimeSeriesStreamDayRate rate_exceeds_maximum: TimeSeriesBoolean outlet_pressure_before_choking: TimeSeriesFloat stages: List[Stage] = None # Optional because only in v2 @@ -79,7 +79,7 @@ def get_subset(self, indices: List[int]) -> Self: class PumpResult(GenericComponentResult): - inlet_liquid_rate_m3_per_day: TimeSeriesRate + inlet_liquid_rate_m3_per_day: TimeSeriesStreamDayRate inlet_pressure_bar: TimeSeriesFloat outlet_pressure_bar: TimeSeriesFloat operational_head: TimeSeriesFloat diff --git a/src/libecalc/dto/components.py b/src/libecalc/dto/components.py index 969544d72..ea1ed496d 100644 --- a/src/libecalc/dto/components.py +++ b/src/libecalc/dto/components.py @@ -7,7 +7,11 @@ from libecalc.common.string_utils import generate_id, get_duplicates from libecalc.common.temporal_model import TemporalExpression, TemporalModel from libecalc.common.units import Unit -from libecalc.common.utils.rates import TimeSeriesFloat, TimeSeriesRate +from libecalc.common.utils.rates import ( + TimeSeriesFloat, + TimeSeriesRate, + TimeSeriesStreamDayRate, +) from libecalc.dto.base import ( Component, ComponentType, @@ -28,7 +32,7 @@ ) from libecalc.dto.models.compressor import CompressorModel from libecalc.dto.models.pump import PumpModel -from libecalc.dto.types import ConsumptionType, EnergyUsageType, FuelType +from libecalc.dto.types import ConsumptionType, EnergyUsageType, FuelType, RateType from libecalc.dto.utils.validators import ( ComponentNameStr, EmissionNameStr, @@ -237,13 +241,14 @@ def evaluate_operational_settings( ) evaluated_operational_settings: List[EvaluatedCompressorSystemOperationalSettings] = [] for operational_setting in self.operational_settings: - rates: List[TimeSeriesRate] = [ + rates: List[TimeSeriesStreamDayRate] = [ TimeSeriesRate( values=list(rate.evaluate(variables_map.variables, fill_length=len(variables_map.time_vector))), timesteps=variables_map.time_vector, regularity=evaluated_regularity, unit=Unit.STANDARD_CUBIC_METER_PER_DAY, - ) + rate_type=RateType.STREAM_DAY, + ).to_stream_day_timeseries() for rate in operational_setting.rates ] @@ -305,13 +310,14 @@ def evaluate_operational_settings( evaluated_operational_settings: List[EvaluatedPumpSystemOperationalSettings] = [] for operational_setting in self.operational_settings: - rates: List[TimeSeriesRate] = [ + rates: List[TimeSeriesStreamDayRate] = [ TimeSeriesRate( values=list(rate.evaluate(variables_map.variables, fill_length=len(variables_map.time_vector))), timesteps=variables_map.time_vector, regularity=evaluated_regularity, unit=Unit.STANDARD_CUBIC_METER_PER_DAY, - ) + rate_type=RateType.STREAM_DAY, + ).to_stream_day_timeseries() for rate in operational_setting.rates ] diff --git a/src/libecalc/dto/core_specs/system/operational_settings.py b/src/libecalc/dto/core_specs/system/operational_settings.py index ef0b41f53..0e1de460f 100644 --- a/src/libecalc/dto/core_specs/system/operational_settings.py +++ b/src/libecalc/dto/core_specs/system/operational_settings.py @@ -4,7 +4,7 @@ from typing import List from libecalc.common.stream import Stream -from libecalc.common.utils.rates import TimeSeriesFloat, TimeSeriesRate +from libecalc.common.utils.rates import TimeSeriesFloat, TimeSeriesStreamDayRate from libecalc.dto.core_specs.compressor.operational_settings import ( CompressorOperationalSettings, ) @@ -14,7 +14,7 @@ class EvaluatedPumpSystemOperationalSettings(BaseModel): fluid_density: List[TimeSeriesFloat] - rates: List[TimeSeriesRate] + rates: List[TimeSeriesStreamDayRate] inlet_pressures: List[TimeSeriesFloat] outlet_pressures: List[TimeSeriesFloat] @@ -61,7 +61,7 @@ def for_timestep(self, timestep: datetime) -> EvaluatedPumpSystemOperationalSett class EvaluatedCompressorSystemOperationalSettings(BaseModel): - rates: List[TimeSeriesRate] + rates: List[TimeSeriesStreamDayRate] inlet_pressures: List[TimeSeriesFloat] outlet_pressures: List[TimeSeriesFloat] diff --git a/src/libecalc/dto/graph.py b/src/libecalc/dto/graph.py index eb6c54535..c5b863b23 100644 --- a/src/libecalc/dto/graph.py +++ b/src/libecalc/dto/graph.py @@ -27,17 +27,36 @@ def get_successors(self, component_id: str, recursively=False) -> List[str]: else: return self.graph.successors(component_id) - def get_predecessor(self, component_id) -> str: + def get_predecessor(self, component_id: str) -> str: predecessors = list(self.graph.predecessors(component_id)) if len(predecessors) > 1: raise ValueError("Component with several parents encountered.") return predecessors[0] + def get_parent_installation_id(self, component_id: str) -> str: + """ + Simple helper function to get the installation of any component with id + + Args: + component_id: + + Returns: + + """ + + # stop as soon as we get an installation. Ie. an installation of an installation, is itself... + node_info = self.get_node_info(component_id) + if node_info.component_level == ComponentLevel.INSTALLATION: + return component_id + + parent_id = self.get_predecessor(component_id) + return self.get_parent_installation_id(parent_id) + @property def root(self) -> str: return list(nx.topological_sort(self.graph))[0] - def get_node_info(self, component_id) -> NodeInfo: + def get_node_info(self, component_id: str) -> NodeInfo: component_dto = self.components[component_id] if isinstance(component_dto, dto.Asset): component_level = ComponentLevel.ASSET @@ -62,7 +81,7 @@ def get_node_info(self, component_id) -> NodeInfo: component_level=component_level, ) - def get_component(self, component_id: str): + def get_component(self, component_id: str) -> ComponentDTO: return self.components[component_id] def get_component_id_by_name(self, name: str) -> str: diff --git a/src/libecalc/dto/result/emission.py b/src/libecalc/dto/result/emission.py index f84343ca5..112760c0c 100644 --- a/src/libecalc/dto/result/emission.py +++ b/src/libecalc/dto/result/emission.py @@ -5,12 +5,15 @@ from libecalc.common.units import Unit from libecalc.common.utils.rates import ( + TimeSeriesFloat, TimeSeriesIntensity, TimeSeriesRate, TimeSeriesVolumesCumulative, ) +from libecalc.core.result.emission import EmissionResult as EmissionCoreResult from libecalc.dto.result.simple import SimpleEmissionResult from libecalc.dto.result.tabular_time_series import TabularTimeSeries +from typing_extensions import Self class EmissionResult(TabularTimeSeries): @@ -29,6 +32,15 @@ def simple_result(self): @classmethod def create_empty(cls, name: str, timesteps: List[datetime]): + """Empty placeholder for emissions, when needed + + Args: + name: + timesteps: + + Returns: + + """ return cls( name=name, timesteps=timesteps, @@ -65,6 +77,25 @@ def create_empty(cls, name: str, timesteps: List[datetime]): ) +class PartialEmissionResult(TabularTimeSeries): + """The partial emissions - a direct translation from the core emission results""" + + name: str + rate: TimeSeriesRate + tax: TimeSeriesRate + quota: TimeSeriesRate + + @classmethod + def from_emission_core_result(cls, emission_result: EmissionCoreResult, regularity: TimeSeriesFloat) -> Self: + return PartialEmissionResult( + name=emission_result.name, + timesteps=emission_result.timesteps, + rate=TimeSeriesRate.from_timeseries_stream_day_rate(emission_result.rate, regularity), + tax=TimeSeriesRate.from_timeseries_stream_day_rate(emission_result.tax, regularity), + quota=TimeSeriesRate.from_timeseries_stream_day_rate(emission_result.quota, regularity), + ) + + class EmissionIntensityResult(TabularTimeSeries): name: str intensity_sm3: TimeSeriesIntensity diff --git a/src/libecalc/dto/result/results.py b/src/libecalc/dto/result/results.py index 158b33131..a4bc65902 100644 --- a/src/libecalc/dto/result/results.py +++ b/src/libecalc/dto/result/results.py @@ -74,6 +74,7 @@ class InstallationResult(AssetResult): """The installation result component.""" componentType: Literal[ComponentType.INSTALLATION] + regularity: TimeSeriesFloat # Regularity is currently set at per installation, send through. Possibly skip in output if confusing class GeneratorSetResult(EquipmentResultBase): diff --git a/src/libecalc/dto/utils/aggregators.py b/src/libecalc/dto/utils/aggregators.py index 076394471..2cfb25bb9 100644 --- a/src/libecalc/dto/utils/aggregators.py +++ b/src/libecalc/dto/utils/aggregators.py @@ -1,10 +1,12 @@ import operator from functools import reduce -from typing import Dict, List, Protocol, Union, ValuesView +from typing import Dict, List, Protocol from libecalc.common.list_utils import transpose -from libecalc.common.utils.rates import TimeSeriesBoolean -from libecalc.core.result.emission import EmissionResult +from libecalc.common.utils.rates import ( + TimeSeriesBoolean, +) +from libecalc.dto.result.emission import PartialEmissionResult class HasIsValid(Protocol): @@ -17,15 +19,15 @@ def aggregate_is_valid(components: List[HasIsValid]) -> List[bool]: class HasEmissions(Protocol): - emissions: List[EmissionResult] + emissions: List[PartialEmissionResult] def aggregate_emissions( - emissions_lists: Union[List[Dict[str, EmissionResult]], ValuesView], -) -> Dict[str, EmissionResult]: + emissions_lists: List[Dict[str, PartialEmissionResult]], +) -> Dict[str, PartialEmissionResult]: """Aggregates emissions e.g. for a total asset across installations Args: - emissions_lists (List[Dict[str, EmissionResult]] or dict.values): Includes emissions to aggregate + emissions_lists (List[Dict[str, PartialEmissionResult]] or dict.values): Includes emissions to aggregate Returns: dto.types.FuelType @@ -43,7 +45,7 @@ def aggregate_emissions( for emission_name in emission_names: emissions = [emission for emission in all_emissions if emission.name == emission_name] - emissions_aggregated[emission_name] = EmissionResult( + emissions_aggregated[emission_name] = PartialEmissionResult( name=emission_name, timesteps=emissions[0].timesteps, rate=reduce(operator.add, [emission.rate for emission in emissions]), diff --git a/src/libecalc/dto/variables.py b/src/libecalc/dto/variables.py index 0cb0e2769..8b2b7454c 100644 --- a/src/libecalc/dto/variables.py +++ b/src/libecalc/dto/variables.py @@ -34,6 +34,7 @@ def period(self): return Period( start=self.time_vector[0], end=self.time_vector[-1] + timedelta(microseconds=1), # Make sure the last timestep is included + # TODO: Change this? Need to change where stuff depends on this ... ) @property diff --git a/src/libecalc/output/results/queries.py b/src/libecalc/output/results/queries.py index 40cb28318..820a20a40 100644 --- a/src/libecalc/output/results/queries.py +++ b/src/libecalc/output/results/queries.py @@ -5,10 +5,14 @@ import libecalc.dto from libecalc.common.feature_flags import Feature -from libecalc.common.temporal_model import TemporalModel +from libecalc.common.temporal_model import TemporalExpression, TemporalModel from libecalc.common.time_utils import Frequency, resample_time_steps from libecalc.common.units import Unit -from libecalc.common.utils.rates import TimeSeriesVolumes +from libecalc.common.utils.rates import ( + TimeSeriesFloat, + TimeSeriesRate, + TimeSeriesVolumes, +) from libecalc.core.graph_result import GraphResult from libecalc.core.result import GeneratorSetResult @@ -70,6 +74,15 @@ def query( time_steps=installation_time_steps, ) + regularity = TimeSeriesFloat( + timesteps=installation_time_steps, + values=TemporalExpression.evaluate( + temporal_expression=TemporalModel(installation_dto.regularity), + variables_map=installation_graph.variables_map, + ), + unit=Unit.NONE, + ) + aggregated_result: DefaultDict[datetime, float] = defaultdict(float) aggregated_result_volume = {} @@ -79,7 +92,13 @@ def query( for period, category in temporal_category.items(): if self.consumer_categories is None or category in self.consumer_categories: fuel_consumer_result = installation_graph.get_energy_result(fuel_consumer.id) - fuel_volumes = fuel_consumer_result.energy_usage.for_period(period).to_volumes() + fuel_volumes = ( + TimeSeriesRate.from_timeseries_stream_day_rate( + fuel_consumer_result.energy_usage, regularity=regularity + ) + .for_period(period) + .to_volumes() + ) fuel_temporal_model = TemporalModel(fuel_consumer.fuel) for timestep, fuel_volume in fuel_volumes.datapoints(): @@ -135,6 +154,15 @@ def query( time_steps=installation_time_steps, ) + regularity = TimeSeriesFloat( + timesteps=installation_time_steps, + values=TemporalExpression.evaluate( + temporal_expression=TemporalModel(installation_dto.regularity), + variables_map=installation_graph.variables_map, + ), + unit=Unit.NONE, + ) + aggregated_result_volume = {} aggregated_result: Dict[datetime, float] = defaultdict(float) unit_in = None @@ -149,7 +177,11 @@ def query( emissions = installation_graph.get_emissions(fuel_consumer.id) for emission in emissions.values(): - emission_volumes = emission.rate.for_period(period).to_volumes() + emission_volumes = ( + TimeSeriesRate.from_timeseries_stream_day_rate(emission.rate, regularity=regularity) + .for_period(period) + .to_volumes() + ) unit_in = emission_volumes.unit for timestep, emission_volume in emission_volumes.datapoints(): fuel_model = fuel_temporal_model.get_model(timestep) @@ -200,6 +232,15 @@ def query( time_steps=installation_time_steps, ) + regularity = TimeSeriesFloat( + timesteps=installation_time_steps, + values=TemporalExpression.evaluate( + temporal_expression=TemporalModel(installation_dto.regularity), + variables_map=installation_graph.variables_map, + ), + unit=Unit.NONE, + ) + aggregated_result: DefaultDict[datetime, float] = defaultdict(float) aggregated_result_volume = {} unit_in = None @@ -214,7 +255,13 @@ def query( fuel_consumer.id ) - cumulative_volumes_gwh = fuel_consumer_result.power.for_period(period).to_volumes() + cumulative_volumes_gwh = ( + TimeSeriesRate.from_timeseries_stream_day_rate( + fuel_consumer_result.power, regularity=regularity + ) + .for_period(period) + .to_volumes() + ) unit_in = cumulative_volumes_gwh.unit @@ -257,6 +304,16 @@ def query( frequency=frequency, time_steps=installation_time_steps, ) + + regularity = TimeSeriesFloat( + timesteps=installation_time_steps, + values=TemporalExpression.evaluate( + temporal_expression=TemporalModel(installation_dto.regularity), + variables_map=installation_graph.variables_map, + ), + unit=Unit.NONE, + ) + fuel_consumers = installation_dto.fuel_consumers fuel_consumers = [ fuel_consumer @@ -284,7 +341,11 @@ def query( and 0 < len(shaft_power) == len(time_vector) and len(fuel_consumer_result.timesteps) == len(installation_graph.timesteps) ): - cumulative_volumes_gwh = shaft_power.for_period(period).to_volumes() + cumulative_volumes_gwh = ( + TimeSeriesRate.from_timeseries_stream_day_rate(shaft_power, regularity=regularity) + .for_period(period) + .to_volumes() + ) unit_in = cumulative_volumes_gwh.unit for timestep, cumulative_volume_gwh in cumulative_volumes_gwh.datapoints(): @@ -335,6 +396,15 @@ def query( time_steps=installation_time_steps, ) + regularity = TimeSeriesFloat( + timesteps=installation_time_steps, + values=TemporalExpression.evaluate( + temporal_expression=TemporalModel(installation_dto.regularity), + variables_map=installation_graph.variables_map, + ), + unit=Unit.NONE, + ) + aggregated_result: DefaultDict[datetime, float] = defaultdict(float) aggregated_result_volume = {} unit_in = None @@ -351,7 +421,11 @@ def query( ) power = electrical_consumer_result.power if power is not None: - cumulative_volumes_gwh = power.for_period(period).to_volumes() + cumulative_volumes_gwh = ( + TimeSeriesRate.from_timeseries_stream_day_rate(power, regularity=regularity) + .for_period(period) + .to_volumes() + ) unit_in = cumulative_volumes_gwh.unit for timestep, cumulative_volume_gwh in cumulative_volumes_gwh.datapoints(): diff --git a/src/tests/ecalc_cli/snapshots/test_app/test_csv_default/test.csv b/src/tests/ecalc_cli/snapshots/test_app/test_csv_default/test.csv index e3dbbd9f1..778228278 100644 --- a/src/tests/ecalc_cli/snapshots/test_app/test_csv_default/test.csv +++ b/src/tests/ecalc_cli/snapshots/test_app/test_csv_default/test.csv @@ -1,13 +1,13 @@ -timesteps,model.is_valid[N/A],model.energy_usage[Sm3/d],model.energy_usage_cumulative[Sm3],model.power[MW],model.power_cumulative[GWh],model.co2.rate[t/d],model.co2.cumulative[t],model.co2.tax[NOK/d],model.co2.tax_cumulative[NOK],model.co2.quota[NOK/d],model.co2.quota_cumulative[NOK],model.hydrocarbon_export_rate[Sm3/d],model.co2.intensity_sm3[kg/Sm3],model.co2.intensity_boe[kg/BOE],model.co2.intensity_yearly_sm3[kg/Sm3],model.co2.intensity_yearly_boe[kg/BOE],Installation A.is_valid[N/A],Installation A.energy_usage[Sm3/d],Installation A.energy_usage_cumulative[Sm3],Installation A.power[MW],Installation A.power_cumulative[GWh],Installation A.co2.rate[t/d],Installation A.co2.cumulative[t],Installation A.co2.tax[NOK/d],Installation A.co2.tax_cumulative[NOK],Installation A.co2.quota[NOK/d],Installation A.co2.quota_cumulative[NOK],Installation A.hydrocarbon_export_rate[Sm3/d],Installation A.co2.intensity_sm3[kg/Sm3],Installation A.co2.intensity_boe[kg/BOE],Installation A.co2.intensity_yearly_sm3[kg/Sm3],Installation A.co2.intensity_yearly_boe[kg/BOE],Generator set A.is_valid[N/A],Generator set A.energy_usage[Sm3/d],Generator set A.energy_usage_cumulative[Sm3],Generator set A.power[MW],Generator set A.power_cumulative[GWh],Generator set A.co2.rate[t/d],Generator set A.co2.cumulative[t],Generator set A.co2.tax[NOK/d],Generator set A.co2.tax_cumulative[NOK],Generator set A.co2.quota[NOK/d],Generator set A.co2.quota_cumulative[NOK],Generator set A.power_capacity_margin[MW],Gas export compressor.is_valid[N/A],Gas export compressor.energy_usage[Sm3/d],Gas export compressor.energy_usage_cumulative[Sm3],Gas export compressor.co2.rate[t/d],Gas export compressor.co2.cumulative[t],Gas export compressor.co2.tax[NOK/d],Gas export compressor.co2.tax_cumulative[NOK],Gas export compressor.co2.quota[NOK/d],Gas export compressor.co2.quota_cumulative[NOK],Gas export compressor.recirculation_loss[MW],Gas export compressor.rate_exceeds_maximum[N/A],Gas export compressor.outlet_pressure_before_choking[bara],Gas injection compressor.is_valid[N/A],Gas injection compressor.energy_usage[MW],Gas injection compressor.energy_usage_cumulative[MWd],Gas injection compressor.power[MW],Gas injection compressor.power_cumulative[GWh],Gas injection compressor.recirculation_loss[MW],Gas injection compressor.rate_exceeds_maximum[N/A],Gas injection compressor.outlet_pressure_before_choking[bara],Produced water reinjection pump.is_valid[N/A],Produced water reinjection pump.energy_usage[MW],Produced water reinjection pump.energy_usage_cumulative[MWd],Produced water reinjection pump.power[MW],Produced water reinjection pump.power_cumulative[GWh],Produced water reinjection pump.inlet_liquid_rate_m3_per_day[Sm3/d],Produced water reinjection pump.inlet_pressure_bar[bara],Produced water reinjection pump.outlet_pressure_bar[bara],Produced water reinjection pump.operational_head[J/kg],Base production load.is_valid[N/A],Base production load.energy_usage[MW],Base production load.energy_usage_cumulative[MWd],Base production load.power[MW],Base production load.power_cumulative[GWh],Flare.is_valid[N/A],Flare.energy_usage[Sm3/d],Flare.energy_usage_cumulative[Sm3],Flare.co2.rate[t/d],Flare.co2.cumulative[t],Flare.co2.tax[NOK/d],Flare.co2.tax_cumulative[NOK],Flare.co2.quota[NOK/d],Flare.co2.quota_cumulative[NOK],Sea water injection pump.is_valid[N/A],Sea water injection pump.energy_usage[MW],Sea water injection pump.energy_usage_cumulative[MWd],Sea water injection pump.power[MW],Sea water injection pump.power_cumulative[GWh] -2020-01-01 00:00:00,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99959,7.790077,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99959,7.790077,1, 142678.00000, 0.00000, 22.69000, 0.00000, 312.46480, 0.00000, 214017.00000, 0.00000, 81240853.00000, 0.00000, 77.31000,1, 130000.00000, 0.00000, 284.70000, 0.00000, 195000.00000, 0.00000, 74022000.00000, 0.00000, 0.00000,0,nan,1, 4.89000, 0.00000, 4.89000, 0.00000, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 0.00000, 11.80000, 0.00000,1, 7000.00000, 0.00000, 15.33000, 0.00000, 10500.00000, 0.00000, 3985800.00000, 0.00000,1, 6.00000, 0.00000, 6.00000, 0.00000 -2021-01-01 00:00:00,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44350, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285007071.00000, 11600.00000,48.99959,7.790077,52.27962,8.311545,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44350, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285007071.00000, 11600.00000,48.99959,7.790077,52.27962,8.311545,1, 138772.00000, 52220148.00000, 22.06000, 199.30900, 303.91070, 114362.10000, 208158.00000, 78330222.00000, 79016777.00000, 29734152271.00000, 77.94000,1, 131142.90000, 47580000.00000, 287.20290, 104200.20000, 196714.30000, 71370000.00000, 74672743.00000, 27092052000.00000, 0.00000,0,nan,1, 5.01000, 1789.74000, 5.01000, 42.95376, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 19000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 4318.80000, 11.80000, 103.65120,1, 7000.00000, 2562000.00000, 15.33000, 5610.78000, 10500.00000, 3843000.00000, 3985800.00000, 1458802800.00000,1, 5.25000, 2196.00000, 5.25000, 52.70400 -2022-01-01 00:00:00,1, 309378.10000, 203436086.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154106.00000, 176159892.00000, 115836498746.00000, 10700.00000,50.57611,8.040718,63.32131,10.06698,1, 309378.10000, 203436071.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154106.00000, 176159892.00000, 115836498746.00000, 10700.00000,50.57611,8.040718,63.32131,10.06698,1, 170092.40000, 102871928.00000, 27.11168, 392.55460, 372.50230, 225289.50000, 255138.60000, 154307892.00000, 96850607.00000, 58575275803.00000, 72.88832,1, 132285.70000, 95447143.00000, 289.70570, 209029.20000, 198428.60000, 143170714.00000, 75323486.00000, 54347603143.00000, 0.00000,0,nan,1, 5.13000, 3618.39000, 5.13000, 86.84136, 0.00000,0,nan,1, 4.68168, 0.00000, 4.68168, 0.00000, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 8625.80000, 11.80000, 207.01920,1, 7000.00000, 5117000.00000, 15.33000, 11206.23000, 10500.00000, 7675500.00000, 3985800.00000, 2913619800.00000,1, 5.50000, 4112.25000, 5.50000, 98.69400 -2023-01-01 00:00:00,1, 317427.90000, 316359093.00000, 28.22570, 630.05290, 695.16720, 692826.40000, 476141.90000, 474538618.00000, 180743459.00000, 180134859439.00000, 9800.00000,54.49104,8.663123,70.93542,11.27749,1, 317427.90000, 316359079.00000, 28.22570, 630.05280, 695.16720, 692826.40000, 476141.90000, 474538618.00000, 180743459.00000, 180134859439.00000, 9800.00000,54.49104,8.663123,70.93542,11.27749,1, 176999.40000, 164955650.00000, 28.22570, 630.05280, 387.62860, 361252.90000, 265499.00000, 247433475.00000, 100783431.00000, 93925747210.00000, 71.77430,1, 133428.60000, 143731429.00000, 292.20860, 314771.80000, 200142.90000, 215597143.00000, 75974229.00000, 81840675429.00000, 0.00000,0,nan,1, 5.56000, 5490.84000, 5.56000, 131.78020, 0.00000,0,nan,1, 4.86570, 1708.81200, 4.86570, 41.01148, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 12932.80000, 11.80000, 310.38720,1, 7000.00000, 7672000.00000, 15.33000, 16801.68000, 10500.00000, 11508000.00000, 3985800.00000, 4368436800.00000,1, 6.00000, 6119.75000, 6.00000, 146.87400 -2024-01-01 00:00:00,1, 340633.60000, 432220276.00000, 31.78422, 877.31000, 745.98750, 946562.40000, 510950.30000, 648330406.00000, 193956751.00000, 246106222069.00000, 9900.00000,58.10161,9.23714,75.37706,11.98363,1, 340633.60000, 432220271.00000, 31.78422, 877.31000, 745.98750, 946562.40000, 510950.30000, 648330406.00000, 193956751.00000, 246106222069.00000, 9900.00000,58.10161,9.23714,75.37706,11.98363,1, 199062.10000, 229560413.00000, 31.78422, 877.31000, 435.94610, 502737.30000, 298593.20000, 344340620.00000, 113345979.00000, 130711699411.00000, 68.21578,1, 134571.40000, 192432857.00000, 294.71140, 421428.00000, 201857.10000, 288649286.00000, 76624971.00000, 109571268857.00000, 0.00000,0,nan,1, 5.72000, 7520.24000, 5.72000, 180.48580, 0.00000,0,nan,1, 4.50746, 3484.79300, 4.50746, 83.63503, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 17239.80000, 11.80000, 413.75520,1, 7000.00000, 10227000.00000, 15.33000, 22397.13000, 10500.00000, 15340500.00000, 3985800.00000, 5823253800.00000,1, 9.75676, 8309.75000, 9.75676, 199.43400 -2024-12-01 00:00:00,1, 345398.60000, 546332532.00000, 32.36843, 1132.85500, 756.42290, 1196468.00000, 518097.90000, 819498771.00000, 196669944.00000, 311081733597.00000, 10000.00000,61.01939,9.701016,75.37706,11.98363,1, 345398.60000, 546332514.00000, 32.36843, 1132.85500, 756.42290, 1196468.00000, 518097.90000, 819498771.00000, 196669944.00000, 311081733597.00000, 10000.00000,61.01939,9.701016,75.37706,11.98363,1, 202684.30000, 296246229.00000, 32.36843, 1132.85500, 443.87860, 648779.20000, 304026.40000, 444369343.00000, 115408430.00000, 168682602512.00000, 67.63157,1, 135714.30000, 237514286.00000, 297.21430, 520156.30000, 203571.40000, 356271429.00000, 77275714.00000, 135240634286.00000, 0.00000,0,nan,1, 6.13000, 9436.44000, 6.13000, 226.47460, 0.00000,0,nan,1, 4.68168, 4994.79100, 4.68168, 119.87500, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 21192.80000, 11.80000, 508.62720,1, 7000.00000, 12572000.00000, 15.33000, 27532.68000, 10500.00000, 18858000.00000, 3985800.00000, 7158496800.00000,1, 9.75676, 11578.26000, 9.75676, 277.87830 -2026-01-01 00:00:00,0, 344604.30000, 683110378.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665520.00000, 196217713.00000, 388963031470.00000, 11100.00000,63.47639,10.09164,67.98951,10.80914,0, 344604.30000, 683110347.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665520.00000, 196217713.00000, 388963031470.00000, 11100.00000,63.47639,10.09164,67.98951,10.80914,1, 200747.20000, 376509204.00000, 32.05600, 1440.48500, 439.63640, 824555.20000, 301120.80000, 564763806.00000, 114305456.00000, 214384340728.00000, 67.94400,1, 136857.10000, 291257143.00000, 299.71710, 637853.10000, 205285.70000, 436885714.00000, 77926457.00000, 165841817143.00000, 0.00000,0,nan,1, 6.25000, 11863.92000, 6.25000, 284.73410, 0.00000,0,nan,0, 4.68168, 6848.73500, 4.68168, 164.36960, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 25865.60000, 11.80000, 620.77440,1, 7000.00000, 15344000.00000, 15.33000, 33603.36000, 10500.00000, 23016000.00000, 3985800.00000, 8736873600.00000,1, 9.32432, 15441.94000, 9.32432, 370.60650 -2027-01-01 00:00:00,1, 355281.90000, 808890948.00000, 33.04086, 1721.29500, 778.06740, 1771471.00000, 532922.90000, 1213336398.00000, 202297533.00000, 460582496721.00000, 10500.00000,64.13842,10.19689,74.10166,11.78087,1, 355281.90000, 808890932.00000, 33.04086, 1721.29500, 778.06740, 1771471.00000, 532922.90000, 1213336398.00000, 202297533.00000, 460582496721.00000, 10500.00000,64.13842,10.19689,74.10166,11.78087,1, 206853.40000, 449781932.00000, 33.04086, 1721.29500, 453.00890, 985022.40000, 310280.00000, 674672898.00000, 117782305.00000, 256105832121.00000, 66.95914,1, 141428.60000, 341210000.00000, 309.72860, 747249.90000, 212142.90000, 511815000.00000, 80529429.00000, 194284974000.00000, 0.00000,0,nan,1, 6.37000, 14145.17000, 6.37000, 339.48410, 0.00000,0,nan,1, 4.68168, 8557.54700, 4.68168, 205.38110, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 30172.60000, 11.80000, 724.14240,1, 7000.00000, 17899000.00000, 15.33000, 39198.81000, 10500.00000, 26848500.00000, 3985800.00000, 10191690600.00000,1, 10.18919, 18845.32000, 10.18919, 452.28760 -2028-01-01 00:00:00,1, 339026.40000, 938568841.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853257.00000, 193041628.00000, 534421096330.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 339026.40000, 938568838.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853257.00000, 193041628.00000, 534421096330.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 202026.40000, 525283409.00000, 32.26232, 2010.73300, 442.43780, 1150371.00000, 303039.60000, 787925114.00000, 115033828.00000, 299096373302.00000, 67.73768,1, 130000.00000, 392831429.00000, 284.70000, 860300.80000, 195000.00000, 589247143.00000, 74022000.00000, 223678215429.00000, 0.00000,0,nan,1, 6.52000, 16470.22000, 6.52000, 395.28530, 0.00000,0,nan,1, 4.18557, 10266.36000, 4.18557, 246.39260, 12000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 34479.60000, 11.80000, 827.51040,1, 7000.00000, 20454000.00000, 15.33000, 44794.26000, 10500.00000, 30681000.00000, 3985800.00000, 11646507600.00000,1, 9.75676, 22564.37000, 9.75676, 541.54490 -2029-01-01 00:00:00,1, 263106.70000, 1062652504.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978746.00000, 149812941.00000, 605074332133.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 263106.70000, 1062652498.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978746.00000, 149812941.00000, 605074332133.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 206106.70000, 599225069.00000, 32.92043, 2294.12500, 451.37360, 1312303.00000, 309160.00000, 898837604.00000, 117357141.00000, 341198754304.00000, 67.07957,1, 50000.00000, 440411429.00000, 109.50000, 964501.00000, 75000.00000, 660617143.00000, 28470000.00000, 250770267429.00000, 0.00000,0,nan,1, 6.64000, 18856.54000, 6.64000, 452.55700, 0.00000,0,nan,1, 4.50746, 11798.27000, 4.50746, 283.15860, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 38798.40000, 11.80000, 931.16160,1, 7000.00000, 23016000.00000, 15.33000, 50405.04000, 10500.00000, 34524000.00000, 3985800.00000, 13105310400.00000,1, 9.97297, 26135.34000, 9.97297, 627.24830 -2030-01-01 00:00:00,1, 262298.20000, 1158686449.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029651.00000, 149352574.00000, 659756055520.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 262298.20000, 1158686434.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029651.00000, 149352574.00000, 659756055520.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 205298.20000, 674454005.00000, 32.79003, 2582.50800, 449.60300, 1477054.00000, 307947.20000, 1011681008.00000, 116896774.00000, 384034110692.00000, 67.20997,1, 50000.00000, 458661429.00000, 109.50000, 1004469.00000, 75000.00000, 687992143.00000, 28470000.00000, 261161817429.00000, 0.00000,0,nan,1, 6.80000, 21280.14000, 6.80000, 510.72340, 0.00000,0,nan,1, 4.86570, 13443.50000, 4.86570, 322.64390, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 43105.40000, 11.80000, 1034.53000,1, 7000.00000, 25571000.00000, 15.33000, 56000.49000, 10500.00000, 38356500.00000, 3985800.00000, 14560127400.00000,1, 9.32432, 29775.48000, 9.32432, 714.61150 -2031-01-01 00:00:00,1, 260635.10000, 1254425292.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637895.00000, 148405599.00000, 714269744871.00000, 7000.00000,67.68732,10.7611,nan,nan,1, 260635.10000, 1254425263.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637895.00000, 148405599.00000, 714269744871.00000, 7000.00000,67.68732,10.7611,nan,nan,1, 203635.10000, 749387835.00000, 32.52178, 2869.74900, 445.96080, 1641159.00000, 305452.60000, 1124081752.00000, 115949799.00000, 426701433042.00000, 67.47822,1, 50000.00000, 476911429.00000, 109.50000, 1044436.00000, 75000.00000, 715367143.00000, 28470000.00000, 271553367429.00000, 0.00000,0,nan,1, 6.89000, 23762.14000, 6.89000, 570.29140, 0.00000,0,nan,1, 4.50746, 15219.48000, 4.50746, 365.26750, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 47412.40000, 11.80000, 1137.89800,1, 7000.00000, 28126000.00000, 15.33000, 61595.94000, 10500.00000, 42189000.00000, 3985800.00000, 16014944400.00000,1, 9.32432, 33178.86000, 9.32432, 796.29260 +timesteps,model.is_valid[N/A],model.energy_usage[Sm3/d],model.energy_usage_cumulative[Sm3],model.power[MW],model.power_cumulative[GWh],model.co2.rate[t/d],model.co2.cumulative[t],model.co2.tax[NOK/d],model.co2.tax_cumulative[NOK],model.co2.quota[NOK/d],model.co2.quota_cumulative[NOK],model.hydrocarbon_export_rate[Sm3/d],model.co2.intensity_sm3[kg/Sm3],model.co2.intensity_boe[kg/BOE],model.co2.intensity_yearly_sm3[kg/Sm3],model.co2.intensity_yearly_boe[kg/BOE],Installation A.is_valid[N/A],Installation A.energy_usage[Sm3/d],Installation A.energy_usage_cumulative[Sm3],Installation A.power[MW],Installation A.power_cumulative[GWh],Installation A.co2.rate[t/d],Installation A.co2.cumulative[t],Installation A.co2.tax[NOK/d],Installation A.co2.tax_cumulative[NOK],Installation A.co2.quota[NOK/d],Installation A.co2.quota_cumulative[NOK],Installation A.hydrocarbon_export_rate[Sm3/d],Installation A.co2.intensity_sm3[kg/Sm3],Installation A.co2.intensity_boe[kg/BOE],Installation A.co2.intensity_yearly_sm3[kg/Sm3],Installation A.co2.intensity_yearly_boe[kg/BOE],Installation A.regularity[N/A],Generator set A.is_valid[N/A],Generator set A.energy_usage[Sm3/d],Generator set A.energy_usage_cumulative[Sm3],Generator set A.power[MW],Generator set A.power_cumulative[GWh],Generator set A.co2.rate[t/d],Generator set A.co2.cumulative[t],Generator set A.co2.tax[NOK/d],Generator set A.co2.tax_cumulative[NOK],Generator set A.co2.quota[NOK/d],Generator set A.co2.quota_cumulative[NOK],Generator set A.power_capacity_margin[MW],Gas export compressor.is_valid[N/A],Gas export compressor.energy_usage[Sm3/d],Gas export compressor.energy_usage_cumulative[Sm3],Gas export compressor.co2.rate[t/d],Gas export compressor.co2.cumulative[t],Gas export compressor.co2.tax[NOK/d],Gas export compressor.co2.tax_cumulative[NOK],Gas export compressor.co2.quota[NOK/d],Gas export compressor.co2.quota_cumulative[NOK],Gas export compressor.recirculation_loss[MW],Gas export compressor.rate_exceeds_maximum[N/A],Gas export compressor.outlet_pressure_before_choking[bara],Gas injection compressor.is_valid[N/A],Gas injection compressor.energy_usage[MW],Gas injection compressor.energy_usage_cumulative[MWd],Gas injection compressor.power[MW],Gas injection compressor.power_cumulative[GWh],Gas injection compressor.recirculation_loss[MW],Gas injection compressor.rate_exceeds_maximum[N/A],Gas injection compressor.outlet_pressure_before_choking[bara],Produced water reinjection pump.is_valid[N/A],Produced water reinjection pump.energy_usage[MW],Produced water reinjection pump.energy_usage_cumulative[MWd],Produced water reinjection pump.power[MW],Produced water reinjection pump.power_cumulative[GWh],Produced water reinjection pump.inlet_liquid_rate_m3_per_day[Sm3/d],Produced water reinjection pump.inlet_pressure_bar[bara],Produced water reinjection pump.outlet_pressure_bar[bara],Produced water reinjection pump.operational_head[J/kg],Base production load.is_valid[N/A],Base production load.energy_usage[MW],Base production load.energy_usage_cumulative[MWd],Base production load.power[MW],Base production load.power_cumulative[GWh],Flare.is_valid[N/A],Flare.energy_usage[Sm3/d],Flare.energy_usage_cumulative[Sm3],Flare.co2.rate[t/d],Flare.co2.cumulative[t],Flare.co2.tax[NOK/d],Flare.co2.tax_cumulative[NOK],Flare.co2.quota[NOK/d],Flare.co2.quota_cumulative[NOK],Sea water injection pump.is_valid[N/A],Sea water injection pump.energy_usage[MW],Sea water injection pump.energy_usage_cumulative[MWd],Sea water injection pump.power[MW],Sea water injection pump.power_cumulative[GWh] +2020-01-01 00:00:00,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99958,7.790077,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99958,7.790077, 1.00000,1, 142678.00000, 0.00000, 22.69000, 0.00000, 312.46480, 0.00000, 214017.00000, 0.00000, 81240853.00000, 0.00000, 77.31000,1, 130000.00000, 0.00000, 284.70000, 0.00000, 195000.00000, 0.00000, 74022000.00000, 0.00000, 0.00000,0,nan,1, 4.89000, 0.00000, 4.89000, 0.00000, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 0.00000, 11.80000, 0.00000,1, 7000.00000, 0.00000, 15.33000, 0.00000, 10500.00000, 0.00000, 3985800.00000, 0.00000,1, 6.00000, 0.00000, 6.00000, 0.00000 +2021-01-01 00:00:00,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44360, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285006998.00000, 11600.00000,48.99958,7.790077,52.27962,8.311545,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44360, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285006998.00000, 11600.00000,48.99958,7.790077,52.27962,8.311545, 1.00000,1, 138772.00000, 52220148.00000, 22.06000, 199.30900, 303.91070, 114362.10000, 208158.00000, 78330222.00000, 79016777.00000, 29734152271.00000, 77.94000,1, 131142.90000, 47580000.00000, 287.20290, 104200.20000, 196714.30000, 71370000.00000, 74672743.00000, 27092052000.00000, 0.00000,0,nan,1, 5.01000, 1789.74000, 5.01000, 42.95376, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 19000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 4318.80000, 11.80000, 103.65120,1, 7000.00000, 2562000.00000, 15.33000, 5610.78000, 10500.00000, 3843000.00000, 3985800.00000, 1458802800.00000,1, 5.25000, 2196.00000, 5.25000, 52.70400 +2022-01-01 00:00:00,1, 309378.10000, 203436086.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154112.00000, 176159893.00000, 115836498798.00000, 10700.00000,50.57612,8.040718,63.32131,10.06698,1, 309378.10000, 203436071.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154112.00000, 176159893.00000, 115836498798.00000, 10700.00000,50.57612,8.040718,63.32131,10.06698, 1.00000,1, 170092.40000, 102871928.00000, 27.11168, 392.55460, 372.50230, 225289.50000, 255138.60000, 154307892.00000, 96850607.00000, 58575275803.00000, 72.88832,1, 132285.70000, 95447143.00000, 289.70570, 209029.20000, 198428.60000, 143170714.00000, 75323486.00000, 54347603143.00000, 0.00000,0,nan,1, 5.13000, 3618.39000, 5.13000, 86.84136, 0.00000,0,nan,1, 4.68168, 0.00000, 4.68168, 0.00000, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 8625.80000, 11.80000, 207.01920,1, 7000.00000, 5117000.00000, 15.33000, 11206.23000, 10500.00000, 7675500.00000, 3985800.00000, 2913619800.00000,1, 5.50000, 4112.25000, 5.50000, 98.69400 +2023-01-01 00:00:00,1, 317427.90000, 316359093.00000, 28.22570, 630.05290, 695.16720, 692826.40000, 476141.90000, 474538640.00000, 180743460.00000, 180134859743.00000, 9800.00000,54.49104,8.663123,70.93543,11.27749,1, 317427.90000, 316359079.00000, 28.22570, 630.05280, 695.16720, 692826.40000, 476141.90000, 474538640.00000, 180743460.00000, 180134859743.00000, 9800.00000,54.49104,8.663123,70.93543,11.27749, 1.00000,1, 176999.40000, 164955650.00000, 28.22570, 630.05280, 387.62860, 361252.90000, 265499.00000, 247433475.00000, 100783431.00000, 93925747210.00000, 71.77430,1, 133428.60000, 143731429.00000, 292.20860, 314771.80000, 200142.90000, 215597143.00000, 75974229.00000, 81840675429.00000, 0.00000,0,nan,1, 5.56000, 5490.84000, 5.56000, 131.78020, 0.00000,0,nan,1, 4.86570, 1708.81200, 4.86570, 41.01148, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 12932.80000, 11.80000, 310.38720,1, 7000.00000, 7672000.00000, 15.33000, 16801.68000, 10500.00000, 11508000.00000, 3985800.00000, 4368436800.00000,1, 6.00000, 6119.75000, 6.00000, 146.87400 +2024-01-01 00:00:00,1, 340633.60000, 432220276.00000, 31.78422, 877.31000, 745.98750, 946562.40000, 510950.30000, 648330433.00000, 193956750.00000, 246106222643.00000, 9900.00000,58.10161,9.23714,75.37706,11.98363,1, 340633.60000, 432220271.00000, 31.78422, 877.31000, 745.98750, 946562.40000, 510950.30000, 648330433.00000, 193956750.00000, 246106222643.00000, 9900.00000,58.10161,9.23714,75.37706,11.98363, 1.00000,1, 199062.10000, 229560413.00000, 31.78422, 877.31000, 435.94610, 502737.30000, 298593.20000, 344340620.00000, 113345979.00000, 130711699411.00000, 68.21578,1, 134571.40000, 192432857.00000, 294.71140, 421428.00000, 201857.10000, 288649286.00000, 76624971.00000, 109571268857.00000, 0.00000,0,nan,1, 5.72000, 7520.24000, 5.72000, 180.48580, 0.00000,0,nan,1, 4.50746, 3484.79300, 4.50746, 83.63503, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 17239.80000, 11.80000, 413.75520,1, 7000.00000, 10227000.00000, 15.33000, 22397.13000, 10500.00000, 15340500.00000, 3985800.00000, 5823253800.00000,1, 9.75676, 8309.75000, 9.75676, 199.43400 +2024-12-01 00:00:00,1, 345398.60000, 546332532.00000, 32.36843, 1132.85500, 756.42290, 1196468.00000, 518097.80000, 819498784.00000, 196669944.00000, 311081733893.00000, 10000.00000,61.01939,9.701016,75.37706,11.98363,1, 345398.60000, 546332514.00000, 32.36843, 1132.85500, 756.42290, 1196468.00000, 518097.80000, 819498784.00000, 196669944.00000, 311081733893.00000, 10000.00000,61.01939,9.701016,75.37706,11.98363, 1.00000,1, 202684.30000, 296246229.00000, 32.36843, 1132.85500, 443.87860, 648779.20000, 304026.40000, 444369343.00000, 115408430.00000, 168682602512.00000, 67.63157,1, 135714.30000, 237514286.00000, 297.21430, 520156.30000, 203571.40000, 356271429.00000, 77275714.00000, 135240634286.00000, 0.00000,0,nan,1, 6.13000, 9436.44000, 6.13000, 226.47460, 0.00000,0,nan,1, 4.68168, 4994.79100, 4.68168, 119.87500, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 21192.80000, 11.80000, 508.62720,1, 7000.00000, 12572000.00000, 15.33000, 27532.68000, 10500.00000, 18858000.00000, 3985800.00000, 7158496800.00000,1, 9.75676, 11578.26000, 9.75676, 277.87830 +2026-01-01 00:00:00,0, 344604.30000, 683110378.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665512.00000, 196217713.00000, 388963031717.00000, 11100.00000,63.4764,10.09164,67.9895,10.80914,0, 344604.30000, 683110347.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665512.00000, 196217713.00000, 388963031717.00000, 11100.00000,63.4764,10.09164,67.9895,10.80914, 1.00000,1, 200747.20000, 376509204.00000, 32.05600, 1440.48500, 439.63640, 824555.20000, 301120.80000, 564763806.00000, 114305456.00000, 214384340728.00000, 67.94400,1, 136857.10000, 291257143.00000, 299.71710, 637853.10000, 205285.70000, 436885714.00000, 77926457.00000, 165841817143.00000, 0.00000,0,nan,1, 6.25000, 11863.92000, 6.25000, 284.73410, 0.00000,0,nan,0, 4.68168, 6848.73500, 4.68168, 164.36960, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 25865.60000, 11.80000, 620.77440,1, 7000.00000, 15344000.00000, 15.33000, 33603.36000, 10500.00000, 23016000.00000, 3985800.00000, 8736873600.00000,1, 9.32432, 15441.94000, 9.32432, 370.60650 +2027-01-01 00:00:00,1, 355281.90000, 808890948.00000, 33.04086, 1721.29500, 778.06750, 1771471.00000, 532922.90000, 1213336385.00000, 202297534.00000, 460582496962.00000, 10500.00000,64.13842,10.19689,74.10167,11.78087,1, 355281.90000, 808890932.00000, 33.04086, 1721.29500, 778.06750, 1771471.00000, 532922.90000, 1213336385.00000, 202297534.00000, 460582496962.00000, 10500.00000,64.13842,10.19689,74.10167,11.78087, 1.00000,1, 206853.40000, 449781932.00000, 33.04086, 1721.29500, 453.00890, 985022.40000, 310280.00000, 674672898.00000, 117782305.00000, 256105832121.00000, 66.95914,1, 141428.60000, 341210000.00000, 309.72860, 747249.90000, 212142.90000, 511815000.00000, 80529429.00000, 194284974000.00000, 0.00000,0,nan,1, 6.37000, 14145.17000, 6.37000, 339.48410, 0.00000,0,nan,1, 4.68168, 8557.54700, 4.68168, 205.38110, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 30172.60000, 11.80000, 724.14240,1, 7000.00000, 17899000.00000, 15.33000, 39198.81000, 10500.00000, 26848500.00000, 3985800.00000, 10191690600.00000,1, 10.18919, 18845.32000, 10.18919, 452.28760 +2028-01-01 00:00:00,1, 339026.40000, 938568841.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853243.00000, 193041628.00000, 534421096872.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 339026.40000, 938568838.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853243.00000, 193041628.00000, 534421096872.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252, 1.00000,1, 202026.40000, 525283409.00000, 32.26232, 2010.73300, 442.43780, 1150371.00000, 303039.60000, 787925114.00000, 115033828.00000, 299096373302.00000, 67.73768,1, 130000.00000, 392831429.00000, 284.70000, 860300.80000, 195000.00000, 589247143.00000, 74022000.00000, 223678215429.00000, 0.00000,0,nan,1, 6.52000, 16470.22000, 6.52000, 395.28530, 0.00000,0,nan,1, 4.18557, 10266.36000, 4.18557, 246.39260, 12000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 34479.60000, 11.80000, 827.51040,1, 7000.00000, 20454000.00000, 15.33000, 44794.26000, 10500.00000, 30681000.00000, 3985800.00000, 11646507600.00000,1, 9.75676, 22564.37000, 9.75676, 541.54490 +2029-01-01 00:00:00,1, 263106.70000, 1062652504.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978737.00000, 149812941.00000, 605074332720.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 263106.70000, 1062652498.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978737.00000, 149812941.00000, 605074332720.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417, 1.00000,1, 206106.70000, 599225069.00000, 32.92043, 2294.12500, 451.37360, 1312303.00000, 309160.00000, 898837604.00000, 117357141.00000, 341198754304.00000, 67.07957,1, 50000.00000, 440411429.00000, 109.50000, 964501.00000, 75000.00000, 660617143.00000, 28470000.00000, 250770267429.00000, 0.00000,0,nan,1, 6.64000, 18856.54000, 6.64000, 452.55700, 0.00000,0,nan,1, 4.50746, 11798.27000, 4.50746, 283.15860, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 38798.40000, 11.80000, 931.16160,1, 7000.00000, 23016000.00000, 15.33000, 50405.04000, 10500.00000, 34524000.00000, 3985800.00000, 13105310400.00000,1, 9.97297, 26135.34000, 9.97297, 627.24830 +2030-01-01 00:00:00,1, 262298.20000, 1158686449.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029637.00000, 149352574.00000, 659756056185.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 262298.20000, 1158686434.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029637.00000, 149352574.00000, 659756056185.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156, 1.00000,1, 205298.20000, 674454005.00000, 32.79003, 2582.50800, 449.60300, 1477054.00000, 307947.20000, 1011681008.00000, 116896774.00000, 384034110692.00000, 67.20997,1, 50000.00000, 458661429.00000, 109.50000, 1004469.00000, 75000.00000, 687992143.00000, 28470000.00000, 261161817429.00000, 0.00000,0,nan,1, 6.80000, 21280.14000, 6.80000, 510.72340, 0.00000,0,nan,1, 4.86570, 13443.50000, 4.86570, 322.64390, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 43105.40000, 11.80000, 1034.53000,1, 7000.00000, 25571000.00000, 15.33000, 56000.49000, 10500.00000, 38356500.00000, 3985800.00000, 14560127400.00000,1, 9.32432, 29775.48000, 9.32432, 714.61150 +2031-01-01 00:00:00,1, 260635.10000, 1254425292.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637865.00000, 148405599.00000, 714269745695.00000, 7000.00000,67.68732,10.7611,nan,nan,1, 260635.10000, 1254425263.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637865.00000, 148405599.00000, 714269745695.00000, 7000.00000,67.68732,10.7611,nan,nan, 1.00000,1, 203635.10000, 749387835.00000, 32.52178, 2869.74900, 445.96080, 1641159.00000, 305452.60000, 1124081752.00000, 115949799.00000, 426701433042.00000, 67.47822,1, 50000.00000, 476911429.00000, 109.50000, 1044436.00000, 75000.00000, 715367143.00000, 28470000.00000, 271553367429.00000, 0.00000,0,nan,1, 6.89000, 23762.14000, 6.89000, 570.29140, 0.00000,0,nan,1, 4.50746, 15219.48000, 4.50746, 365.26750, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 47412.40000, 11.80000, 1137.89800,1, 7000.00000, 28126000.00000, 15.33000, 61595.94000, 10500.00000, 42189000.00000, 3985800.00000, 16014944400.00000,1, 9.32432, 33178.86000, 9.32432, 796.29260 diff --git a/src/tests/ecalc_cli/snapshots/test_app/test_csv_resampled/results_resampled.csv b/src/tests/ecalc_cli/snapshots/test_app/test_csv_resampled/results_resampled.csv index de820d4c6..52788a6c3 100644 --- a/src/tests/ecalc_cli/snapshots/test_app/test_csv_resampled/results_resampled.csv +++ b/src/tests/ecalc_cli/snapshots/test_app/test_csv_resampled/results_resampled.csv @@ -1,13 +1,13 @@ -timesteps,model.is_valid[N/A],model.energy_usage[Sm3/d],model.energy_usage_cumulative[Sm3],model.power[MW],model.power_cumulative[GWh],model.co2.rate[t/d],model.co2.cumulative[t],model.co2.tax[NOK/d],model.co2.tax_cumulative[NOK],model.co2.quota[NOK/d],model.co2.quota_cumulative[NOK],model.hydrocarbon_export_rate[Sm3/d],model.co2.intensity_sm3[kg/Sm3],model.co2.intensity_boe[kg/BOE],model.co2.intensity_yearly_sm3[kg/Sm3],model.co2.intensity_yearly_boe[kg/BOE],Installation A.is_valid[N/A],Installation A.energy_usage[Sm3/d],Installation A.energy_usage_cumulative[Sm3],Installation A.power[MW],Installation A.power_cumulative[GWh],Installation A.co2.rate[t/d],Installation A.co2.cumulative[t],Installation A.co2.tax[NOK/d],Installation A.co2.tax_cumulative[NOK],Installation A.co2.quota[NOK/d],Installation A.co2.quota_cumulative[NOK],Installation A.hydrocarbon_export_rate[Sm3/d],Installation A.co2.intensity_sm3[kg/Sm3],Installation A.co2.intensity_boe[kg/BOE],Installation A.co2.intensity_yearly_sm3[kg/Sm3],Installation A.co2.intensity_yearly_boe[kg/BOE],Generator set A.is_valid[N/A],Generator set A.energy_usage[Sm3/d],Generator set A.energy_usage_cumulative[Sm3],Generator set A.power[MW],Generator set A.power_cumulative[GWh],Generator set A.co2.rate[t/d],Generator set A.co2.cumulative[t],Generator set A.co2.tax[NOK/d],Generator set A.co2.tax_cumulative[NOK],Generator set A.co2.quota[NOK/d],Generator set A.co2.quota_cumulative[NOK],Generator set A.power_capacity_margin[MW],Gas export compressor.is_valid[N/A],Gas export compressor.energy_usage[Sm3/d],Gas export compressor.energy_usage_cumulative[Sm3],Gas export compressor.co2.rate[t/d],Gas export compressor.co2.cumulative[t],Gas export compressor.co2.tax[NOK/d],Gas export compressor.co2.tax_cumulative[NOK],Gas export compressor.co2.quota[NOK/d],Gas export compressor.co2.quota_cumulative[NOK],Gas export compressor.recirculation_loss[MW],Gas export compressor.rate_exceeds_maximum[N/A],Gas export compressor.outlet_pressure_before_choking[bara],Gas injection compressor.is_valid[N/A],Gas injection compressor.energy_usage[MW],Gas injection compressor.energy_usage_cumulative[MWd],Gas injection compressor.power[MW],Gas injection compressor.power_cumulative[GWh],Gas injection compressor.recirculation_loss[MW],Gas injection compressor.rate_exceeds_maximum[N/A],Gas injection compressor.outlet_pressure_before_choking[bara],Produced water reinjection pump.is_valid[N/A],Produced water reinjection pump.energy_usage[MW],Produced water reinjection pump.energy_usage_cumulative[MWd],Produced water reinjection pump.power[MW],Produced water reinjection pump.power_cumulative[GWh],Produced water reinjection pump.inlet_liquid_rate_m3_per_day[Sm3/d],Produced water reinjection pump.inlet_pressure_bar[bara],Produced water reinjection pump.outlet_pressure_bar[bara],Produced water reinjection pump.operational_head[J/kg],Base production load.is_valid[N/A],Base production load.energy_usage[MW],Base production load.energy_usage_cumulative[MWd],Base production load.power[MW],Base production load.power_cumulative[GWh],Flare.is_valid[N/A],Flare.energy_usage[Sm3/d],Flare.energy_usage_cumulative[Sm3],Flare.co2.rate[t/d],Flare.co2.cumulative[t],Flare.co2.tax[NOK/d],Flare.co2.tax_cumulative[NOK],Flare.co2.quota[NOK/d],Flare.co2.quota_cumulative[NOK],Sea water injection pump.is_valid[N/A],Sea water injection pump.energy_usage[MW],Sea water injection pump.energy_usage_cumulative[MWd],Sea water injection pump.power[MW],Sea water injection pump.power_cumulative[GWh] -2020-01-01 00:00:00,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99959,7.790077,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99959,7.790077,1, 142678.00000, 0.00000, 22.69000, 0.00000, 312.46480, 0.00000, 214017.00000, 0.00000, 81240853.00000, 0.00000, 77.31000,1, 130000.00000, 0.00000, 284.70000, 0.00000, 195000.00000, 0.00000, 74022000.00000, 0.00000, 0.00000,0,nan,1, 4.89000, 0.00000, 4.89000, 0.00000, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 0.00000, 11.80000, 0.00000,1, 7000.00000, 0.00000, 15.33000, 0.00000, 10500.00000, 0.00000, 3985800.00000, 0.00000,1, 6.00000, 0.00000, 6.00000, 0.00000 -2021-01-01 00:00:00,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44350, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285007071.00000, 11600.00000,48.99959,7.790077,52.27962,8.311545,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44350, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285007071.00000, 11600.00000,48.99959,7.790077,52.27962,8.311545,1, 138772.00000, 52220148.00000, 22.06000, 199.30900, 303.91070, 114362.10000, 208158.00000, 78330222.00000, 79016777.00000, 29734152271.00000, 77.94000,1, 131142.90000, 47580000.00000, 287.20290, 104200.20000, 196714.30000, 71370000.00000, 74672743.00000, 27092052000.00000, 0.00000,0,nan,1, 5.01000, 1789.74000, 5.01000, 42.95376, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 19000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 4318.80000, 11.80000, 103.65120,1, 7000.00000, 2562000.00000, 15.33000, 5610.78000, 10500.00000, 3843000.00000, 3985800.00000, 1458802800.00000,1, 5.25000, 2196.00000, 5.25000, 52.70400 -2022-01-01 00:00:00,1, 309378.10000, 203436086.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154106.00000, 176159892.00000, 115836498746.00000, 10700.00000,50.57611,8.040718,63.32131,10.06698,1, 309378.10000, 203436071.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154106.00000, 176159892.00000, 115836498746.00000, 10700.00000,50.57611,8.040718,63.32131,10.06698,1, 170092.40000, 102871928.00000, 27.11168, 392.55460, 372.50230, 225289.50000, 255138.60000, 154307892.00000, 96850607.00000, 58575275803.00000, 72.88832,1, 132285.70000, 95447143.00000, 289.70570, 209029.20000, 198428.60000, 143170714.00000, 75323486.00000, 54347603143.00000, 0.00000,0,nan,1, 5.13000, 3618.39000, 5.13000, 86.84136, 0.00000,0,nan,1, 4.68168, 0.00000, 4.68168, 0.00000, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 8625.80000, 11.80000, 207.01920,1, 7000.00000, 5117000.00000, 15.33000, 11206.23000, 10500.00000, 7675500.00000, 3985800.00000, 2913619800.00000,1, 5.50000, 4112.25000, 5.50000, 98.69400 -2023-01-01 00:00:00,1, 317427.90000, 316359093.00000, 28.22570, 630.05290, 695.16720, 692826.40000, 476141.90000, 474538618.00000, 180743459.00000, 180134859439.00000, 9800.00000,54.49104,8.663123,70.93542,11.27749,1, 317427.90000, 316359079.00000, 28.22570, 630.05280, 695.16720, 692826.40000, 476141.90000, 474538618.00000, 180743459.00000, 180134859439.00000, 9800.00000,54.49104,8.663123,70.93542,11.27749,1, 176999.40000, 164955650.00000, 28.22570, 630.05280, 387.62860, 361252.90000, 265499.00000, 247433475.00000, 100783431.00000, 93925747210.00000, 71.77430,1, 133428.60000, 143731429.00000, 292.20860, 314771.80000, 200142.90000, 215597143.00000, 75974229.00000, 81840675429.00000, 0.00000,0,nan,1, 5.56000, 5490.84000, 5.56000, 131.78020, 0.00000,0,nan,1, 4.86570, 1708.81200, 4.86570, 41.01148, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 12932.80000, 11.80000, 310.38720,1, 7000.00000, 7672000.00000, 15.33000, 16801.68000, 10500.00000, 11508000.00000, 3985800.00000, 4368436800.00000,1, 6.00000, 6119.75000, 6.00000, 146.87400 -2024-01-01 00:00:00,1, 341037.19290, 432220276.00000, 31.83370, 877.31000, 746.87137, 946562.40000, 511555.69781, 648330406.00000, 194186556.96448, 246106222069.00000, 9908.46995,58.10161,9.23714,75.37706,11.98363,1, 341037.19290, 432220271.00000, 31.83370, 877.31000, 746.87137, 946562.40000, 511555.69781, 648330406.00000, 194186556.96448, 246106222069.00000, 9908.46995,58.10161,9.23714,75.37706,11.98363,1, 199368.89836, 229560413.00000, 31.83370, 877.31000, 436.61798, 502737.30000, 299053.38907, 344340620.00000, 113520667.47268, 130711699411.00000, 68.16630,1, 134668.20301, 192432857.00000, 294.92339, 421428.00000, 202002.30027, 288649286.00000, 76680088.57650, 109571268857.00000, 0.00000,0,nan,1, 5.75473, 7520.24000, 5.75473, 180.48580, 0.00000,0,nan,1, 4.52221, 3484.79300, 4.52221, 83.63503, 14084.69945, 10.00000, 200.00000, 18811.88000,1, 11.80000, 17239.80000, 11.80000, 413.75520,1, 7000.00000, 10227000.00000, 15.33000, 22397.13000, 10500.00000, 15340500.00000, 3985800.00000, 5823253800.00000,1, 9.75676, 8309.75000, 9.75676, 199.43400 -2025-01-01 00:00:00,1, 345398.60000, 557039888.63131, 32.36843, 1156.93715, 756.42290, 1219917.15152, 518097.90000, 835559804.38131, 196669944.00000, 317178501864.83582, 10000.00000,61.21173090909091,9.73159515151515,74.79874169191919,11.8916876010101,1, 345398.60000, 557039869.61364, 32.36843, 1156.93715, 756.42290, 1219917.15152, 518097.90000, 835559804.38131, 196669944.00000, 317178501864.83582, 10000.00000,61.21173090909091,9.73159515151515,74.79874169191919,11.8916876010101,1, 202684.30000, 302529441.68939, 32.36843, 1156.93715, 443.87860, 662539.44242, 304026.40000, 453794162.07323, 115408430.00000, 172260263836.98990, 67.63157,1, 135714.30000, 241721428.84596, 297.21430, 529369.93838, 203571.40000, 362582143.22980, 77275714.00000, 137636181428.84595, 0.00000,0,nan,1, 6.13000, 9626.47000, 6.13000, 231.03532, 0.00000,0,nan,1, 4.68168, 5139.92298, 4.68168, 123.35816, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 21558.60000, 11.80000, 517.40640,1, 7000.00000, 12789000.00000, 15.33000, 28007.91000, 10500.00000, 19183500.00000, 3985800.00000, 7282056600.00000,1, 9.75676, 11880.71980, 9.75676, 285.13733 -2026-01-01 00:00:00,0, 344604.30000, 683110378.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665520.00000, 196217713.00000, 388963031470.00000, 11100.00000,63.47639,10.09164,67.98951,10.80914,0, 344604.30000, 683110347.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665520.00000, 196217713.00000, 388963031470.00000, 11100.00000,63.47639,10.09164,67.98951,10.80914,1, 200747.20000, 376509204.00000, 32.05600, 1440.48500, 439.63640, 824555.20000, 301120.80000, 564763806.00000, 114305456.00000, 214384340728.00000, 67.94400,1, 136857.10000, 291257143.00000, 299.71710, 637853.10000, 205285.70000, 436885714.00000, 77926457.00000, 165841817143.00000, 0.00000,0,nan,1, 6.25000, 11863.92000, 6.25000, 284.73410, 0.00000,0,nan,0, 4.68168, 6848.73500, 4.68168, 164.36960, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 25865.60000, 11.80000, 620.77440,1, 7000.00000, 15344000.00000, 15.33000, 33603.36000, 10500.00000, 23016000.00000, 3985800.00000, 8736873600.00000,1, 9.32432, 15441.94000, 9.32432, 370.60650 -2027-01-01 00:00:00,1, 355281.90000, 808890948.00000, 33.04086, 1721.29500, 778.06740, 1771471.00000, 532922.90000, 1213336398.00000, 202297533.00000, 460582496721.00000, 10500.00000,64.13842,10.19689,74.10166,11.78087,1, 355281.90000, 808890932.00000, 33.04086, 1721.29500, 778.06740, 1771471.00000, 532922.90000, 1213336398.00000, 202297533.00000, 460582496721.00000, 10500.00000,64.13842,10.19689,74.10166,11.78087,1, 206853.40000, 449781932.00000, 33.04086, 1721.29500, 453.00890, 985022.40000, 310280.00000, 674672898.00000, 117782305.00000, 256105832121.00000, 66.95914,1, 141428.60000, 341210000.00000, 309.72860, 747249.90000, 212142.90000, 511815000.00000, 80529429.00000, 194284974000.00000, 0.00000,0,nan,1, 6.37000, 14145.17000, 6.37000, 339.48410, 0.00000,0,nan,1, 4.68168, 8557.54700, 4.68168, 205.38110, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 30172.60000, 11.80000, 724.14240,1, 7000.00000, 17899000.00000, 15.33000, 39198.81000, 10500.00000, 26848500.00000, 3985800.00000, 10191690600.00000,1, 10.18919, 18845.32000, 10.18919, 452.28760 -2028-01-01 00:00:00,1, 339026.40000, 938568841.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853257.00000, 193041628.00000, 534421096330.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 339026.40000, 938568838.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853257.00000, 193041628.00000, 534421096330.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 202026.40000, 525283409.00000, 32.26232, 2010.73300, 442.43780, 1150371.00000, 303039.60000, 787925114.00000, 115033828.00000, 299096373302.00000, 67.73768,1, 130000.00000, 392831429.00000, 284.70000, 860300.80000, 195000.00000, 589247143.00000, 74022000.00000, 223678215429.00000, 0.00000,0,nan,1, 6.52000, 16470.22000, 6.52000, 395.28530, 0.00000,0,nan,1, 4.18556, 10266.36000, 4.18556, 246.39260, 12000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 34479.60000, 11.80000, 827.51040,1, 7000.00000, 20454000.00000, 15.33000, 44794.26000, 10500.00000, 30681000.00000, 3985800.00000, 11646507600.00000,1, 9.75676, 22564.37000, 9.75676, 541.54490 -2029-01-01 00:00:00,1, 263106.70000, 1062652504.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978746.00000, 149812941.00000, 605074332133.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 263106.70000, 1062652498.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978746.00000, 149812941.00000, 605074332133.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 206106.70000, 599225069.00000, 32.92043, 2294.12500, 451.37360, 1312303.00000, 309160.00000, 898837604.00000, 117357141.00000, 341198754304.00000, 67.07957,1, 50000.00000, 440411429.00000, 109.50000, 964501.00000, 75000.00000, 660617143.00000, 28470000.00000, 250770267429.00000, 0.00000,0,nan,1, 6.64000, 18856.54000, 6.64000, 452.55700, 0.00000,0,nan,1, 4.50746, 11798.27000, 4.50746, 283.15860, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 38798.40000, 11.80000, 931.16160,1, 7000.00000, 23016000.00000, 15.33000, 50405.04000, 10500.00000, 34524000.00000, 3985800.00000, 13105310400.00000,1, 9.97297, 26135.34000, 9.97297, 627.24830 -2030-01-01 00:00:00,1, 262298.20000, 1158686449.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029651.00000, 149352574.00000, 659756055520.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 262298.20000, 1158686434.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029651.00000, 149352574.00000, 659756055520.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 205298.20000, 674454005.00000, 32.79003, 2582.50800, 449.60300, 1477054.00000, 307947.20000, 1011681008.00000, 116896774.00000, 384034110692.00000, 67.20997,1, 50000.00000, 458661429.00000, 109.50000, 1004469.00000, 75000.00000, 687992143.00000, 28470000.00000, 261161817429.00000, 0.00000,0,nan,1, 6.80000, 21280.14000, 6.80000, 510.72340, 0.00000,0,nan,1, 4.86570, 13443.50000, 4.86570, 322.64390, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 43105.40000, 11.80000, 1034.53000,1, 7000.00000, 25571000.00000, 15.33000, 56000.49000, 10500.00000, 38356500.00000, 3985800.00000, 14560127400.00000,1, 9.32432, 29775.48000, 9.32432, 714.61150 -2031-01-01 00:00:00,1, 0.00000, 1254425292.00000, 0.00000, 2869.74900, 0.00000, 2747191.00000, 0.00000, 1881637895.00000, 0.00000, 714269744871.00000, 0.00000,67.68732,10.7611,nan,nan,1, 0.00000, 1254425263.00000, 0.00000, 2869.74900, 0.00000, 2747191.00000, 0.00000, 1881637895.00000, 0.00000, 714269744871.00000, 0.00000,67.68732,10.7611,nan,nan,1, 0.00000, 749387835.00000, 0.00000, 2869.74900, 0.00000, 1641159.00000, 0.00000, 1124081752.00000, 0.00000, 426701433042.00000, 0.00000,1, 0.00000, 476911429.00000, 0.00000, 1044436.00000, 0.00000, 715367143.00000, 0.00000, 271553367429.00000, 0.00000,0,nan,1, 0.00000, 23762.14000, 0.00000, 570.29140, 0.00000,0,nan,1, 0.00000, 15219.48000, 0.00000, 365.26750, 0.00000, 10.00000, 200.00000, 18811.88000,1, 0.00000, 47412.40000, 0.00000, 1137.89800,1, 0.00000, 28126000.00000, 0.00000, 61595.94000, 0.00000, 42189000.00000, 0.00000, 16014944400.00000,1, 0.00000, 33178.86000, 0.00000, 796.29260 +timesteps,model.is_valid[N/A],model.energy_usage[Sm3/d],model.energy_usage_cumulative[Sm3],model.power[MW],model.power_cumulative[GWh],model.co2.rate[t/d],model.co2.cumulative[t],model.co2.tax[NOK/d],model.co2.tax_cumulative[NOK],model.co2.quota[NOK/d],model.co2.quota_cumulative[NOK],model.hydrocarbon_export_rate[Sm3/d],model.co2.intensity_sm3[kg/Sm3],model.co2.intensity_boe[kg/BOE],model.co2.intensity_yearly_sm3[kg/Sm3],model.co2.intensity_yearly_boe[kg/BOE],Installation A.is_valid[N/A],Installation A.energy_usage[Sm3/d],Installation A.energy_usage_cumulative[Sm3],Installation A.power[MW],Installation A.power_cumulative[GWh],Installation A.co2.rate[t/d],Installation A.co2.cumulative[t],Installation A.co2.tax[NOK/d],Installation A.co2.tax_cumulative[NOK],Installation A.co2.quota[NOK/d],Installation A.co2.quota_cumulative[NOK],Installation A.hydrocarbon_export_rate[Sm3/d],Installation A.co2.intensity_sm3[kg/Sm3],Installation A.co2.intensity_boe[kg/BOE],Installation A.co2.intensity_yearly_sm3[kg/Sm3],Installation A.co2.intensity_yearly_boe[kg/BOE],Installation A.regularity[N/A],Generator set A.is_valid[N/A],Generator set A.energy_usage[Sm3/d],Generator set A.energy_usage_cumulative[Sm3],Generator set A.power[MW],Generator set A.power_cumulative[GWh],Generator set A.co2.rate[t/d],Generator set A.co2.cumulative[t],Generator set A.co2.tax[NOK/d],Generator set A.co2.tax_cumulative[NOK],Generator set A.co2.quota[NOK/d],Generator set A.co2.quota_cumulative[NOK],Generator set A.power_capacity_margin[MW],Gas export compressor.is_valid[N/A],Gas export compressor.energy_usage[Sm3/d],Gas export compressor.energy_usage_cumulative[Sm3],Gas export compressor.co2.rate[t/d],Gas export compressor.co2.cumulative[t],Gas export compressor.co2.tax[NOK/d],Gas export compressor.co2.tax_cumulative[NOK],Gas export compressor.co2.quota[NOK/d],Gas export compressor.co2.quota_cumulative[NOK],Gas export compressor.recirculation_loss[MW],Gas export compressor.rate_exceeds_maximum[N/A],Gas export compressor.outlet_pressure_before_choking[bara],Gas injection compressor.is_valid[N/A],Gas injection compressor.energy_usage[MW],Gas injection compressor.energy_usage_cumulative[MWd],Gas injection compressor.power[MW],Gas injection compressor.power_cumulative[GWh],Gas injection compressor.recirculation_loss[MW],Gas injection compressor.rate_exceeds_maximum[N/A],Gas injection compressor.outlet_pressure_before_choking[bara],Produced water reinjection pump.is_valid[N/A],Produced water reinjection pump.energy_usage[MW],Produced water reinjection pump.energy_usage_cumulative[MWd],Produced water reinjection pump.power[MW],Produced water reinjection pump.power_cumulative[GWh],Produced water reinjection pump.inlet_liquid_rate_m3_per_day[Sm3/d],Produced water reinjection pump.inlet_pressure_bar[bara],Produced water reinjection pump.outlet_pressure_bar[bara],Produced water reinjection pump.operational_head[J/kg],Base production load.is_valid[N/A],Base production load.energy_usage[MW],Base production load.energy_usage_cumulative[MWd],Base production load.power[MW],Base production load.power_cumulative[GWh],Flare.is_valid[N/A],Flare.energy_usage[Sm3/d],Flare.energy_usage_cumulative[Sm3],Flare.co2.rate[t/d],Flare.co2.cumulative[t],Flare.co2.tax[NOK/d],Flare.co2.tax_cumulative[NOK],Flare.co2.quota[NOK/d],Flare.co2.quota_cumulative[NOK],Sea water injection pump.is_valid[N/A],Sea water injection pump.energy_usage[MW],Sea water injection pump.energy_usage_cumulative[MWd],Sea water injection pump.power[MW],Sea water injection pump.power_cumulative[GWh] +2020-01-01 00:00:00,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99958,7.790077,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99958,7.790077, 1.00000,1, 142678.00000, 0.00000, 22.69000, 0.00000, 312.46480, 0.00000, 214017.00000, 0.00000, 81240853.00000, 0.00000, 77.31000,1, 130000.00000, 0.00000, 284.70000, 0.00000, 195000.00000, 0.00000, 74022000.00000, 0.00000, 0.00000,0,nan,1, 4.89000, 0.00000, 4.89000, 0.00000, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 0.00000, 11.80000, 0.00000,1, 7000.00000, 0.00000, 15.33000, 0.00000, 10500.00000, 0.00000, 3985800.00000, 0.00000,1, 6.00000, 0.00000, 6.00000, 0.00000 +2021-01-01 00:00:00,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44360, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285006998.00000, 11600.00000,48.99958,7.790077,52.27962,8.311545,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44360, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285006998.00000, 11600.00000,48.99958,7.790077,52.27962,8.311545, 1.00000,1, 138772.00000, 52220148.00000, 22.06000, 199.30900, 303.91070, 114362.10000, 208158.00000, 78330222.00000, 79016777.00000, 29734152271.00000, 77.94000,1, 131142.90000, 47580000.00000, 287.20290, 104200.20000, 196714.30000, 71370000.00000, 74672743.00000, 27092052000.00000, 0.00000,0,nan,1, 5.01000, 1789.74000, 5.01000, 42.95376, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 19000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 4318.80000, 11.80000, 103.65120,1, 7000.00000, 2562000.00000, 15.33000, 5610.78000, 10500.00000, 3843000.00000, 3985800.00000, 1458802800.00000,1, 5.25000, 2196.00000, 5.25000, 52.70400 +2022-01-01 00:00:00,1, 309378.10000, 203436086.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154112.00000, 176159893.00000, 115836498798.00000, 10700.00000,50.57612,8.040718,63.32131,10.06698,1, 309378.10000, 203436071.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154112.00000, 176159893.00000, 115836498798.00000, 10700.00000,50.57612,8.040718,63.32131,10.06698, 1.00000,1, 170092.40000, 102871928.00000, 27.11168, 392.55460, 372.50230, 225289.50000, 255138.60000, 154307892.00000, 96850607.00000, 58575275803.00000, 72.88832,1, 132285.70000, 95447143.00000, 289.70570, 209029.20000, 198428.60000, 143170714.00000, 75323486.00000, 54347603143.00000, 0.00000,0,nan,1, 5.13000, 3618.39000, 5.13000, 86.84136, 0.00000,0,nan,1, 4.68168, 0.00000, 4.68168, 0.00000, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 8625.80000, 11.80000, 207.01920,1, 7000.00000, 5117000.00000, 15.33000, 11206.23000, 10500.00000, 7675500.00000, 3985800.00000, 2913619800.00000,1, 5.50000, 4112.25000, 5.50000, 98.69400 +2023-01-01 00:00:00,1, 317427.90000, 316359093.00000, 28.22570, 630.05290, 695.16720, 692826.40000, 476141.90000, 474538640.00000, 180743460.00000, 180134859743.00000, 9800.00000,54.49104,8.663123,70.93543,11.27749,1, 317427.90000, 316359079.00000, 28.22570, 630.05280, 695.16720, 692826.40000, 476141.90000, 474538640.00000, 180743460.00000, 180134859743.00000, 9800.00000,54.49104,8.663123,70.93543,11.27749, 1.00000,1, 176999.40000, 164955650.00000, 28.22570, 630.05280, 387.62860, 361252.90000, 265499.00000, 247433475.00000, 100783431.00000, 93925747210.00000, 71.77430,1, 133428.60000, 143731429.00000, 292.20860, 314771.80000, 200142.90000, 215597143.00000, 75974229.00000, 81840675429.00000, 0.00000,0,nan,1, 5.56000, 5490.84000, 5.56000, 131.78020, 0.00000,0,nan,1, 4.86570, 1708.81200, 4.86570, 41.01148, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 12932.80000, 11.80000, 310.38720,1, 7000.00000, 7672000.00000, 15.33000, 16801.68000, 10500.00000, 11508000.00000, 3985800.00000, 4368436800.00000,1, 6.00000, 6119.75000, 6.00000, 146.87400 +2024-01-01 00:00:00,1, 341037.19290, 432220276.00000, 31.83370, 877.31000, 746.87137, 946562.40000, 511555.68934, 648330433.00000, 194186556.04918, 246106222643.00000, 9908.46995,58.10161,9.23714,75.37706,11.98363,1, 341037.19290, 432220271.00000, 31.83370, 877.31000, 746.87137, 946562.40000, 511555.68934, 648330433.00000, 194186556.04918, 246106222643.00000, 9908.46995,58.10161,9.23714,75.37706,11.98363, 1.00000,1, 199368.89836, 229560413.00000, 31.83370, 877.31000, 436.61798, 502737.30000, 299053.38907, 344340620.00000, 113520667.47268, 130711699411.00000, 68.16630,1, 134668.20301, 192432857.00000, 294.92339, 421428.00000, 202002.30027, 288649286.00000, 76680088.57650, 109571268857.00000, 0.00000,0,nan,1, 5.75473, 7520.24000, 5.75473, 180.48580, 0.00000,0,nan,1, 4.52221, 3484.79300, 4.52221, 83.63503, 14084.69945, 10.00000, 200.00000, 18811.88000,1, 11.80000, 17239.80000, 11.80000, 413.75520,1, 7000.00000, 10227000.00000, 15.33000, 22397.13000, 10500.00000, 15340500.00000, 3985800.00000, 5823253800.00000,1, 9.75676, 8309.75000, 9.75676, 199.43400 +2025-01-01 00:00:00,1, 345398.60000, 557039888.63131, 32.36843, 1156.93715, 756.42290, 1219917.15152, 518097.80000, 835559815.73737, 196669944.00000, 317178502157.00000, 10000.00000,61.21173169191919,9.73159515151515,74.7987409090909,11.8916876010101,1, 345398.60000, 557039869.61364, 32.36843, 1156.93715, 756.42290, 1219917.15152, 518097.80000, 835559815.73737, 196669944.00000, 317178502157.00000, 10000.00000,61.21173169191919,9.73159515151515,74.7987409090909,11.8916876010101, 1.00000,1, 202684.30000, 302529441.68939, 32.36843, 1156.93715, 443.87860, 662539.44242, 304026.40000, 453794162.07323, 115408430.00000, 172260263836.98990, 67.63157,1, 135714.30000, 241721428.84596, 297.21430, 529369.93838, 203571.40000, 362582143.22980, 77275714.00000, 137636181428.84595, 0.00000,0,nan,1, 6.13000, 9626.47000, 6.13000, 231.03532, 0.00000,0,nan,1, 4.68168, 5139.92298, 4.68168, 123.35816, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 21558.60000, 11.80000, 517.40640,1, 7000.00000, 12789000.00000, 15.33000, 28007.91000, 10500.00000, 19183500.00000, 3985800.00000, 7282056600.00000,1, 9.75676, 11880.71980, 9.75676, 285.13733 +2026-01-01 00:00:00,0, 344604.30000, 683110378.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665512.00000, 196217713.00000, 388963031717.00000, 11100.00000,63.4764,10.09164,67.9895,10.80914,0, 344604.30000, 683110347.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665512.00000, 196217713.00000, 388963031717.00000, 11100.00000,63.4764,10.09164,67.9895,10.80914, 1.00000,1, 200747.20000, 376509204.00000, 32.05600, 1440.48500, 439.63640, 824555.20000, 301120.80000, 564763806.00000, 114305456.00000, 214384340728.00000, 67.94400,1, 136857.10000, 291257143.00000, 299.71710, 637853.10000, 205285.70000, 436885714.00000, 77926457.00000, 165841817143.00000, 0.00000,0,nan,1, 6.25000, 11863.92000, 6.25000, 284.73410, 0.00000,0,nan,0, 4.68168, 6848.73500, 4.68168, 164.36960, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 25865.60000, 11.80000, 620.77440,1, 7000.00000, 15344000.00000, 15.33000, 33603.36000, 10500.00000, 23016000.00000, 3985800.00000, 8736873600.00000,1, 9.32432, 15441.94000, 9.32432, 370.60650 +2027-01-01 00:00:00,1, 355281.90000, 808890948.00000, 33.04086, 1721.29500, 778.06750, 1771471.00000, 532922.90000, 1213336385.00000, 202297534.00000, 460582496962.00000, 10500.00000,64.13842,10.19689,74.10167,11.78087,1, 355281.90000, 808890932.00000, 33.04086, 1721.29500, 778.06750, 1771471.00000, 532922.90000, 1213336385.00000, 202297534.00000, 460582496962.00000, 10500.00000,64.13842,10.19689,74.10167,11.78087, 1.00000,1, 206853.40000, 449781932.00000, 33.04086, 1721.29500, 453.00890, 985022.40000, 310280.00000, 674672898.00000, 117782305.00000, 256105832121.00000, 66.95914,1, 141428.60000, 341210000.00000, 309.72860, 747249.90000, 212142.90000, 511815000.00000, 80529429.00000, 194284974000.00000, 0.00000,0,nan,1, 6.37000, 14145.17000, 6.37000, 339.48410, 0.00000,0,nan,1, 4.68168, 8557.54700, 4.68168, 205.38110, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 30172.60000, 11.80000, 724.14240,1, 7000.00000, 17899000.00000, 15.33000, 39198.81000, 10500.00000, 26848500.00000, 3985800.00000, 10191690600.00000,1, 10.18919, 18845.32000, 10.18919, 452.28760 +2028-01-01 00:00:00,1, 339026.40000, 938568841.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853243.00000, 193041628.00000, 534421096872.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 339026.40000, 938568838.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853243.00000, 193041628.00000, 534421096872.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252, 1.00000,1, 202026.40000, 525283409.00000, 32.26232, 2010.73300, 442.43780, 1150371.00000, 303039.60000, 787925114.00000, 115033828.00000, 299096373302.00000, 67.73768,1, 130000.00000, 392831429.00000, 284.70000, 860300.80000, 195000.00000, 589247143.00000, 74022000.00000, 223678215429.00000, 0.00000,0,nan,1, 6.52000, 16470.22000, 6.52000, 395.28530, 0.00000,0,nan,1, 4.18556, 10266.36000, 4.18556, 246.39260, 12000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 34479.60000, 11.80000, 827.51040,1, 7000.00000, 20454000.00000, 15.33000, 44794.26000, 10500.00000, 30681000.00000, 3985800.00000, 11646507600.00000,1, 9.75676, 22564.37000, 9.75676, 541.54490 +2029-01-01 00:00:00,1, 263106.70000, 1062652504.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978737.00000, 149812941.00000, 605074332720.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 263106.70000, 1062652498.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978737.00000, 149812941.00000, 605074332720.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417, 1.00000,1, 206106.70000, 599225069.00000, 32.92043, 2294.12500, 451.37360, 1312303.00000, 309160.00000, 898837604.00000, 117357141.00000, 341198754304.00000, 67.07957,1, 50000.00000, 440411429.00000, 109.50000, 964501.00000, 75000.00000, 660617143.00000, 28470000.00000, 250770267429.00000, 0.00000,0,nan,1, 6.64000, 18856.54000, 6.64000, 452.55700, 0.00000,0,nan,1, 4.50746, 11798.27000, 4.50746, 283.15860, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 38798.40000, 11.80000, 931.16160,1, 7000.00000, 23016000.00000, 15.33000, 50405.04000, 10500.00000, 34524000.00000, 3985800.00000, 13105310400.00000,1, 9.97297, 26135.34000, 9.97297, 627.24830 +2030-01-01 00:00:00,1, 262298.20000, 1158686449.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029637.00000, 149352574.00000, 659756056185.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 262298.20000, 1158686434.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029637.00000, 149352574.00000, 659756056185.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156, 1.00000,1, 205298.20000, 674454005.00000, 32.79003, 2582.50800, 449.60300, 1477054.00000, 307947.20000, 1011681008.00000, 116896774.00000, 384034110692.00000, 67.20997,1, 50000.00000, 458661429.00000, 109.50000, 1004469.00000, 75000.00000, 687992143.00000, 28470000.00000, 261161817429.00000, 0.00000,0,nan,1, 6.80000, 21280.14000, 6.80000, 510.72340, 0.00000,0,nan,1, 4.86570, 13443.50000, 4.86570, 322.64390, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 43105.40000, 11.80000, 1034.53000,1, 7000.00000, 25571000.00000, 15.33000, 56000.49000, 10500.00000, 38356500.00000, 3985800.00000, 14560127400.00000,1, 9.32432, 29775.48000, 9.32432, 714.61150 +2031-01-01 00:00:00,1, 0.00000, 1254425292.00000, 0.00000, 2869.74900, 0.00000, 2747191.00000, 0.00000, 1881637865.00000, 0.00000, 714269745695.00000, 0.00000,67.68732,10.7611,nan,nan,1, 0.00000, 1254425263.00000, 0.00000, 2869.74900, 0.00000, 2747191.00000, 0.00000, 1881637865.00000, 0.00000, 714269745695.00000, 0.00000,67.68732,10.7611,nan,nan, 1.00000,1, 0.00000, 749387835.00000, 0.00000, 2869.74900, 0.00000, 1641159.00000, 0.00000, 1124081752.00000, 0.00000, 426701433042.00000, 0.00000,1, 0.00000, 476911429.00000, 0.00000, 1044436.00000, 0.00000, 715367143.00000, 0.00000, 271553367429.00000, 0.00000,0,nan,1, 0.00000, 23762.14000, 0.00000, 570.29140, 0.00000,0,nan,1, 0.00000, 15219.48000, 0.00000, 365.26750, 0.00000, 10.00000, 200.00000, 18811.88000,1, 0.00000, 47412.40000, 0.00000, 1137.89800,1, 0.00000, 28126000.00000, 0.00000, 61595.94000, 0.00000, 42189000.00000, 0.00000, 16014944400.00000,1, 0.00000, 33178.86000, 0.00000, 796.29260 diff --git a/src/tests/ecalc_cli/snapshots/test_app/test_csv_temporal_default/test.csv b/src/tests/ecalc_cli/snapshots/test_app/test_csv_temporal_default/test.csv index ef1cf21ff..5d30a06df 100644 --- a/src/tests/ecalc_cli/snapshots/test_app/test_csv_temporal_default/test.csv +++ b/src/tests/ecalc_cli/snapshots/test_app/test_csv_temporal_default/test.csv @@ -1,14 +1,14 @@ -timesteps,model.is_valid[N/A],model.energy_usage[Sm3/d],model.energy_usage_cumulative[Sm3],model.power[MW],model.power_cumulative[GWh],model.co2.rate[t/d],model.co2.cumulative[t],model.co2.tax[NOK/d],model.co2.tax_cumulative[NOK],model.co2.quota[NOK/d],model.co2.quota_cumulative[NOK],model.hydrocarbon_export_rate[Sm3/d],model.co2.intensity_sm3[kg/Sm3],model.co2.intensity_boe[kg/BOE],model.co2.intensity_yearly_sm3[kg/Sm3],model.co2.intensity_yearly_boe[kg/BOE],Installation A.is_valid[N/A],Installation A.energy_usage[Sm3/d],Installation A.energy_usage_cumulative[Sm3],Installation A.power[MW],Installation A.power_cumulative[GWh],Installation A.co2.rate[t/d],Installation A.co2.cumulative[t],Installation A.co2.tax[NOK/d],Installation A.co2.tax_cumulative[NOK],Installation A.co2.quota[NOK/d],Installation A.co2.quota_cumulative[NOK],Installation A.hydrocarbon_export_rate[Sm3/d],Installation A.co2.intensity_sm3[kg/Sm3],Installation A.co2.intensity_boe[kg/BOE],Installation A.co2.intensity_yearly_sm3[kg/Sm3],Installation A.co2.intensity_yearly_boe[kg/BOE],Generator set A.is_valid[N/A],Generator set A.energy_usage[Sm3/d],Generator set A.energy_usage_cumulative[Sm3],Generator set A.power[MW],Generator set A.power_cumulative[GWh],Generator set A.co2.rate[t/d],Generator set A.co2.cumulative[t],Generator set A.co2.tax[NOK/d],Generator set A.co2.tax_cumulative[NOK],Generator set A.co2.quota[NOK/d],Generator set A.co2.quota_cumulative[NOK],Generator set A.power_capacity_margin[MW],Gas export compressor.is_valid[N/A],Gas export compressor.energy_usage[Sm3/d],Gas export compressor.energy_usage_cumulative[Sm3],Gas export compressor.co2.rate[t/d],Gas export compressor.co2.cumulative[t],Gas export compressor.co2.tax[NOK/d],Gas export compressor.co2.tax_cumulative[NOK],Gas export compressor.co2.quota[NOK/d],Gas export compressor.co2.quota_cumulative[NOK],Gas export compressor.recirculation_loss[MW],Gas export compressor.rate_exceeds_maximum[N/A],Gas export compressor.outlet_pressure_before_choking[bara],Gas injection compressor.is_valid[N/A],Gas injection compressor.energy_usage[MW],Gas injection compressor.energy_usage_cumulative[MWd],Gas injection compressor.power[MW],Gas injection compressor.power_cumulative[GWh],Gas injection compressor.recirculation_loss[MW],Gas injection compressor.rate_exceeds_maximum[N/A],Gas injection compressor.outlet_pressure_before_choking[bara],Produced water reinjection pump.is_valid[N/A],Produced water reinjection pump.energy_usage[MW],Produced water reinjection pump.energy_usage_cumulative[MWd],Produced water reinjection pump.power[MW],Produced water reinjection pump.power_cumulative[GWh],Produced water reinjection pump.inlet_liquid_rate_m3_per_day[Sm3/d],Produced water reinjection pump.inlet_pressure_bar[bara],Produced water reinjection pump.outlet_pressure_bar[bara],Produced water reinjection pump.operational_head[J/kg],Base production load.is_valid[N/A],Base production load.energy_usage[MW],Base production load.energy_usage_cumulative[MWd],Base production load.power[MW],Base production load.power_cumulative[GWh],Flare.is_valid[N/A],Flare.energy_usage[Sm3/d],Flare.energy_usage_cumulative[Sm3],Flare.co2.rate[t/d],Flare.co2.cumulative[t],Flare.co2.tax[NOK/d],Flare.co2.tax_cumulative[NOK],Flare.co2.quota[NOK/d],Flare.co2.quota_cumulative[NOK],Sea water injection pump.is_valid[N/A],Sea water injection pump.energy_usage[MW],Sea water injection pump.energy_usage_cumulative[MWd],Sea water injection pump.power[MW],Sea water injection pump.power_cumulative[GWh] -2020-01-01 00:00:00,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99959,7.790077,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99959,7.790077,1, 142678.00000, 0.00000, 22.69000, 0.00000, 312.46480, 0.00000, 214017.00000, 0.00000, 81240853.00000, 0.00000, 77.31000,1, 130000.00000, 0.00000, 284.70000, 0.00000, 195000.00000, 0.00000, 74022000.00000, 0.00000, 0.00000,0,nan,1, 4.89000, 0.00000, 4.89000, 0.00000, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 0.00000, 11.80000, 0.00000,1, 7000.00000, 0.00000, 15.33000, 0.00000, 10500.00000, 0.00000, 3985800.00000, 0.00000,1, 6.00000, 0.00000, 6.00000, 0.00000 -2021-01-01 00:00:00,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44350, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285007071.00000, 11600.00000,48.99959,7.790077,52.27962,8.311545,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44350, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285007071.00000, 11600.00000,48.99959,7.790077,52.27962,8.311545,1, 138772.00000, 52220148.00000, 22.06000, 199.30900, 303.91070, 114362.10000, 208158.00000, 78330222.00000, 79016777.00000, 29734152271.00000, 77.94000,1, 131142.90000, 47580000.00000, 287.20290, 104200.20000, 196714.30000, 71370000.00000, 74672743.00000, 27092052000.00000, 0.00000,0,nan,1, 5.01000, 1789.74000, 5.01000, 42.95376, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 19000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 4318.80000, 11.80000, 103.65120,1, 7000.00000, 2562000.00000, 15.33000, 5610.78000, 10500.00000, 3843000.00000, 3985800.00000, 1458802800.00000,1, 5.25000, 2196.00000, 5.25000, 52.70400 -2022-01-01 00:00:00,1, 309378.10000, 203436086.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154106.00000, 176159892.00000, 115836498746.00000, 10700.00000,50.57611,8.040718,63.32131,10.06698,1, 309378.10000, 203436071.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154106.00000, 176159892.00000, 115836498746.00000, 10700.00000,50.57611,8.040718,63.32131,10.06698,1, 170092.40000, 102871928.00000, 27.11168, 392.55460, 372.50230, 225289.50000, 255138.60000, 154307892.00000, 96850607.00000, 58575275803.00000, 72.88832,1, 132285.70000, 95447143.00000, 289.70570, 209029.20000, 198428.60000, 143170714.00000, 75323486.00000, 54347603143.00000, 0.00000,0,nan,1, 5.13000, 3618.39000, 5.13000, 86.84136, 0.00000,0,nan,1, 4.68168, 0.00000, 4.68168, 0.00000, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 8625.80000, 11.80000, 207.01920,1, 7000.00000, 5117000.00000, 15.33000, 11206.23000, 10500.00000, 7675500.00000, 3985800.00000, 2913619800.00000,1, 5.50000, 4112.25000, 5.50000, 98.69400 -2023-01-01 00:00:00,1, 317427.90000, 316359093.00000, 28.22570, 630.05290, 695.16720, 692826.40000, 476141.90000, 474538618.00000, 180743459.00000, 180134859439.00000, 9800.00000,54.49104,8.663123,70.93542,11.27749,1, 317427.90000, 316359079.00000, 28.22570, 630.05280, 695.16720, 692826.40000, 476141.90000, 474538618.00000, 180743459.00000, 180134859439.00000, 9800.00000,54.49104,8.663123,70.93542,11.27749,1, 176999.40000, 164955650.00000, 28.22570, 630.05280, 387.62860, 361252.90000, 265499.00000, 247433475.00000, 100783431.00000, 93925747210.00000, 71.77430,1, 133428.60000, 143731429.00000, 292.20860, 314771.80000, 200142.90000, 215597143.00000, 75974229.00000, 81840675429.00000, 0.00000,0,nan,1, 5.56000, 5490.84000, 5.56000, 131.78020, 0.00000,0,nan,1, 4.86570, 1708.81200, 4.86570, 41.01148, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 12932.80000, 11.80000, 310.38720,1, 7000.00000, 7672000.00000, 15.33000, 16801.68000, 10500.00000, 11508000.00000, 3985800.00000, 4368436800.00000,1, 6.00000, 6119.75000, 6.00000, 146.87400 -2024-01-01 00:00:00,1, 341037.19290, 432220276.00000, 31.83370, 877.31000, 746.87137, 946562.40000, 511555.69781, 648330406.00000, 194186556.96448, 246106222069.00000, 9908.46995,58.10161,9.23714,75.37706,11.98363,1, 341037.19290, 432220271.00000, 31.83370, 877.31000, 746.87137, 946562.40000, 511555.69781, 648330406.00000, 194186556.96448, 246106222069.00000, 9908.46995,58.10161,9.23714,75.37706,11.98363,1, 199368.89836, 229560413.00000, 31.83370, 877.31000, 436.61798, 502737.30000, 299053.38907, 344340620.00000, 113520667.47268, 130711699411.00000, 68.16630,1, 134668.20301, 192432857.00000, 294.92339, 421428.00000, 202002.30027, 288649286.00000, 76680088.57650, 109571268857.00000, 0.00000,0,nan,1, 5.75473, 7520.24000, 5.75473, 180.48580, 0.00000,0,nan,1, 4.52221, 3484.79300, 4.52221, 83.63503, 14084.69945, 10.00000, 200.00000, 18811.88000,1, 11.80000, 17239.80000, 11.80000, 413.75520,1, 7000.00000, 10227000.00000, 15.33000, 22397.13000, 10500.00000, 15340500.00000, 3985800.00000, 5823253800.00000,1, 9.75676, 8309.75000, 9.75676, 199.43400 -2025-01-01 00:00:00,1, 345398.60000, 557039889.00000, 32.36843, 1156.93700, 756.42290, 1219917.00000, 518097.90000, 835559805.00000, 196669944.00000, 317178501865.00000, 10000.00000,61.24698,9.737198,75.64229,12.0258,1, 345398.60000, 557039870.00000, 32.36843, 1156.93700, 756.42290, 1219917.00000, 518097.90000, 835559805.00000, 196669944.00000, 317178501865.00000, 10000.00000,61.24698,9.737198,75.64229,12.0258,1, 202684.30000, 302529441.00000, 32.36843, 1156.93700, 443.87860, 662539.50000, 304026.40000, 453794162.00000, 115408430.00000, 172260263837.00000, 67.63157,1, 135714.30000, 241721429.00000, 297.21430, 529369.90000, 203571.40000, 362582143.00000, 77275714.00000, 137636181429.00000, 0.00000,0,nan,1, 6.13000, 9626.47000, 6.13000, 231.03530, 0.00000,0,nan,1, 4.68168, 5139.92300, 4.68168, 123.35820, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 21558.60000, 11.80000, 517.40640,1, 7000.00000, 12789000.00000, 15.33000, 28007.91000, 10500.00000, 19183500.00000, 3985800.00000, 7282056600.00000,1, 9.75676, 11880.72000, 9.75676, 285.13740 -2026-01-01 00:00:00,0, 344604.30000, 683110378.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665520.00000, 196217713.00000, 388963031470.00000, 11100.00000,63.47639,10.09164,67.98951,10.80914,0, 344604.30000, 683110347.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665520.00000, 196217713.00000, 388963031470.00000, 11100.00000,63.47639,10.09164,67.98951,10.80914,1, 200747.20000, 376509204.00000, 32.05600, 1440.48500, 439.63640, 824555.20000, 301120.80000, 564763806.00000, 114305456.00000, 214384340728.00000, 67.94400,1, 136857.10000, 291257143.00000, 299.71710, 637853.10000, 205285.70000, 436885714.00000, 77926457.00000, 165841817143.00000, 0.00000,0,nan,1, 6.25000, 11863.92000, 6.25000, 284.73410, 0.00000,0,nan,0, 4.68168, 6848.73500, 4.68168, 164.36960, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 25865.60000, 11.80000, 620.77440,1, 7000.00000, 15344000.00000, 15.33000, 33603.36000, 10500.00000, 23016000.00000, 3985800.00000, 8736873600.00000,1, 9.32432, 15441.94000, 9.32432, 370.60650 -2027-01-01 00:00:00,1, 355281.90000, 808890948.00000, 33.04086, 1721.29500, 778.06740, 1771471.00000, 532922.90000, 1213336398.00000, 202297533.00000, 460582496721.00000, 10500.00000,64.13842,10.19689,74.10166,11.78087,1, 355281.90000, 808890932.00000, 33.04086, 1721.29500, 778.06740, 1771471.00000, 532922.90000, 1213336398.00000, 202297533.00000, 460582496721.00000, 10500.00000,64.13842,10.19689,74.10166,11.78087,1, 206853.40000, 449781932.00000, 33.04086, 1721.29500, 453.00890, 985022.40000, 310280.00000, 674672898.00000, 117782305.00000, 256105832121.00000, 66.95914,1, 141428.60000, 341210000.00000, 309.72860, 747249.90000, 212142.90000, 511815000.00000, 80529429.00000, 194284974000.00000, 0.00000,0,nan,1, 6.37000, 14145.17000, 6.37000, 339.48410, 0.00000,0,nan,1, 4.68168, 8557.54700, 4.68168, 205.38110, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 30172.60000, 11.80000, 724.14240,1, 7000.00000, 17899000.00000, 15.33000, 39198.81000, 10500.00000, 26848500.00000, 3985800.00000, 10191690600.00000,1, 10.18919, 18845.32000, 10.18919, 452.28760 -2028-01-01 00:00:00,1, 339026.40000, 938568841.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853257.00000, 193041628.00000, 534421096330.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 339026.40000, 938568838.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853257.00000, 193041628.00000, 534421096330.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 202026.40000, 525283409.00000, 32.26232, 2010.73300, 442.43780, 1150371.00000, 303039.60000, 787925114.00000, 115033828.00000, 299096373302.00000, 67.73768,1, 130000.00000, 392831429.00000, 284.70000, 860300.80000, 195000.00000, 589247143.00000, 74022000.00000, 223678215429.00000, 0.00000,0,nan,1, 6.52000, 16470.22000, 6.52000, 395.28530, 0.00000,0,nan,1, 4.18556, 10266.36000, 4.18556, 246.39260, 12000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 34479.60000, 11.80000, 827.51040,1, 7000.00000, 20454000.00000, 15.33000, 44794.26000, 10500.00000, 30681000.00000, 3985800.00000, 11646507600.00000,1, 9.75676, 22564.37000, 9.75676, 541.54490 -2029-01-01 00:00:00,1, 263106.70000, 1062652504.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978746.00000, 149812941.00000, 605074332133.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 263106.70000, 1062652498.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978746.00000, 149812941.00000, 605074332133.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 206106.70000, 599225069.00000, 32.92043, 2294.12500, 451.37360, 1312303.00000, 309160.00000, 898837604.00000, 117357141.00000, 341198754304.00000, 67.07957,1, 50000.00000, 440411429.00000, 109.50000, 964501.00000, 75000.00000, 660617143.00000, 28470000.00000, 250770267429.00000, 0.00000,0,nan,1, 6.64000, 18856.54000, 6.64000, 452.55700, 0.00000,0,nan,1, 4.50746, 11798.27000, 4.50746, 283.15860, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 38798.40000, 11.80000, 931.16160,1, 7000.00000, 23016000.00000, 15.33000, 50405.04000, 10500.00000, 34524000.00000, 3985800.00000, 13105310400.00000,1, 9.97297, 26135.34000, 9.97297, 627.24830 -2030-01-01 00:00:00,1, 262298.20000, 1158686449.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029651.00000, 149352574.00000, 659756055520.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 262298.20000, 1158686434.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029651.00000, 149352574.00000, 659756055520.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 205298.20000, 674454005.00000, 32.79003, 2582.50800, 449.60300, 1477054.00000, 307947.20000, 1011681008.00000, 116896774.00000, 384034110692.00000, 67.20997,1, 50000.00000, 458661429.00000, 109.50000, 1004469.00000, 75000.00000, 687992143.00000, 28470000.00000, 261161817429.00000, 0.00000,0,nan,1, 6.80000, 21280.14000, 6.80000, 510.72340, 0.00000,0,nan,1, 4.86570, 13443.50000, 4.86570, 322.64390, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 43105.40000, 11.80000, 1034.53000,1, 7000.00000, 25571000.00000, 15.33000, 56000.49000, 10500.00000, 38356500.00000, 3985800.00000, 14560127400.00000,1, 9.32432, 29775.48000, 9.32432, 714.61150 -2031-01-01 00:00:00,1, 260635.10000, 1254425292.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637895.00000, 148405599.00000, 714269744871.00000, 7000.00000,67.68732,10.7611,81.54154,12.96368,1, 260635.10000, 1254425263.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637895.00000, 148405599.00000, 714269744871.00000, 7000.00000,67.68732,10.7611,81.54154,12.96368,1, 203635.10000, 749387835.00000, 32.52178, 2869.74900, 445.96080, 1641159.00000, 305452.60000, 1124081752.00000, 115949799.00000, 426701433042.00000, 67.47822,1, 50000.00000, 476911429.00000, 109.50000, 1044436.00000, 75000.00000, 715367143.00000, 28470000.00000, 271553367429.00000, 0.00000,0,nan,1, 6.89000, 23762.14000, 6.89000, 570.29140, 0.00000,0,nan,1, 4.50746, 15219.48000, 4.50746, 365.26750, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 47412.40000, 11.80000, 1137.89800,1, 7000.00000, 28126000.00000, 15.33000, 61595.94000, 10500.00000, 42189000.00000, 3985800.00000, 16014944400.00000,1, 9.32432, 33178.86000, 9.32432, 796.29260 -2032-01-01 00:00:00,1, 0.00000, 1349557104.00000, 0.00000, 3154.64000, 0.00000, 2955530.00000, 0.00000, 2024335587.00000, 0.00000, 768437788665.00000, 0.00000,68.50782,10.89154,nan,nan,1, 0.00000, 1349557058.00000, 0.00000, 3154.64000, 0.00000, 2955530.00000, 0.00000, 2024335587.00000, 0.00000, 768437788665.00000, 0.00000,68.50782,10.89154,nan,nan,1, 0.00000, 823714629.00000, 0.00000, 3154.64000, 0.00000, 1803935.00000, 0.00000, 1235571944.00000, 0.00000, 469023109836.00000, 0.00000,1, 0.00000, 495161429.00000, 0.00000, 1084404.00000, 0.00000, 742742143.00000, 0.00000, 281944917429.00000, 0.00000,0,nan,1, 0.00000, 26276.99000, 0.00000, 630.64780, 0.00000,0,nan,1, 0.00000, 16864.70000, 0.00000, 404.75280, 0.00000, 10.00000, 200.00000, 18811.88000,1, 0.00000, 51719.40000, 0.00000, 1241.26600,1, 0.00000, 30681000.00000, 0.00000, 67191.39000, 0.00000, 46021500.00000, 0.00000, 17469761400.00000,1, 0.00000, 36582.24000, 0.00000, 877.97370 +timesteps,model.is_valid[N/A],model.energy_usage[Sm3/d],model.energy_usage_cumulative[Sm3],model.power[MW],model.power_cumulative[GWh],model.co2.rate[t/d],model.co2.cumulative[t],model.co2.tax[NOK/d],model.co2.tax_cumulative[NOK],model.co2.quota[NOK/d],model.co2.quota_cumulative[NOK],model.hydrocarbon_export_rate[Sm3/d],model.co2.intensity_sm3[kg/Sm3],model.co2.intensity_boe[kg/BOE],model.co2.intensity_yearly_sm3[kg/Sm3],model.co2.intensity_yearly_boe[kg/BOE],Installation A.is_valid[N/A],Installation A.energy_usage[Sm3/d],Installation A.energy_usage_cumulative[Sm3],Installation A.power[MW],Installation A.power_cumulative[GWh],Installation A.co2.rate[t/d],Installation A.co2.cumulative[t],Installation A.co2.tax[NOK/d],Installation A.co2.tax_cumulative[NOK],Installation A.co2.quota[NOK/d],Installation A.co2.quota_cumulative[NOK],Installation A.hydrocarbon_export_rate[Sm3/d],Installation A.co2.intensity_sm3[kg/Sm3],Installation A.co2.intensity_boe[kg/BOE],Installation A.co2.intensity_yearly_sm3[kg/Sm3],Installation A.co2.intensity_yearly_boe[kg/BOE],Installation A.regularity[N/A],Generator set A.is_valid[N/A],Generator set A.energy_usage[Sm3/d],Generator set A.energy_usage_cumulative[Sm3],Generator set A.power[MW],Generator set A.power_cumulative[GWh],Generator set A.co2.rate[t/d],Generator set A.co2.cumulative[t],Generator set A.co2.tax[NOK/d],Generator set A.co2.tax_cumulative[NOK],Generator set A.co2.quota[NOK/d],Generator set A.co2.quota_cumulative[NOK],Generator set A.power_capacity_margin[MW],Gas export compressor.is_valid[N/A],Gas export compressor.energy_usage[Sm3/d],Gas export compressor.energy_usage_cumulative[Sm3],Gas export compressor.co2.rate[t/d],Gas export compressor.co2.cumulative[t],Gas export compressor.co2.tax[NOK/d],Gas export compressor.co2.tax_cumulative[NOK],Gas export compressor.co2.quota[NOK/d],Gas export compressor.co2.quota_cumulative[NOK],Gas export compressor.recirculation_loss[MW],Gas export compressor.rate_exceeds_maximum[N/A],Gas export compressor.outlet_pressure_before_choking[bara],Gas injection compressor.is_valid[N/A],Gas injection compressor.energy_usage[MW],Gas injection compressor.energy_usage_cumulative[MWd],Gas injection compressor.power[MW],Gas injection compressor.power_cumulative[GWh],Gas injection compressor.recirculation_loss[MW],Gas injection compressor.rate_exceeds_maximum[N/A],Gas injection compressor.outlet_pressure_before_choking[bara],Produced water reinjection pump.is_valid[N/A],Produced water reinjection pump.energy_usage[MW],Produced water reinjection pump.energy_usage_cumulative[MWd],Produced water reinjection pump.power[MW],Produced water reinjection pump.power_cumulative[GWh],Produced water reinjection pump.inlet_liquid_rate_m3_per_day[Sm3/d],Produced water reinjection pump.inlet_pressure_bar[bara],Produced water reinjection pump.outlet_pressure_bar[bara],Produced water reinjection pump.operational_head[J/kg],Base production load.is_valid[N/A],Base production load.energy_usage[MW],Base production load.energy_usage_cumulative[MWd],Base production load.power[MW],Base production load.power_cumulative[GWh],Flare.is_valid[N/A],Flare.energy_usage[Sm3/d],Flare.energy_usage_cumulative[Sm3],Flare.co2.rate[t/d],Flare.co2.cumulative[t],Flare.co2.tax[NOK/d],Flare.co2.tax_cumulative[NOK],Flare.co2.quota[NOK/d],Flare.co2.quota_cumulative[NOK],Sea water injection pump.is_valid[N/A],Sea water injection pump.energy_usage[MW],Sea water injection pump.energy_usage_cumulative[MWd],Sea water injection pump.power[MW],Sea water injection pump.power_cumulative[GWh] +2020-01-01 00:00:00,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99958,7.790077,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99958,7.790077, 1.00000,1, 142678.00000, 0.00000, 22.69000, 0.00000, 312.46480, 0.00000, 214017.00000, 0.00000, 81240853.00000, 0.00000, 77.31000,1, 130000.00000, 0.00000, 284.70000, 0.00000, 195000.00000, 0.00000, 74022000.00000, 0.00000, 0.00000,0,nan,1, 4.89000, 0.00000, 4.89000, 0.00000, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 0.00000, 11.80000, 0.00000,1, 7000.00000, 0.00000, 15.33000, 0.00000, 10500.00000, 0.00000, 3985800.00000, 0.00000,1, 6.00000, 0.00000, 6.00000, 0.00000 +2021-01-01 00:00:00,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44360, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285006998.00000, 11600.00000,48.99958,7.790077,52.27962,8.311545,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44360, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285006998.00000, 11600.00000,48.99958,7.790077,52.27962,8.311545, 1.00000,1, 138772.00000, 52220148.00000, 22.06000, 199.30900, 303.91070, 114362.10000, 208158.00000, 78330222.00000, 79016777.00000, 29734152271.00000, 77.94000,1, 131142.90000, 47580000.00000, 287.20290, 104200.20000, 196714.30000, 71370000.00000, 74672743.00000, 27092052000.00000, 0.00000,0,nan,1, 5.01000, 1789.74000, 5.01000, 42.95376, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 19000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 4318.80000, 11.80000, 103.65120,1, 7000.00000, 2562000.00000, 15.33000, 5610.78000, 10500.00000, 3843000.00000, 3985800.00000, 1458802800.00000,1, 5.25000, 2196.00000, 5.25000, 52.70400 +2022-01-01 00:00:00,1, 309378.10000, 203436086.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154112.00000, 176159893.00000, 115836498798.00000, 10700.00000,50.57612,8.040718,63.32131,10.06698,1, 309378.10000, 203436071.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154112.00000, 176159893.00000, 115836498798.00000, 10700.00000,50.57612,8.040718,63.32131,10.06698, 1.00000,1, 170092.40000, 102871928.00000, 27.11168, 392.55460, 372.50230, 225289.50000, 255138.60000, 154307892.00000, 96850607.00000, 58575275803.00000, 72.88832,1, 132285.70000, 95447143.00000, 289.70570, 209029.20000, 198428.60000, 143170714.00000, 75323486.00000, 54347603143.00000, 0.00000,0,nan,1, 5.13000, 3618.39000, 5.13000, 86.84136, 0.00000,0,nan,1, 4.68168, 0.00000, 4.68168, 0.00000, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 8625.80000, 11.80000, 207.01920,1, 7000.00000, 5117000.00000, 15.33000, 11206.23000, 10500.00000, 7675500.00000, 3985800.00000, 2913619800.00000,1, 5.50000, 4112.25000, 5.50000, 98.69400 +2023-01-01 00:00:00,1, 317427.90000, 316359093.00000, 28.22570, 630.05290, 695.16720, 692826.40000, 476141.90000, 474538640.00000, 180743460.00000, 180134859743.00000, 9800.00000,54.49104,8.663123,70.93543,11.27749,1, 317427.90000, 316359079.00000, 28.22570, 630.05280, 695.16720, 692826.40000, 476141.90000, 474538640.00000, 180743460.00000, 180134859743.00000, 9800.00000,54.49104,8.663123,70.93543,11.27749, 1.00000,1, 176999.40000, 164955650.00000, 28.22570, 630.05280, 387.62860, 361252.90000, 265499.00000, 247433475.00000, 100783431.00000, 93925747210.00000, 71.77430,1, 133428.60000, 143731429.00000, 292.20860, 314771.80000, 200142.90000, 215597143.00000, 75974229.00000, 81840675429.00000, 0.00000,0,nan,1, 5.56000, 5490.84000, 5.56000, 131.78020, 0.00000,0,nan,1, 4.86570, 1708.81200, 4.86570, 41.01148, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 12932.80000, 11.80000, 310.38720,1, 7000.00000, 7672000.00000, 15.33000, 16801.68000, 10500.00000, 11508000.00000, 3985800.00000, 4368436800.00000,1, 6.00000, 6119.75000, 6.00000, 146.87400 +2024-01-01 00:00:00,1, 341037.19290, 432220276.00000, 31.83370, 877.31000, 746.87137, 946562.40000, 511555.68934, 648330433.00000, 194186556.04918, 246106222643.00000, 9908.46995,58.10161,9.23714,75.37706,11.98363,1, 341037.19290, 432220271.00000, 31.83370, 877.31000, 746.87137, 946562.40000, 511555.68934, 648330433.00000, 194186556.04918, 246106222643.00000, 9908.46995,58.10161,9.23714,75.37706,11.98363, 1.00000,1, 199368.89836, 229560413.00000, 31.83370, 877.31000, 436.61798, 502737.30000, 299053.38907, 344340620.00000, 113520667.47268, 130711699411.00000, 68.16630,1, 134668.20301, 192432857.00000, 294.92339, 421428.00000, 202002.30027, 288649286.00000, 76680088.57650, 109571268857.00000, 0.00000,0,nan,1, 5.75473, 7520.24000, 5.75473, 180.48580, 0.00000,0,nan,1, 4.52221, 3484.79300, 4.52221, 83.63503, 14084.69945, 10.00000, 200.00000, 18811.88000,1, 11.80000, 17239.80000, 11.80000, 413.75520,1, 7000.00000, 10227000.00000, 15.33000, 22397.13000, 10500.00000, 15340500.00000, 3985800.00000, 5823253800.00000,1, 9.75676, 8309.75000, 9.75676, 199.43400 +2025-01-01 00:00:00,1, 345398.60000, 557039889.00000, 32.36843, 1156.93700, 756.42290, 1219917.00000, 518097.80000, 835559815.00000, 196669944.00000, 317178502157.00000, 10000.00000,61.24698,9.737199,75.64229,12.0258,1, 345398.60000, 557039870.00000, 32.36843, 1156.93700, 756.42290, 1219917.00000, 518097.80000, 835559815.00000, 196669944.00000, 317178502157.00000, 10000.00000,61.24698,9.737199,75.64229,12.0258, 1.00000,1, 202684.30000, 302529441.00000, 32.36843, 1156.93700, 443.87860, 662539.50000, 304026.40000, 453794162.00000, 115408430.00000, 172260263837.00000, 67.63157,1, 135714.30000, 241721429.00000, 297.21430, 529369.90000, 203571.40000, 362582143.00000, 77275714.00000, 137636181429.00000, 0.00000,0,nan,1, 6.13000, 9626.47000, 6.13000, 231.03530, 0.00000,0,nan,1, 4.68168, 5139.92300, 4.68168, 123.35820, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 21558.60000, 11.80000, 517.40640,1, 7000.00000, 12789000.00000, 15.33000, 28007.91000, 10500.00000, 19183500.00000, 3985800.00000, 7282056600.00000,1, 9.75676, 11880.72000, 9.75676, 285.13740 +2026-01-01 00:00:00,0, 344604.30000, 683110378.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665512.00000, 196217713.00000, 388963031717.00000, 11100.00000,63.4764,10.09164,67.9895,10.80914,0, 344604.30000, 683110347.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665512.00000, 196217713.00000, 388963031717.00000, 11100.00000,63.4764,10.09164,67.9895,10.80914, 1.00000,1, 200747.20000, 376509204.00000, 32.05600, 1440.48500, 439.63640, 824555.20000, 301120.80000, 564763806.00000, 114305456.00000, 214384340728.00000, 67.94400,1, 136857.10000, 291257143.00000, 299.71710, 637853.10000, 205285.70000, 436885714.00000, 77926457.00000, 165841817143.00000, 0.00000,0,nan,1, 6.25000, 11863.92000, 6.25000, 284.73410, 0.00000,0,nan,0, 4.68168, 6848.73500, 4.68168, 164.36960, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 25865.60000, 11.80000, 620.77440,1, 7000.00000, 15344000.00000, 15.33000, 33603.36000, 10500.00000, 23016000.00000, 3985800.00000, 8736873600.00000,1, 9.32432, 15441.94000, 9.32432, 370.60650 +2027-01-01 00:00:00,1, 355281.90000, 808890948.00000, 33.04086, 1721.29500, 778.06750, 1771471.00000, 532922.90000, 1213336385.00000, 202297534.00000, 460582496962.00000, 10500.00000,64.13842,10.19689,74.10167,11.78087,1, 355281.90000, 808890932.00000, 33.04086, 1721.29500, 778.06750, 1771471.00000, 532922.90000, 1213336385.00000, 202297534.00000, 460582496962.00000, 10500.00000,64.13842,10.19689,74.10167,11.78087, 1.00000,1, 206853.40000, 449781932.00000, 33.04086, 1721.29500, 453.00890, 985022.40000, 310280.00000, 674672898.00000, 117782305.00000, 256105832121.00000, 66.95914,1, 141428.60000, 341210000.00000, 309.72860, 747249.90000, 212142.90000, 511815000.00000, 80529429.00000, 194284974000.00000, 0.00000,0,nan,1, 6.37000, 14145.17000, 6.37000, 339.48410, 0.00000,0,nan,1, 4.68168, 8557.54700, 4.68168, 205.38110, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 30172.60000, 11.80000, 724.14240,1, 7000.00000, 17899000.00000, 15.33000, 39198.81000, 10500.00000, 26848500.00000, 3985800.00000, 10191690600.00000,1, 10.18919, 18845.32000, 10.18919, 452.28760 +2028-01-01 00:00:00,1, 339026.40000, 938568841.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853243.00000, 193041628.00000, 534421096872.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 339026.40000, 938568838.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853243.00000, 193041628.00000, 534421096872.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252, 1.00000,1, 202026.40000, 525283409.00000, 32.26232, 2010.73300, 442.43780, 1150371.00000, 303039.60000, 787925114.00000, 115033828.00000, 299096373302.00000, 67.73768,1, 130000.00000, 392831429.00000, 284.70000, 860300.80000, 195000.00000, 589247143.00000, 74022000.00000, 223678215429.00000, 0.00000,0,nan,1, 6.52000, 16470.22000, 6.52000, 395.28530, 0.00000,0,nan,1, 4.18556, 10266.36000, 4.18556, 246.39260, 12000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 34479.60000, 11.80000, 827.51040,1, 7000.00000, 20454000.00000, 15.33000, 44794.26000, 10500.00000, 30681000.00000, 3985800.00000, 11646507600.00000,1, 9.75676, 22564.37000, 9.75676, 541.54490 +2029-01-01 00:00:00,1, 263106.70000, 1062652504.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978737.00000, 149812941.00000, 605074332720.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 263106.70000, 1062652498.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978737.00000, 149812941.00000, 605074332720.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417, 1.00000,1, 206106.70000, 599225069.00000, 32.92043, 2294.12500, 451.37360, 1312303.00000, 309160.00000, 898837604.00000, 117357141.00000, 341198754304.00000, 67.07957,1, 50000.00000, 440411429.00000, 109.50000, 964501.00000, 75000.00000, 660617143.00000, 28470000.00000, 250770267429.00000, 0.00000,0,nan,1, 6.64000, 18856.54000, 6.64000, 452.55700, 0.00000,0,nan,1, 4.50746, 11798.27000, 4.50746, 283.15860, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 38798.40000, 11.80000, 931.16160,1, 7000.00000, 23016000.00000, 15.33000, 50405.04000, 10500.00000, 34524000.00000, 3985800.00000, 13105310400.00000,1, 9.97297, 26135.34000, 9.97297, 627.24830 +2030-01-01 00:00:00,1, 262298.20000, 1158686449.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029637.00000, 149352574.00000, 659756056185.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 262298.20000, 1158686434.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029637.00000, 149352574.00000, 659756056185.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156, 1.00000,1, 205298.20000, 674454005.00000, 32.79003, 2582.50800, 449.60300, 1477054.00000, 307947.20000, 1011681008.00000, 116896774.00000, 384034110692.00000, 67.20997,1, 50000.00000, 458661429.00000, 109.50000, 1004469.00000, 75000.00000, 687992143.00000, 28470000.00000, 261161817429.00000, 0.00000,0,nan,1, 6.80000, 21280.14000, 6.80000, 510.72340, 0.00000,0,nan,1, 4.86570, 13443.50000, 4.86570, 322.64390, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 43105.40000, 11.80000, 1034.53000,1, 7000.00000, 25571000.00000, 15.33000, 56000.49000, 10500.00000, 38356500.00000, 3985800.00000, 14560127400.00000,1, 9.32432, 29775.48000, 9.32432, 714.61150 +2031-01-01 00:00:00,1, 260635.10000, 1254425292.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637865.00000, 148405599.00000, 714269745695.00000, 7000.00000,67.68732,10.7611,81.54154,12.96368,1, 260635.10000, 1254425263.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637865.00000, 148405599.00000, 714269745695.00000, 7000.00000,67.68732,10.7611,81.54154,12.96368, 1.00000,1, 203635.10000, 749387835.00000, 32.52178, 2869.74900, 445.96080, 1641159.00000, 305452.60000, 1124081752.00000, 115949799.00000, 426701433042.00000, 67.47822,1, 50000.00000, 476911429.00000, 109.50000, 1044436.00000, 75000.00000, 715367143.00000, 28470000.00000, 271553367429.00000, 0.00000,0,nan,1, 6.89000, 23762.14000, 6.89000, 570.29140, 0.00000,0,nan,1, 4.50746, 15219.48000, 4.50746, 365.26750, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 47412.40000, 11.80000, 1137.89800,1, 7000.00000, 28126000.00000, 15.33000, 61595.94000, 10500.00000, 42189000.00000, 3985800.00000, 16014944400.00000,1, 9.32432, 33178.86000, 9.32432, 796.29260 +2032-01-01 00:00:00,1, 0.00000, 1349557104.00000, 0.00000, 3154.64000, 0.00000, 2955530.00000, 0.00000, 2024335564.00000, 0.00000, 768437789330.00000, 0.00000,68.50782,10.89154,nan,nan,1, 0.00000, 1349557058.00000, 0.00000, 3154.64000, 0.00000, 2955530.00000, 0.00000, 2024335564.00000, 0.00000, 768437789330.00000, 0.00000,68.50782,10.89154,nan,nan, 1.00000,1, 0.00000, 823714629.00000, 0.00000, 3154.64000, 0.00000, 1803935.00000, 0.00000, 1235571944.00000, 0.00000, 469023109836.00000, 0.00000,1, 0.00000, 495161429.00000, 0.00000, 1084404.00000, 0.00000, 742742143.00000, 0.00000, 281944917429.00000, 0.00000,0,nan,1, 0.00000, 26276.99000, 0.00000, 630.64780, 0.00000,0,nan,1, 0.00000, 16864.70000, 0.00000, 404.75280, 0.00000, 10.00000, 200.00000, 18811.88000,1, 0.00000, 51719.40000, 0.00000, 1241.26600,1, 0.00000, 30681000.00000, 0.00000, 67191.39000, 0.00000, 46021500.00000, 0.00000, 17469761400.00000,1, 0.00000, 36582.24000, 0.00000, 877.97370 diff --git a/src/tests/ecalc_cli/snapshots/test_app/test_csv_temporal_default/test_temporal.csv b/src/tests/ecalc_cli/snapshots/test_app/test_csv_temporal_default/test_temporal.csv index a5f0229e9..5ab30693f 100644 --- a/src/tests/ecalc_cli/snapshots/test_app/test_csv_temporal_default/test_temporal.csv +++ b/src/tests/ecalc_cli/snapshots/test_app/test_csv_temporal_default/test_temporal.csv @@ -1,14 +1,14 @@ -timesteps,model_temporal.is_valid[N/A],model_temporal.energy_usage[Sm3/d],model_temporal.energy_usage_cumulative[Sm3],model_temporal.power[MW],model_temporal.power_cumulative[GWh],model_temporal.co2.rate[t/d],model_temporal.co2.cumulative[t],model_temporal.co2.tax[NOK/d],model_temporal.co2.tax_cumulative[NOK],model_temporal.co2.quota[NOK/d],model_temporal.co2.quota_cumulative[NOK],model_temporal.hydrocarbon_export_rate[Sm3/d],model_temporal.co2.intensity_sm3[kg/Sm3],model_temporal.co2.intensity_boe[kg/BOE],model_temporal.co2.intensity_yearly_sm3[kg/Sm3],model_temporal.co2.intensity_yearly_boe[kg/BOE],Installation A.is_valid[N/A],Installation A.energy_usage[Sm3/d],Installation A.energy_usage_cumulative[Sm3],Installation A.power[MW],Installation A.power_cumulative[GWh],Installation A.co2.rate[t/d],Installation A.co2.cumulative[t],Installation A.co2.tax[NOK/d],Installation A.co2.tax_cumulative[NOK],Installation A.co2.quota[NOK/d],Installation A.co2.quota_cumulative[NOK],Installation A.hydrocarbon_export_rate[Sm3/d],Installation A.co2.intensity_sm3[kg/Sm3],Installation A.co2.intensity_boe[kg/BOE],Installation A.co2.intensity_yearly_sm3[kg/Sm3],Installation A.co2.intensity_yearly_boe[kg/BOE],Generator set A.is_valid[N/A],Generator set A.energy_usage[Sm3/d],Generator set A.energy_usage_cumulative[Sm3],Generator set A.power[MW],Generator set A.power_cumulative[GWh],Generator set A.co2.rate[t/d],Generator set A.co2.cumulative[t],Generator set A.co2.tax[NOK/d],Generator set A.co2.tax_cumulative[NOK],Generator set A.co2.quota[NOK/d],Generator set A.co2.quota_cumulative[NOK],Generator set A.power_capacity_margin[MW],Gas export compressor.is_valid[N/A],Gas export compressor.energy_usage[Sm3/d],Gas export compressor.energy_usage_cumulative[Sm3],Gas export compressor.co2.rate[t/d],Gas export compressor.co2.cumulative[t],Gas export compressor.co2.tax[NOK/d],Gas export compressor.co2.tax_cumulative[NOK],Gas export compressor.co2.quota[NOK/d],Gas export compressor.co2.quota_cumulative[NOK],Gas export compressor.recirculation_loss[MW],Gas export compressor.rate_exceeds_maximum[N/A],Gas export compressor.outlet_pressure_before_choking[bara],Gas injection compressor.is_valid[N/A],Gas injection compressor.energy_usage[MW],Gas injection compressor.energy_usage_cumulative[MWd],Gas injection compressor.power[MW],Gas injection compressor.power_cumulative[GWh],Gas injection compressor.recirculation_loss[MW],Gas injection compressor.rate_exceeds_maximum[N/A],Gas injection compressor.outlet_pressure_before_choking[bara],Produced water reinjection pump.is_valid[N/A],Produced water reinjection pump.energy_usage[MW],Produced water reinjection pump.energy_usage_cumulative[MWd],Produced water reinjection pump.power[MW],Produced water reinjection pump.power_cumulative[GWh],Produced water reinjection pump.inlet_liquid_rate_m3_per_day[Sm3/d],Produced water reinjection pump.inlet_pressure_bar[bara],Produced water reinjection pump.outlet_pressure_bar[bara],Produced water reinjection pump.operational_head[J/kg],Base production load.is_valid[N/A],Base production load.energy_usage[MW],Base production load.energy_usage_cumulative[MWd],Base production load.power[MW],Base production load.power_cumulative[GWh],Flare.is_valid[N/A],Flare.energy_usage[Sm3/d],Flare.energy_usage_cumulative[Sm3],Flare.co2.rate[t/d],Flare.co2.cumulative[t],Flare.co2.tax[NOK/d],Flare.co2.tax_cumulative[NOK],Flare.co2.quota[NOK/d],Flare.co2.quota_cumulative[NOK],Sea water injection pump.is_valid[N/A],Sea water injection pump.energy_usage[MW],Sea water injection pump.energy_usage_cumulative[MWd],Sea water injection pump.power[MW],Sea water injection pump.power_cumulative[GWh] -2020-01-01 00:00:00,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99959,7.790077,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99959,7.790077,1, 142678.00000, 0.00000, 22.69000, 0.00000, 312.46480, 0.00000, 214017.00000, 0.00000, 81240853.00000, 0.00000, 77.31000,1, 130000.00000, 0.00000, 284.70000, 0.00000, 195000.00000, 0.00000, 74022000.00000, 0.00000, 0.00000,0,nan,1, 4.89000, 0.00000, 4.89000, 0.00000, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 0.00000, 11.80000, 0.00000,1, 7000.00000, 0.00000, 15.33000, 0.00000, 10500.00000, 0.00000, 3985800.00000, 0.00000,1, 6.00000, 0.00000, 6.00000, 0.00000 -2021-01-01 00:00:00,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44350, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285007071.00000, 11600.00000,48.99959,7.790077,52.27962,8.311545,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44350, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285007071.00000, 11600.00000,48.99959,7.790077,52.27962,8.311545,1, 138772.00000, 52220148.00000, 22.06000, 199.30900, 303.91070, 114362.10000, 208158.00000, 78330222.00000, 79016777.00000, 29734152271.00000, 77.94000,1, 131142.90000, 47580000.00000, 287.20290, 104200.20000, 196714.30000, 71370000.00000, 74672743.00000, 27092052000.00000, 0.00000,0,nan,1, 5.01000, 1789.74000, 5.01000, 42.95376, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 19000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 4318.80000, 11.80000, 103.65120,1, 7000.00000, 2562000.00000, 15.33000, 5610.78000, 10500.00000, 3843000.00000, 3985800.00000, 1458802800.00000,1, 5.25000, 2196.00000, 5.25000, 52.70400 -2022-01-01 00:00:00,1, 309378.10000, 203436086.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154106.00000, 176159892.00000, 115836498746.00000, 10700.00000,50.57611,8.040718,63.32131,10.06698,1, 309378.10000, 203436071.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154106.00000, 176159892.00000, 115836498746.00000, 10700.00000,50.57611,8.040718,63.32131,10.06698,1, 170092.40000, 102871928.00000, 27.11168, 392.55460, 372.50230, 225289.50000, 255138.60000, 154307892.00000, 96850607.00000, 58575275803.00000, 72.88832,1, 132285.70000, 95447143.00000, 289.70570, 209029.20000, 198428.60000, 143170714.00000, 75323486.00000, 54347603143.00000, 0.00000,0,nan,1, 5.13000, 3618.39000, 5.13000, 86.84136, 0.00000,0,nan,1, 4.68168, 0.00000, 4.68168, 0.00000, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 8625.80000, 11.80000, 207.01920,1, 7000.00000, 5117000.00000, 15.33000, 11206.23000, 10500.00000, 7675500.00000, 3985800.00000, 2913619800.00000,1, 5.50000, 4112.25000, 5.50000, 98.69400 -2023-01-01 00:00:00,1, 317427.90000, 316359093.00000, 28.22570, 630.05290, 695.16720, 692826.40000, 476141.90000, 474538618.00000, 180743459.00000, 180134859439.00000, 9800.00000,54.49104,8.663123,70.93542,11.27749,1, 317427.90000, 316359079.00000, 28.22570, 630.05280, 695.16720, 692826.40000, 476141.90000, 474538618.00000, 180743459.00000, 180134859439.00000, 9800.00000,54.49104,8.663123,70.93542,11.27749,1, 176999.40000, 164955650.00000, 28.22570, 630.05280, 387.62860, 361252.90000, 265499.00000, 247433475.00000, 100783431.00000, 93925747210.00000, 71.77430,1, 133428.60000, 143731429.00000, 292.20860, 314771.80000, 200142.90000, 215597143.00000, 75974229.00000, 81840675429.00000, 0.00000,0,nan,1, 5.56000, 5490.84000, 5.56000, 131.78020, 0.00000,0,nan,1, 4.86570, 1708.81200, 4.86570, 41.01148, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 12932.80000, 11.80000, 310.38720,1, 7000.00000, 7672000.00000, 15.33000, 16801.68000, 10500.00000, 11508000.00000, 3985800.00000, 4368436800.00000,1, 6.00000, 6119.75000, 6.00000, 146.87400 -2024-01-01 00:00:00,1, 341037.19290, 432220276.00000, 31.83370, 877.31000, 746.87137, 946562.40000, 511555.69781, 648330406.00000, 194186556.96448, 246106222069.00000, 9908.46995,58.10161,9.23714,75.37706,11.98363,1, 341037.19290, 432220271.00000, 31.83370, 877.31000, 746.87137, 946562.40000, 511555.69781, 648330406.00000, 194186556.96448, 246106222069.00000, 9908.46995,58.10161,9.23714,75.37706,11.98363,1, 199368.89836, 229560413.00000, 31.83370, 877.31000, 436.61798, 502737.30000, 299053.38907, 344340620.00000, 113520667.47268, 130711699411.00000, 68.16630,1, 134668.20301, 192432857.00000, 294.92339, 421428.00000, 202002.30027, 288649286.00000, 76680088.57650, 109571268857.00000, 0.00000,0,nan,1, 5.75473, 7520.24000, 5.75473, 180.48580, 0.00000,0,nan,1, 4.52221, 3484.79300, 4.52221, 83.63503, 14084.69945, 10.00000, 200.00000, 18811.88000,1, 11.80000, 17239.80000, 11.80000, 413.75520,1, 7000.00000, 10227000.00000, 15.33000, 22397.13000, 10500.00000, 15340500.00000, 3985800.00000, 5823253800.00000,1, 9.75676, 8309.75000, 9.75676, 199.43400 -2025-01-01 00:00:00,1, 345398.60000, 557039889.00000, 32.36843, 1156.93700, 756.42290, 1219917.00000, 518097.90000, 835559805.00000, 196669944.00000, 317178501865.00000, 10000.00000,61.24698,9.737198,75.64229,12.0258,1, 345398.60000, 557039870.00000, 32.36843, 1156.93700, 756.42290, 1219917.00000, 518097.90000, 835559805.00000, 196669944.00000, 317178501865.00000, 10000.00000,61.24698,9.737198,75.64229,12.0258,1, 202684.30000, 302529441.00000, 32.36843, 1156.93700, 443.87860, 662539.50000, 304026.40000, 453794162.00000, 115408430.00000, 172260263837.00000, 67.63157,1, 135714.30000, 241721429.00000, 297.21430, 529369.90000, 203571.40000, 362582143.00000, 77275714.00000, 137636181429.00000, 0.00000,0,nan,1, 6.13000, 9626.47000, 6.13000, 231.03530, 0.00000,0,nan,1, 4.68168, 5139.92300, 4.68168, 123.35820, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 21558.60000, 11.80000, 517.40640,1, 7000.00000, 12789000.00000, 15.33000, 28007.91000, 10500.00000, 19183500.00000, 3985800.00000, 7282056600.00000,1, 9.75676, 11880.72000, 9.75676, 285.13740 -2026-01-01 00:00:00,0, 344604.30000, 683110378.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665520.00000, 196217713.00000, 388963031470.00000, 11100.00000,63.47639,10.09164,67.98951,10.80914,0, 344604.30000, 683110347.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665520.00000, 196217713.00000, 388963031470.00000, 11100.00000,63.47639,10.09164,67.98951,10.80914,1, 200747.20000, 376509204.00000, 32.05600, 1440.48500, 439.63640, 824555.20000, 301120.80000, 564763806.00000, 114305456.00000, 214384340728.00000, 67.94400,1, 136857.10000, 291257143.00000, 299.71710, 637853.10000, 205285.70000, 436885714.00000, 77926457.00000, 165841817143.00000, 0.00000,0,nan,1, 6.25000, 11863.92000, 6.25000, 284.73410, 0.00000,0,nan,0, 4.68168, 6848.73500, 4.68168, 164.36960, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 25865.60000, 11.80000, 620.77440,1, 7000.00000, 15344000.00000, 15.33000, 33603.36000, 10500.00000, 23016000.00000, 3985800.00000, 8736873600.00000,1, 9.32432, 15441.94000, 9.32432, 370.60650 -2027-01-01 00:00:00,1, 355281.90000, 808890948.00000, 33.04086, 1721.29500, 778.06740, 1771471.00000, 532922.90000, 1213336398.00000, 202297533.00000, 460582496721.00000, 10500.00000,64.13842,10.19689,74.10166,11.78087,1, 355281.90000, 808890932.00000, 33.04086, 1721.29500, 778.06740, 1771471.00000, 532922.90000, 1213336398.00000, 202297533.00000, 460582496721.00000, 10500.00000,64.13842,10.19689,74.10166,11.78087,1, 206853.40000, 449781932.00000, 33.04086, 1721.29500, 453.00890, 985022.40000, 310280.00000, 674672898.00000, 117782305.00000, 256105832121.00000, 66.95914,1, 141428.60000, 341210000.00000, 309.72860, 747249.90000, 212142.90000, 511815000.00000, 80529429.00000, 194284974000.00000, 0.00000,0,nan,1, 6.37000, 14145.17000, 6.37000, 339.48410, 0.00000,0,nan,1, 4.68168, 8557.54700, 4.68168, 205.38110, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 30172.60000, 11.80000, 724.14240,1, 7000.00000, 17899000.00000, 15.33000, 39198.81000, 10500.00000, 26848500.00000, 3985800.00000, 10191690600.00000,1, 10.18919, 18845.32000, 10.18919, 452.28760 -2028-01-01 00:00:00,1, 339026.40000, 938568841.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853257.00000, 193041628.00000, 534421096330.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 339026.40000, 938568838.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853257.00000, 193041628.00000, 534421096330.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 202026.40000, 525283409.00000, 32.26232, 2010.73300, 442.43780, 1150371.00000, 303039.60000, 787925114.00000, 115033828.00000, 299096373302.00000, 67.73768,1, 130000.00000, 392831429.00000, 284.70000, 860300.80000, 195000.00000, 589247143.00000, 74022000.00000, 223678215429.00000, 0.00000,0,nan,1, 6.52000, 16470.22000, 6.52000, 395.28530, 0.00000,0,nan,1, 4.18556, 10266.36000, 4.18556, 246.39260, 12000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 34479.60000, 11.80000, 827.51040,1, 7000.00000, 20454000.00000, 15.33000, 44794.26000, 10500.00000, 30681000.00000, 3985800.00000, 11646507600.00000,1, 9.75676, 22564.37000, 9.75676, 541.54490 -2029-01-01 00:00:00,1, 263106.70000, 1062652504.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978746.00000, 149812941.00000, 605074332133.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 263106.70000, 1062652498.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978746.00000, 149812941.00000, 605074332133.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 206106.70000, 599225069.00000, 32.92043, 2294.12500, 451.37360, 1312303.00000, 309160.00000, 898837604.00000, 117357141.00000, 341198754304.00000, 67.07957,1, 50000.00000, 440411429.00000, 109.50000, 964501.00000, 75000.00000, 660617143.00000, 28470000.00000, 250770267429.00000, 0.00000,0,nan,1, 6.64000, 18856.54000, 6.64000, 452.55700, 0.00000,0,nan,1, 4.50746, 11798.27000, 4.50746, 283.15860, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 38798.40000, 11.80000, 931.16160,1, 7000.00000, 23016000.00000, 15.33000, 50405.04000, 10500.00000, 34524000.00000, 3985800.00000, 13105310400.00000,1, 9.97297, 26135.34000, 9.97297, 627.24830 -2030-01-01 00:00:00,1, 262298.20000, 1158686449.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029651.00000, 149352574.00000, 659756055520.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 262298.20000, 1158686434.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029651.00000, 149352574.00000, 659756055520.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 205298.20000, 674454005.00000, 32.79003, 2582.50800, 449.60300, 1477054.00000, 307947.20000, 1011681008.00000, 116896774.00000, 384034110692.00000, 67.20997,1, 50000.00000, 458661429.00000, 109.50000, 1004469.00000, 75000.00000, 687992143.00000, 28470000.00000, 261161817429.00000, 0.00000,0,nan,1, 6.80000, 21280.14000, 6.80000, 510.72340, 0.00000,0,nan,1, 4.86570, 13443.50000, 4.86570, 322.64390, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 43105.40000, 11.80000, 1034.53000,1, 7000.00000, 25571000.00000, 15.33000, 56000.49000, 10500.00000, 38356500.00000, 3985800.00000, 14560127400.00000,1, 9.32432, 29775.48000, 9.32432, 714.61150 -2031-01-01 00:00:00,1, 260635.10000, 1254425292.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637895.00000, 148405599.00000, 714269744871.00000, 7000.00000,67.68732,10.7611,81.54154,12.96368,1, 260635.10000, 1254425263.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637895.00000, 148405599.00000, 714269744871.00000, 7000.00000,67.68732,10.7611,81.54154,12.96368,1, 203635.10000, 749387835.00000, 32.52178, 2869.74900, 445.96080, 1641159.00000, 305452.60000, 1124081752.00000, 115949799.00000, 426701433042.00000, 67.47822,1, 50000.00000, 476911429.00000, 109.50000, 1044436.00000, 75000.00000, 715367143.00000, 28470000.00000, 271553367429.00000, 0.00000,0,nan,1, 6.89000, 23762.14000, 6.89000, 570.29140, 0.00000,0,nan,1, 4.50746, 15219.48000, 4.50746, 365.26750, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 47412.40000, 11.80000, 1137.89800,1, 7000.00000, 28126000.00000, 15.33000, 61595.94000, 10500.00000, 42189000.00000, 3985800.00000, 16014944400.00000,1, 9.32432, 33178.86000, 9.32432, 796.29260 -2032-01-01 00:00:00,1, 0.00000, 1349557104.00000, 0.00000, 3154.64000, 0.00000, 2955530.00000, 0.00000, 2024335587.00000, 0.00000, 768437788665.00000, 0.00000,68.50782,10.89154,nan,nan,1, 0.00000, 1349557058.00000, 0.00000, 3154.64000, 0.00000, 2955530.00000, 0.00000, 2024335587.00000, 0.00000, 768437788665.00000, 0.00000,68.50782,10.89154,nan,nan,1, 0.00000, 823714629.00000, 0.00000, 3154.64000, 0.00000, 1803935.00000, 0.00000, 1235571944.00000, 0.00000, 469023109836.00000, 0.00000,1, 0.00000, 495161429.00000, 0.00000, 1084404.00000, 0.00000, 742742143.00000, 0.00000, 281944917429.00000, 0.00000,0,nan,1, 0.00000, 26276.99000, 0.00000, 630.64780, 0.00000,0,nan,1, 0.00000, 16864.70000, 0.00000, 404.75280, 0.00000, 10.00000, 200.00000, 18811.88000,1, 0.00000, 51719.40000, 0.00000, 1241.26600,1, 0.00000, 30681000.00000, 0.00000, 67191.39000, 0.00000, 46021500.00000, 0.00000, 17469761400.00000,1, 0.00000, 36582.24000, 0.00000, 877.97370 +timesteps,model_temporal.is_valid[N/A],model_temporal.energy_usage[Sm3/d],model_temporal.energy_usage_cumulative[Sm3],model_temporal.power[MW],model_temporal.power_cumulative[GWh],model_temporal.co2.rate[t/d],model_temporal.co2.cumulative[t],model_temporal.co2.tax[NOK/d],model_temporal.co2.tax_cumulative[NOK],model_temporal.co2.quota[NOK/d],model_temporal.co2.quota_cumulative[NOK],model_temporal.hydrocarbon_export_rate[Sm3/d],model_temporal.co2.intensity_sm3[kg/Sm3],model_temporal.co2.intensity_boe[kg/BOE],model_temporal.co2.intensity_yearly_sm3[kg/Sm3],model_temporal.co2.intensity_yearly_boe[kg/BOE],Installation A.is_valid[N/A],Installation A.energy_usage[Sm3/d],Installation A.energy_usage_cumulative[Sm3],Installation A.power[MW],Installation A.power_cumulative[GWh],Installation A.co2.rate[t/d],Installation A.co2.cumulative[t],Installation A.co2.tax[NOK/d],Installation A.co2.tax_cumulative[NOK],Installation A.co2.quota[NOK/d],Installation A.co2.quota_cumulative[NOK],Installation A.hydrocarbon_export_rate[Sm3/d],Installation A.co2.intensity_sm3[kg/Sm3],Installation A.co2.intensity_boe[kg/BOE],Installation A.co2.intensity_yearly_sm3[kg/Sm3],Installation A.co2.intensity_yearly_boe[kg/BOE],Installation A.regularity[N/A],Generator set A.is_valid[N/A],Generator set A.energy_usage[Sm3/d],Generator set A.energy_usage_cumulative[Sm3],Generator set A.power[MW],Generator set A.power_cumulative[GWh],Generator set A.co2.rate[t/d],Generator set A.co2.cumulative[t],Generator set A.co2.tax[NOK/d],Generator set A.co2.tax_cumulative[NOK],Generator set A.co2.quota[NOK/d],Generator set A.co2.quota_cumulative[NOK],Generator set A.power_capacity_margin[MW],Gas export compressor.is_valid[N/A],Gas export compressor.energy_usage[Sm3/d],Gas export compressor.energy_usage_cumulative[Sm3],Gas export compressor.co2.rate[t/d],Gas export compressor.co2.cumulative[t],Gas export compressor.co2.tax[NOK/d],Gas export compressor.co2.tax_cumulative[NOK],Gas export compressor.co2.quota[NOK/d],Gas export compressor.co2.quota_cumulative[NOK],Gas export compressor.recirculation_loss[MW],Gas export compressor.rate_exceeds_maximum[N/A],Gas export compressor.outlet_pressure_before_choking[bara],Gas injection compressor.is_valid[N/A],Gas injection compressor.energy_usage[MW],Gas injection compressor.energy_usage_cumulative[MWd],Gas injection compressor.power[MW],Gas injection compressor.power_cumulative[GWh],Gas injection compressor.recirculation_loss[MW],Gas injection compressor.rate_exceeds_maximum[N/A],Gas injection compressor.outlet_pressure_before_choking[bara],Produced water reinjection pump.is_valid[N/A],Produced water reinjection pump.energy_usage[MW],Produced water reinjection pump.energy_usage_cumulative[MWd],Produced water reinjection pump.power[MW],Produced water reinjection pump.power_cumulative[GWh],Produced water reinjection pump.inlet_liquid_rate_m3_per_day[Sm3/d],Produced water reinjection pump.inlet_pressure_bar[bara],Produced water reinjection pump.outlet_pressure_bar[bara],Produced water reinjection pump.operational_head[J/kg],Base production load.is_valid[N/A],Base production load.energy_usage[MW],Base production load.energy_usage_cumulative[MWd],Base production load.power[MW],Base production load.power_cumulative[GWh],Flare.is_valid[N/A],Flare.energy_usage[Sm3/d],Flare.energy_usage_cumulative[Sm3],Flare.co2.rate[t/d],Flare.co2.cumulative[t],Flare.co2.tax[NOK/d],Flare.co2.tax_cumulative[NOK],Flare.co2.quota[NOK/d],Flare.co2.quota_cumulative[NOK],Sea water injection pump.is_valid[N/A],Sea water injection pump.energy_usage[MW],Sea water injection pump.energy_usage_cumulative[MWd],Sea water injection pump.power[MW],Sea water injection pump.power_cumulative[GWh] +2020-01-01 00:00:00,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99958,7.790077,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99958,7.790077, 1.00000,1, 142678.00000, 0.00000, 22.69000, 0.00000, 312.46480, 0.00000, 214017.00000, 0.00000, 81240853.00000, 0.00000, 77.31000,1, 130000.00000, 0.00000, 284.70000, 0.00000, 195000.00000, 0.00000, 74022000.00000, 0.00000, 0.00000,0,nan,1, 4.89000, 0.00000, 4.89000, 0.00000, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 0.00000, 11.80000, 0.00000,1, 7000.00000, 0.00000, 15.33000, 0.00000, 10500.00000, 0.00000, 3985800.00000, 0.00000,1, 6.00000, 0.00000, 6.00000, 0.00000 +2021-01-01 00:00:00,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44360, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285006998.00000, 11600.00000,48.99958,7.790077,52.27962,8.311545,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44360, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285006998.00000, 11600.00000,48.99958,7.790077,52.27962,8.311545, 1.00000,1, 138772.00000, 52220148.00000, 22.06000, 199.30900, 303.91070, 114362.10000, 208158.00000, 78330222.00000, 79016777.00000, 29734152271.00000, 77.94000,1, 131142.90000, 47580000.00000, 287.20290, 104200.20000, 196714.30000, 71370000.00000, 74672743.00000, 27092052000.00000, 0.00000,0,nan,1, 5.01000, 1789.74000, 5.01000, 42.95376, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 19000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 4318.80000, 11.80000, 103.65120,1, 7000.00000, 2562000.00000, 15.33000, 5610.78000, 10500.00000, 3843000.00000, 3985800.00000, 1458802800.00000,1, 5.25000, 2196.00000, 5.25000, 52.70400 +2022-01-01 00:00:00,1, 309378.10000, 203436086.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154112.00000, 176159893.00000, 115836498798.00000, 10700.00000,50.57612,8.040718,63.32131,10.06698,1, 309378.10000, 203436071.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154112.00000, 176159893.00000, 115836498798.00000, 10700.00000,50.57612,8.040718,63.32131,10.06698, 1.00000,1, 170092.40000, 102871928.00000, 27.11168, 392.55460, 372.50230, 225289.50000, 255138.60000, 154307892.00000, 96850607.00000, 58575275803.00000, 72.88832,1, 132285.70000, 95447143.00000, 289.70570, 209029.20000, 198428.60000, 143170714.00000, 75323486.00000, 54347603143.00000, 0.00000,0,nan,1, 5.13000, 3618.39000, 5.13000, 86.84136, 0.00000,0,nan,1, 4.68168, 0.00000, 4.68168, 0.00000, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 8625.80000, 11.80000, 207.01920,1, 7000.00000, 5117000.00000, 15.33000, 11206.23000, 10500.00000, 7675500.00000, 3985800.00000, 2913619800.00000,1, 5.50000, 4112.25000, 5.50000, 98.69400 +2023-01-01 00:00:00,1, 317427.90000, 316359093.00000, 28.22570, 630.05290, 695.16720, 692826.40000, 476141.90000, 474538640.00000, 180743460.00000, 180134859743.00000, 9800.00000,54.49104,8.663123,70.93543,11.27749,1, 317427.90000, 316359079.00000, 28.22570, 630.05280, 695.16720, 692826.40000, 476141.90000, 474538640.00000, 180743460.00000, 180134859743.00000, 9800.00000,54.49104,8.663123,70.93543,11.27749, 1.00000,1, 176999.40000, 164955650.00000, 28.22570, 630.05280, 387.62860, 361252.90000, 265499.00000, 247433475.00000, 100783431.00000, 93925747210.00000, 71.77430,1, 133428.60000, 143731429.00000, 292.20860, 314771.80000, 200142.90000, 215597143.00000, 75974229.00000, 81840675429.00000, 0.00000,0,nan,1, 5.56000, 5490.84000, 5.56000, 131.78020, 0.00000,0,nan,1, 4.86570, 1708.81200, 4.86570, 41.01148, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 12932.80000, 11.80000, 310.38720,1, 7000.00000, 7672000.00000, 15.33000, 16801.68000, 10500.00000, 11508000.00000, 3985800.00000, 4368436800.00000,1, 6.00000, 6119.75000, 6.00000, 146.87400 +2024-01-01 00:00:00,1, 341037.19290, 432220276.00000, 31.83370, 877.31000, 746.87137, 946562.40000, 511555.68934, 648330433.00000, 194186556.04918, 246106222643.00000, 9908.46995,58.10161,9.23714,75.37706,11.98363,1, 341037.19290, 432220271.00000, 31.83370, 877.31000, 746.87137, 946562.40000, 511555.68934, 648330433.00000, 194186556.04918, 246106222643.00000, 9908.46995,58.10161,9.23714,75.37706,11.98363, 1.00000,1, 199368.89836, 229560413.00000, 31.83370, 877.31000, 436.61798, 502737.30000, 299053.38907, 344340620.00000, 113520667.47268, 130711699411.00000, 68.16630,1, 134668.20301, 192432857.00000, 294.92339, 421428.00000, 202002.30027, 288649286.00000, 76680088.57650, 109571268857.00000, 0.00000,0,nan,1, 5.75473, 7520.24000, 5.75473, 180.48580, 0.00000,0,nan,1, 4.52221, 3484.79300, 4.52221, 83.63503, 14084.69945, 10.00000, 200.00000, 18811.88000,1, 11.80000, 17239.80000, 11.80000, 413.75520,1, 7000.00000, 10227000.00000, 15.33000, 22397.13000, 10500.00000, 15340500.00000, 3985800.00000, 5823253800.00000,1, 9.75676, 8309.75000, 9.75676, 199.43400 +2025-01-01 00:00:00,1, 345398.60000, 557039889.00000, 32.36843, 1156.93700, 756.42290, 1219917.00000, 518097.80000, 835559815.00000, 196669944.00000, 317178502157.00000, 10000.00000,61.24698,9.737199,75.64229,12.0258,1, 345398.60000, 557039870.00000, 32.36843, 1156.93700, 756.42290, 1219917.00000, 518097.80000, 835559815.00000, 196669944.00000, 317178502157.00000, 10000.00000,61.24698,9.737199,75.64229,12.0258, 1.00000,1, 202684.30000, 302529441.00000, 32.36843, 1156.93700, 443.87860, 662539.50000, 304026.40000, 453794162.00000, 115408430.00000, 172260263837.00000, 67.63157,1, 135714.30000, 241721429.00000, 297.21430, 529369.90000, 203571.40000, 362582143.00000, 77275714.00000, 137636181429.00000, 0.00000,0,nan,1, 6.13000, 9626.47000, 6.13000, 231.03530, 0.00000,0,nan,1, 4.68168, 5139.92300, 4.68168, 123.35820, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 21558.60000, 11.80000, 517.40640,1, 7000.00000, 12789000.00000, 15.33000, 28007.91000, 10500.00000, 19183500.00000, 3985800.00000, 7282056600.00000,1, 9.75676, 11880.72000, 9.75676, 285.13740 +2026-01-01 00:00:00,0, 344604.30000, 683110378.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665512.00000, 196217713.00000, 388963031717.00000, 11100.00000,63.4764,10.09164,67.9895,10.80914,0, 344604.30000, 683110347.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665512.00000, 196217713.00000, 388963031717.00000, 11100.00000,63.4764,10.09164,67.9895,10.80914, 1.00000,1, 200747.20000, 376509204.00000, 32.05600, 1440.48500, 439.63640, 824555.20000, 301120.80000, 564763806.00000, 114305456.00000, 214384340728.00000, 67.94400,1, 136857.10000, 291257143.00000, 299.71710, 637853.10000, 205285.70000, 436885714.00000, 77926457.00000, 165841817143.00000, 0.00000,0,nan,1, 6.25000, 11863.92000, 6.25000, 284.73410, 0.00000,0,nan,0, 4.68168, 6848.73500, 4.68168, 164.36960, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 25865.60000, 11.80000, 620.77440,1, 7000.00000, 15344000.00000, 15.33000, 33603.36000, 10500.00000, 23016000.00000, 3985800.00000, 8736873600.00000,1, 9.32432, 15441.94000, 9.32432, 370.60650 +2027-01-01 00:00:00,1, 355281.90000, 808890948.00000, 33.04086, 1721.29500, 778.06750, 1771471.00000, 532922.90000, 1213336385.00000, 202297534.00000, 460582496962.00000, 10500.00000,64.13842,10.19689,74.10167,11.78087,1, 355281.90000, 808890932.00000, 33.04086, 1721.29500, 778.06750, 1771471.00000, 532922.90000, 1213336385.00000, 202297534.00000, 460582496962.00000, 10500.00000,64.13842,10.19689,74.10167,11.78087, 1.00000,1, 206853.40000, 449781932.00000, 33.04086, 1721.29500, 453.00890, 985022.40000, 310280.00000, 674672898.00000, 117782305.00000, 256105832121.00000, 66.95914,1, 141428.60000, 341210000.00000, 309.72860, 747249.90000, 212142.90000, 511815000.00000, 80529429.00000, 194284974000.00000, 0.00000,0,nan,1, 6.37000, 14145.17000, 6.37000, 339.48410, 0.00000,0,nan,1, 4.68168, 8557.54700, 4.68168, 205.38110, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 30172.60000, 11.80000, 724.14240,1, 7000.00000, 17899000.00000, 15.33000, 39198.81000, 10500.00000, 26848500.00000, 3985800.00000, 10191690600.00000,1, 10.18919, 18845.32000, 10.18919, 452.28760 +2028-01-01 00:00:00,1, 339026.40000, 938568841.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853243.00000, 193041628.00000, 534421096872.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 339026.40000, 938568838.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853243.00000, 193041628.00000, 534421096872.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252, 1.00000,1, 202026.40000, 525283409.00000, 32.26232, 2010.73300, 442.43780, 1150371.00000, 303039.60000, 787925114.00000, 115033828.00000, 299096373302.00000, 67.73768,1, 130000.00000, 392831429.00000, 284.70000, 860300.80000, 195000.00000, 589247143.00000, 74022000.00000, 223678215429.00000, 0.00000,0,nan,1, 6.52000, 16470.22000, 6.52000, 395.28530, 0.00000,0,nan,1, 4.18556, 10266.36000, 4.18556, 246.39260, 12000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 34479.60000, 11.80000, 827.51040,1, 7000.00000, 20454000.00000, 15.33000, 44794.26000, 10500.00000, 30681000.00000, 3985800.00000, 11646507600.00000,1, 9.75676, 22564.37000, 9.75676, 541.54490 +2029-01-01 00:00:00,1, 263106.70000, 1062652504.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978737.00000, 149812941.00000, 605074332720.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 263106.70000, 1062652498.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978737.00000, 149812941.00000, 605074332720.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417, 1.00000,1, 206106.70000, 599225069.00000, 32.92043, 2294.12500, 451.37360, 1312303.00000, 309160.00000, 898837604.00000, 117357141.00000, 341198754304.00000, 67.07957,1, 50000.00000, 440411429.00000, 109.50000, 964501.00000, 75000.00000, 660617143.00000, 28470000.00000, 250770267429.00000, 0.00000,0,nan,1, 6.64000, 18856.54000, 6.64000, 452.55700, 0.00000,0,nan,1, 4.50746, 11798.27000, 4.50746, 283.15860, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 38798.40000, 11.80000, 931.16160,1, 7000.00000, 23016000.00000, 15.33000, 50405.04000, 10500.00000, 34524000.00000, 3985800.00000, 13105310400.00000,1, 9.97297, 26135.34000, 9.97297, 627.24830 +2030-01-01 00:00:00,1, 262298.20000, 1158686449.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029637.00000, 149352574.00000, 659756056185.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 262298.20000, 1158686434.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029637.00000, 149352574.00000, 659756056185.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156, 1.00000,1, 205298.20000, 674454005.00000, 32.79003, 2582.50800, 449.60300, 1477054.00000, 307947.20000, 1011681008.00000, 116896774.00000, 384034110692.00000, 67.20997,1, 50000.00000, 458661429.00000, 109.50000, 1004469.00000, 75000.00000, 687992143.00000, 28470000.00000, 261161817429.00000, 0.00000,0,nan,1, 6.80000, 21280.14000, 6.80000, 510.72340, 0.00000,0,nan,1, 4.86570, 13443.50000, 4.86570, 322.64390, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 43105.40000, 11.80000, 1034.53000,1, 7000.00000, 25571000.00000, 15.33000, 56000.49000, 10500.00000, 38356500.00000, 3985800.00000, 14560127400.00000,1, 9.32432, 29775.48000, 9.32432, 714.61150 +2031-01-01 00:00:00,1, 260635.10000, 1254425292.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637865.00000, 148405599.00000, 714269745695.00000, 7000.00000,67.68732,10.7611,81.54154,12.96368,1, 260635.10000, 1254425263.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637865.00000, 148405599.00000, 714269745695.00000, 7000.00000,67.68732,10.7611,81.54154,12.96368, 1.00000,1, 203635.10000, 749387835.00000, 32.52178, 2869.74900, 445.96080, 1641159.00000, 305452.60000, 1124081752.00000, 115949799.00000, 426701433042.00000, 67.47822,1, 50000.00000, 476911429.00000, 109.50000, 1044436.00000, 75000.00000, 715367143.00000, 28470000.00000, 271553367429.00000, 0.00000,0,nan,1, 6.89000, 23762.14000, 6.89000, 570.29140, 0.00000,0,nan,1, 4.50746, 15219.48000, 4.50746, 365.26750, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 47412.40000, 11.80000, 1137.89800,1, 7000.00000, 28126000.00000, 15.33000, 61595.94000, 10500.00000, 42189000.00000, 3985800.00000, 16014944400.00000,1, 9.32432, 33178.86000, 9.32432, 796.29260 +2032-01-01 00:00:00,1, 0.00000, 1349557104.00000, 0.00000, 3154.64000, 0.00000, 2955530.00000, 0.00000, 2024335564.00000, 0.00000, 768437789330.00000, 0.00000,68.50782,10.89154,nan,nan,1, 0.00000, 1349557058.00000, 0.00000, 3154.64000, 0.00000, 2955530.00000, 0.00000, 2024335564.00000, 0.00000, 768437789330.00000, 0.00000,68.50782,10.89154,nan,nan, 1.00000,1, 0.00000, 823714629.00000, 0.00000, 3154.64000, 0.00000, 1803935.00000, 0.00000, 1235571944.00000, 0.00000, 469023109836.00000, 0.00000,1, 0.00000, 495161429.00000, 0.00000, 1084404.00000, 0.00000, 742742143.00000, 0.00000, 281944917429.00000, 0.00000,0,nan,1, 0.00000, 26276.99000, 0.00000, 630.64780, 0.00000,0,nan,1, 0.00000, 16864.70000, 0.00000, 404.75280, 0.00000, 10.00000, 200.00000, 18811.88000,1, 0.00000, 51719.40000, 0.00000, 1241.26600,1, 0.00000, 30681000.00000, 0.00000, 67191.39000, 0.00000, 46021500.00000, 0.00000, 17469761400.00000,1, 0.00000, 36582.24000, 0.00000, 877.97370 diff --git a/src/tests/ecalc_cli/snapshots/test_app/test_full_csv/results.csv b/src/tests/ecalc_cli/snapshots/test_app/test_full_csv/results.csv index e3dbbd9f1..778228278 100644 --- a/src/tests/ecalc_cli/snapshots/test_app/test_full_csv/results.csv +++ b/src/tests/ecalc_cli/snapshots/test_app/test_full_csv/results.csv @@ -1,13 +1,13 @@ -timesteps,model.is_valid[N/A],model.energy_usage[Sm3/d],model.energy_usage_cumulative[Sm3],model.power[MW],model.power_cumulative[GWh],model.co2.rate[t/d],model.co2.cumulative[t],model.co2.tax[NOK/d],model.co2.tax_cumulative[NOK],model.co2.quota[NOK/d],model.co2.quota_cumulative[NOK],model.hydrocarbon_export_rate[Sm3/d],model.co2.intensity_sm3[kg/Sm3],model.co2.intensity_boe[kg/BOE],model.co2.intensity_yearly_sm3[kg/Sm3],model.co2.intensity_yearly_boe[kg/BOE],Installation A.is_valid[N/A],Installation A.energy_usage[Sm3/d],Installation A.energy_usage_cumulative[Sm3],Installation A.power[MW],Installation A.power_cumulative[GWh],Installation A.co2.rate[t/d],Installation A.co2.cumulative[t],Installation A.co2.tax[NOK/d],Installation A.co2.tax_cumulative[NOK],Installation A.co2.quota[NOK/d],Installation A.co2.quota_cumulative[NOK],Installation A.hydrocarbon_export_rate[Sm3/d],Installation A.co2.intensity_sm3[kg/Sm3],Installation A.co2.intensity_boe[kg/BOE],Installation A.co2.intensity_yearly_sm3[kg/Sm3],Installation A.co2.intensity_yearly_boe[kg/BOE],Generator set A.is_valid[N/A],Generator set A.energy_usage[Sm3/d],Generator set A.energy_usage_cumulative[Sm3],Generator set A.power[MW],Generator set A.power_cumulative[GWh],Generator set A.co2.rate[t/d],Generator set A.co2.cumulative[t],Generator set A.co2.tax[NOK/d],Generator set A.co2.tax_cumulative[NOK],Generator set A.co2.quota[NOK/d],Generator set A.co2.quota_cumulative[NOK],Generator set A.power_capacity_margin[MW],Gas export compressor.is_valid[N/A],Gas export compressor.energy_usage[Sm3/d],Gas export compressor.energy_usage_cumulative[Sm3],Gas export compressor.co2.rate[t/d],Gas export compressor.co2.cumulative[t],Gas export compressor.co2.tax[NOK/d],Gas export compressor.co2.tax_cumulative[NOK],Gas export compressor.co2.quota[NOK/d],Gas export compressor.co2.quota_cumulative[NOK],Gas export compressor.recirculation_loss[MW],Gas export compressor.rate_exceeds_maximum[N/A],Gas export compressor.outlet_pressure_before_choking[bara],Gas injection compressor.is_valid[N/A],Gas injection compressor.energy_usage[MW],Gas injection compressor.energy_usage_cumulative[MWd],Gas injection compressor.power[MW],Gas injection compressor.power_cumulative[GWh],Gas injection compressor.recirculation_loss[MW],Gas injection compressor.rate_exceeds_maximum[N/A],Gas injection compressor.outlet_pressure_before_choking[bara],Produced water reinjection pump.is_valid[N/A],Produced water reinjection pump.energy_usage[MW],Produced water reinjection pump.energy_usage_cumulative[MWd],Produced water reinjection pump.power[MW],Produced water reinjection pump.power_cumulative[GWh],Produced water reinjection pump.inlet_liquid_rate_m3_per_day[Sm3/d],Produced water reinjection pump.inlet_pressure_bar[bara],Produced water reinjection pump.outlet_pressure_bar[bara],Produced water reinjection pump.operational_head[J/kg],Base production load.is_valid[N/A],Base production load.energy_usage[MW],Base production load.energy_usage_cumulative[MWd],Base production load.power[MW],Base production load.power_cumulative[GWh],Flare.is_valid[N/A],Flare.energy_usage[Sm3/d],Flare.energy_usage_cumulative[Sm3],Flare.co2.rate[t/d],Flare.co2.cumulative[t],Flare.co2.tax[NOK/d],Flare.co2.tax_cumulative[NOK],Flare.co2.quota[NOK/d],Flare.co2.quota_cumulative[NOK],Sea water injection pump.is_valid[N/A],Sea water injection pump.energy_usage[MW],Sea water injection pump.energy_usage_cumulative[MWd],Sea water injection pump.power[MW],Sea water injection pump.power_cumulative[GWh] -2020-01-01 00:00:00,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99959,7.790077,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99959,7.790077,1, 142678.00000, 0.00000, 22.69000, 0.00000, 312.46480, 0.00000, 214017.00000, 0.00000, 81240853.00000, 0.00000, 77.31000,1, 130000.00000, 0.00000, 284.70000, 0.00000, 195000.00000, 0.00000, 74022000.00000, 0.00000, 0.00000,0,nan,1, 4.89000, 0.00000, 4.89000, 0.00000, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 0.00000, 11.80000, 0.00000,1, 7000.00000, 0.00000, 15.33000, 0.00000, 10500.00000, 0.00000, 3985800.00000, 0.00000,1, 6.00000, 0.00000, 6.00000, 0.00000 -2021-01-01 00:00:00,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44350, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285007071.00000, 11600.00000,48.99959,7.790077,52.27962,8.311545,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44350, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285007071.00000, 11600.00000,48.99959,7.790077,52.27962,8.311545,1, 138772.00000, 52220148.00000, 22.06000, 199.30900, 303.91070, 114362.10000, 208158.00000, 78330222.00000, 79016777.00000, 29734152271.00000, 77.94000,1, 131142.90000, 47580000.00000, 287.20290, 104200.20000, 196714.30000, 71370000.00000, 74672743.00000, 27092052000.00000, 0.00000,0,nan,1, 5.01000, 1789.74000, 5.01000, 42.95376, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 19000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 4318.80000, 11.80000, 103.65120,1, 7000.00000, 2562000.00000, 15.33000, 5610.78000, 10500.00000, 3843000.00000, 3985800.00000, 1458802800.00000,1, 5.25000, 2196.00000, 5.25000, 52.70400 -2022-01-01 00:00:00,1, 309378.10000, 203436086.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154106.00000, 176159892.00000, 115836498746.00000, 10700.00000,50.57611,8.040718,63.32131,10.06698,1, 309378.10000, 203436071.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154106.00000, 176159892.00000, 115836498746.00000, 10700.00000,50.57611,8.040718,63.32131,10.06698,1, 170092.40000, 102871928.00000, 27.11168, 392.55460, 372.50230, 225289.50000, 255138.60000, 154307892.00000, 96850607.00000, 58575275803.00000, 72.88832,1, 132285.70000, 95447143.00000, 289.70570, 209029.20000, 198428.60000, 143170714.00000, 75323486.00000, 54347603143.00000, 0.00000,0,nan,1, 5.13000, 3618.39000, 5.13000, 86.84136, 0.00000,0,nan,1, 4.68168, 0.00000, 4.68168, 0.00000, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 8625.80000, 11.80000, 207.01920,1, 7000.00000, 5117000.00000, 15.33000, 11206.23000, 10500.00000, 7675500.00000, 3985800.00000, 2913619800.00000,1, 5.50000, 4112.25000, 5.50000, 98.69400 -2023-01-01 00:00:00,1, 317427.90000, 316359093.00000, 28.22570, 630.05290, 695.16720, 692826.40000, 476141.90000, 474538618.00000, 180743459.00000, 180134859439.00000, 9800.00000,54.49104,8.663123,70.93542,11.27749,1, 317427.90000, 316359079.00000, 28.22570, 630.05280, 695.16720, 692826.40000, 476141.90000, 474538618.00000, 180743459.00000, 180134859439.00000, 9800.00000,54.49104,8.663123,70.93542,11.27749,1, 176999.40000, 164955650.00000, 28.22570, 630.05280, 387.62860, 361252.90000, 265499.00000, 247433475.00000, 100783431.00000, 93925747210.00000, 71.77430,1, 133428.60000, 143731429.00000, 292.20860, 314771.80000, 200142.90000, 215597143.00000, 75974229.00000, 81840675429.00000, 0.00000,0,nan,1, 5.56000, 5490.84000, 5.56000, 131.78020, 0.00000,0,nan,1, 4.86570, 1708.81200, 4.86570, 41.01148, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 12932.80000, 11.80000, 310.38720,1, 7000.00000, 7672000.00000, 15.33000, 16801.68000, 10500.00000, 11508000.00000, 3985800.00000, 4368436800.00000,1, 6.00000, 6119.75000, 6.00000, 146.87400 -2024-01-01 00:00:00,1, 340633.60000, 432220276.00000, 31.78422, 877.31000, 745.98750, 946562.40000, 510950.30000, 648330406.00000, 193956751.00000, 246106222069.00000, 9900.00000,58.10161,9.23714,75.37706,11.98363,1, 340633.60000, 432220271.00000, 31.78422, 877.31000, 745.98750, 946562.40000, 510950.30000, 648330406.00000, 193956751.00000, 246106222069.00000, 9900.00000,58.10161,9.23714,75.37706,11.98363,1, 199062.10000, 229560413.00000, 31.78422, 877.31000, 435.94610, 502737.30000, 298593.20000, 344340620.00000, 113345979.00000, 130711699411.00000, 68.21578,1, 134571.40000, 192432857.00000, 294.71140, 421428.00000, 201857.10000, 288649286.00000, 76624971.00000, 109571268857.00000, 0.00000,0,nan,1, 5.72000, 7520.24000, 5.72000, 180.48580, 0.00000,0,nan,1, 4.50746, 3484.79300, 4.50746, 83.63503, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 17239.80000, 11.80000, 413.75520,1, 7000.00000, 10227000.00000, 15.33000, 22397.13000, 10500.00000, 15340500.00000, 3985800.00000, 5823253800.00000,1, 9.75676, 8309.75000, 9.75676, 199.43400 -2024-12-01 00:00:00,1, 345398.60000, 546332532.00000, 32.36843, 1132.85500, 756.42290, 1196468.00000, 518097.90000, 819498771.00000, 196669944.00000, 311081733597.00000, 10000.00000,61.01939,9.701016,75.37706,11.98363,1, 345398.60000, 546332514.00000, 32.36843, 1132.85500, 756.42290, 1196468.00000, 518097.90000, 819498771.00000, 196669944.00000, 311081733597.00000, 10000.00000,61.01939,9.701016,75.37706,11.98363,1, 202684.30000, 296246229.00000, 32.36843, 1132.85500, 443.87860, 648779.20000, 304026.40000, 444369343.00000, 115408430.00000, 168682602512.00000, 67.63157,1, 135714.30000, 237514286.00000, 297.21430, 520156.30000, 203571.40000, 356271429.00000, 77275714.00000, 135240634286.00000, 0.00000,0,nan,1, 6.13000, 9436.44000, 6.13000, 226.47460, 0.00000,0,nan,1, 4.68168, 4994.79100, 4.68168, 119.87500, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 21192.80000, 11.80000, 508.62720,1, 7000.00000, 12572000.00000, 15.33000, 27532.68000, 10500.00000, 18858000.00000, 3985800.00000, 7158496800.00000,1, 9.75676, 11578.26000, 9.75676, 277.87830 -2026-01-01 00:00:00,0, 344604.30000, 683110378.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665520.00000, 196217713.00000, 388963031470.00000, 11100.00000,63.47639,10.09164,67.98951,10.80914,0, 344604.30000, 683110347.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665520.00000, 196217713.00000, 388963031470.00000, 11100.00000,63.47639,10.09164,67.98951,10.80914,1, 200747.20000, 376509204.00000, 32.05600, 1440.48500, 439.63640, 824555.20000, 301120.80000, 564763806.00000, 114305456.00000, 214384340728.00000, 67.94400,1, 136857.10000, 291257143.00000, 299.71710, 637853.10000, 205285.70000, 436885714.00000, 77926457.00000, 165841817143.00000, 0.00000,0,nan,1, 6.25000, 11863.92000, 6.25000, 284.73410, 0.00000,0,nan,0, 4.68168, 6848.73500, 4.68168, 164.36960, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 25865.60000, 11.80000, 620.77440,1, 7000.00000, 15344000.00000, 15.33000, 33603.36000, 10500.00000, 23016000.00000, 3985800.00000, 8736873600.00000,1, 9.32432, 15441.94000, 9.32432, 370.60650 -2027-01-01 00:00:00,1, 355281.90000, 808890948.00000, 33.04086, 1721.29500, 778.06740, 1771471.00000, 532922.90000, 1213336398.00000, 202297533.00000, 460582496721.00000, 10500.00000,64.13842,10.19689,74.10166,11.78087,1, 355281.90000, 808890932.00000, 33.04086, 1721.29500, 778.06740, 1771471.00000, 532922.90000, 1213336398.00000, 202297533.00000, 460582496721.00000, 10500.00000,64.13842,10.19689,74.10166,11.78087,1, 206853.40000, 449781932.00000, 33.04086, 1721.29500, 453.00890, 985022.40000, 310280.00000, 674672898.00000, 117782305.00000, 256105832121.00000, 66.95914,1, 141428.60000, 341210000.00000, 309.72860, 747249.90000, 212142.90000, 511815000.00000, 80529429.00000, 194284974000.00000, 0.00000,0,nan,1, 6.37000, 14145.17000, 6.37000, 339.48410, 0.00000,0,nan,1, 4.68168, 8557.54700, 4.68168, 205.38110, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 30172.60000, 11.80000, 724.14240,1, 7000.00000, 17899000.00000, 15.33000, 39198.81000, 10500.00000, 26848500.00000, 3985800.00000, 10191690600.00000,1, 10.18919, 18845.32000, 10.18919, 452.28760 -2028-01-01 00:00:00,1, 339026.40000, 938568841.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853257.00000, 193041628.00000, 534421096330.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 339026.40000, 938568838.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853257.00000, 193041628.00000, 534421096330.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 202026.40000, 525283409.00000, 32.26232, 2010.73300, 442.43780, 1150371.00000, 303039.60000, 787925114.00000, 115033828.00000, 299096373302.00000, 67.73768,1, 130000.00000, 392831429.00000, 284.70000, 860300.80000, 195000.00000, 589247143.00000, 74022000.00000, 223678215429.00000, 0.00000,0,nan,1, 6.52000, 16470.22000, 6.52000, 395.28530, 0.00000,0,nan,1, 4.18557, 10266.36000, 4.18557, 246.39260, 12000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 34479.60000, 11.80000, 827.51040,1, 7000.00000, 20454000.00000, 15.33000, 44794.26000, 10500.00000, 30681000.00000, 3985800.00000, 11646507600.00000,1, 9.75676, 22564.37000, 9.75676, 541.54490 -2029-01-01 00:00:00,1, 263106.70000, 1062652504.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978746.00000, 149812941.00000, 605074332133.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 263106.70000, 1062652498.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978746.00000, 149812941.00000, 605074332133.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 206106.70000, 599225069.00000, 32.92043, 2294.12500, 451.37360, 1312303.00000, 309160.00000, 898837604.00000, 117357141.00000, 341198754304.00000, 67.07957,1, 50000.00000, 440411429.00000, 109.50000, 964501.00000, 75000.00000, 660617143.00000, 28470000.00000, 250770267429.00000, 0.00000,0,nan,1, 6.64000, 18856.54000, 6.64000, 452.55700, 0.00000,0,nan,1, 4.50746, 11798.27000, 4.50746, 283.15860, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 38798.40000, 11.80000, 931.16160,1, 7000.00000, 23016000.00000, 15.33000, 50405.04000, 10500.00000, 34524000.00000, 3985800.00000, 13105310400.00000,1, 9.97297, 26135.34000, 9.97297, 627.24830 -2030-01-01 00:00:00,1, 262298.20000, 1158686449.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029651.00000, 149352574.00000, 659756055520.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 262298.20000, 1158686434.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029651.00000, 149352574.00000, 659756055520.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 205298.20000, 674454005.00000, 32.79003, 2582.50800, 449.60300, 1477054.00000, 307947.20000, 1011681008.00000, 116896774.00000, 384034110692.00000, 67.20997,1, 50000.00000, 458661429.00000, 109.50000, 1004469.00000, 75000.00000, 687992143.00000, 28470000.00000, 261161817429.00000, 0.00000,0,nan,1, 6.80000, 21280.14000, 6.80000, 510.72340, 0.00000,0,nan,1, 4.86570, 13443.50000, 4.86570, 322.64390, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 43105.40000, 11.80000, 1034.53000,1, 7000.00000, 25571000.00000, 15.33000, 56000.49000, 10500.00000, 38356500.00000, 3985800.00000, 14560127400.00000,1, 9.32432, 29775.48000, 9.32432, 714.61150 -2031-01-01 00:00:00,1, 260635.10000, 1254425292.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637895.00000, 148405599.00000, 714269744871.00000, 7000.00000,67.68732,10.7611,nan,nan,1, 260635.10000, 1254425263.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637895.00000, 148405599.00000, 714269744871.00000, 7000.00000,67.68732,10.7611,nan,nan,1, 203635.10000, 749387835.00000, 32.52178, 2869.74900, 445.96080, 1641159.00000, 305452.60000, 1124081752.00000, 115949799.00000, 426701433042.00000, 67.47822,1, 50000.00000, 476911429.00000, 109.50000, 1044436.00000, 75000.00000, 715367143.00000, 28470000.00000, 271553367429.00000, 0.00000,0,nan,1, 6.89000, 23762.14000, 6.89000, 570.29140, 0.00000,0,nan,1, 4.50746, 15219.48000, 4.50746, 365.26750, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 47412.40000, 11.80000, 1137.89800,1, 7000.00000, 28126000.00000, 15.33000, 61595.94000, 10500.00000, 42189000.00000, 3985800.00000, 16014944400.00000,1, 9.32432, 33178.86000, 9.32432, 796.29260 +timesteps,model.is_valid[N/A],model.energy_usage[Sm3/d],model.energy_usage_cumulative[Sm3],model.power[MW],model.power_cumulative[GWh],model.co2.rate[t/d],model.co2.cumulative[t],model.co2.tax[NOK/d],model.co2.tax_cumulative[NOK],model.co2.quota[NOK/d],model.co2.quota_cumulative[NOK],model.hydrocarbon_export_rate[Sm3/d],model.co2.intensity_sm3[kg/Sm3],model.co2.intensity_boe[kg/BOE],model.co2.intensity_yearly_sm3[kg/Sm3],model.co2.intensity_yearly_boe[kg/BOE],Installation A.is_valid[N/A],Installation A.energy_usage[Sm3/d],Installation A.energy_usage_cumulative[Sm3],Installation A.power[MW],Installation A.power_cumulative[GWh],Installation A.co2.rate[t/d],Installation A.co2.cumulative[t],Installation A.co2.tax[NOK/d],Installation A.co2.tax_cumulative[NOK],Installation A.co2.quota[NOK/d],Installation A.co2.quota_cumulative[NOK],Installation A.hydrocarbon_export_rate[Sm3/d],Installation A.co2.intensity_sm3[kg/Sm3],Installation A.co2.intensity_boe[kg/BOE],Installation A.co2.intensity_yearly_sm3[kg/Sm3],Installation A.co2.intensity_yearly_boe[kg/BOE],Installation A.regularity[N/A],Generator set A.is_valid[N/A],Generator set A.energy_usage[Sm3/d],Generator set A.energy_usage_cumulative[Sm3],Generator set A.power[MW],Generator set A.power_cumulative[GWh],Generator set A.co2.rate[t/d],Generator set A.co2.cumulative[t],Generator set A.co2.tax[NOK/d],Generator set A.co2.tax_cumulative[NOK],Generator set A.co2.quota[NOK/d],Generator set A.co2.quota_cumulative[NOK],Generator set A.power_capacity_margin[MW],Gas export compressor.is_valid[N/A],Gas export compressor.energy_usage[Sm3/d],Gas export compressor.energy_usage_cumulative[Sm3],Gas export compressor.co2.rate[t/d],Gas export compressor.co2.cumulative[t],Gas export compressor.co2.tax[NOK/d],Gas export compressor.co2.tax_cumulative[NOK],Gas export compressor.co2.quota[NOK/d],Gas export compressor.co2.quota_cumulative[NOK],Gas export compressor.recirculation_loss[MW],Gas export compressor.rate_exceeds_maximum[N/A],Gas export compressor.outlet_pressure_before_choking[bara],Gas injection compressor.is_valid[N/A],Gas injection compressor.energy_usage[MW],Gas injection compressor.energy_usage_cumulative[MWd],Gas injection compressor.power[MW],Gas injection compressor.power_cumulative[GWh],Gas injection compressor.recirculation_loss[MW],Gas injection compressor.rate_exceeds_maximum[N/A],Gas injection compressor.outlet_pressure_before_choking[bara],Produced water reinjection pump.is_valid[N/A],Produced water reinjection pump.energy_usage[MW],Produced water reinjection pump.energy_usage_cumulative[MWd],Produced water reinjection pump.power[MW],Produced water reinjection pump.power_cumulative[GWh],Produced water reinjection pump.inlet_liquid_rate_m3_per_day[Sm3/d],Produced water reinjection pump.inlet_pressure_bar[bara],Produced water reinjection pump.outlet_pressure_bar[bara],Produced water reinjection pump.operational_head[J/kg],Base production load.is_valid[N/A],Base production load.energy_usage[MW],Base production load.energy_usage_cumulative[MWd],Base production load.power[MW],Base production load.power_cumulative[GWh],Flare.is_valid[N/A],Flare.energy_usage[Sm3/d],Flare.energy_usage_cumulative[Sm3],Flare.co2.rate[t/d],Flare.co2.cumulative[t],Flare.co2.tax[NOK/d],Flare.co2.tax_cumulative[NOK],Flare.co2.quota[NOK/d],Flare.co2.quota_cumulative[NOK],Sea water injection pump.is_valid[N/A],Sea water injection pump.energy_usage[MW],Sea water injection pump.energy_usage_cumulative[MWd],Sea water injection pump.power[MW],Sea water injection pump.power_cumulative[GWh] +2020-01-01 00:00:00,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99958,7.790077,0, 279678.00000, 0.00000, 22.69000, 0.00000, 612.49480, 0.00000, 419517.00000, 0.00000, 159248653.00000, 0.00000, 12500.00000,nan,nan,48.99958,7.790077, 1.00000,1, 142678.00000, 0.00000, 22.69000, 0.00000, 312.46480, 0.00000, 214017.00000, 0.00000, 81240853.00000, 0.00000, 77.31000,1, 130000.00000, 0.00000, 284.70000, 0.00000, 195000.00000, 0.00000, 74022000.00000, 0.00000, 0.00000,0,nan,1, 4.89000, 0.00000, 4.89000, 0.00000, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 0.00000, 11.80000, 0.00000,1, 7000.00000, 0.00000, 15.33000, 0.00000, 10500.00000, 0.00000, 3985800.00000, 0.00000,1, 6.00000, 0.00000, 6.00000, 0.00000 +2021-01-01 00:00:00,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44360, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285006998.00000, 11600.00000,48.99958,7.790077,52.27962,8.311545,0, 276914.90000, 102362148.00000, 22.06000, 199.30900, 606.44360, 224173.10000, 415372.30000, 153543222.00000, 157675320.00000, 58285006998.00000, 11600.00000,48.99958,7.790077,52.27962,8.311545, 1.00000,1, 138772.00000, 52220148.00000, 22.06000, 199.30900, 303.91070, 114362.10000, 208158.00000, 78330222.00000, 79016777.00000, 29734152271.00000, 77.94000,1, 131142.90000, 47580000.00000, 287.20290, 104200.20000, 196714.30000, 71370000.00000, 74672743.00000, 27092052000.00000, 0.00000,0,nan,1, 5.01000, 1789.74000, 5.01000, 42.95376, 0.00000,0,nan,0, 0.00000, 0.00000, 0.00000, 0.00000, 19000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 4318.80000, 11.80000, 103.65120,1, 7000.00000, 2562000.00000, 15.33000, 5610.78000, 10500.00000, 3843000.00000, 3985800.00000, 1458802800.00000,1, 5.25000, 2196.00000, 5.25000, 52.70400 +2022-01-01 00:00:00,1, 309378.10000, 203436086.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154112.00000, 176159893.00000, 115836498798.00000, 10700.00000,50.57612,8.040718,63.32131,10.06698,1, 309378.10000, 203436071.00000, 27.11168, 392.55460, 677.53800, 445525.00000, 464067.20000, 305154112.00000, 176159893.00000, 115836498798.00000, 10700.00000,50.57612,8.040718,63.32131,10.06698, 1.00000,1, 170092.40000, 102871928.00000, 27.11168, 392.55460, 372.50230, 225289.50000, 255138.60000, 154307892.00000, 96850607.00000, 58575275803.00000, 72.88832,1, 132285.70000, 95447143.00000, 289.70570, 209029.20000, 198428.60000, 143170714.00000, 75323486.00000, 54347603143.00000, 0.00000,0,nan,1, 5.13000, 3618.39000, 5.13000, 86.84136, 0.00000,0,nan,1, 4.68168, 0.00000, 4.68168, 0.00000, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 8625.80000, 11.80000, 207.01920,1, 7000.00000, 5117000.00000, 15.33000, 11206.23000, 10500.00000, 7675500.00000, 3985800.00000, 2913619800.00000,1, 5.50000, 4112.25000, 5.50000, 98.69400 +2023-01-01 00:00:00,1, 317427.90000, 316359093.00000, 28.22570, 630.05290, 695.16720, 692826.40000, 476141.90000, 474538640.00000, 180743460.00000, 180134859743.00000, 9800.00000,54.49104,8.663123,70.93543,11.27749,1, 317427.90000, 316359079.00000, 28.22570, 630.05280, 695.16720, 692826.40000, 476141.90000, 474538640.00000, 180743460.00000, 180134859743.00000, 9800.00000,54.49104,8.663123,70.93543,11.27749, 1.00000,1, 176999.40000, 164955650.00000, 28.22570, 630.05280, 387.62860, 361252.90000, 265499.00000, 247433475.00000, 100783431.00000, 93925747210.00000, 71.77430,1, 133428.60000, 143731429.00000, 292.20860, 314771.80000, 200142.90000, 215597143.00000, 75974229.00000, 81840675429.00000, 0.00000,0,nan,1, 5.56000, 5490.84000, 5.56000, 131.78020, 0.00000,0,nan,1, 4.86570, 1708.81200, 4.86570, 41.01148, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 12932.80000, 11.80000, 310.38720,1, 7000.00000, 7672000.00000, 15.33000, 16801.68000, 10500.00000, 11508000.00000, 3985800.00000, 4368436800.00000,1, 6.00000, 6119.75000, 6.00000, 146.87400 +2024-01-01 00:00:00,1, 340633.60000, 432220276.00000, 31.78422, 877.31000, 745.98750, 946562.40000, 510950.30000, 648330433.00000, 193956750.00000, 246106222643.00000, 9900.00000,58.10161,9.23714,75.37706,11.98363,1, 340633.60000, 432220271.00000, 31.78422, 877.31000, 745.98750, 946562.40000, 510950.30000, 648330433.00000, 193956750.00000, 246106222643.00000, 9900.00000,58.10161,9.23714,75.37706,11.98363, 1.00000,1, 199062.10000, 229560413.00000, 31.78422, 877.31000, 435.94610, 502737.30000, 298593.20000, 344340620.00000, 113345979.00000, 130711699411.00000, 68.21578,1, 134571.40000, 192432857.00000, 294.71140, 421428.00000, 201857.10000, 288649286.00000, 76624971.00000, 109571268857.00000, 0.00000,0,nan,1, 5.72000, 7520.24000, 5.72000, 180.48580, 0.00000,0,nan,1, 4.50746, 3484.79300, 4.50746, 83.63503, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 17239.80000, 11.80000, 413.75520,1, 7000.00000, 10227000.00000, 15.33000, 22397.13000, 10500.00000, 15340500.00000, 3985800.00000, 5823253800.00000,1, 9.75676, 8309.75000, 9.75676, 199.43400 +2024-12-01 00:00:00,1, 345398.60000, 546332532.00000, 32.36843, 1132.85500, 756.42290, 1196468.00000, 518097.80000, 819498784.00000, 196669944.00000, 311081733893.00000, 10000.00000,61.01939,9.701016,75.37706,11.98363,1, 345398.60000, 546332514.00000, 32.36843, 1132.85500, 756.42290, 1196468.00000, 518097.80000, 819498784.00000, 196669944.00000, 311081733893.00000, 10000.00000,61.01939,9.701016,75.37706,11.98363, 1.00000,1, 202684.30000, 296246229.00000, 32.36843, 1132.85500, 443.87860, 648779.20000, 304026.40000, 444369343.00000, 115408430.00000, 168682602512.00000, 67.63157,1, 135714.30000, 237514286.00000, 297.21430, 520156.30000, 203571.40000, 356271429.00000, 77275714.00000, 135240634286.00000, 0.00000,0,nan,1, 6.13000, 9436.44000, 6.13000, 226.47460, 0.00000,0,nan,1, 4.68168, 4994.79100, 4.68168, 119.87500, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 21192.80000, 11.80000, 508.62720,1, 7000.00000, 12572000.00000, 15.33000, 27532.68000, 10500.00000, 18858000.00000, 3985800.00000, 7158496800.00000,1, 9.75676, 11578.26000, 9.75676, 277.87830 +2026-01-01 00:00:00,0, 344604.30000, 683110378.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665512.00000, 196217713.00000, 388963031717.00000, 11100.00000,63.4764,10.09164,67.9895,10.80914,0, 344604.30000, 683110347.00000, 32.05600, 1440.48500, 754.68350, 1496012.00000, 516906.50000, 1024665512.00000, 196217713.00000, 388963031717.00000, 11100.00000,63.4764,10.09164,67.9895,10.80914, 1.00000,1, 200747.20000, 376509204.00000, 32.05600, 1440.48500, 439.63640, 824555.20000, 301120.80000, 564763806.00000, 114305456.00000, 214384340728.00000, 67.94400,1, 136857.10000, 291257143.00000, 299.71710, 637853.10000, 205285.70000, 436885714.00000, 77926457.00000, 165841817143.00000, 0.00000,0,nan,1, 6.25000, 11863.92000, 6.25000, 284.73410, 0.00000,0,nan,0, 4.68168, 6848.73500, 4.68168, 164.36960, 18000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 25865.60000, 11.80000, 620.77440,1, 7000.00000, 15344000.00000, 15.33000, 33603.36000, 10500.00000, 23016000.00000, 3985800.00000, 8736873600.00000,1, 9.32432, 15441.94000, 9.32432, 370.60650 +2027-01-01 00:00:00,1, 355281.90000, 808890948.00000, 33.04086, 1721.29500, 778.06750, 1771471.00000, 532922.90000, 1213336385.00000, 202297534.00000, 460582496962.00000, 10500.00000,64.13842,10.19689,74.10167,11.78087,1, 355281.90000, 808890932.00000, 33.04086, 1721.29500, 778.06750, 1771471.00000, 532922.90000, 1213336385.00000, 202297534.00000, 460582496962.00000, 10500.00000,64.13842,10.19689,74.10167,11.78087, 1.00000,1, 206853.40000, 449781932.00000, 33.04086, 1721.29500, 453.00890, 985022.40000, 310280.00000, 674672898.00000, 117782305.00000, 256105832121.00000, 66.95914,1, 141428.60000, 341210000.00000, 309.72860, 747249.90000, 212142.90000, 511815000.00000, 80529429.00000, 194284974000.00000, 0.00000,0,nan,1, 6.37000, 14145.17000, 6.37000, 339.48410, 0.00000,0,nan,1, 4.68168, 8557.54700, 4.68168, 205.38110, 15000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 30172.60000, 11.80000, 724.14240,1, 7000.00000, 17899000.00000, 15.33000, 39198.81000, 10500.00000, 26848500.00000, 3985800.00000, 10191690600.00000,1, 10.18919, 18845.32000, 10.18919, 452.28760 +2028-01-01 00:00:00,1, 339026.40000, 938568841.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853243.00000, 193041628.00000, 534421096872.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252,1, 339026.40000, 938568838.00000, 32.26232, 2010.73300, 742.46780, 2055466.00000, 508539.60000, 1407853243.00000, 193041628.00000, 534421096872.00000, 9500.00000,65.35247,10.3899,78.15451,12.4252, 1.00000,1, 202026.40000, 525283409.00000, 32.26232, 2010.73300, 442.43780, 1150371.00000, 303039.60000, 787925114.00000, 115033828.00000, 299096373302.00000, 67.73768,1, 130000.00000, 392831429.00000, 284.70000, 860300.80000, 195000.00000, 589247143.00000, 74022000.00000, 223678215429.00000, 0.00000,0,nan,1, 6.52000, 16470.22000, 6.52000, 395.28530, 0.00000,0,nan,1, 4.18557, 10266.36000, 4.18557, 246.39260, 12000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 34479.60000, 11.80000, 827.51040,1, 7000.00000, 20454000.00000, 15.33000, 44794.26000, 10500.00000, 30681000.00000, 3985800.00000, 11646507600.00000,1, 9.75676, 22564.37000, 9.75676, 541.54490 +2029-01-01 00:00:00,1, 263106.70000, 1062652504.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978737.00000, 149812941.00000, 605074332720.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417,1, 263106.70000, 1062652498.00000, 32.92043, 2294.12500, 576.20360, 2327209.00000, 394660.00000, 1593978737.00000, 149812941.00000, 605074332720.00000, 7500.00000,66.62684,10.5925,76.82715,12.21417, 1.00000,1, 206106.70000, 599225069.00000, 32.92043, 2294.12500, 451.37360, 1312303.00000, 309160.00000, 898837604.00000, 117357141.00000, 341198754304.00000, 67.07957,1, 50000.00000, 440411429.00000, 109.50000, 964501.00000, 75000.00000, 660617143.00000, 28470000.00000, 250770267429.00000, 0.00000,0,nan,1, 6.64000, 18856.54000, 6.64000, 452.55700, 0.00000,0,nan,1, 4.50746, 11798.27000, 4.50746, 283.15860, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 38798.40000, 11.80000, 931.16160,1, 7000.00000, 23016000.00000, 15.33000, 50405.04000, 10500.00000, 34524000.00000, 3985800.00000, 13105310400.00000,1, 9.97297, 26135.34000, 9.97297, 627.24830 +2030-01-01 00:00:00,1, 262298.20000, 1158686449.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029637.00000, 149352574.00000, 659756056185.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156,1, 262298.20000, 1158686434.00000, 32.79003, 2582.50800, 574.43300, 2537523.00000, 393447.20000, 1738029637.00000, 149352574.00000, 659756056185.00000, 8000.00000,67.36817,10.71036,71.80412,11.4156, 1.00000,1, 205298.20000, 674454005.00000, 32.79003, 2582.50800, 449.60300, 1477054.00000, 307947.20000, 1011681008.00000, 116896774.00000, 384034110692.00000, 67.20997,1, 50000.00000, 458661429.00000, 109.50000, 1004469.00000, 75000.00000, 687992143.00000, 28470000.00000, 261161817429.00000, 0.00000,0,nan,1, 6.80000, 21280.14000, 6.80000, 510.72340, 0.00000,0,nan,1, 4.86570, 13443.50000, 4.86570, 322.64390, 16000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 43105.40000, 11.80000, 1034.53000,1, 7000.00000, 25571000.00000, 15.33000, 56000.49000, 10500.00000, 38356500.00000, 3985800.00000, 14560127400.00000,1, 9.32432, 29775.48000, 9.32432, 714.61150 +2031-01-01 00:00:00,1, 260635.10000, 1254425292.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637865.00000, 148405599.00000, 714269745695.00000, 7000.00000,67.68732,10.7611,nan,nan,1, 260635.10000, 1254425263.00000, 32.52178, 2869.74900, 570.79080, 2747191.00000, 390952.60000, 1881637865.00000, 148405599.00000, 714269745695.00000, 7000.00000,67.68732,10.7611,nan,nan, 1.00000,1, 203635.10000, 749387835.00000, 32.52178, 2869.74900, 445.96080, 1641159.00000, 305452.60000, 1124081752.00000, 115949799.00000, 426701433042.00000, 67.47822,1, 50000.00000, 476911429.00000, 109.50000, 1044436.00000, 75000.00000, 715367143.00000, 28470000.00000, 271553367429.00000, 0.00000,0,nan,1, 6.89000, 23762.14000, 6.89000, 570.29140, 0.00000,0,nan,1, 4.50746, 15219.48000, 4.50746, 365.26750, 14000.00000, 10.00000, 200.00000, 18811.88000,1, 11.80000, 47412.40000, 11.80000, 1137.89800,1, 7000.00000, 28126000.00000, 15.33000, 61595.94000, 10500.00000, 42189000.00000, 3985800.00000, 16014944400.00000,1, 9.32432, 33178.86000, 9.32432, 796.29260 diff --git a/src/tests/ecalc_cli/snapshots/test_app/test_full_simplified_json/results.json b/src/tests/ecalc_cli/snapshots/test_app/test_full_simplified_json/results.json index 05eab68ae..2be4ac09e 100644 --- a/src/tests/ecalc_cli/snapshots/test_app/test_full_simplified_json/results.json +++ b/src/tests/ecalc_cli/snapshots/test_app/test_full_simplified_json/results.json @@ -51,13 +51,13 @@ "name": "co2", "rate": [ 612.4948, - 606.4435, + 606.4436, 677.538, 695.1672, 745.9875, 756.4229, 754.6835, - 778.0674, + 778.0675, 742.4678, 576.2036, 574.433, @@ -133,13 +133,13 @@ "name": "co2", "rate": [ 612.4948, - 606.4435, + 606.4436, 677.538, 695.1672, 745.9875, 756.4229, 754.6835, - 778.0674, + 778.0675, 742.4678, 576.2036, 574.433, diff --git a/src/tests/ecalc_cli/snapshots/test_app/test_json_resampled/results_resampled.json b/src/tests/ecalc_cli/snapshots/test_app/test_json_resampled/results_resampled.json index 559c79ccf..7c7ccb683 100644 --- a/src/tests/ecalc_cli/snapshots/test_app/test_json_resampled/results_resampled.json +++ b/src/tests/ecalc_cli/snapshots/test_app/test_json_resampled/results_resampled.json @@ -51,13 +51,13 @@ "name": "co2", "rate": [ 612.4948, - 606.4435, + 606.4436, 677.538, 695.1672, 746.8714, 756.4229, 754.6835, - 778.0674, + 778.0675, 742.4678, 576.2036, 574.433, @@ -133,13 +133,13 @@ "name": "co2", "rate": [ 612.4948, - 606.4435, + 606.4436, 677.538, 695.1672, 746.8714, 756.4229, 754.6835, - 778.0674, + 778.0675, 742.4678, 576.2036, 574.433, diff --git a/src/tests/ecalc_cli/snapshots/test_app/test_json_true/test_v3.json b/src/tests/ecalc_cli/snapshots/test_app/test_json_true/test_v3.json index ac66e164b..67d964c73 100644 --- a/src/tests/ecalc_cli/snapshots/test_app/test_json_true/test_v3.json +++ b/src/tests/ecalc_cli/snapshots/test_app/test_json_true/test_v3.json @@ -53,12 +53,12 @@ "unit": "kg/Sm3", "values": [ null, - 48.99959, - 50.57611, + 48.99958, + 50.57612, 54.49104, 58.10161, 61.01939, - 63.47639, + 63.4764, 64.13842, 65.35247, 66.62684, @@ -114,14 +114,14 @@ ], "unit": "kg/Sm3", "values": [ - 48.99959, + 48.99958, 52.27962, 63.32131, - 70.93542, + 70.93543, 75.37706, 75.37706, - 67.98951, - 74.10166, + 67.9895, + 74.10167, 78.15451, 76.82715, 71.80412, @@ -213,12 +213,12 @@ "values": [ 159248653.0, 157675320.0, - 176159892.0, - 180743459.0, - 193956751.0, + 176159893.0, + 180743460.0, + 193956750.0, 196669944.0, 196217713.0, - 202297533.0, + 202297534.0, 193041628.0, 149812941.0, 149352574.0, @@ -243,17 +243,17 @@ "unit": "NOK", "values": [ 0.0, - 58285007071.0, - 115836498746.0, - 180134859439.0, - 246106222069.0, - 311081733597.0, - 388963031470.0, - 460582496721.0, - 534421096330.0, - 605074332133.0, - 659756055520.0, - 714269744871.0 + 58285006998.0, + 115836498798.0, + 180134859743.0, + 246106222643.0, + 311081733893.0, + 388963031717.0, + 460582496962.0, + 534421096872.0, + 605074332720.0, + 659756056185.0, + 714269745695.0 ] }, "rate": { @@ -289,13 +289,13 @@ "unit": "t/d", "values": [ 612.4948, - 606.4435, + 606.4436, 677.538, 695.1672, 745.9875, 756.4229, 754.6835, - 778.0674, + 778.0675, 742.4678, 576.2036, 574.433, @@ -339,7 +339,7 @@ 464067.2, 476141.9, 510950.3, - 518097.9, + 518097.8, 516906.5, 532922.9, 508539.6, @@ -367,16 +367,16 @@ "values": [ 0.0, 153543222.0, - 305154106.0, - 474538618.0, - 648330406.0, - 819498771.0, - 1024665520.0, - 1213336398.0, - 1407853257.0, - 1593978746.0, - 1738029651.0, - 1881637895.0 + 305154112.0, + 474538640.0, + 648330433.0, + 819498784.0, + 1024665512.0, + 1213336385.0, + 1407853243.0, + 1593978737.0, + 1738029637.0, + 1881637865.0 ] }, "timesteps": [ @@ -4465,12 +4465,12 @@ "unit": "kg/Sm3", "values": [ null, - 48.99959, - 50.57611, + 48.99958, + 50.57612, 54.49104, 58.10161, 61.01939, - 63.47639, + 63.4764, 64.13842, 65.35247, 66.62684, @@ -4526,14 +4526,14 @@ ], "unit": "kg/Sm3", "values": [ - 48.99959, + 48.99958, 52.27962, 63.32131, - 70.93542, + 70.93543, 75.37706, 75.37706, - 67.98951, - 74.10166, + 67.9895, + 74.10167, 78.15451, 76.82715, 71.80412, @@ -4625,12 +4625,12 @@ "values": [ 159248653.0, 157675320.0, - 176159892.0, - 180743459.0, - 193956751.0, + 176159893.0, + 180743460.0, + 193956750.0, 196669944.0, 196217713.0, - 202297533.0, + 202297534.0, 193041628.0, 149812941.0, 149352574.0, @@ -4655,17 +4655,17 @@ "unit": "NOK", "values": [ 0.0, - 58285007071.0, - 115836498746.0, - 180134859439.0, - 246106222069.0, - 311081733597.0, - 388963031470.0, - 460582496721.0, - 534421096330.0, - 605074332133.0, - 659756055520.0, - 714269744871.0 + 58285006998.0, + 115836498798.0, + 180134859743.0, + 246106222643.0, + 311081733893.0, + 388963031717.0, + 460582496962.0, + 534421096872.0, + 605074332720.0, + 659756056185.0, + 714269745695.0 ] }, "rate": { @@ -4701,13 +4701,13 @@ "unit": "t/d", "values": [ 612.4948, - 606.4435, + 606.4436, 677.538, 695.1672, 745.9875, 756.4229, 754.6835, - 778.0674, + 778.0675, 742.4678, 576.2036, 574.433, @@ -4751,7 +4751,7 @@ 464067.2, 476141.9, 510950.3, - 518097.9, + 518097.8, 516906.5, 532922.9, 508539.6, @@ -4779,16 +4779,16 @@ "values": [ 0.0, 153543222.0, - 305154106.0, - 474538618.0, - 648330406.0, - 819498771.0, - 1024665520.0, - 1213336398.0, - 1407853257.0, - 1593978746.0, - 1738029651.0, - 1881637895.0 + 305154112.0, + 474538640.0, + 648330433.0, + 819498784.0, + 1024665512.0, + 1213336385.0, + 1407853243.0, + 1593978737.0, + 1738029637.0, + 1881637865.0 ] }, "timesteps": [ @@ -5041,6 +5041,37 @@ 2869.749 ] }, + "regularity": { + "timesteps": [ + "2020-01-01 00:00:00", + "2021-01-01 00:00:00", + "2022-01-01 00:00:00", + "2023-01-01 00:00:00", + "2024-01-01 00:00:00", + "2024-12-01 00:00:00", + "2026-01-01 00:00:00", + "2027-01-01 00:00:00", + "2028-01-01 00:00:00", + "2029-01-01 00:00:00", + "2030-01-01 00:00:00", + "2031-01-01 00:00:00" + ], + "unit": "N/A", + "values": [ + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, "timesteps": [ "2020-01-01 00:00:00", "2021-01-01 00:00:00", diff --git a/src/tests/ecalc_cli/snapshots/test_app/test_json_true_detailed_output/test_full_json_v3.json b/src/tests/ecalc_cli/snapshots/test_app/test_json_true_detailed_output/test_full_json_v3.json index ac66e164b..67d964c73 100644 --- a/src/tests/ecalc_cli/snapshots/test_app/test_json_true_detailed_output/test_full_json_v3.json +++ b/src/tests/ecalc_cli/snapshots/test_app/test_json_true_detailed_output/test_full_json_v3.json @@ -53,12 +53,12 @@ "unit": "kg/Sm3", "values": [ null, - 48.99959, - 50.57611, + 48.99958, + 50.57612, 54.49104, 58.10161, 61.01939, - 63.47639, + 63.4764, 64.13842, 65.35247, 66.62684, @@ -114,14 +114,14 @@ ], "unit": "kg/Sm3", "values": [ - 48.99959, + 48.99958, 52.27962, 63.32131, - 70.93542, + 70.93543, 75.37706, 75.37706, - 67.98951, - 74.10166, + 67.9895, + 74.10167, 78.15451, 76.82715, 71.80412, @@ -213,12 +213,12 @@ "values": [ 159248653.0, 157675320.0, - 176159892.0, - 180743459.0, - 193956751.0, + 176159893.0, + 180743460.0, + 193956750.0, 196669944.0, 196217713.0, - 202297533.0, + 202297534.0, 193041628.0, 149812941.0, 149352574.0, @@ -243,17 +243,17 @@ "unit": "NOK", "values": [ 0.0, - 58285007071.0, - 115836498746.0, - 180134859439.0, - 246106222069.0, - 311081733597.0, - 388963031470.0, - 460582496721.0, - 534421096330.0, - 605074332133.0, - 659756055520.0, - 714269744871.0 + 58285006998.0, + 115836498798.0, + 180134859743.0, + 246106222643.0, + 311081733893.0, + 388963031717.0, + 460582496962.0, + 534421096872.0, + 605074332720.0, + 659756056185.0, + 714269745695.0 ] }, "rate": { @@ -289,13 +289,13 @@ "unit": "t/d", "values": [ 612.4948, - 606.4435, + 606.4436, 677.538, 695.1672, 745.9875, 756.4229, 754.6835, - 778.0674, + 778.0675, 742.4678, 576.2036, 574.433, @@ -339,7 +339,7 @@ 464067.2, 476141.9, 510950.3, - 518097.9, + 518097.8, 516906.5, 532922.9, 508539.6, @@ -367,16 +367,16 @@ "values": [ 0.0, 153543222.0, - 305154106.0, - 474538618.0, - 648330406.0, - 819498771.0, - 1024665520.0, - 1213336398.0, - 1407853257.0, - 1593978746.0, - 1738029651.0, - 1881637895.0 + 305154112.0, + 474538640.0, + 648330433.0, + 819498784.0, + 1024665512.0, + 1213336385.0, + 1407853243.0, + 1593978737.0, + 1738029637.0, + 1881637865.0 ] }, "timesteps": [ @@ -4465,12 +4465,12 @@ "unit": "kg/Sm3", "values": [ null, - 48.99959, - 50.57611, + 48.99958, + 50.57612, 54.49104, 58.10161, 61.01939, - 63.47639, + 63.4764, 64.13842, 65.35247, 66.62684, @@ -4526,14 +4526,14 @@ ], "unit": "kg/Sm3", "values": [ - 48.99959, + 48.99958, 52.27962, 63.32131, - 70.93542, + 70.93543, 75.37706, 75.37706, - 67.98951, - 74.10166, + 67.9895, + 74.10167, 78.15451, 76.82715, 71.80412, @@ -4625,12 +4625,12 @@ "values": [ 159248653.0, 157675320.0, - 176159892.0, - 180743459.0, - 193956751.0, + 176159893.0, + 180743460.0, + 193956750.0, 196669944.0, 196217713.0, - 202297533.0, + 202297534.0, 193041628.0, 149812941.0, 149352574.0, @@ -4655,17 +4655,17 @@ "unit": "NOK", "values": [ 0.0, - 58285007071.0, - 115836498746.0, - 180134859439.0, - 246106222069.0, - 311081733597.0, - 388963031470.0, - 460582496721.0, - 534421096330.0, - 605074332133.0, - 659756055520.0, - 714269744871.0 + 58285006998.0, + 115836498798.0, + 180134859743.0, + 246106222643.0, + 311081733893.0, + 388963031717.0, + 460582496962.0, + 534421096872.0, + 605074332720.0, + 659756056185.0, + 714269745695.0 ] }, "rate": { @@ -4701,13 +4701,13 @@ "unit": "t/d", "values": [ 612.4948, - 606.4435, + 606.4436, 677.538, 695.1672, 745.9875, 756.4229, 754.6835, - 778.0674, + 778.0675, 742.4678, 576.2036, 574.433, @@ -4751,7 +4751,7 @@ 464067.2, 476141.9, 510950.3, - 518097.9, + 518097.8, 516906.5, 532922.9, 508539.6, @@ -4779,16 +4779,16 @@ "values": [ 0.0, 153543222.0, - 305154106.0, - 474538618.0, - 648330406.0, - 819498771.0, - 1024665520.0, - 1213336398.0, - 1407853257.0, - 1593978746.0, - 1738029651.0, - 1881637895.0 + 305154112.0, + 474538640.0, + 648330433.0, + 819498784.0, + 1024665512.0, + 1213336385.0, + 1407853243.0, + 1593978737.0, + 1738029637.0, + 1881637865.0 ] }, "timesteps": [ @@ -5041,6 +5041,37 @@ 2869.749 ] }, + "regularity": { + "timesteps": [ + "2020-01-01 00:00:00", + "2021-01-01 00:00:00", + "2022-01-01 00:00:00", + "2023-01-01 00:00:00", + "2024-01-01 00:00:00", + "2024-12-01 00:00:00", + "2026-01-01 00:00:00", + "2027-01-01 00:00:00", + "2028-01-01 00:00:00", + "2029-01-01 00:00:00", + "2030-01-01 00:00:00", + "2031-01-01 00:00:00" + ], + "unit": "N/A", + "values": [ + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0 + ] + }, "timesteps": [ "2020-01-01 00:00:00", "2021-01-01 00:00:00", diff --git a/src/tests/libecalc/common/test_tabular_time_series.py b/src/tests/libecalc/common/test_tabular_time_series.py index 16a3a90f6..218d6221b 100644 --- a/src/tests/libecalc/common/test_tabular_time_series.py +++ b/src/tests/libecalc/common/test_tabular_time_series.py @@ -5,8 +5,10 @@ from libecalc.common.stream import Stage, Stream from libecalc.common.tabular_time_series import TabularTimeSeriesUtils from libecalc.common.units import Unit -from libecalc.common.utils.rates import TimeSeriesFloat, TimeSeriesRate -from libecalc.dto.types import RateType +from libecalc.common.utils.rates import ( + TimeSeriesFloat, + TimeSeriesStreamDayRate, +) from pydantic import BaseModel @@ -16,9 +18,9 @@ class MergeableObject(BaseModel): float_test: float list_of_float_test: List[float] time_series_float: TimeSeriesFloat - time_series_rate: TimeSeriesRate + time_series_rate: TimeSeriesStreamDayRate time_series_float_list_test: List[TimeSeriesFloat] - time_series_rate_list_test: List[TimeSeriesRate] + time_series_rate_list_test: List[TimeSeriesStreamDayRate] stage_list: List[Stage] @@ -30,12 +32,10 @@ def test_valid_merge(self): int_test=15, float_test=1.0, list_of_float_test=[11, 12, 13, 14, 15], - time_series_rate=TimeSeriesRate( + time_series_rate=TimeSeriesStreamDayRate( timesteps=first_timesteps, values=[11, 12], unit=Unit.NORWEGIAN_KRONER, - regularity=[11, 12], - rate_type=RateType.CALENDAR_DAY, ), time_series_float=TimeSeriesFloat( timesteps=first_timesteps, @@ -55,31 +55,25 @@ def test_valid_merge(self): ), ], time_series_rate_list_test=[ - TimeSeriesRate( + TimeSeriesStreamDayRate( timesteps=first_timesteps, values=[111, 112], unit=Unit.NORWEGIAN_KRONER, - regularity=[111, 112], - rate_type=RateType.CALENDAR_DAY, ), - TimeSeriesRate( + TimeSeriesStreamDayRate( timesteps=first_timesteps, values=[-121, -122], unit=Unit.NORWEGIAN_KRONER, - regularity=[121, 122], - rate_type=RateType.CALENDAR_DAY, ), ], stage_list=[ Stage( name="inlet", stream=Stream( - rate=TimeSeriesRate( + rate=TimeSeriesStreamDayRate( timesteps=first_timesteps, values=[-111, -112], unit=Unit.NORWEGIAN_KRONER, - regularity=[111, 112], - rate_type=RateType.CALENDAR_DAY, ), pressure=TimeSeriesFloat( timesteps=first_timesteps, @@ -91,12 +85,10 @@ def test_valid_merge(self): Stage( name="outlet", stream=Stream( - rate=TimeSeriesRate( + rate=TimeSeriesStreamDayRate( timesteps=first_timesteps, values=[-121, -122], unit=Unit.NORWEGIAN_KRONER, - regularity=[121, 122], - rate_type=RateType.CALENDAR_DAY, ), pressure=TimeSeriesFloat( timesteps=first_timesteps, @@ -119,12 +111,10 @@ def test_valid_merge(self): values=[21, 22], unit=Unit.NORWEGIAN_KRONER, ), - time_series_rate=TimeSeriesRate( + time_series_rate=TimeSeriesStreamDayRate( timesteps=second_timesteps, values=[21, 22], unit=Unit.NORWEGIAN_KRONER, - regularity=[21, 22], - rate_type=RateType.CALENDAR_DAY, ), time_series_float_list_test=[ TimeSeriesFloat( @@ -139,31 +129,25 @@ def test_valid_merge(self): ), ], time_series_rate_list_test=[ - TimeSeriesRate( + TimeSeriesStreamDayRate( timesteps=second_timesteps, values=[211, 212], unit=Unit.NORWEGIAN_KRONER, - regularity=[211, 212], - rate_type=RateType.CALENDAR_DAY, ), - TimeSeriesRate( + TimeSeriesStreamDayRate( timesteps=second_timesteps, values=[-221, -222], unit=Unit.NORWEGIAN_KRONER, - regularity=[221, 222], - rate_type=RateType.CALENDAR_DAY, ), ], stage_list=[ Stage( name="inlet", stream=Stream( - rate=TimeSeriesRate( + rate=TimeSeriesStreamDayRate( timesteps=second_timesteps, values=[-211, -212], unit=Unit.NORWEGIAN_KRONER, - regularity=[211, 212], - rate_type=RateType.CALENDAR_DAY, ), pressure=TimeSeriesFloat( timesteps=second_timesteps, @@ -175,12 +159,10 @@ def test_valid_merge(self): Stage( name="outlet", stream=Stream( - rate=TimeSeriesRate( + rate=TimeSeriesStreamDayRate( timesteps=second_timesteps, values=[-221, -222], unit=Unit.NORWEGIAN_KRONER, - regularity=[221, 222], - rate_type=RateType.CALENDAR_DAY, ), pressure=TimeSeriesFloat( timesteps=second_timesteps, @@ -208,12 +190,10 @@ def test_valid_merge(self): values=[11, 21, 12, 22], unit=Unit.NORWEGIAN_KRONER, ), - time_series_rate=TimeSeriesRate( + time_series_rate=TimeSeriesStreamDayRate( 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( @@ -228,31 +208,25 @@ def test_valid_merge(self): ), ], time_series_rate_list_test=[ - TimeSeriesRate( + TimeSeriesStreamDayRate( timesteps=expected_timesteps, values=[111, 211, 112, 212], unit=Unit.NORWEGIAN_KRONER, - regularity=[111, 211, 112, 212], - rate_type=RateType.CALENDAR_DAY, ), - TimeSeriesRate( + TimeSeriesStreamDayRate( 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=Stream( - rate=TimeSeriesRate( + rate=TimeSeriesStreamDayRate( 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, @@ -264,12 +238,10 @@ def test_valid_merge(self): Stage( name="outlet", stream=Stream( - rate=TimeSeriesRate( + rate=TimeSeriesStreamDayRate( 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, diff --git a/src/tests/libecalc/common/utils/test_compute_emission_intensity_yearly.py b/src/tests/libecalc/common/utils/test_compute_emission_intensity_yearly.py index a740fbc75..60c7508cd 100644 --- a/src/tests/libecalc/common/utils/test_compute_emission_intensity_yearly.py +++ b/src/tests/libecalc/common/utils/test_compute_emission_intensity_yearly.py @@ -9,6 +9,7 @@ compute_emission_intensity_yearly, ) from libecalc.common.utils.rates import Rates, TimeSeriesRate, TimeSeriesVolumes +from libecalc.dto.types import RateType def _setup_intensity_testcase( @@ -22,9 +23,21 @@ def _setup_intensity_testcase( hcexport_cumulative = Rates.compute_cumulative_volumes_from_daily_rates(rates=hcexport_rate, time_steps=time_vector) return ( - TimeSeriesRate(values=list(emission_rate), timesteps=time_vector, unit=Unit.KILO_PER_DAY), + TimeSeriesRate( + values=list(emission_rate), + timesteps=time_vector, + unit=Unit.KILO_PER_DAY, + rate_type=RateType.STREAM_DAY, + regularity=[1.0] * len(time_vector), + ), TimeSeriesVolumes(values=list(emission_cumulative), timesteps=time_vector, unit=Unit.KILO), - TimeSeriesRate(values=list(hcexport_rate), timesteps=time_vector, unit=Unit.STANDARD_CUBIC_METER_PER_DAY), + TimeSeriesRate( + values=list(hcexport_rate), + timesteps=time_vector, + unit=Unit.STANDARD_CUBIC_METER_PER_DAY, + rate_type=RateType.STREAM_DAY, + regularity=[1.0] * len(time_vector), + ), TimeSeriesVolumes(values=list(hcexport_cumulative), timesteps=time_vector, unit=Unit.STANDARD_CUBIC_METER), ) diff --git a/src/tests/libecalc/common/utils/test_rates.py b/src/tests/libecalc/common/utils/test_rates.py index 14a5f2738..7ab03d986 100644 --- a/src/tests/libecalc/common/utils/test_rates.py +++ b/src/tests/libecalc/common/utils/test_rates.py @@ -265,9 +265,10 @@ def test_adding_timeseriesrate(self): datetime(2023, 1, 7), datetime(2023, 1, 9), ], - values=[10] * 16, - regularity=[1, 1, 1, 1, 0.9, 0.9, 0.9, 0.9, 0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0], + values=[10] * 4, + regularity=[1, 0.9, 0.5, 0.0], unit=Unit.STANDARD_CUBIC_METER_PER_DAY, + rate_type=RateType.STREAM_DAY, ) rate2 = TimeSeriesRate( timesteps=[ @@ -276,12 +277,13 @@ def test_adding_timeseriesrate(self): datetime(2023, 1, 7), datetime(2023, 1, 9), ], - values=[10] * 16, - regularity=[1.0, 0.9, 0.5, 0.0] * 4, + values=[10] * 4, + regularity=[1.0, 0.9, 0.5, 0.0], unit=Unit.STANDARD_CUBIC_METER_PER_DAY, + rate_type=RateType.STREAM_DAY, ) - expected_values = [20] * 16 # all values are 10 + expected_values = [20] * 4 # all values are 10 expected_regularity = [ (regularity1 + regularity2) / 2 for regularity1, regularity2 in zip(rate1.regularity, rate2.regularity) ] @@ -303,6 +305,8 @@ def test_to_volumes(self): ], values=[3, 4, 5, 6], unit=Unit.KILO_PER_DAY, + rate_type=RateType.STREAM_DAY, + regularity=[1.0] * 4, ) volumes = rates.to_volumes() assert volumes.values == [9, 12, 10] @@ -324,6 +328,8 @@ def test_resample_up_sampling(self): ], values=[1, 2, 3, 4], unit=Unit.KILO_PER_DAY, + rate_type=RateType.CALENDAR_DAY, + regularity=[1.0] * 4, ) rates_monthly = rates.resample(freq=Frequency.MONTH) @@ -353,6 +359,8 @@ def test_resample_down_sampling(self): ], values=[1, 2, 3, 4, 5, 6, 7, 8], unit=Unit.KILO_PER_DAY, + rate_type=RateType.CALENDAR_DAY, + regularity=[1.0] * 8, ) rates_yearly = rates.resample(freq=Frequency.YEAR) # now with average rates in the new sampling period @@ -377,6 +385,8 @@ def test_resample_up_and_down_sampling(self): ], values=[1, 2, 3, 4, 5, 6, 7], unit=Unit.KILO_PER_DAY, + rate_type=RateType.CALENDAR_DAY, + regularity=[1.0] * 7, ) rates_monthly = rates.resample(freq=Frequency.MONTH) rates_yearly = rates.resample(freq=Frequency.YEAR) @@ -551,12 +561,16 @@ def test_merge_time_series_rate_different_unit(self): timesteps=[datetime(2021, 1, 1)], values=[11], unit=Unit.NORWEGIAN_KRONER, + rate_type=RateType.CALENDAR_DAY, + regularity=[1.0], ) second = TimeSeriesRate( timesteps=[datetime(2020, 1, 1)], values=[21], unit=Unit.NORWEGIAN_KRONER_PER_DAY, + rate_type=RateType.CALENDAR_DAY, + regularity=[1.0], ) with pytest.raises(ValueError) as exc_info: @@ -569,12 +583,16 @@ def test_merge_time_series_rate_overlapping_timesteps(self): timesteps=[datetime(2021, 1, 1)], values=[11], unit=Unit.NORWEGIAN_KRONER, + rate_type=RateType.CALENDAR_DAY, + regularity=[1.0], ) second = TimeSeriesRate( timesteps=[datetime(2020, 1, 1), datetime(2021, 1, 1)], values=[21, 22], unit=Unit.NORWEGIAN_KRONER, + rate_type=RateType.CALENDAR_DAY, + regularity=[1.0] * 2, ) with pytest.raises(ValueError) as exc_info: @@ -587,6 +605,8 @@ def test_merge_time_series_rate_different_types(self): timesteps=[datetime(2021, 1, 1)], values=[11], unit=Unit.NORWEGIAN_KRONER, + rate_type=RateType.CALENDAR_DAY, + regularity=[1.0], ) second = TimeSeriesBoolean( @@ -609,6 +629,7 @@ def test_merge_time_series_rate_different_rate_types(self): values=[11], unit=Unit.NORWEGIAN_KRONER_PER_DAY, rate_type=RateType.STREAM_DAY, + regularity=[1.0], ) second = TimeSeriesRate( @@ -616,6 +637,7 @@ def test_merge_time_series_rate_different_rate_types(self): values=[21], unit=Unit.NORWEGIAN_KRONER_PER_DAY, rate_type=RateType.CALENDAR_DAY, + regularity=[1.0], ) with pytest.raises(ValueError) as exc_info: diff --git a/src/tests/libecalc/core/consumers/test_crossover.py b/src/tests/libecalc/core/consumers/test_crossover.py index ed45213c2..7c94a60a3 100644 --- a/src/tests/libecalc/core/consumers/test_crossover.py +++ b/src/tests/libecalc/core/consumers/test_crossover.py @@ -5,14 +5,17 @@ import pytest from libecalc.common.stream import Stream from libecalc.common.units import Unit -from libecalc.common.utils.rates import TimeSeriesFloat, TimeSeriesRate +from libecalc.common.utils.rates import ( + TimeSeriesFloat, + TimeSeriesStreamDayRate, +) from libecalc.core.consumers.consumer_system import ConsumerSystem def create_stream_from_rate(rate: List[float]) -> Stream: timesteps = [datetime(2020, 1, i + 1) for i in range(len(rate))] return Stream( - rate=TimeSeriesRate( + rate=TimeSeriesStreamDayRate( timesteps=timesteps, values=rate, unit=Unit.STANDARD_CUBIC_METER_PER_DAY, diff --git a/src/tests/libecalc/core/consumers/test_genset.py b/src/tests/libecalc/core/consumers/test_genset.py index f36cb6d52..251956632 100644 --- a/src/tests/libecalc/core/consumers/test_genset.py +++ b/src/tests/libecalc/core/consumers/test_genset.py @@ -4,11 +4,13 @@ import pandas as pd from libecalc import dto from libecalc.common.units import Unit -from libecalc.common.utils.rates import TimeSeriesBoolean, TimeSeriesRate +from libecalc.common.utils.rates import ( + TimeSeriesBoolean, + TimeSeriesStreamDayRate, +) from libecalc.core.consumers.generator_set import Genset from libecalc.core.ecalc import EnergyCalculator from libecalc.core.result.results import GenericComponentResult -from libecalc.dto.types import RateType def test_genset_out_of_capacity(genset_2mw_dto, fuel_dto): @@ -28,10 +30,9 @@ def test_genset_out_of_capacity(genset_2mw_dto, fuel_dto): # Note that this discrepancy between power rate and fuel rate will normally not happen, since the el-consumer # will also interpolate the same way as the genset does. - assert generator_set_result.power == TimeSeriesRate( + assert generator_set_result.power == TimeSeriesStreamDayRate( timesteps=time_vector, values=[1, 2, 10, 0, 0, 0], - regularity=[1] * 6, unit=Unit.MEGA_WATT, ) assert generator_set_result.is_valid == TimeSeriesBoolean( @@ -61,16 +62,13 @@ def test_genset_with_elconsumer_nan_results(genset_2mw_dto, fuel_dto): # The Genset is not supposed to handle NaN-values from the el-consumers. np.testing.assert_equal(results.power.values, [np.nan, np.nan, 0.5, 0.5, np.nan, np.nan]) assert results.power.unit == Unit.MEGA_WATT - assert results.power.regularity == [1] * 6 assert results.power.timesteps == time_vector # The resulting fuel rate will be zero and the result is invalid for the NaN-timesteps. - assert results.energy_usage == TimeSeriesRate( + assert results.energy_usage == TimeSeriesStreamDayRate( timesteps=time_vector, values=[0, 0, 0.6, 0.6, 0.0, 0.0], - regularity=[1] * 6, unit=Unit.STANDARD_CUBIC_METER_PER_DAY, - rate_type=RateType.CALENDAR_DAY, ) assert results.is_valid == TimeSeriesBoolean( timesteps=time_vector, @@ -90,20 +88,17 @@ def test_genset_outside_capacity(genset_2mw_dto, fuel_dto): ) # The genset will still report power rate - assert results.power == TimeSeriesRate( + assert results.power == TimeSeriesStreamDayRate( timesteps=time_vector, values=[1, 2, 3, 4, 5, 6], - regularity=[1] * 6, unit=Unit.MEGA_WATT, ) # But the fuel rate will only be valid for the first step. The rest is extrapolated. - assert results.energy_usage == TimeSeriesRate( + assert results.energy_usage == TimeSeriesStreamDayRate( timesteps=time_vector, values=[1, 2, 2, 2, 2, 2], - regularity=[1] * 6, unit=Unit.STANDARD_CUBIC_METER_PER_DAY, - rate_type=RateType.CALENDAR_DAY, ) assert results.is_valid == TimeSeriesBoolean( timesteps=time_vector, @@ -125,21 +120,18 @@ def test_genset_late_startup(genset_1000mw_late_startup_dto, fuel_dto): for successor in graph.get_successors(genset_1000mw_late_startup_dto.id) ] - assert generator_set_result.power == TimeSeriesRate( + assert generator_set_result.power == TimeSeriesStreamDayRate( timesteps=time_vector, values=[1.0, 2.0, 10.0, 0.0, 0.0, 0.0], - regularity=[1] * 6, unit=Unit.MEGA_WATT, ) # Note that the genset is not able to deliver the power rate demanded by the el-consumer(s) for the two # first time-steps before the genset is activated in 2022. - assert generator_set_result.energy_usage == TimeSeriesRate( + assert generator_set_result.energy_usage == TimeSeriesStreamDayRate( timesteps=time_vector, values=[0.0, 0.0, 10.0, 0.0, 0.0, 0.0], - regularity=[1] * 6, unit=Unit.STANDARD_CUBIC_METER_PER_DAY, - rate_type=RateType.CALENDAR_DAY, ) assert generator_set_result.is_valid == TimeSeriesBoolean( timesteps=time_vector, diff --git a/src/tests/libecalc/core/consumers/test_legacy_consumer.py b/src/tests/libecalc/core/consumers/test_legacy_consumer.py index 097d18a77..49686b32e 100644 --- a/src/tests/libecalc/core/consumers/test_legacy_consumer.py +++ b/src/tests/libecalc/core/consumers/test_legacy_consumer.py @@ -5,7 +5,11 @@ import pandas as pd from libecalc import dto from libecalc.common.units import Unit -from libecalc.common.utils.rates import TimeSeriesBoolean, TimeSeriesRate +from libecalc.common.utils.rates import ( + TimeSeriesBoolean, + TimeSeriesRate, + TimeSeriesStreamDayRate, +) from libecalc.core.consumers.legacy_consumer.component import Consumer from libecalc.core.consumers.legacy_consumer.consumer_function import ( ConsumerFunctionResult, @@ -75,10 +79,9 @@ def test_electricity_consumer(direct_el_consumer): assert isinstance(result, EcalcModelResult) consumer_result = result.component_result - assert consumer_result.power == TimeSeriesRate( + assert consumer_result.power == TimeSeriesStreamDayRate( timesteps=time_vector, values=[1, 2, 10, 0, 0, 0], - regularity=[1] * 6, unit=Unit.MEGA_WATT, ) assert consumer_result.is_valid == TimeSeriesBoolean( @@ -101,10 +104,9 @@ def test_electricity_consumer_mismatch_time_slots(direct_el_consumer): # The consumer itself should however return a proper result object matching the input time_vector. assert consumer_result.timesteps == time_vector - assert consumer_result.power == TimeSeriesRate( + assert consumer_result.power == TimeSeriesStreamDayRate( timesteps=time_vector, values=[0] * len(time_vector), - regularity=[1] * 6, unit=Unit.MEGA_WATT, ) assert consumer_result.is_valid == TimeSeriesBoolean( @@ -141,10 +143,9 @@ def test_electricity_consumer_nan_values(direct_el_consumer): ) consumer_result = result.component_result - assert consumer_result.power == TimeSeriesRate( + assert consumer_result.power == TimeSeriesStreamDayRate( timesteps=time_vector, values=[0, 0, 1, 1, 1, 1], - regularity=[1] * 6, unit=Unit.MEGA_WATT, ) assert consumer_result.is_valid == TimeSeriesBoolean( diff --git a/src/tests/libecalc/core/models/test_fuel_model.py b/src/tests/libecalc/core/models/test_fuel_model.py index c6504e1a8..8ad7ebf83 100644 --- a/src/tests/libecalc/core/models/test_fuel_model.py +++ b/src/tests/libecalc/core/models/test_fuel_model.py @@ -6,6 +6,7 @@ from libecalc.common.utils.rates import TimeSeriesRate from libecalc.core.models.fuel import FuelModel from libecalc.dto import VariablesMap +from libecalc.dto.types import RateType from libecalc.expression import Expression @@ -39,16 +40,22 @@ def test_fuel_model(): timesteps=timesteps, values=[0.001, 0.002, 0.003], unit=Unit.TONS_PER_DAY, + rate_type=RateType.CALENDAR_DAY, + regularity=[1.0, 1.0, 1.0], ) assert emission_result.tax == TimeSeriesRate( timesteps=timesteps, values=[1.0, 2.0, 3.0], unit=Unit.NORWEGIAN_KRONER_PER_DAY, + rate_type=RateType.CALENDAR_DAY, + regularity=[1.0, 1.0, 1.0], ) assert emission_result.quota == TimeSeriesRate( timesteps=timesteps, values=[0.0] * 3, unit=Unit.NORWEGIAN_KRONER_PER_DAY, + rate_type=RateType.CALENDAR_DAY, + regularity=[1.0, 1.0, 1.0], ) diff --git a/src/tests/libecalc/core/result/test_results.py b/src/tests/libecalc/core/result/test_results.py index 82f04c3e3..a871bc5b2 100644 --- a/src/tests/libecalc/core/result/test_results.py +++ b/src/tests/libecalc/core/result/test_results.py @@ -4,10 +4,9 @@ from libecalc.common.utils.rates import ( TimeSeriesBoolean, TimeSeriesFloat, - TimeSeriesRate, + TimeSeriesStreamDayRate, ) from libecalc.core.result import CompressorResult -from libecalc.dto.types import RateType class TestMerge: @@ -20,31 +19,25 @@ def test_merge_compressor_result(self): ] compressor_result = CompressorResult( timesteps=timesteps, - energy_usage=TimeSeriesRate( + energy_usage=TimeSeriesStreamDayRate( timesteps=timesteps, values=[1, 2, 3, 4], unit=Unit.STANDARD_CUBIC_METER_PER_DAY, - rate_type=RateType.STREAM_DAY, - regularity=[1, 1, 1, 1], ), - power=TimeSeriesRate( + power=TimeSeriesStreamDayRate( timesteps=timesteps, values=[1, 2, 3, 4], unit=Unit.MEGA_WATT, - rate_type=RateType.STREAM_DAY, - regularity=[1, 1, 1, 1], ), is_valid=TimeSeriesBoolean( timesteps=timesteps, values=[True, True, True, True], unit=Unit.NONE, ), - recirculation_loss=TimeSeriesRate( + recirculation_loss=TimeSeriesStreamDayRate( timesteps=timesteps, values=[0.1, 0.2, 0.3, 0.4], unit=Unit.MEGA_WATT, - rate_type=RateType.STREAM_DAY, - regularity=[1, 1, 1, 1], ), rate_exceeds_maximum=TimeSeriesBoolean( timesteps=timesteps, diff --git a/src/tests/libecalc/dto/utils/test_aggregators.py b/src/tests/libecalc/dto/utils/test_aggregators.py index 2106197f9..ead4d4ce9 100644 --- a/src/tests/libecalc/dto/utils/test_aggregators.py +++ b/src/tests/libecalc/dto/utils/test_aggregators.py @@ -4,10 +4,14 @@ import pandas as pd from libecalc import dto from libecalc.common.units import Unit -from libecalc.common.utils.rates import TimeSeriesRate +from libecalc.common.utils.rates import ( + TimeSeriesFloat, + TimeSeriesStreamDayRate, +) from libecalc.core.ecalc import EnergyCalculator from libecalc.core.graph_result import GraphResult from libecalc.core.result.emission import EmissionResult +from libecalc.dto.result.emission import PartialEmissionResult from libecalc.dto.utils.aggregators import aggregate_emissions from libecalc.expression import Expression @@ -92,19 +96,19 @@ def direct_fuel_consumer(name: str, name_fuel: str, co2_factor: float, fuel_rate def get_emission_with_only_rate(rates: List[float], name: str): timesteps = list(pd.date_range(start="2020-01-01", freq="Y", periods=len(rates))) return EmissionResult( - rate=TimeSeriesRate( + rate=TimeSeriesStreamDayRate( timesteps=timesteps, values=rates, unit=Unit.STANDARD_CUBIC_METER_PER_DAY, ), timesteps=timesteps, name=name, - tax=TimeSeriesRate( + tax=TimeSeriesStreamDayRate( timesteps=timesteps, values=[0] * len(rates), unit=Unit.NORWEGIAN_KRONER_PER_DAY, ), - quota=TimeSeriesRate( + quota=TimeSeriesStreamDayRate( timesteps=timesteps, values=[0] * len(rates), unit=Unit.NORWEGIAN_KRONER_PER_DAY, @@ -115,13 +119,26 @@ def get_emission_with_only_rate(rates: List[float], name: str): class TestAggregateEmissions: def test_aggregate_emissions(self): """Test that emissions are aggregated correctly and that order is preserved.""" + timesteps = list(pd.date_range(start="2020-01-01", freq="Y", periods=3)) emissions1 = { - "CO2": get_emission_with_only_rate([1, 2, 3], name="CO2"), - "CH4": get_emission_with_only_rate([2, 3, 4], name="CH4"), + "CO2": PartialEmissionResult.from_emission_core_result( + get_emission_with_only_rate([1, 2, 3], name="CO2"), + regularity=TimeSeriesFloat(values=[1.0] * 3, timesteps=timesteps, unit=Unit.NONE), + ), + "CH4": PartialEmissionResult.from_emission_core_result( + get_emission_with_only_rate([2, 3, 4], name="CH4"), + regularity=TimeSeriesFloat(values=[1.0] * 3, timesteps=timesteps, unit=Unit.NONE), + ), } emissions2 = { - "CO2:": get_emission_with_only_rate([3, 6, 9], name="CO2"), - "CH4": get_emission_with_only_rate([4, 8, 12], name="CH4"), + "CO2:": PartialEmissionResult.from_emission_core_result( + get_emission_with_only_rate([3, 6, 9], name="CO2"), + regularity=TimeSeriesFloat(values=[1.0] * 3, timesteps=timesteps, unit=Unit.NONE), + ), + "CH4": PartialEmissionResult.from_emission_core_result( + get_emission_with_only_rate([4, 8, 12], name="CH4"), + regularity=TimeSeriesFloat(values=[1.0] * 3, timesteps=timesteps, unit=Unit.NONE), + ), } aggregated = aggregate_emissions( emissions_lists=[emissions1, emissions2], @@ -182,14 +199,37 @@ def test_aggregate_emissions_installations(self): for installation in asset.installations: aggregated_emissions_correct = aggregate_emissions( [ - graph_result.emission_results[fuel_consumer_id] - for fuel_consumer_id in graph_result.graph.get_successors(installation.id) + { + emission_name: PartialEmissionResult.from_emission_core_result( + emission, + regularity=TimeSeriesFloat( + values=[1.0] * len(emission.timesteps), timesteps=emission.timesteps, unit=Unit.NONE + ), + ) + for fuel_consumer_id in graph_result.graph.get_successors(installation.id) + for emission_name, emission in graph_result.emission_results[fuel_consumer_id].items() + } ] ) # The method below aggregates all installations for each installation, which is wrong. # It was not captured in any test previously. - aggregated_emissions_wrong = aggregate_emissions(list(graph_result.emission_results.values())) + aggregated_emissions_wrong = aggregate_emissions( + [ + { + emission_name: PartialEmissionResult.from_emission_core_result( + emission_result=emission_result, + regularity=TimeSeriesFloat( + values=[1.0] * len(emission_result.timesteps), + timesteps=emission_result.timesteps, + unit=Unit.NONE, + ), + ) + for emission_name, emission_result in emission_results.items() + } + for consumer_name, emission_results in graph_result.emission_results.items() + ] + ) installation_results_correct.append(aggregated_emissions_correct["co2"].rate.values) installation_results_wrong.append(aggregated_emissions_wrong["co2"].rate.values) 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 6d1526f3f..9f5bdc7e4 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 @@ -3,29 +3,6 @@ "130f251299a59d4b36cc7ecb637e12d1": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -121,29 +98,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -216,22 +170,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -299,22 +237,6 @@ }, "name": "el-consumer2", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -369,29 +291,6 @@ "2c04b611477cfbababf1eff9743c3334": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -487,29 +386,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -585,29 +461,6 @@ "3a6cd9ab6a28c10ad38e93b46963ed3a": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -706,18 +559,6 @@ "1": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -792,18 +633,6 @@ ], "name": "train1", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -1639,18 +1468,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -1725,18 +1542,6 @@ ], "name": "train2", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -2572,20 +2377,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00", @@ -2672,20 +2463,6 @@ ], "name": "train1_upgrade", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00", @@ -3653,20 +3430,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00", @@ -3753,20 +3516,6 @@ ], "name": "train2_upgrade", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00", @@ -4736,18 +4485,6 @@ "2": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -4822,18 +4559,6 @@ ], "name": "train1", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -5669,18 +5394,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -5755,18 +5468,6 @@ ], "name": "train2", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -6602,20 +6303,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00", @@ -6702,20 +6389,6 @@ ], "name": "train1_upgrade", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00", @@ -7683,20 +7356,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00", @@ -7783,20 +7442,6 @@ ], "name": "train2_upgrade", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00", @@ -8812,29 +8457,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -8907,18 +8529,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -8993,18 +8603,6 @@ ], "name": "train1", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -9840,18 +9438,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -9926,18 +9512,6 @@ ], "name": "train2", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -10773,20 +10347,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00", @@ -10873,20 +10433,6 @@ ], "name": "train1_upgrade", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00", @@ -11854,20 +11400,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00", @@ -11954,20 +11486,6 @@ ], "name": "train2_upgrade", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00", @@ -12939,29 +12457,6 @@ "75e450e0716f5035d2ba5af0acdb0a66": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -13083,29 +12578,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -13230,29 +12702,6 @@ "7f11ce5c79ea179a21b672ec17b87787": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -13348,29 +12797,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -13443,22 +12869,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -13526,22 +12936,6 @@ }, "name": "el-consumer4", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -13596,29 +12990,6 @@ "a8d3e56e32a9aaf28130d776d0a4f0e6": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -13714,29 +13085,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -13784,29 +13132,6 @@ ] }, "power_capacity_margin": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -13882,29 +13207,6 @@ "be2610ddae7a0835fe1cf4eed18dda73": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -14047,29 +13349,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -14164,29 +13443,6 @@ ] }, "recirculation_loss": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -14260,22 +13516,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -14374,22 +13614,6 @@ ], "name": "el-consumer-simple-compressor-model-with-timeslots", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -15493,29 +14717,6 @@ "dce9ee3d6802b4096b59c91642b5d6e0": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -15611,29 +14812,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -15681,29 +14859,6 @@ ] }, "power_capacity_margin": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -15779,29 +14934,6 @@ "f935bb4a2425f11689d8b4e685bd1274": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -15897,29 +15029,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -15992,10 +15101,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00" ], @@ -16015,10 +15120,6 @@ }, "name": "el-consumer1", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00" ], @@ -16033,15 +15134,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00", "2019-01-01 00:00:00", @@ -16098,15 +15190,6 @@ ], "name": "el-consumer1", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00", "2019-01-01 00:00:00", @@ -16744,15 +15827,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2024-01-01 00:00:00", "2025-01-01 00:00:00", @@ -16792,15 +15866,6 @@ }, "name": "el-consumer1", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2024-01-01 00:00:00", "2025-01-01 00:00:00", @@ -16837,29 +15902,6 @@ "co2": { "name": "co2", "quota": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -16907,29 +15949,6 @@ ] }, "rate": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -16977,29 +15996,6 @@ ] }, "tax": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -17074,29 +16070,6 @@ "co2": { "name": "co2", "quota": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -17144,29 +16117,6 @@ ] }, "rate": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -17214,29 +16164,6 @@ ] }, "tax": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -17311,29 +16238,6 @@ "co2": { "name": "co2", "quota": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -17381,29 +16285,6 @@ ] }, "rate": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2010-01-01 00:00:00", "2011-01-01 00:00:00", @@ -17451,29 +16332,6 @@ ] }, "tax": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0, - 1.0 - ], "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 8baa89492..2ede6c79b 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 @@ -3,13 +3,6 @@ "0483da6ec3712906c43a86dc07ba7750": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -56,13 +49,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -93,13 +79,6 @@ ] }, "recirculation_loss": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -125,13 +104,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -176,13 +148,6 @@ ], "name": "simplified_compressor_train_predefined_variable_speed_charts_with_gerg_fluid", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -970,13 +935,6 @@ "09c1b79cf6cf1ef0773a194679246a4a": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -988,7 +946,7 @@ 1000000.0, 1000000.0, 1000000.0, - 0.0 + 75000.0 ] }, "id": "09c1b79cf6cf1ef0773a194679246a4a", @@ -1008,13 +966,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -1030,13 +981,6 @@ ] }, "power_capacity_margin": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -1064,13 +1008,6 @@ "16cc71fd6280071169c79bac6b315727": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -1117,13 +1054,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -1154,13 +1084,6 @@ ] }, "recirculation_loss": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -1186,13 +1109,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -1237,13 +1153,6 @@ ], "name": "single_speed_compressor_train_asv_pressure_control", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -1759,13 +1668,6 @@ "1a38d89e991650e59d64af81ba93203a": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -1812,13 +1714,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -1849,13 +1744,6 @@ ] }, "recirculation_loss": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -1881,13 +1769,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -1932,13 +1813,6 @@ ], "name": "simplified_variable_speed_compressor_train_known_stages_consumer", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -2726,13 +2600,6 @@ "2525d41304f16da944f36a122c9b907e": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -2779,13 +2646,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -2816,13 +2676,6 @@ ] }, "recirculation_loss": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -2848,13 +2701,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -2899,13 +2745,6 @@ ], "name": "variable_speed_compressor_train_predefined_charts", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -3693,13 +3532,6 @@ "3a6cd9ab6a28c10ad38e93b46963ed3a": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -3734,13 +3566,6 @@ "1": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -3785,13 +3610,6 @@ ], "name": "simplified_train1", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -4575,13 +4393,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -4626,13 +4437,6 @@ ], "name": "simplified_train2", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -5432,13 +5236,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -5463,13 +5260,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -5514,13 +5304,6 @@ ], "name": "simplified_train1", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -6304,13 +6087,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -6355,13 +6131,6 @@ ], "name": "simplified_train2", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -7149,13 +6918,6 @@ "411f7ef502a8522a87e596f57650e3b6": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -7202,13 +6964,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -7239,13 +6994,6 @@ ] }, "recirculation_loss": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -7271,13 +7019,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -7322,13 +7063,6 @@ ], "name": "generic_from_design_point_compressor_train_consumer", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -7906,13 +7640,6 @@ "660efc4b0fee948b3c8ae93e48b9e3bd": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -7929,13 +7656,6 @@ }, "id": "660efc4b0fee948b3c8ae93e48b9e3bd", "inlet_liquid_rate_m3_per_day": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8011,13 +7731,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8043,13 +7756,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8105,13 +7811,6 @@ 20.0 ], "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8139,13 +7838,6 @@ "6661da8a3a8ab9009bcf9d80af31ac66": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8192,13 +7884,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8229,13 +7914,6 @@ ] }, "recirculation_loss": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8261,13 +7939,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8307,13 +7978,6 @@ "max_standard_rate": null, "name": "single_1d_compressor_sampled", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8448,13 +8112,6 @@ "6b902f3d8a99f9b2b6a772de06365413": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8486,13 +8143,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8517,12 +8167,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00", "2019-01-01 00:00:00", @@ -8550,12 +8194,6 @@ }, "name": "late_start_consumer_evolving_type", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00", "2019-01-01 00:00:00", @@ -8580,13 +8218,6 @@ "75e47fc1f0b50c9faa627e944c2e6c29": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8618,13 +8249,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8649,13 +8273,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8687,13 +8304,6 @@ }, "name": "salt_water_injection_tabular", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8721,13 +8331,6 @@ "85018f936c624deebda36140d657320e": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8744,13 +8347,6 @@ }, "id": "85018f936c624deebda36140d657320e", "inlet_liquid_rate_m3_per_day": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8826,13 +8422,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8858,13 +8447,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8920,13 +8502,6 @@ 200.0 ], "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -8954,13 +8529,6 @@ "9373ec3ca83df3daafd79ef08aad83bf": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -9007,13 +8575,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -9044,13 +8605,6 @@ ] }, "recirculation_loss": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -9076,13 +8630,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -9127,13 +8674,6 @@ ], "name": "single_speed_compressor_train_downstream_choke_pressure_control", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -9649,13 +9189,6 @@ "95b05fbb1aa74c04ca2e937d43a05f6f": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -9667,7 +9200,7 @@ 10000.0, 10000.0, 14000.0, - 0.0 + 14000.0 ] }, "id": "95b05fbb1aa74c04ca2e937d43a05f6f", @@ -9697,13 +9230,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -9748,13 +9274,6 @@ "97c4f13fc5be30c816dba44919774c8f": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -9789,10 +9308,6 @@ "1": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00" ], @@ -9819,10 +9334,6 @@ ], "name": "train1", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00" ], @@ -10429,10 +9940,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00" ], @@ -10459,10 +9966,6 @@ ], "name": "train2", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00" ], @@ -11069,10 +10572,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00" ], @@ -11099,10 +10598,6 @@ ], "name": "train3", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00" ], @@ -11709,11 +11204,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00" @@ -11746,11 +11236,6 @@ ], "name": "train1_upgraded", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00" @@ -12429,11 +11914,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00" @@ -12466,11 +11946,6 @@ ], "name": "train2_upgraded", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00" @@ -13165,13 +12640,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -13196,10 +12664,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00" ], @@ -13226,10 +12690,6 @@ ], "name": "train1", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00" ], @@ -13836,10 +13296,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00" ], @@ -13866,10 +13322,6 @@ ], "name": "train2", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00" ], @@ -14476,10 +13928,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00" ], @@ -14506,10 +13954,6 @@ ], "name": "train3", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00" ], @@ -15116,11 +14560,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00" @@ -15153,11 +14592,6 @@ ], "name": "train1_upgraded", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00" @@ -15836,11 +15270,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00" @@ -15873,11 +15302,6 @@ ], "name": "train2_upgraded", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0 - ], "timesteps": [ "2019-01-01 00:00:00", "2020-01-01 00:00:00" @@ -16560,13 +15984,6 @@ "a6047a2739f3f210157a465655cb5f47": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -16613,13 +16030,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -16650,13 +16060,6 @@ ] }, "recirculation_loss": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -16682,13 +16085,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -16733,13 +16129,6 @@ ], "name": "single_speed_compressor_train_downstream_choke_pressure_control_maximum_discharge_pressure", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -17255,13 +16644,6 @@ "a9f3690992156d894330001b08856c80": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -17308,13 +16690,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -17345,13 +16720,6 @@ ] }, "recirculation_loss": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -17377,13 +16745,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -17423,13 +16784,6 @@ "max_standard_rate": null, "name": "variable_speed_compressor_train_multiple_input_streams_and_interstage_pressure", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -19362,13 +18716,6 @@ "c516c0cfec912e94f1dc2a840d1828ef": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -19403,13 +18750,6 @@ "1": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -19449,13 +18789,6 @@ "max_standard_rate": null, "name": "sampled_train1", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -19586,13 +18919,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -19632,13 +18958,6 @@ "max_standard_rate": null, "name": "sampled_train2", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -19785,13 +19104,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -19816,13 +19128,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -19862,13 +19167,6 @@ "max_standard_rate": null, "name": "sampled_train1", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -19999,13 +19297,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -20045,13 +19336,6 @@ "max_standard_rate": null, "name": "sampled_train2", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -20186,13 +19470,6 @@ "ca0daca5e5588cdb5d4c28679d12fc43": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -20239,13 +19516,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -20276,13 +19546,6 @@ ] }, "recirculation_loss": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -20308,13 +19571,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -20359,13 +19615,6 @@ ], "name": "turbine_driven_compressor_train", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -21192,13 +20441,6 @@ "cb52faa26d48a2b1eb53a125f5fad3c3": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -21210,7 +20452,7 @@ 3035.2425, 3035.2425, 3035.2425, - 0.0 + 3035.2425 ] }, "id": "cb52faa26d48a2b1eb53a125f5fad3c3", @@ -21240,13 +20482,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -21291,13 +20526,6 @@ "d464e63df76695dda685e43c7acf2dbb": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -21344,13 +20572,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -21381,13 +20602,6 @@ ] }, "recirculation_loss": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -21413,13 +20627,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -21464,13 +20671,6 @@ ], "name": "simplified_variable_speed_compressor_train_unknown_stages_consumer", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22048,13 +21248,6 @@ "d750abf749618fbe4373515716ded093": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22086,13 +21279,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22117,13 +21303,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22155,13 +21334,6 @@ }, "name": "deh", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22189,13 +21361,6 @@ "dbd79a28f238ca6caaeb4e7b08aeeb80": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22227,13 +21392,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22258,12 +21416,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00", "2019-01-01 00:00:00", @@ -22291,12 +21443,6 @@ }, "name": "late_start_consumer", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2018-01-01 00:00:00", "2019-01-01 00:00:00", @@ -22321,13 +21467,6 @@ "e9493e3d0f8696ed78b96bef050376c3": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22362,13 +21501,6 @@ "1": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22424,13 +21556,6 @@ 200.0 ], "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22454,13 +21579,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22516,13 +21634,6 @@ 200.0 ], "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22548,13 +21659,6 @@ "2": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22610,13 +21714,6 @@ 200.0 ], "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22640,13 +21737,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22702,13 +21792,6 @@ 200.0 ], "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22748,13 +21831,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22779,13 +21855,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22841,13 +21910,6 @@ 200.0 ], "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22871,13 +21933,6 @@ }, { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22933,13 +21988,6 @@ 200.0 ], "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -22967,13 +22015,6 @@ "ec9874c7d040fe21bdac26d41ee1a9b5": { "component_result": { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23020,13 +22061,6 @@ ] }, "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 0.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23057,13 +22091,6 @@ ] }, "recirculation_loss": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23089,13 +22116,6 @@ "models": [ { "energy_usage": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23140,13 +22160,6 @@ ], "name": "single_speed_compressor_train_upstream_choke_pressure_control", "power": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23665,13 +22678,6 @@ "co2": { "name": "co2", "quota": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23687,13 +22693,6 @@ ] }, "rate": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23705,17 +22704,10 @@ 2200.0, 2200.0, 2200.0, - 0.0 + 165.0 ] }, "tax": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23727,7 +22719,7 @@ 1510000.0, 1510000.0, 1510000.0, - 0.0 + 113250.0 ] }, "timesteps": [ @@ -23742,13 +22734,6 @@ "ch4": { "name": "ch4", "quota": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23764,13 +22749,6 @@ ] }, "rate": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23786,13 +22764,6 @@ ] }, "tax": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23819,13 +22790,6 @@ "co2": { "name": "co2", "quota": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23841,13 +22805,6 @@ ] }, "rate": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23863,13 +22820,6 @@ ] }, "tax": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23896,13 +22846,6 @@ "co2": { "name": "co2", "quota": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23918,13 +22861,6 @@ ] }, "rate": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23936,17 +22872,10 @@ 22.0, 22.0, 30.8, - 0.0 + 30.8 ] }, "tax": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23958,7 +22887,7 @@ 15100.0, 15100.0, 21140.0, - 0.0 + 21140.0 ] }, "timesteps": [ @@ -23973,13 +22902,6 @@ "co2": { "name": "co2", "quota": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -23995,13 +22917,6 @@ ] }, "rate": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -24017,13 +22932,6 @@ ] }, "tax": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -24050,13 +22958,6 @@ "co2": { "name": "co2", "quota": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -24072,13 +22973,6 @@ ] }, "rate": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -24094,13 +22988,6 @@ ] }, "tax": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -24127,13 +23014,6 @@ "co2": { "name": "co2", "quota": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -24149,13 +23029,6 @@ ] }, "rate": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -24171,13 +23044,6 @@ ] }, "tax": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -24204,13 +23070,6 @@ "co2": { "name": "co2", "quota": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -24226,13 +23085,6 @@ ] }, "rate": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -24244,17 +23096,10 @@ 6.6775335, 6.6775335, 6.6775335, - 0.0 + 6.6775335 ] }, "tax": { - "rate_type": "STREAM_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2017-01-01 00:00:00", "2018-01-01 00:00:00", @@ -24266,7 +23111,7 @@ 4583.21617, 4583.21617, 4583.21617, - 0.0 + 4583.21617 ] }, "timesteps": [ 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 62dbec8ed..d75f4a71d 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 @@ -3,13 +3,6 @@ "09c1b79cf6cf1ef0773a194679246a4a": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -41,13 +34,6 @@ ] }, "power": { - "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", @@ -63,13 +49,6 @@ ] }, "power_capacity_margin": { - "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", @@ -97,13 +76,6 @@ "5e69b2c1b61362f59f53c7b2f02ed4d9": { "component_result": { "energy_usage": { - "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", @@ -120,13 +92,6 @@ }, "id": "5e69b2c1b61362f59f53c7b2f02ed4d9", "inlet_liquid_rate_m3_per_day": { - "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", @@ -202,13 +167,6 @@ ] }, "power": { - "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", @@ -259,13 +217,6 @@ ] }, "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", @@ -317,13 +268,6 @@ ] }, "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", @@ -354,13 +298,6 @@ "656e1bc8df0c83c2dda044b7bd654631": { "component_result": { "energy_usage": { - "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", @@ -408,13 +345,6 @@ ] }, "power": { - "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", @@ -440,13 +370,6 @@ "sub_components": [ { "energy_usage": { - "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", @@ -463,13 +386,6 @@ }, "id": "5e69b2c1b61362f59f53c7b2f02ed4d9", "inlet_liquid_rate_m3_per_day": { - "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", @@ -545,13 +461,6 @@ ] }, "power": { - "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", @@ -602,13 +511,6 @@ ] }, "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", @@ -660,13 +562,6 @@ ] }, "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", @@ -693,13 +588,6 @@ }, { "energy_usage": { - "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", @@ -716,13 +604,6 @@ }, "id": "81798f85c9244fbd547076bbaa2d5746", "inlet_liquid_rate_m3_per_day": { - "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", @@ -798,13 +679,6 @@ ] }, "power": { - "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", @@ -855,13 +729,6 @@ ] }, "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", @@ -913,13 +780,6 @@ ] }, "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", @@ -946,13 +806,6 @@ }, { "energy_usage": { - "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", @@ -969,13 +822,6 @@ }, "id": "81fd4a36dee423b6bf8143654336d3cd", "inlet_liquid_rate_m3_per_day": { - "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", @@ -1051,13 +897,6 @@ ] }, "power": { - "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", @@ -1108,13 +947,6 @@ ] }, "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", @@ -1166,13 +998,6 @@ ] }, "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", @@ -1202,13 +1027,6 @@ "81798f85c9244fbd547076bbaa2d5746": { "component_result": { "energy_usage": { - "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", @@ -1225,13 +1043,6 @@ }, "id": "81798f85c9244fbd547076bbaa2d5746", "inlet_liquid_rate_m3_per_day": { - "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", @@ -1307,13 +1118,6 @@ ] }, "power": { - "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", @@ -1364,13 +1168,6 @@ ] }, "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", @@ -1422,13 +1219,6 @@ ] }, "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", @@ -1459,13 +1249,6 @@ "81fd4a36dee423b6bf8143654336d3cd": { "component_result": { "energy_usage": { - "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", @@ -1482,13 +1265,6 @@ }, "id": "81fd4a36dee423b6bf8143654336d3cd", "inlet_liquid_rate_m3_per_day": { - "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", @@ -1564,13 +1340,6 @@ ] }, "power": { - "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", @@ -1621,13 +1390,6 @@ ] }, "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", @@ -1679,13 +1441,6 @@ ] }, "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", @@ -1716,13 +1471,6 @@ "9ecb7728acb755a3356d53ef62eac57c": { "component_result": { "energy_usage": { - "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", @@ -1757,13 +1505,6 @@ "1": [ { "energy_usage": { - "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", @@ -1819,13 +1560,6 @@ 250.0 ], "power": { - "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", @@ -1849,13 +1583,6 @@ }, { "energy_usage": { - "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", @@ -1911,13 +1638,6 @@ 250.0 ], "power": { - "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", @@ -1941,13 +1661,6 @@ }, { "energy_usage": { - "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", @@ -2003,13 +1716,6 @@ 250.0 ], "power": { - "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", @@ -2035,13 +1741,6 @@ "2": [ { "energy_usage": { - "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", @@ -2097,13 +1796,6 @@ 125.0 ], "power": { - "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", @@ -2127,13 +1819,6 @@ }, { "energy_usage": { - "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", @@ -2189,13 +1874,6 @@ 125.0 ], "power": { - "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", @@ -2219,13 +1897,6 @@ }, { "energy_usage": { - "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", @@ -2281,13 +1952,6 @@ 125.0 ], "power": { - "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", @@ -2327,13 +1991,6 @@ ] }, "power": { - "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", @@ -2358,13 +2015,6 @@ "models": [ { "energy_usage": { - "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", @@ -2420,13 +2070,6 @@ 125.0 ], "power": { - "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", @@ -2450,13 +2093,6 @@ }, { "energy_usage": { - "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", @@ -2512,13 +2148,6 @@ 125.0 ], "power": { - "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", @@ -2542,13 +2171,6 @@ }, { "energy_usage": { - "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", @@ -2604,13 +2226,6 @@ 125.0 ], "power": { - "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", @@ -2638,13 +2253,6 @@ "b16b9265fc6f9743594a2441fcc0d7c8": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -2679,13 +2287,6 @@ "1": [ { "energy_usage": { - "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", @@ -2725,13 +2326,6 @@ "max_standard_rate": null, "name": "compressor1", "power": { - "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", @@ -2862,13 +2456,6 @@ }, { "energy_usage": { - "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", @@ -2908,13 +2495,6 @@ "max_standard_rate": null, "name": "compressor2", "power": { - "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", @@ -3045,13 +2625,6 @@ }, { "energy_usage": { - "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", @@ -3091,13 +2664,6 @@ "max_standard_rate": null, "name": "compressor3", "power": { - "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", @@ -3230,13 +2796,6 @@ "2": [ { "energy_usage": { - "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", @@ -3276,13 +2835,6 @@ "max_standard_rate": null, "name": "compressor1", "power": { - "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", @@ -3413,13 +2965,6 @@ }, { "energy_usage": { - "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", @@ -3459,13 +3004,6 @@ "max_standard_rate": null, "name": "compressor2", "power": { - "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", @@ -3596,13 +3134,6 @@ }, { "energy_usage": { - "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", @@ -3642,13 +3173,6 @@ "max_standard_rate": null, "name": "compressor3", "power": { - "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", @@ -3781,13 +3305,6 @@ "3": [ { "energy_usage": { - "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", @@ -3827,13 +3344,6 @@ "max_standard_rate": null, "name": "compressor1", "power": { - "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", @@ -3964,13 +3474,6 @@ }, { "energy_usage": { - "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", @@ -4010,13 +3513,6 @@ "max_standard_rate": null, "name": "compressor2", "power": { - "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", @@ -4147,13 +3643,6 @@ }, { "energy_usage": { - "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", @@ -4193,13 +3682,6 @@ "max_standard_rate": null, "name": "compressor3", "power": { - "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", @@ -4346,13 +3828,6 @@ ] }, "power": { - "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", @@ -4377,13 +3852,6 @@ "models": [ { "energy_usage": { - "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", @@ -4423,13 +3891,6 @@ "max_standard_rate": null, "name": "compressor1", "power": { - "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", @@ -4560,13 +4021,6 @@ }, { "energy_usage": { - "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", @@ -4606,13 +4060,6 @@ "max_standard_rate": null, "name": "compressor2", "power": { - "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", @@ -4743,13 +4190,6 @@ }, { "energy_usage": { - "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", @@ -4789,13 +4229,6 @@ "max_standard_rate": null, "name": "compressor3", "power": { - "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", @@ -4930,13 +4363,6 @@ "b80d0e9e3b460f3aa72d02c927e75f3b": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -4983,13 +4409,6 @@ ] }, "power": { - "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", @@ -5020,13 +4439,6 @@ ] }, "recirculation_loss": { - "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", @@ -5063,13 +4475,6 @@ ] }, "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", @@ -5107,13 +4512,6 @@ ] }, "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", @@ -5151,13 +4549,6 @@ ] }, "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", @@ -5188,13 +4579,6 @@ "c24dc4da68e0455a82e0f549eb2fa342": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -5241,13 +4625,6 @@ ] }, "power": { - "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", @@ -5278,13 +4655,6 @@ ] }, "recirculation_loss": { - "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", @@ -5321,13 +4691,6 @@ ] }, "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", @@ -5365,13 +4728,6 @@ ] }, "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", @@ -5409,13 +4765,6 @@ ] }, "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", @@ -5446,13 +4795,6 @@ "cbc0427cf665c504a8081b89cf167ee3": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -5500,13 +4842,6 @@ ] }, "power": { - "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", @@ -5532,13 +4867,6 @@ "sub_components": [ { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -5585,13 +4913,6 @@ ] }, "power": { - "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", @@ -5622,13 +4943,6 @@ ] }, "recirculation_loss": { - "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", @@ -5665,13 +4979,6 @@ ] }, "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", @@ -5709,13 +5016,6 @@ ] }, "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", @@ -5753,13 +5053,6 @@ ] }, "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", @@ -5786,13 +5079,6 @@ }, { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -5839,13 +5125,6 @@ ] }, "power": { - "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", @@ -5876,13 +5155,6 @@ ] }, "recirculation_loss": { - "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", @@ -5919,13 +5191,6 @@ ] }, "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", @@ -5963,13 +5228,6 @@ ] }, "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", @@ -6007,13 +5265,6 @@ ] }, "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", @@ -6040,13 +5291,6 @@ }, { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -6093,13 +5337,6 @@ ] }, "power": { - "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", @@ -6130,13 +5367,6 @@ ] }, "recirculation_loss": { - "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", @@ -6173,13 +5403,6 @@ ] }, "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", @@ -6217,13 +5440,6 @@ ] }, "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", @@ -6261,13 +5477,6 @@ ] }, "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", @@ -6297,13 +5506,6 @@ "e097ee21d82b7bc26d1385f7f904757c": { "component_result": { "energy_usage": { - "rate_type": "CALENDAR_DAY", - "regularity": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], "timesteps": [ "2022-01-01 00:00:00", "2024-01-01 00:00:00", @@ -6350,13 +5552,6 @@ ] }, "power": { - "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", @@ -6387,13 +5582,6 @@ ] }, "recirculation_loss": { - "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", @@ -6430,13 +5618,6 @@ ] }, "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", @@ -6474,13 +5655,6 @@ ] }, "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", @@ -6518,13 +5692,6 @@ ] }, "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", @@ -6558,13 +5725,6 @@ "co2": { "name": "co2", "quota": { - "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", @@ -6580,13 +5740,6 @@ ] }, "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", @@ -6602,13 +5755,6 @@ ] }, "tax": { - "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", @@ -6635,13 +5781,6 @@ "co2": { "name": "co2", "quota": { - "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", @@ -6657,13 +5796,6 @@ ] }, "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", @@ -6679,13 +5811,6 @@ ] }, "tax": { - "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", @@ -6712,13 +5837,6 @@ "co2": { "name": "co2", "quota": { - "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", @@ -6734,13 +5852,6 @@ ] }, "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", @@ -6756,13 +5867,6 @@ ] }, "tax": { - "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", diff --git a/src/tests/libecalc/integration/test_consumer_system_v2.py b/src/tests/libecalc/integration/test_consumer_system_v2.py index b7bb77c11..364fd7557 100644 --- a/src/tests/libecalc/integration/test_consumer_system_v2.py +++ b/src/tests/libecalc/integration/test_consumer_system_v2.py @@ -95,6 +95,8 @@ def test_compressor_system_v2_results(name: str, consumer_system_v2: DTOCase, re compressor_system_v2_component_result = compressor_system_v2_result.component_result.copy( update={"operational_settings_results": None, "id": "compressor system"} ) + + # assert actual expected assert compressor_system_component_result.power.unit == compressor_system_v2_component_result.power.unit assert isinstance(compressor_system_component_result.power, type(compressor_system_v2_component_result.power)) diff --git a/src/tests/libecalc/integration/test_multiple_installations.py b/src/tests/libecalc/integration/test_multiple_installations.py index 7553bee39..0fdfb01af 100644 --- a/src/tests/libecalc/integration/test_multiple_installations.py +++ b/src/tests/libecalc/integration/test_multiple_installations.py @@ -43,4 +43,5 @@ def test_asset_with_multiple_installations(asset_with_two_installations): unit=Unit.STANDARD_CUBIC_METER_PER_DAY, timesteps=timesteps, rate_type=RateType.CALENDAR_DAY, + regularity=[1.0, 1.0, 1.0], )