# the templates for the CMB splits template = so_map.car_template(ncomp, ra0, ra1, dec0, dec1, res) # the templates for the binary mask binary = so_map.car_template(1, ra0, ra1, dec0, dec1, res) # for CAR we set pixels inside the survey at 1 and at the border to be zero binary.data[:] = 0 binary.data[1:-1, 1:-1] = 1 print("Generate CMB realisation") #First let's generate a CMB realisation cmb = template.synfast(clfile) split = cmb.copy() #let's add noise to it with rms 20 uk.arcmin noise = so_map.white_noise(split, rms_uKarcmin_T=rms_uKarcmin_T) split.data += noise.data #First let's generate a CMB realisation cmb = template.synfast(clfile) split = cmb.copy() #let's add noise to it with rms 20 uk.arcmin in T ans sqrt(2)xthat in pol noise = so_map.white_noise(split, rms_uKarcmin_T=rms_uKarcmin_T) split.data += noise.data split.plot(file_name="%s/noisy_cmb" % (test_dir), ticks_spacing_car=4) print("Generate window function") #we then apodize the survey mask
map_U = d['map_U_%s' % ar][0] print("compute harmonic transform ...") so_mpi.init(True) subtasks = so_mpi.taskrange(imin=d['iStart'], imax=d['iStop']) for iii in range(subtasks): t0 = time.time() print(iii) template = so_map.from_components(map_T, map_Q, map_U) template = so_map.get_submap_car(template, box, mode='floor') cmb_car = template.synfast(clfile) noise0 = so_map.white_noise(template, rms_uKarcmin_T=15) noise1 = so_map.white_noise(template, rms_uKarcmin_T=15) split0 = cmb_car.copy() split0.data += noise0.data split1 = cmb_car.copy() split1.data += noise1.data split0_filt = split0.copy() split1_filt = split1.copy() split0_filt = so_map_preprocessing.get_map_kx_ky_filtered_pyfftw( split0_filt, apo, d['filter_dict']) split1_filt = so_map_preprocessing.get_map_kx_ky_filtered_pyfftw( split1_filt, apo, d['filter_dict'])