diff --git a/DSSC1module.py b/DSSC1module.py index 6762de88540aec03e0a68a0c5e83dea5ca08649d..eea4232590bfded8f7c13a1c9ac7b9baeebd0147 100644 --- a/DSSC1module.py +++ b/DSSC1module.py @@ -290,6 +290,7 @@ class DSSC1module: warnings.warn(f'Overwriting file: {save_path}') os.remove(save_path) data.to_netcdf(save_path, group='data') + data.close() os.chmod(save_path, 0o664) print('saving: ', save_path) else: @@ -306,7 +307,7 @@ class DSSC1module: save_folder = self.save_folder self.run_nr = dark_runNB - self.dark_data = xr.open_dataset(os.path.join(save_folder, f'run{dark_runNB}_dark.h5'), group='data') + self.dark_data = xr.load_dataset(os.path.join(save_folder, f'run{dark_runNB}_dark.h5'), group='data') self.plot_title = f"{self.proposal} dark: {self.dark_data['run'].values}" def show_rois(self): @@ -422,4 +423,4 @@ def process_one_module(job): module_data['std_data'] += (temp**2).sum(dim='trainId') module_data['counts'] += n_trains - return module_data \ No newline at end of file + return module_data diff --git a/FastCCD.py b/FastCCD.py index 32e21ab0816bc0aaba3bb0c1ef56b7d6b34d8975..e919dc131aaaba49c0a8f80487e55cb22302b539 100644 --- a/FastCCD.py +++ b/FastCCD.py @@ -369,6 +369,7 @@ class FastCCD: warnings.warn(f'Overwriting file: {save_path}') os.remove(save_path) self.module_data.to_netcdf(save_path, group='data') + self.module_data.close() os.chmod(save_path, 0o664) print('saving: ', save_path) else: @@ -389,10 +390,10 @@ class FastCCD: self.plot_title = f'{self.proposal} run: {runNB} dark: {dark_runNB}' - binned = xr.open_dataset(os.path.join(save_folder, f'run{runNB}.h5'), group='data', cache=False) + binned = xr.load_dataset(os.path.join(save_folder, f'run{runNB}.h5'), group='data') if dark_runNB is not None: - dark = xr.open_dataset(os.path.join(save_folder, f'run{dark_runNB}_dark.h5'), group='data', cache=False) + dark = xr.load_dataset(os.path.join(save_folder, f'run{dark_runNB}_dark.h5'), group='data') binned['pumped'] = self.gain*(binned['pumped'] - dark['pumped'].squeeze(drop=True)) binned['unpumped'] = self.gain*(binned['unpumped'] - dark['unpumped'].squeeze(drop=True)) @@ -638,4 +639,4 @@ def process_one_module(job): module_data['xgm_unpumped'] = data_unpumped['xgm'] module_data['workerId'] = workerId - return module_data \ No newline at end of file + return module_data