diff --git a/dynamics/Dynamic.py b/dynamics/Dynamic.py index 45cfc51307fbafa7ec5927b918e1da6cbaa157e5..210ca446051e32c24b38e7fa3764839e414f498e 100644 --- a/dynamics/Dynamic.py +++ b/dynamics/Dynamic.py @@ -334,6 +334,19 @@ class PartialDynamic(Dynamic): if reference_start < self.start or self.end < reference_start or reference_end < self.start or self.end < reference_end: raise IndexError("The dynamic does not have all requested indices for the sub dynamic!") return PartialDynamic(self.reference, reference_start, reference_end) + +class Profile: + def __init__(self, values, dynamic): + self.values = values + self.dynamic = dynamic + + # returns a profile resampled to the given dynamic + def resample(self, target_dynamic): + return Profile(resample(self.values, self.dynamic, target_dynamic), target_dynamic) + + # return values resampled to the given dynamic + def resample_values(self, target_dynamic): + return resample(self.values, self.dynamic, target_dynamic) # only works if both dynamics share the same root dynamic def resample(values, dynamic, target_dynamic): diff --git a/input_profile_processor/input_profile_processor.py b/input_profile_processor/input_profile_processor.py index 4c48e2f8fea6d7af04f6a229d447dfa7a53bdbef..de27ae282652b496c9a4d5f2e927703371778dd6 100644 --- a/input_profile_processor/input_profile_processor.py +++ b/input_profile_processor/input_profile_processor.py @@ -28,6 +28,7 @@ from Tooling.demand_generator.electrical_demand.ElectricalDemand import Electric from Tooling.demand_generator.thermal_demand.ThermalDemand import ThermalDemand from Tooling.input_profile_processor.calc_irradiance import generate_g_t_series from Tooling.modifier import Modifier +from Tooling.dynamics.Dynamic import Profile def process_input_profiles(input_profile_dict, t_start, dynamic): @@ -74,7 +75,7 @@ def process_input_profiles(input_profile_dict, t_start, dynamic): input_profile = input_profile.squeeze() input_profile.set_axis(list(range(dynamic.number_of_steps())), inplace = True) - input_profiles[input_profile_name] = input_profile + input_profiles[input_profile_name] = Profile(input_profile, dynamic) return input_profiles def resample_profile(name, profile, t_start, dynamic, d_step_min, t_last):