from data_folders import data_folder_list import pickle import numpy as np csv_folder = 'fill_heatload_data_csvs' if not os.path.isdir(csv_folder): os.mkdir(csv_folder) if len(sys.argv) > 1: filln = int(sys.argv[1]) dict_fill_bmodes = {} for df in data_folder_list: with open(df + '/fills_and_bmodes.pkl', 'rb') as fid: this_dict_fill_bmodes = pickle.load(fid) for kk in this_dict_fill_bmodes: this_dict_fill_bmodes[kk]['data_folder'] = df dict_fill_bmodes.update(this_dict_fill_bmodes) t_start_fill = dict_fill_bmodes[filln]['t_startfill'] t_end_fill = dict_fill_bmodes[filln]['t_endfill'] sector_list = HL.sector_list() variable_list = HL.sector_all_variables(sector_list) #variable_list=['CMS:LUMI_TOT_INST','S12_QBS_AVG_ARC.POSST'] fill_file = csv_folder + '/hl_all_cells_fill_%d.csv' % filln lldb.dbquery(variable_list, t_start_fill, t_end_fill, fill_file)
import pickle import LHCMeasurementTools.TimestampHelpers as th import LHCMeasurementTools.lhc_log_db_query as lldb t_start_string = '2017_05_01 00:00:00' t_stop_string = '2017_12_31 00:00:00' filepath = './filling_patterns_2017.csv' # t_start_string = '2018_04_01 00:00:00' # t_stop_string = '2018_12_31 00:00:00' # filepath = './filling_patterns_2018.csv' varlist = ['LHC:INJECTION_SCHEME'] t_start = th.localtime2unixstamp(t_start_string) t_stop = th.localtime2unixstamp(t_stop_string) lldb.dbquery(varlist, t_start, t_stop, filepath)
for ii, var in enumerate(varlist): if '.POSST' not in var: raise ValueError('%s does not have a .POSST' % var) if not os.path.isdir(h5_dir): os.mkdir(h5_dir) for filln in fill_sublist_2: h5_file = data_file_func(filln) if h5_file in os.listdir(os.path.dirname(h5_file)): continue this_temp_file = temp_file % filln print('Downloading csv for fill %i' % filln) t_start_fill = dict_fill_bmodes[filln]['t_startfill'] t_end_fill = dict_fill_bmodes[filln]['t_endfill'] lldb.dbquery(varlist, t_start_fill, t_end_fill, this_temp_file) print('Aligning data for fill %i' % filln) htd_ob = SetOfHomogeneousNumericVariables( varlist, this_temp_file).aligned_object(dt_seconds) print('Creating h5 file for fill %i' % filln) n_tries_max = 5 for n_try in xrange(n_tries_max): try: mfm.aligned_obj_to_h5(htd_ob, h5_file) break except Exception as e: print('Saving of h5 failed') time.sleep(10) else: print('Raise error after trying to save the h5 file %i times' % n_tries_max)
import LHCMeasurementTools.lhc_log_db_query as lldb import LHCMeasurementTools.TimestampHelpers as th import LHCMeasurementTools.LHC_Fills as Fills t_start_string = '2016_04_21 18:00:00' t_stop_string = '2016_04_25 08:00:00' t_start = th.localtime2unixstamp(t_start_string) t_stop = th.localtime2unixstamp(t_stop_string) filename = 'fills_and_bmodes' csv_name = filename + '.csv' pkl_name = filename + '.pkl' # Get data from database varlist = Fills.get_varlist() lldb.dbquery(varlist, t_start, t_stop, csv_name) # Make pickle Fills.make_pickle(csv_name, pkl_name, t_stop)