From da97370545ce450205ca7af75d7e600e9417ab0c Mon Sep 17 00:00:00 2001 From: rolo Date: Thu, 6 Aug 2026 10:26:45 +0200 Subject: [PATCH] Add exception if extract data fails on hpc --- src/ensemble/ensemble.py | 13 +++++++++---- src/popt/loop/ensemble_gaussian.py | 5 ++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/ensemble/ensemble.py b/src/ensemble/ensemble.py index 356cd66c..f0213360 100644 --- a/src/ensemble/ensemble.py +++ b/src/ensemble/ensemble.py @@ -405,10 +405,15 @@ def run_on_HPC(self, enX, batch_size=None, **kwargs): # Extract the results. Need a local counter to check the results in the correct order for c_member, member_i in enumerate([list_member_index[curr_n] for curr_n in n_e]): if sim_status[c_member]: - self.sim.extract_data(member_i) - en_pred.append(deepcopy(self.sim.pred_data)) - if self.sim.saveinfo is not None: # Try to save information - at.store_ensemble_sim_information(self.sim.saveinfo, member_i) + try: + self.sim.extract_data(member_i) + en_pred.append(deepcopy(self.sim.pred_data)) + if self.sim.saveinfo is not None: # Try to save information + at.store_ensemble_sim_information(self.sim.saveinfo, member_i) + except Exception as e: + print(f"Error extracting data for ensemble member {member_i}: {e}") + self.logger.error(f"Error extracting data for ensemble member {member_i}: {e}") + en_pred.append(False) else: en_pred.append(False) self.sim.remove_folder(member_i) diff --git a/src/popt/loop/ensemble_gaussian.py b/src/popt/loop/ensemble_gaussian.py index 57595a87..0a7e68ed 100644 --- a/src/popt/loop/ensemble_gaussian.py +++ b/src/popt/loop/ensemble_gaussian.py @@ -91,7 +91,10 @@ def gradient(self, x, *args, **kwargs): # Truncate to bounds if (self.lb is not None) and (self.ub is not None): - enX = np.clip(enX, self.lb[:, None], self.ub[:, None]) + if self.transform: + enX = np.clip(enX, 0.0, 1.0) + else: + enX = np.clip(enX, self.lb[:, None], self.ub[:, None]) # Evaluate objective function for ensemble enF = self.function(enX, *args, **kwargs)