diff --git a/CHANGELOG.md b/CHANGELOG.md index ca2984e0..7b04823e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## latest +- Fixed load balancing configuration `partitioning` parameter setting [#245](https://github.com/precice/micro-manager/pull/245) - Fixed comparison of zero values of type float32 and float64 in simulation deactivation [#244](https://github.com/precice/micro-manager/pull/244) - Optimized norm calculations and further fixed lazy initialization [#241](https://github.com/precice/micro-manager/pull/241) - Fixed lazy initialization for ranks without (active) micro simulations [#238](https://github.com/precice/micro-manager/pull/238) diff --git a/micro_manager/config.py b/micro_manager/config.py index 1470bf4b..b59966d3 100644 --- a/micro_manager/config.py +++ b/micro_manager/config.py @@ -459,16 +459,6 @@ def read_json_micro_manager(self): + " time windows." ) - try: - self._load_balancing_partitioning = self._data["simulation_params"][ - "load_balancing_settings" - ]["partitioning"] - except BaseException: - self._logger.log_info_rank_zero( - "Micro Manager will not load balance. Must provide partitioning type." - ) - self._load_balancing = False - try: self._load_balancing_type = self._data["simulation_params"][ "load_balancing_settings" @@ -515,6 +505,17 @@ def read_json_micro_manager(self): 'Load balancing is not using active simulation balancing. Field "balance_inactive_sims" will be ignored.' ) + if self._load_balancing_type == "time": + try: + self._load_balancing_partitioning = self._data["simulation_params"][ + "load_balancing_settings" + ]["partitioning"] + except BaseException: + self._logger.log_info_rank_zero( + "Partitioning type must be provided for time based load balancing. Defaulting to 'lpt'." + ) + self._load_balancing_partitioning = "lpt" + try: if self._data["simulation_params"]["model_adaptivity"]: self._m_adap = True