-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Description
In pyeclsaver.py. This looks quite messy (with lots of duplicated code). Needs to be cleaned up before introducing arbitrary time-step for video:
def _rho_video_save(self, spacech_ele, beamtim, rho_cloud):
#save rho video
if self.flag_video and self.flag_last_cloud:
if not os.path.exists(self.folder_outp + '/rho_video'):
os.makedirs(self.folder_outp + '/rho_video')
if self.rho_video is None:
self.rho_video = []
self.t_video = []
if spacech_ele.last_recomputation_check:
self.rho_video.append(spacech_ele.rho)
self.t_video.append(beamtim.tt_curr)
if beamtim.flag_new_bunch_pass:
self.rho_video = np.array(self.rho_video)
self.t_video = np.array(self.t_video)
filename_rho = self.folder_outp + '/rho_video/rho_pass%d.mat'%(beamtim.pass_numb - 1)
print('Saving %s'%filename_rho)
sio.savemat(filename_rho, {'xg_sc': spacech_ele.xg, 'yg_sc': spacech_ele.yg, 't_video': self.t_video, 'rho_video': self.rho_video}, oned_as='row')
print('Done')
self.rho_video = []
self.t_video = []
# save rho video for cloud
if self.flag_video and self.flag_multiple_clouds:
if not os.path.exists(self.folder_outp + '/rho_video_%s'%(self.cloud_name)):
os.makedirs(self.folder_outp + 'rho_video_%s'%(self.cloud_name))
if self.rho_video_cloud is None:
self.rho_video_cloud = []
self.t_video_cloud = []
if spacech_ele.last_recomputation_check:
if rho_cloud is None:
print('Warning! No rho provided for saving.')
else:
self.rho_video_cloud.append(rho_cloud)
self.t_video_cloud.append(beamtim.tt_curr)
if beamtim.flag_new_bunch_pass:
self.rho_video_cloud = np.array(self.rho_video_cloud)
self.t_video_cloud = np.array(self.t_video_cloud)
filename_rho = self.folder_outp + 'rho_video_%s/rho_pass%d.mat'%(self.cloud_name, beamtim.pass_numb - 1)
print('Saving %s'%filename_rho)
sio.savemat(filename_rho, {'xg_sc': spacech_ele.xg, 'yg_sc': spacech_ele.yg, 't_video': self.t_video_cloud, 'rho_video': self.rho_video_cloud}, oned_as='row')
print('Done')
self.rho_video_cloud = []
self.t_video_cloud = []
Metadata
Metadata
Assignees
Labels
No labels