Exemplo n.º 1
0
    for name1, alm1, c1 in zip(nameList, almList, np.arange(count)):
        for name2, alm2, c2 in zip(nameList, almList, np.arange(count)):
            if c1 > c2: continue
            l, ps = so_spectra.get_spectra(alm1, alm2, spectra=spectra)
            spec_name = '%sx%s' % (name1, name2)
            lb, Db_dict[spec_name] = so_spectra.bin_spectra(l,
                                                            ps,
                                                            binning_file,
                                                            lmax,
                                                            type=type,
                                                            mbb_inv=mbb_inv,
                                                            spectra=spectra)
            spec_name_list += [spec_name]
            so_spectra.write_ps('%s/spectra_%s.dat' % (spectraDir, spec_name),
                                lb,
                                Db_dict[spec_name],
                                type=type,
                                spectra=spectra)

            if c1 == c2:
                print('auto %dx%d' % (c1, c2))
                for s1 in spectra:
                    Db_dict_auto[s1] += [Db_dict[spec_name][s1]]
            else:
                print('cross %dx%d' % (c1, c2))
                for s1 in spectra:
                    Db_dict_cross[s1] += [Db_dict[spec_name][s1]]

    for s1 in spectra:
        Db_dict_auto[s1] = np.mean(Db_dict_auto[s1], axis=0)
        Db_dict_cross[s1] = np.mean(Db_dict_cross[s1], axis=0)
Exemplo n.º 2
0
      
            else:
                nl_hm1[spec]=np.zeros(len(lth))
                nl_hm2[spec]=np.zeros(len(lth))
                nl_mean[spec]=np.zeros(len(lth))


        np.savetxt('%s/noise_T_hm1_%s_%sx%s_%s.dat'%(ps_model_dir,experiment,freq1,experiment,freq2),  np.transpose([lth,nl_hm1['TT']]))
        np.savetxt('%s/noise_P_hm1_%s_%sx%s_%s.dat'%(ps_model_dir,experiment,freq1,experiment,freq2),  np.transpose([lth,nl_hm1['EE']]))

        np.savetxt('%s/noise_T_hm2_%s_%sx%s_%s.dat'%(ps_model_dir,experiment,freq1,experiment,freq2),  np.transpose([lth,nl_hm2['TT']]))
        np.savetxt('%s/noise_P_hm2_%s_%sx%s_%s.dat'%(ps_model_dir,experiment,freq1,experiment,freq2),  np.transpose([lth,nl_hm2['EE']]))

        np.savetxt('%s/noise_T_mean_%s_%sx%s_%s.dat'%(ps_model_dir,experiment,freq1,experiment,freq2),  np.transpose([lth,nl_mean['TT']/2]))
        np.savetxt('%s/noise_P_mean_%s_%sx%s_%s.dat'%(ps_model_dir,experiment,freq1,experiment,freq2),  np.transpose([lth,nl_mean['EE']/2]))
        
        np.savetxt('%s/noise_T_th_mean_%s_%sx%s_%s.dat'%(ps_model_dir,experiment,freq1,experiment,freq2),  np.transpose([lth,nlth['TT']/2]))
        np.savetxt('%s/noise_P_th_mean_%s_%sx%s_%s.dat'%(ps_model_dir,experiment,freq1,experiment,freq2),  np.transpose([lth,nlth['EE']/2]))


        spec_name_noise_hm1='hm1_%s_%sx%s_%s_noise'%(experiment,freq1,experiment,freq2)
        spec_name_noise_hm2='hm2_%s_%sx%s_%s_noise'%(experiment,freq1,experiment,freq2)
        spec_name_noise_mean='mean_%s_%sx%s_%s_noise'%(experiment,freq1,experiment,freq2)

        so_spectra.write_ps(ps_model_dir+'/%s.dat'%spec_name_noise_hm1,lth,nl_hm1,type,spectra=spectra)
        so_spectra.write_ps(ps_model_dir+'/%s.dat'%spec_name_noise_hm2,lth,nl_hm2,type,spectra=spectra)
        so_spectra.write_ps(ps_model_dir+'/%s.dat'%spec_name_noise_mean,lth,nl_mean,type,spectra=spectra)



                            spec_name = "%s_%s_%s_%dx%s_%s_%d_%05d" % (
                                type, exp1, f1, s1, exp2, f2, s2, iii)

                            lb, ps = so_spectra.bin_spectra(l,
                                                            ps_master,
                                                            binning_file,
                                                            lmax,
                                                            type=type,
                                                            mbb_inv=mbb_inv,
                                                            spectra=spectra)

                            if write_all_spectra:
                                so_spectra.write_ps(specDir +
                                                    "/%s.dat" % spec_name,
                                                    lb,
                                                    ps,
                                                    type,
                                                    spectra=spectra)

                            for count, spec in enumerate(spectra):
                                if (s1 == s2) & (exp1 == exp2):
                                    if count == 0:
                                        print(
                                            "auto %s_%s split%d X %s_%s split%d"
                                            % (exp1, f1, s1, exp2, f2, s2))
                                    ps_dict[spec, "auto"] += [ps[spec]]
                                else:
                                    if count == 0:
                                        print(
                                            "cross %s_%s split%d X %s_%s split%d"
                                            % (exp1, f1, s1, exp2, f2, s2))
Exemplo n.º 4
0
                    else:
                        Dl_interpolate[spec] = np.zeros(len(l))

                    if (spec == 'TT' or spec == 'EE'
                            or spec == 'BB') & (f1 == f2) & (exp1 == exp2):

                        Nl = scipy.interpolate.interp1d(
                            lb, Nb[spec], fill_value='extrapolate')
                        Nl_interpolate[spec] = np.array([Nl(i) for i in l])
                        Nl_interpolate[spec][:30] = 0
                        Nl_interpolate[spec] *= bl1 * bl2

                    else:
                        Nl_interpolate[spec] = np.zeros(len(l))

                spec_name_combined = '%s_%s_%sx%s_%s_cross' % (type, exp1, f1,
                                                               exp2, f2)
                so_spectra.write_ps(ps_model_dir +
                                    '/%s.dat' % spec_name_combined,
                                    l,
                                    Dl_interpolate,
                                    type,
                                    spectra=spectra)
                spec_name_noise = '%s_%s_%sx%s_%s_noise' % (type, exp1, f1,
                                                            exp2, f2)
                so_spectra.write_ps(ps_model_dir + '/%s.dat' % spec_name_noise,
                                    l,
                                    Nl_interpolate,
                                    type,
                                    spectra=spectra)
Exemplo n.º 5
0
                            prefix="%s/%s_%sx%s_%s" %
                            (mcm_dir, sv1, ar1, sv2, ar2),
                            spin_pairs=spin_pairs)

                        # we  compute the power spectra of the sim (with and without the k-space filter applied)

                        for filt in ["filter", "nofilter"]:

                            l, ps_master = so_spectra.get_spectra_pixell(
                                master_alms[sv1, ar1, filt],
                                master_alms[sv2, ar2, filt],
                                spectra=spectra)

                            lb, ps = so_spectra.bin_spectra(l,
                                                            ps_master,
                                                            binning_file,
                                                            lmax,
                                                            type=type,
                                                            mbb_inv=mbb_inv,
                                                            spectra=spectra)

                            so_spectra.write_ps(
                                tf_dir + "/%s_%s_%s_%05d.dat" %
                                (spec_name, filt, scenario, iii),
                                lb,
                                ps,
                                type,
                                spectra=spectra)

    print("sim number %05d done in %.02f s" % (iii, time.time() - t0))
Exemplo n.º 6
0
            freqs2 = d["freqs_%s" % exp2]
            for id_f2, f2 in enumerate(freqs2):

                if (id_exp1 == id_exp2) & (id_f1 > id_f2): continue
                if (id_exp1 > id_exp2): continue

                spec_name = "%s_%sx%s_%s" % (exp1, f1, exp2, f2)

                for iii in isims:
                    spec_name_cross = "spectra/%s_%s_cross_%05d.dat" % (
                        type, spec_name, iii)
                    l, ps = so_spectra.read_ps(spec_name_cross,
                                               spectra=spectra)
                    so_spectra.write_ps("%s/%s_%s_%05d.dat" %
                                        (like_dir, type, spec_name, iii),
                                        l,
                                        ps,
                                        type,
                                        spectra=spectra)

                prefix = "%s/%s" % (mcm_dir, spec_name)

                mbb_inv, Bbl = so_mcm.read_coupling(prefix=prefix,
                                                    spin_pairs=spin_pairs)
                Bbl_TT = Bbl["spin0xspin0"]
                Bbl_TE = Bbl["spin0xspin2"]
                Bbl_EE = Bbl["spin2xspin2"][:Bbl_TE.shape[0], :Bbl_TE.shape[1]]

                np.savetxt("%s/Bbl_%s_TT.dat" % (like_dir, spec_name), Bbl_TT)
                np.savetxt("%s/Bbl_%s_TE.dat" % (like_dir, spec_name), Bbl_TE)
                np.savetxt("%s/Bbl_%s_EE.dat" % (like_dir, spec_name), Bbl_EE)
Exemplo n.º 7
0
                mcm_inv, mbb_inv, Bbl = so_mcm.read_coupling(
                    prefix=prefix, spin_pairs=spin_pairs, unbin=True)

                l, ps = so_spectra.get_spectra(alms[hm1, freq1],
                                               alms[hm2, freq2],
                                               spectra=spectra)
                spec_name = '%s_%sx%s_%s-%sx%s' % (experiment, freq1,
                                                   experiment, freq2, hm1, hm2)
                l, cl, lb, Db = planck_utils.process_planck_spectra(
                    l,
                    ps,
                    binning_file,
                    lmax,
                    type=type,
                    mcm_inv=mcm_inv,
                    spectra=spectra)
                spec_name_list += [spec_name]
                so_spectra.write_ps('%s/spectra_%s.dat' %
                                    (spectraDir, spec_name),
                                    lb,
                                    Db,
                                    type=type,
                                    spectra=spectra)
                so_spectra.write_ps('%s/spectra_unbin_%s.dat' %
                                    (spectraDir, spec_name),
                                    l,
                                    cl,
                                    type=type,
                                    spectra=spectra)
Exemplo n.º 8
0
                    mcm_inv, mbb_inv, Bbl = so_mcm.read_coupling(
                        prefix=prefix, spin_pairs=spin_pairs, unbin=True)

                    l, ps = so_spectra.get_spectra(alms[hm1, freq1],
                                                   alms[hm2, freq2],
                                                   spectra=spectra)
                    spec_name = "%s_%sx%s_%s-%sx%s" % (exp, freq1, exp, freq2,
                                                       hm1, hm2)
                    l, cl, lb, Db = planck_utils.process_planck_spectra(
                        l,
                        ps,
                        binning_file,
                        lmax,
                        mcm_inv=mcm_inv,
                        spectra=spectra)
                    spec_name_list += [spec_name]
                    so_spectra.write_ps("%s/sim_spectra_%s_%04d.dat" %
                                        (sims_dir, spec_name, iii),
                                        lb,
                                        Db,
                                        type=type,
                                        spectra=spectra)
                    so_spectra.write_ps("%s/sim_spectra_unbin_%s_%04d.dat" %
                                        (sims_dir, spec_name, iii),
                                        l,
                                        cl,
                                        type=type,
                                        spectra=spectra)

    print("sim %04d take %.02f seconds to compute" % (iii, time.time() - t0))
Exemplo n.º 9
0
            if (spec == "TT" or spec == "EE" or spec == "BB") & (f0 == f1):
                bl_hm1 = bl[f0, "hm1", spec]
                bl_hm2 = bl[f0, "hm2", spec]
                nth_hm1 = ps_dict_auto1[spec] * bl_hm1**2 - ps_dict_cross[
                    spec] * bl_hm1 * bl_hm2
                nth_hm2 = ps_dict_auto2[spec] * bl_hm2**2 - ps_dict_cross[
                    spec] * bl_hm1 * bl_hm2

                lb, nb_hm1 = planck_utils.binning(l, nth_hm1, lmax, size=8)
                lb, nb_hm2 = planck_utils.binning(l, nth_hm2, lmax, size=8)

                nb_mean = (nb_hm1 + nb_hm2) / 4
                nl_interpol_mean = scipy.interpolate.interp1d(
                    lb, nb_mean, fill_value="extrapolate")
                nl_mean = np.array([nl_interpol_mean(i) for i in lth])

            else:
                nl_mean = np.zeros(len(lth))

            nl_sim_mean[spec] += [nl_mean]

    for spec in spectra:
        nl_sim_mean[spec] = np.mean(nl_sim_mean[spec], axis=0)

    so_spectra.write_ps(ps_model_dir + "/%s_%s_noise.dat" %
                        (spec_name_noise_mean, name),
                        lth,
                        nl_sim_mean,
                        type,
                        spectra=spectra)
Exemplo n.º 10
0
                                                        lmax,
                                                        type=type,
                                                        mbb_inv=mbb_inv,
                                                        spectra=spectra)

                        if writeAll:
                            if hdf5:
                                so_spectra.write_ps_hdf5(spectra_hdf5,
                                                         spec_name,
                                                         lb,
                                                         Db,
                                                         spectra=spectra)
                            else:
                                so_spectra.write_ps(specDir +
                                                    '/%s.dat' % spec_name,
                                                    lb,
                                                    Db,
                                                    type,
                                                    spectra=spectra)

                        for spec in spectra:
                            if (s1 == s2) & (exp1 == exp2):
                                if spec == 'TT':
                                    print(
                                        'auto %s_%s split%d X %s_%s split%d' %
                                        (exp1, f1, s1, exp2, f2, s2))
                                Db_dict[exp1, f1, exp2, f2, spec,
                                        'auto'] += [Db[spec]]
                            else:
                                if spec == 'TT':
                                    print(
                                        'cross %s_%s split%d X %s_%s split%d' %
Exemplo n.º 11
0
                        prefix=prefix, spin_pairs=spin_pairs, unbin=True)

                    l, ps = so_spectra.get_spectra(alms[hm1, freq1],
                                                   alms[hm2, freq2],
                                                   spectra=spectra)
                    spec_name = '%s_%sx%s_%s-%sx%s' % (
                        experiment, freq1, experiment, freq2, hm1, hm2)
                    l, cl, lb, Db = planck_utils.process_planck_spectra(
                        l,
                        ps,
                        binning_file,
                        lmax,
                        type=type,
                        mcm_inv=mcm_inv,
                        spectra=spectra)
                    spec_name_list += [spec_name]
                    so_spectra.write_ps('%s/sim_spectra_%s_%04d.dat' %
                                        (simSpectraDir, spec_name, iii),
                                        lb,
                                        Db,
                                        type=type,
                                        spectra=spectra)
                    so_spectra.write_ps('%s/sim_spectra_unbin_%s_%04d.dat' %
                                        (simSpectraDir, spec_name, iii),
                                        l,
                                        cl,
                                        type=type,
                                        spectra=spectra)

    print('sim %04d take %.02f seconds to compute' % (iii, time.time() - t0))
Exemplo n.º 12
0
                    plt.plot(lth,
                             nl_dict[spec],
                             label="interpolate",
                             color="lightblue")

                else:
                    nl_dict[spec] = np.zeros(len(lth))

                plt.plot(lb,
                         nbs_mean,
                         ".",
                         label="%s %sx%s" % (sv, ar1, ar2),
                         color="red")

                plt.legend(fontsize=20)
                plt.savefig("%s/noise_interpolate_%sx%s_%s_%s.png" %
                            (plot_dir, ar1, ar2, sv, spec),
                            bbox_inches="tight")
                plt.clf()
                plt.close()

            spec_name_noise_mean = "mean_%sx%s_%s_noise" % (ar1, ar2, sv)

            so_spectra.write_ps(ps_model_dir +
                                "/%s.dat" % spec_name_noise_mean,
                                lth,
                                nl_dict,
                                type,
                                spectra=spectra)
Exemplo n.º 13
0
                                                    (mcm_dir, scan, run))

        alm = {}
        for split in split_list:
            alm[split] = sph_tools.get_alms(sim[split], window, niter, lmax)

        for c0, s0 in enumerate(split_list):
            for c1, s1 in enumerate(split_list):
                if c1 > c0: continue

                spec_name = "%s_%sx%s_%s" % (scan, s0, s1, run)

                l, ps = so_spectra.get_spectra(alm[s0],
                                               alm[s1],
                                               spectra=spectra)
                lb, Db_dict[spec_name] = so_spectra.bin_spectra(
                    l,
                    ps,
                    binning_file,
                    lmax,
                    type="Dl",
                    mbb_inv=mbb_inv,
                    spectra=spectra)

                so_spectra.write_ps("%s/spectra_%s.dat" %
                                    (spectra_dir, spec_name),
                                    lb,
                                    Db_dict[spec_name],
                                    type="Dl",
                                    spectra=spectra)
Exemplo n.º 14
0
        l, ps_filt = so_spectra.get_spectra(alm0_filt,
                                            alm1_filt,
                                            spectra=spectra)

        lb, Db_dict = so_spectra.bin_spectra(l,
                                             ps,
                                             binning_file,
                                             lmax,
                                             type=type,
                                             mbb_inv=mbb_inv,
                                             spectra=spectra)
        lb, Db_dict_filt = so_spectra.bin_spectra(l,
                                                  ps_filt,
                                                  binning_file,
                                                  lmax,
                                                  type=type,
                                                  mbb_inv=mbb_inv,
                                                  spectra=spectra)

        so_spectra.write_ps('%s/spectra_%03d.dat' % (spectraDir, iii),
                            lb,
                            Db_dict,
                            type=type,
                            spectra=spectra)
        so_spectra.write_ps('%s/spectra_filt_%03d.dat' % (spectraDir, iii),
                            lb,
                            Db_dict_filt,
                            type=type,
                            spectra=spectra)
        print(time.time() - t0)