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)
コード例 #2
0
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)
コード例 #3
0
    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)
コード例 #4
0
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)