Пример #1
0
    def testSwitchFrame(self):
        '''Test our ability to open on arbitrary frame and change frame'''

        # Start with y=0 slice MHD outs file, but start on 2nd frame:
        f = os.path.join(
            spacepy_testing.datadir, 'pybats_test',
            'y=0_mhd_1_e20140410-000000-000_20140410-000200-000.outs')
        mhd = pb.IdlFile(f, iframe=1)

        # Check against 2nd frame info:
        self.assertEqual(self.knownIterRng2[1], mhd.attrs['iter'])
        self.assertEqual(self.knownRtimeRng2[1], mhd.attrs['runtime'])
        self.assertEqual(self.knownTimeRng2[1], mhd.attrs['time'])

        # Check against 2nd frame data:
        for v in ['Rho', 'Ux', 'Bz', 'P', 'jy']:
            self.assertAlmostEqual(self.knownMax2[v], mhd[v].max(), places=14)

        # Switch frames, check for successful update of attributes:
        mhd.switch_frame(0)
        self.assertEqual(self.knownIterRng1[0], mhd.attrs['iter'])
        self.assertEqual(self.knownRtimeRng1[0], mhd.attrs['runtime'])
        self.assertEqual(self.knownTimeRng1[0], mhd.attrs['time'])

        # Check against 1st frame data:
        for v in ['Rho', 'Ux', 'Bz', 'P', 'jy']:
            self.assertAlmostEqual(self.knownMax1[v], mhd[v].max(), places=14)
Пример #2
0
 def testReadAsciiAsBin(self):
     """Read an ASCII file as a binary"""
     try:
         data = pb.IdlFile('data/pybats_test/mag_grid_ascii.out',
                           format='bin', header=None, keep_case=True)
     except EOFError as e:
         msg = str(e)
     else:
         self.fail('Should have raised EOFError')
     self.assertEqual(msg, 'File is shorter than expected data')
Пример #3
0
    def testReadOuts(self):
        # Start with y=0 slice MHD outs file:
        mhd = pb.IdlFile(
            os.path.join(
                spacepy_testing.datadir, 'pybats_test',
                'y=0_mhd_1_e20140410-000000-000_20140410-000200-000.outs'))

        for i in range(len(self.knownIterRng1)):
            self.assertEqual(self.knownIterRng1[i], mhd.attrs['iter_range'][i])
            self.assertEqual(self.knownRtimeRng1[i],
                             mhd.attrs['runtime_range'][i])
            self.assertEqual(self.knownTimeRng1[i], mhd.attrs['time_range'][i])
Пример #4
0
    def testAscii(self):
        # Open file:
        mhd = pb.IdlFile('data/pybats_test/y0_ascii.out', format='ascii')

        # Test units are loaded correctly:
        for v in mhd:
            if v not in self.varnames: continue
            self.assertEqual(self.knownMhdUnits[v], mhd[v].attrs['units'])

        # Test values inside of mhd:
        self.assertEqual(self.knownMhdXmax, mhd['x'].max())
        self.assertEqual(self.knownMhdXmin, mhd['x'].min())
        self.assertEqual(self.knownMhdZlim, mhd['z'].max())
        self.assertEqual(self.knownMhdZlim * -1, mhd['z'].min())
Пример #5
0
    def testBinary(self):
        # Open file:
        mhd = pb.IdlFile(
            os.path.join(self.pth, 'data', 'pybats_test', 'y0_binary.out'))

        # Test units are loaded correctly:
        for v in mhd:
            if v not in self.varnames: continue
            self.assertEqual(self.knownMhdUnits[v], mhd[v].attrs['units'])

        # Test values inside of mhd:
        self.assertEqual(self.knownMhdXmax, mhd['x'].max())
        self.assertEqual(self.knownMhdXmin, mhd['x'].min())
        self.assertEqual(self.knownMhdZlim, mhd['z'].max())
        self.assertEqual(self.knownMhdZlim * -1, mhd['z'].min())
Пример #6
0
    def testBinary(self):
        # Open file:
        mhd = pb.IdlFile(
            os.path.join(spacepy_testing.datadir, 'pybats_test',
                         'y=0_mhd_1_e20140410-000050.out'))

        # Test time attribute:
        self.assertEqual(self.knownMhdTime, mhd.attrs['time'])

        # Test units are loaded correctly:
        for v in mhd:
            if v not in self.varnames: continue
            self.assertEqual(self.knownMhdUnits[v], mhd[v].attrs['units'])

        # Test values inside of mhd:
        self.assertEqual(self.knownMhdXmax, mhd['x'].max())
        self.assertEqual(self.knownMhdXmin, mhd['x'].min())
        self.assertEqual(self.knownMhdZlim, mhd['z'].max())
        self.assertEqual(self.knownMhdZlim * -1, mhd['z'].min())
Пример #7
0
from spacepy import pybats
#import timeit

import time

t0 = time.time()
data = pybats.IdlFile("../3d_var_region0_0_t00001205_n00037679.out")
t1 = time.time()
total = t1 - t0
print(total)

#Bx = data['Bx']