test_miriad.py
"""Tests for Miriad object."""
import nose.tools as nt
import os
import ephem
from pyuvdata import UVData
import pyuvdata.tests as uvtest
from pyuvdata.data import DATA_PATH
def test_ReadMiriadWriteUVFits():
"""
Miriad to uvfits loopback test.
Read in Miriad files, write out as uvfits, read back in and check for
object equality.
"""
miriad_uv = UVData()
uvfits_uv = UVData()
miriad_file = os.path.join(DATA_PATH, 'zen.2456865.60537.xy.uvcRREAA')
testfile = os.path.join(DATA_PATH, 'test/outtest_miriad.uvfits')
miriad_status = uvtest.checkWarnings(miriad_uv.read_miriad, [miriad_file],
known_warning='miriad')
miriad_uv.write_uvfits(testfile, spoof_nonessential=True,
force_phase=True)
uvfits_uv.read_uvfits(testfile)
nt.assert_true(miriad_status)
nt.assert_equal(miriad_uv, uvfits_uv)
del(miriad_uv)
del(uvfits_uv)
def test_breakReadMiriad():
"""Test Miriad file checking."""
UV = UVData()
nt.assert_raises(IOError, UV.read_miriad, 'foo')
del(UV)
def test_writePAPER():
"""Test reading & writing PAPER Miriad file."""
UV = UVData()
testfile = os.path.join(DATA_PATH, 'zen.2456865.60537.xy.uvcRREAA')
write_file = os.path.join(DATA_PATH, 'test/outtest_miriad.uv')
status = uvtest.checkWarnings(UV.read_miriad, [testfile],
known_warning='miriad')
UV.write_miriad(write_file, clobber=True)
nt.assert_true(status)
del(UV)
def test_readWriteReadMiriad():
"""
PAPER file Miriad loopback test.
Read in Miriad PAPER file, write out as new Miriad file, read back in and
check for object equality.
"""
uv_in = UVData()
uv_out = UVData()
testfile = os.path.join(DATA_PATH, 'zen.2456865.60537.xy.uvcRREAA')
write_file = os.path.join(DATA_PATH, 'test/outtest_miriad.uv')
status = uvtest.checkWarnings(uv_in.read_miriad, [testfile],
known_warning='miriad')
uv_in.write_miriad(write_file, clobber=True)
uv_out.read_miriad(write_file)
nt.assert_true(status)
nt.assert_equal(uv_in, uv_out)
del(uv_in)
del(uv_out)
'''
This test is commented out since we no longer believe AIPY phases correctly
to the astrometric ra/dec. Hopefully we can reinstitute it one day.
def test_ReadMiriadPhase():
unphasedfile = os.path.join(DATA_PATH, 'new.uvA')
phasedfile = os.path.join(DATA_PATH, 'new.uvA.phased')
unphased_uv = UVData()
phased_uv = UVData()
# test that phasing makes files equal
unphased_out, unphased_status = uvtest.checkWarnings(unphased.read, [unphasedfile, 'miriad'],
known_warning='miriad')
unphased.phase(ra=0.0, dec=0.0, epoch=ephem.J2000)
phased_out, phased_status = uvtest.checkWarnings(phased.read, [phasedfile, 'miriad'],
known_warning='miriad')
nt.assert_true(unphased_status)
nt.assert_true(phased_status)
nt.assert_equal(unphased, phased)
'''