Exemple #1
0
 def test_toHDF5ListString(self):
     """Convert to HDF5, including a list of string in attributes"""
     a = dm.SpaceData()
     a.attrs['foo'] = ['hi']
     dm.toHDF5(self.testfile, a, mode='a')
     newobj = dm.fromHDF5(self.testfile)
     self.assertEqual(a.attrs['foo'], newobj.attrs['foo'])
Exemple #2
0
 def test_HDF5Exceptions(self):
     """HDF5 has warnings and exceptions"""
     dm.toHDF5(self.testfile, self.SDobj)
     self.assertRaises(IOError, dm.toHDF5, self.testfile, self.SDobj, overwrite=False)
     a = dm.SpaceData()
     a['foo'] = 'bar' # not an allowed type for data
     self.assertRaises(dm.DMWarning, dm.toHDF5, self.testfile, a)
Exemple #3
0
 def test_HDF5roundtrip2GZIP(self):
     """Data can go to hdf without altering datetimes in the datamodel with compression"""
     a = dm.SpaceData()
     a['foo'] = dm.SpaceData()
     dm.toHDF5(self.testfile, a, compression='gzip')
     newobj = dm.fromHDF5(self.testfile)
     self.assertEqual(a['foo'], newobj['foo'])
     a['bar'] = dm.dmarray([datetime.datetime(2000, 1, 1)])
     dm.toHDF5(self.testfile, a, compression='gzip')
     self.assertEqual(a['bar'], dm.dmarray([datetime.datetime(2000, 1, 1)]))
Exemple #4
0
 def test_HDF5roundtripGZIP(self):
     """Data can go to hdf and back with compression"""
     dm.toHDF5(self.testfile, self.SDobj, compression='gzip')
     newobj = dm.fromHDF5(self.testfile)
     self.assertEqual(self.SDobj.attrs['global'], newobj.attrs['global'])
     np.testing.assert_almost_equal(self.SDobj['var'], newobj['var'])
     self.assertEqual(self.SDobj['var'].attrs['a'], newobj['var'].attrs['a'])
     dm.toHDF5(self.testfile, self.SDobj, mode='a', compression='gzip')
     newobj = dm.fromHDF5(self.testfile)
     self.assertEqual(self.SDobj.attrs['global'], newobj.attrs['global'])
     np.testing.assert_almost_equal(self.SDobj['var'], newobj['var'])
     self.assertEqual(self.SDobj['var'].attrs['a'], newobj['var'].attrs['a'])
Exemple #5
0
 def test_HDF5roundtrip_method(self):
     """Data can go to hdf and back"""
     self.SDobj.toHDF5(self.testfile)
     newobj = dm.fromHDF5(self.testfile)
     self.assertEqual(self.SDobj.attrs['global'], newobj.attrs['global'])
     np.testing.assert_almost_equal(self.SDobj['var'], newobj['var'])
     self.assertEqual(self.SDobj['var'].attrs['a'], newobj['var'].attrs['a'])
     dm.toHDF5(self.testfile, self.SDobj, mode='a')
     newobj = dm.fromHDF5(self.testfile)
     self.assertEqual(self.SDobj.attrs['global'], newobj.attrs['global'])
     np.testing.assert_almost_equal(self.SDobj['var'], newobj['var'])
     self.assertEqual(self.SDobj['var'].attrs['a'], newobj['var'].attrs['a'])
Exemple #6
0
 def toHDF5(self, filepath, **kwargs):
     '''
     Save this DataModel to a HDF5 data file.
     Attributes are not available without SpacePy.
     '''
     if USE_SPACEPY:
         spdm.toHDF5(filepath, self, **kwargs)
     else:
         import h5py
         path = '/'
         if 'path' in kwargs:
             path = kwargs['path']
         h5file = h5py.File(filepath, mode='w')
         for k, v in self.items():
             h5file[path][k] = v
         h5file.close()
Exemple #7
0
 def write(self, filename, hdf5=False):
     if hdf5:
         dm.toHDF5(filename, self.dat)
     else:
         dm.toJSONheadedASCII(filename, self.dat, order=['Epoch'] )
     print('    Wrote {0}'.format(os.path.abspath(filename)))
Exemple #8
0
 def write(self, filename, hdf5=False):
     if hdf5:
         dm.toHDF5(filename, self.data)
     else:
         dm.toJSONheadedASCII(filename, self.data)