def gather_batch_data_run(): datapath_db = data_paths.DataPath() outpath = datapath_db.fetch("quadratic_batch_data") print "reading from to: " + outpath funcname = "correlate.batch_quadratic.call_xspec_run" caller = batch_handler.MemoizeBatch(funcname, outpath, verbose=True) for mode_num in range(0,55,5): map1_key = "GBT_15hr_map_cleaned_%dmode" % mode_num map2_key = "GBT_15hr_map_cleaned_%dmode" % mode_num noise1_key = "GBT_15hr_map_cleaned_%dmode" % mode_num noise2_key = "GBT_15hr_map_cleaned_%dmode" % mode_num (pairlist, pairdict) = \ data_paths.cross_maps(map1_key, map2_key, noise1_key, noise2_key, map_suffix=";map", noise_inv_suffix=";noise_inv", cross_sym="_x_", pair_former="GBTauto_cross_pairs", ignore=['param'], tag1prefix=map1_key + "_", tag2prefix=map2_key + "_", verbose=False) pwr_1d = [] pwr_2d = [] for item in pairdict.keys(): pairrun = pairdict[item] print pairrun['tag1'] print pairrun['map1'] print pairrun['noise_inv1'] print pairdict[item].keys() pwr2d_run, pwr1d_run = caller.execute(pairrun['map1'], pairrun['map2'], pairrun['noise_inv1'], pairrun['noise_inv2']) pwr_2d.append(pwr2d_run) pwr_1d.append(pwr1d_run) pe.summarize_1d_agg_pwrspec(pwr_1d, "pwr_data_%dmodes_1d.dat" % mode_num) pe.summarize_2d_agg_pwrspec(pwr_2d, "pwr_data_%dmodes_2d.dat" % mode_num)
def gather_batch_data_run(): datapath_db = data_paths.DataPath() outpath = datapath_db.fetch("quadratic_batch_data") print "reading from to: " + outpath funcname = "correlate.batch_quadratic.call_xspec_run" caller = batch_handler.MemoizeBatch(funcname, outpath, verbose=True) for mode_num in range(0, 55, 5): map1_key = "GBT_15hr_map_cleaned_%dmode" % mode_num map2_key = "GBT_15hr_map_cleaned_%dmode" % mode_num noise1_key = "GBT_15hr_map_cleaned_%dmode" % mode_num noise2_key = "GBT_15hr_map_cleaned_%dmode" % mode_num (pairlist, pairdict) = \ data_paths.cross_maps(map1_key, map2_key, noise1_key, noise2_key, map_suffix=";map", noise_inv_suffix=";noise_inv", cross_sym="_x_", pair_former="GBTauto_cross_pairs", ignore=['param'], tag1prefix=map1_key + "_", tag2prefix=map2_key + "_", verbose=False) pwr_1d = [] pwr_2d = [] for item in pairdict.keys(): pairrun = pairdict[item] print pairrun['tag1'] print pairrun['map1'] print pairrun['noise_inv1'] print pairdict[item].keys() pwr2d_run, pwr1d_run = caller.execute(pairrun['map1'], pairrun['map2'], pairrun['noise_inv1'], pairrun['noise_inv2']) pwr_2d.append(pwr2d_run) pwr_1d.append(pwr1d_run) pe.summarize_1d_agg_pwrspec(pwr_1d, "pwr_data_%dmodes_1d.dat" % mode_num) pe.summarize_2d_agg_pwrspec(pwr_2d, "pwr_data_%dmodes_2d.dat" % mode_num)
def calculate_1d_transfer_function(pwr_stack1, pwr_stack2, tag, outdir="./plot_data"): n_runs = len(pwr_stack1) if n_runs != len(pwr_stack2): print "These runs are incompatible (different number)." sys.exit() (mean1_1d, std1_1d, corrmat1_1d, covmat_1d) = pe.agg_stat_1d_pwrspec(pwr_stack1) (mean2_1d, std2_1d, corrmat2_1d, covmat_1d) = pe.agg_stat_1d_pwrspec(pwr_stack2) trans_stack = [] for index in range(n_runs): entry = {} entry['bin_left'] = pwr_stack1[index]['bin_left'] entry['bin_center'] = pwr_stack1[index]['bin_center'] entry['bin_right'] = pwr_stack1[index]['bin_right'] entry['counts_histo'] = pwr_stack1[index]['counts_histo'] binavg1 = pwr_stack1[index]['binavg'] binavg2 = pwr_stack2[index]['binavg'] entry['binavg'] = binavg1 / binavg2 trans_stack.append(entry) fileout = outdir + "/" + tag + ".dat" trans_agg_1d_pwrspec = pe.summarize_1d_agg_pwrspec(trans_stack, fileout) trans_mean = trans_agg_1d_pwrspec['mean_1d'] # now derive the alternative transfer function by taking the ratio of # averages trans_alt = mean1_1d / mean2_1d bin_left = entry['bin_left'] bin_center = entry['bin_center'] bin_right = entry['bin_right'] fileout = outdir + "/" + tag + "_altavg.dat" outfile = open(fileout, "w") for ind in range(len(bin_center)): outstr = ("%10.15g " * 4 + "\n") % \ (bin_left[ind], bin_center[ind], bin_right[ind], \ trans_alt[ind]) outfile.write(outstr) outfile.close() return trans_alt
def calculate_1d_transfer_function(pwr_stack1, pwr_stack2, tag, outdir="./plot_data"): n_runs = len(pwr_stack1) if n_runs != len(pwr_stack2): print "These runs are incompatible (different number)." sys.exit() (mean1_1d, std1_1d, corrmat1_1d, covmat_1d) = pe.agg_stat_1d_pwrspec(pwr_stack1) (mean2_1d, std2_1d, corrmat2_1d, covmat_1d) = pe.agg_stat_1d_pwrspec(pwr_stack2) trans_stack = [] for index in range(n_runs): entry = {} entry['bin_left'] = pwr_stack1[index]['bin_left'] entry['bin_center'] = pwr_stack1[index]['bin_center'] entry['bin_right'] = pwr_stack1[index]['bin_right'] entry['counts_histo'] = pwr_stack1[index]['counts_histo'] binavg1 = pwr_stack1[index]['binavg'] binavg2 = pwr_stack2[index]['binavg'] entry['binavg'] = binavg1/binavg2 trans_stack.append(entry) fileout = outdir + "/" + tag + ".dat" trans_agg_1d_pwrspec = pe.summarize_1d_agg_pwrspec(trans_stack, fileout) trans_mean = trans_agg_1d_pwrspec['mean_1d'] # now derive the alternative transfer function by taking the ratio of # averages trans_alt = mean1_1d/mean2_1d bin_left = entry['bin_left'] bin_center = entry['bin_center'] bin_right = entry['bin_right'] fileout = outdir + "/" + tag + "_altavg.dat" outfile = open(fileout, "w") for ind in range(len(bin_center)): outstr = ("%10.15g " * 4 + "\n") % \ (bin_left[ind], bin_center[ind], bin_right[ind], \ trans_alt[ind]) outfile.write(outstr) outfile.close() return trans_alt