示例#1
0
文件: covs.py 项目: xC-ell/ShearCl
    def get_cw_sn(b_a1, b_a2, b_b1, b_b2, n_a1, n_a2, n_b1, n_b2):
        name = "%d%d_%d%d" % (b_a1, b_a2, b_b1, b_b2)
        name += "_%d%d_%d%d" % (n_a1, n_a2, n_b1, n_b2)
        fields_a = [fields_s, fields_n]

        if name in cw_sn:
            pass
        else:
            cw_sn[name] = nmt.NmtCovarianceWorkspace()
            fname_cmcm = prefix_cmcm + name + '_ns%d.fits' % o.nside
            if os.path.isfile(fname_cmcm):
                ut.printflush(" - Reading")
                cw_sn[name].read_from(fname_cmcm)
            else:
                ut.printflush(" - Fields")
                if b_a1 not in fields_a[n_a1]:
                    fields_a[n_a1][b_a1] = get_field(b_a1,
                                                     mask_sigma=bool(n_a1))
                if b_a2 not in fields_a[n_a2]:
                    fields_a[n_a2][b_a2] = get_field(b_a2,
                                                     mask_sigma=bool(n_a2))
                if b_b1 not in fields_a[n_b1]:
                    fields_a[n_b1][b_b1] = get_field(b_b1,
                                                     mask_sigma=bool(n_b1))
                if b_b2 not in fields_a[n_b2]:
                    fields_a[n_b2][b_b2] = get_field(b_b2,
                                                     mask_sigma=bool(n_b2))
                ut.printflush(" - Computing " + name)
                cw_sn[name].compute_coupling_coefficients(
                    fields_a[n_a1][b_a1], fields_a[n_a2][b_a2],
                    fields_a[n_b1][b_b1], fields_a[n_b2][b_b2])
                cw_sn[name].write_to(fname_cmcm)
示例#2
0
文件: covs.py 项目: xC-ell/ShearCl
 def get_cw_nn(b_a1, b_a2, b_b1, b_b2):
     name = "%d%d_%d%d" % (b_a1, b_a2, b_b1, b_b2)
     if name in cw_nn:
         pass
     else:
         cw_nn[name] = nmt.NmtCovarianceWorkspace()
         fname_cmcm = prefix_cmcm + name + '_ns%d.fits' % o.nside
         if os.path.isfile(fname_cmcm):
             ut.printflush(" - Reading")
             cw_nn[name].read_from(fname_cmcm)
         else:
             ut.printflush(" - Fields")
             for b in [b_a1, b_a2, b_b1, b_b2]:
                 fields_n[b] = get_field(b, mask_sigma=True)
             ut.printflush(" - Computing " + name)
             cw_nn[name].compute_coupling_coefficients(
                 fields_n[b_a1], fields_n[b_a2], fields_n[b_b1],
                 fields_n[b_b2])
             cw_nn[name].write_to(fname_cmcm)
示例#3
0
import healpy as hp
from argparse import ArgumentParser
import pymaster as nmt
import utils as ut
import pyccl as ccl

parser = ArgumentParser()
parser.add_argument("--bin-number", default=0, type=int, help="Bin number")
parser.add_argument("--nside", default=4096, type=int, help="Nside")
o = parser.parse_args()

predir = ut.rootpath = '/outputs/'

npix = hp.nside2npix(o.nside)

ut.printflush("Running %d-PSF" % (o.bin_number))

ut.printflush("MCM")
predir_mcm = predir + 'cls_metacal_mcm_bins_'
fname_mcm = predir_mcm + '%d%d_ns%d.fits' % (o.bin_number, o.bin_number,
                                             o.nside)
w = nmt.NmtWorkspace()
w.read_from(fname_mcm)

ut.printflush("Theory spectra")
ls = np.arange(3 * o.nside)
cl0 = np.zeros(3 * o.nside)
# Signal
cosmo = ccl.Cosmology(Omega_c=0.260 - 0.0479,
                      Omega_b=0.0479,
                      h=0.685,
示例#4
0
文件: cls.py 项目: xC-ell/ShearCl
parser.add_argument("--irot-f", default=-1, type=int, help="Rotation number")
parser.add_argument("--recompute-mcm", default=False, action='store_true',
                    help="Recompute MCM even if it exists?")
o = parser.parse_args()

if o.bin_number_2 == -1:
    o.bin_number_2 = o.bin_number

is_auto = o.bin_number_2 == o.bin_number

npix = hp.nside2npix(o.nside)

predir = ut.rootpath + '/'


ut.printflush("Binning")
l_edges = np.array([0, 30, 60, 90, 120, 150, 180, 210, 240, 272, 309,
                    351, 398, 452, 513, 582, 661, 750, 852, 967, 1098,
                    1247, 1416, 1608, 1826, 2073, 2354, 2673, 3035,
                    3446, 3914, 4444, 5047, 5731, 6508, 7390, 8392,
                    9529, 10821, 12288])
l_edges = l_edges[l_edges <= 3*o.nside]
if 3*o.nside not in l_edges:
    l_edges = np.append(l_edges, 3*o.nside)
b = nmt.NmtBin.from_edges(l_edges[:-1], l_edges[1:])
l_eff = b.get_effective_ells()


ut.printflush("Weights")
prefix_map1 = predir + 'outputs/maps_metacal_bin%d_ns%d' % (o.bin_number,
                                                            o.nside)
示例#5
0
文件: covs.py 项目: xC-ell/ShearCl
parser.add_argument("--old-nka",
                    default=False,
                    action='store_true',
                    help="Use old NKA")
parser.add_argument("--full-noise",
                    default=False,
                    action='store_true',
                    help="Full noise calculation?")
o = parser.parse_args()

predir = ut.rootpath + '/outputs/'

npix = hp.nside2npix(o.nside)
pix_area = 4 * np.pi / npix

ut.printflush("Running %d-%d %d-%d" % (o.bin_a1, o.bin_a2, o.bin_b1, o.bin_b2))

ut.printflush("Theory spectra")
ls = np.arange(3 * o.nside)
cl0 = np.zeros(3 * o.nside)
cl1 = np.ones(3 * o.nside)

cosmo = ccl.Cosmology(Omega_c=0.264,
                      Omega_b=0.0493,
                      h=0.6736,
                      n_s=0.9649,
                      sigma8=0.8111)


def get_field(bin_no, return_mask=False, mask_sigma=False):
    prefix = predir + "maps_metacal_bin%d_ns%d" % (bin_no, o.nside)
示例#6
0
parser = ArgumentParser()
parser.add_argument("--bin-number", default=0, type=int, help="Bin number")
parser.add_argument("--nside", default=4096, type=int, help="Nside")
parser.add_argument("--nrot", default=10, type=int, help="# rotations")
o = parser.parse_args()

npix = hp.nside2npix(o.nside)
pix_area = 4 * np.pi / npix

predir = ut.rootpath + '/'
prefix_cat = predir + 'outputs/catalog_metacal_bin%d' % (o.bin_number)
prefix_map = predir + 'outputs/maps_metacal_bin%d_ns%d' % (o.bin_number,
                                                           o.nside)


ut.printflush("Computing means")
ut.printflush("0")
cat = fits.open(prefix_cat + '_zbin_mcal.fits')[1].data
ngal = len(cat)
e1_mean = np.mean(cat['e1'])
e2_mean = np.mean(cat['e2'])
e1_means = {}
e2_means = {}
for typ in ['1p', '1m', '2p', '2m']:
    ut.printflush(typ)
    f = fits.open(prefix_cat + '_zbin_mcal_' + typ + '.fits')
    e1_means[typ] = np.mean((f[1].data)['e1'])
    e2_means[typ] = np.mean((f[1].data)['e2'])
    f.close()

ut.printflush("Calibrating")
示例#7
0
文件: windows.py 项目: xC-ell/ShearCl
import numpy as np
from argparse import ArgumentParser
import pymaster as nmt
import utils as ut

parser = ArgumentParser()
parser.add_argument("--bin-number", default=0, type=int, help="Bin number")
parser.add_argument("--nside", default=4096, type=int, help="Nside")
parser.add_argument("--bin-number-2", default=-1, type=int, help="Bin number")
o = parser.parse_args()

if o.bin_number_2 == -1:
    o.bin_number_2 = o.bin_number

predir = ut.rootpath + '/'

ut.printflush("MCM")
fname_mcm = predir + 'outputs/cls_metacal_mcm_'
fname_mcm += 'bins_%d%d_ns%d.fits' % (o.bin_number, o.bin_number_2, o.nside)
w = nmt.NmtWorkspace()
w.read_from(fname_mcm)

ut.printflush("Win")
win = w.get_bandpower_windows()

ut.printflush("Writing")
fname_win = predir + 'outputs/cls_metacal_win_'
fname_win += 'bins_%d%d_ns%d.npz' % (o.bin_number, o.bin_number_2, o.nside)
np.savez(fname_win, win=win)