From cff739f0c5fd2b2c7942e8fe6d26c15af695ea4b Mon Sep 17 00:00:00 2001 From: jkriwet <jonathan.kriwet@eonerc.rwth-aachen.de> Date: Wed, 5 Mar 2025 16:49:44 +0100 Subject: [PATCH] change for force_same handling --- energyplus_calibrator/calibration_class.py | 15 ++++++++++----- energyplus_calibrator/energy_plus_api.py | 6 +++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/energyplus_calibrator/calibration_class.py b/energyplus_calibrator/calibration_class.py index e41b648..9d33e73 100644 --- a/energyplus_calibrator/calibration_class.py +++ b/energyplus_calibrator/calibration_class.py @@ -186,11 +186,15 @@ class EnergyPlusCalibrator: if self.force_same is not None: for force_to, force_from in self.force_same.items(): check_param(force_to) - if isinstance(force_from[0], (list, tuple)): - for f in force_from[0]: - check_param(f) + + if isinstance(force_from, (list, tuple)): + if isinstance(force_from[0], (list, tuple)): + for f in force_from[0]: + check_param(f) + else: + check_param(force_from[0]) else: - check_param(force_from[0]) + check_param(force_from) def _get_tuner_paras_dict(self) -> Dict[str, Tuple[float, Tuple[float, float]]]: """ @@ -540,7 +544,8 @@ class EnergyPlusCalibrator: __file__).parents[1] / 'calibration_results' / folder_name else: results_folder = calibration_results_folder / folder_name - + + print(f"Results will be saved in {results_folder}") results_folder.mkdir(parents=True) to_copy = ['calibrated_model.json', 'calibrated_model.idf', diff --git a/energyplus_calibrator/energy_plus_api.py b/energyplus_calibrator/energy_plus_api.py index 7933ca8..55ef1f6 100644 --- a/energyplus_calibrator/energy_plus_api.py +++ b/energyplus_calibrator/energy_plus_api.py @@ -407,10 +407,14 @@ class EnergyPlusAPI(SimulationAPI): return parameters for force_to, force_from in self.force_same.items(): - if isinstance(force_from[0], str): + if isinstance(force_from, str): + parameters[force_to] = parameters[force_from] + continue + if isinstance(force_from, tuple) and not isinstance(force_from[1], str): parameters[force_to] = parameters[force_from[0]] + \ force_from[1] continue + elif not isinstance(force_from[0], tuple): raise ValueError('force_from must be a tuple or a string') -- GitLab