Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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
Пример #4
0
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