def test_io(): sim = create_sim() # Create a temporary directory to write stuff to (for python 3 this is much easier) direc = tempfile.mkdtemp() sim.add_foregrounds("pntsrc_foreground") sim.add_gains() sim.write_data(path.join(direc, 'tmp_data.uvh5')) sim2 = Simulator( data=path.join(direc, 'tmp_data.uvh5') ) uvd = UVData() uvd.read_uvh5(path.join(direc, 'tmp_data.uvh5')) sim3 = Simulator(data=uvd) assert np.all(sim.data.data_array == sim2.data.data_array) assert np.all(sim.data.data_array == sim3.data.data_array) with assert_raises(ValueError): sim.write_data(path.join(direc, 'tmp_data.bad_extension'), file_type="bad_type") # delete the tmp shutil.rmtree(direc)
def test_return_and_save_seeds(): ants = hex_array(2, split_core=False, outriggers=0) sim = Simulator(n_freq=50, n_times=20, antennas=ants) sim.add_foregrounds('diffuse_foreground', Tsky_mdl=HERA_Tsky_mdl['xx'], seed_redundantly=True) tempdir = tempfile.mkdtemp() vis_file = path.join(tempdir, "test.uvh5") seeds = sim.data.extra_keywords['seeds'] alt_seeds = sim.write_data(vis_file, ret_seeds=True, save_seeds=True) saved_seeds = np.load(vis_file.replace(".uvh5", ".npy"), allow_pickle=True) saved_seeds = saved_seeds[None][0] assert seeds==alt_seeds assert seeds==sim.data.extra_keywords['seeds'] assert np.all(seeds['diffuse_foreground']==saved_seeds['diffuse_foreground'])
def test_bad_antpairs(): Simulator(n_freq=10, n_times=20, antennas={ 0: (20.0, 20.0, 0), 1: (50.0, 50.0, 0) }, antpairs=[(2, 2)])
def test_wrong_antpairs(): Simulator(n_freq=10, n_times=20, antennas={ 0: (20.0, 20.0, 0), 1: (50.0, 50.0, 0) }, antpairs="bad_specifier")
def create_sim(autos=False): return Simulator(n_freq=10, n_times=20, antennas={ 0: (20.0, 20.0, 0), 1: (50.0, 50.0, 0) }, antpairs=None if autos else "cross")
def create_sim(autos=False, **kwargs): return Simulator(n_freq=10, n_times=20, antennas={ 0: (20.0, 20.0, 0), 1: (50.0, 50.0, 0) }, no_autos=not autos, **kwargs)
def test_consistent_across_reds(): ants = hex_array(2,split_core=False,outriggers=0) sim = Simulator(n_freq=50, n_times=20, antennas=ants) sim.add_foregrounds('diffuse_foreground', Tsky_mdl=HERA_Tsky_mdl['xx'], seed_redundantly=True) sim.add_eor('noiselike_eor', seed_redundantly=True) reds = sim.data.get_baseline_redundancies()[0][1] # choose non-autos key1 = sim.data.baseline_to_antnums(reds[0]) + ('xx',) key2 = sim.data.baseline_to_antnums(reds[1]) + ('xx',) assert np.all(np.isclose(sim.data.get_data(key1),sim.data.get_data(key2)))