コード例 #1
0
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)
コード例 #2
0
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'])
コード例 #3
0
ファイル: test_simulator.py プロジェクト: JIANSHULI/hera_sim
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)])
コード例 #4
0
ファイル: test_simulator.py プロジェクト: JIANSHULI/hera_sim
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")
コード例 #5
0
ファイル: test_simulator.py プロジェクト: JIANSHULI/hera_sim
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")
コード例 #6
0
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)
コード例 #7
0
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)))