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)
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)
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,
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)
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)
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")
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)