def b_cov_TEE(lmax=200,frequency=353, psky=70, apo=2): """this is theory-based""" ls, (cltt, clee, clbb, clte) = fg.get_theory_fg(f=frequency, lmax=lmax, psky=psky, apo=apo) cov = calc_b_cov_TEB(cltt, clee, clee) hs = sg.get_hs(lmax=lmax) iszero = np.isclose(hs,0.) cov[iszero] = 0. return cov
# fetch alms: alm1 = np.load(alms_sims_path + args.alm1) if args.alm2 is not None: alm2 = np.load(alms_sims_path + args.alm2) else: alm2 = alm1 if args.alm3 is not None: alm3 = np.load(alms_sims_path + args.alm3) else: alm3 = alm1 #assert len(alm1)==len(alm2) and len(alm1)==len(alm3) and len(alm1)==LMAX+1, 'problem: alm size(s) and lmax mismatch.' # fetch w3j's for ms=(0,0,0)s hs = get_hs(lmax=LMAX) def split(container, count): """ Simple function splitting a container into equal length chunks. Order is not preserved but this is potentially an advantage depending on the use case. """ return [container[_i::count] for _i in range(count)] ######### ########## ########### N = LMAX + 1
# fetch alms: alm1 = np.load(alms_sims_path+args.alm1) if args.alm2 is not None: alm2 = np.load(alms_sims_path+args.alm2) else: alm2 = alm1 if args.alm3 is not None: alm3 = np.load(alms_sims_path+args.alm3) else: alm3 = alm1 #assert len(alm1)==len(alm2) and len(alm1)==len(alm3) and len(alm1)==LMAX+1, 'problem: alm size(s) and lmax mismatch.' # fetch w3j's for ms=(0,0,0)s hs = get_hs(lmax=LMAX) def split(container, count): """ Simple function splitting a container into equal length chunks. Order is not preserved but this is potentially an advantage depending on the use case. """ return [container[_i::count] for _i in range(count)] ######### ########## ########### N = LMAX + 1 if COMM.rank == 0: