Ejemplo n.º 1
0
    def test_createDimension(self):

        f = Dataset('./testnc_methods.nc','a')
        g = f.createGroup('testgroup')
        g.createDimension('extradim',10)
        g.createVariable('extradim','i4',('extradim',))
        v = g.createVariable('var','i4',('T','extradim',))
        v[:] = np.zeros((20,10))
        f.close()

        f = Dataset('./testnc_methods.nc', 'r')
        for i,j in zip(f.dimensions.keys(),['T','Z','Y','X']):
            self.assertEqual(i,j)
        g = f.groups['testgroup']

        for i,j in zip(g.dimensions.keys(),['extradim']):
            self.assertEqual(i,j)
        f.close()

        f = Dataset('./testnc_methods/testnc_methods_testgroup_var_[0].nc','r')
        for i, j in zip(f.dimensions.keys(), ['T', 'Z', 'Y', 'X']):
            self.assertEqual(i, j)
        g = f.groups['testgroup']

        for i, j in zip(g.dimensions.keys(), ['extradim']):
            self.assertEqual(i, j)
        f.close()
Ejemplo n.º 2
0
    def test_10_posix_chunk_write(self):

        self.f = Dataset('./testnc.nc','w')
        self.f.test = 'Created for SemSL tests'

        dim1 = self.f.createDimension('T', DIMSIZE)
        dim1d = self.f.createVariable('T', 'i4', ('T',))
        dim1d[:] = range(DIMSIZE)
        dim2 = self.f.createDimension('Z', DIMSIZE)
        dim2d = self.f.createVariable('Z', 'i4', ('Z',))
        dim2d[:] = range(DIMSIZE)
        dim3 = self.f.createDimension('Y', DIMSIZE)
        dim3d = self.f.createVariable('Y', 'i4', ('Y',))
        dim3d[:] = range(DIMSIZE)
        dim4 = self.f.createDimension('X', DIMSIZE)
        dim4d = self.f.createVariable('X', 'i4', ('X',))
        dim4d[:] = range(DIMSIZE)
        dim1d.axis = "T"
        dim2d.axis = "Z"
        dim3d.axis = "Y"
        dim4d.axis = "X"
        self.var = self.f.createVariable(VARNAME, 'f8', ('T', 'Z', 'Y', 'X'), chunksizes=(5,5,5,5))
        np.random.seed(0)
        self.var[:] = np.random.rand(DIMSIZE, DIMSIZE, DIMSIZE, DIMSIZE)
        self.var.setncattr('units', 'test unit')
        self.f.close()
        # check that the subfile has the right chunking
        f = Dataset('./testnc/testnc_var_[0].nc')
        v = f.variables['var']
        self.assertEqual([5,5,5,5],v.chunking())
        f.close()
Ejemplo n.º 3
0
    def test_var_delncattr(self):
        f = Dataset('s3://test/databucket/testnc_methods.nc', 'a')
        v = f.variables['var']
        v.delncattr('units')
        f.close()
        f = Dataset('s3://test/databucket/testnc_methods.nc', 'a')
        v = f.variables['var']
        test_bool = False
        try:
            units = v.getncattr('units')
        except AttributeError:
            test_bool = True

        self.assertTrue(test_bool)
        f.close()
        # now check a subfile...
        f = Dataset(
            's3://test/databucket/testnc_methods/testnc_methods_var_[0].nc',
            'r')
        v = f.variables['var']
        test_bool = False
        try:
            units = v.getncattr('units')
        except AttributeError:
            test_bool = True

        self.assertTrue(test_bool)
        f.close()
Ejemplo n.º 4
0
 def test_var_renameAttribute(self):
     f = Dataset('s3://test/databucket/testnc_methods.nc', 'a')
     v = f.variables['var']
     v.renameAttribute('units', 'renamedattr')
     f.close()
     f = Dataset('s3://test/databucket/testnc_methods.nc', 'r')
     v = f.variables['var']
     test_bool = False
     try:
         attr = f.getncattr('units')
     except AttributeError:
         test_bool = True
     self.assertTrue(test_bool)
     self.assertEqual(v.getncattr('renamedattr'), 'test unit')
     f.close()
     # now check a subfile...
     f = Dataset(
         's3://test/databucket/testnc_methods/testnc_methods_var_[0].nc',
         'r')
     v = f.variables['var']
     test_bool = False
     try:
         attr = f.getncattr('units')
     except AttributeError:
         test_bool = True
     self.assertTrue(test_bool)
     self.assertEqual(v.getncattr('renamedattr'), 'test unit')
     f.close()
Ejemplo n.º 5
0
 def test_var_setncattr_string(self):
     f = Dataset('s3://test/databucket/testnc_methods.nc', 'a')
     v = f.variables['var']
     v.setncattr_string('newtest', 'newtestvalue')
     f.close()
     f = Dataset('s3://test/databucket/testnc_methods.nc', 'r')
     v = f.variables['var']
     self.assertEqual(v.getncattr('newtest'), 'newtestvalue')
     f.close()
Ejemplo n.º 6
0
 def test_var_getncattr(self):
     f = Dataset('./testnc_methods.nc', 'a')
     v = f.variables['var']
     self.assertEqual(v.getncattr('units'), 'test unit')
     f.close()
     # now check a subfile...
     f = Dataset('./testnc_methods/testnc_methods_var_[0].nc', 'r')
     v = f.variables['var']
     self.assertEqual(v.getncattr('units'), 'test unit')
     f.close()
Ejemplo n.º 7
0
 def test_var_setncatts(self):
     f = Dataset('s3://test/databucket/testnc_methods.nc', 'a')
     v = f.variables['var']
     v.setncatts({'newtest': 'newtestvalue', 'secondnew': 'secondnewval'})
     f.close()
     f = Dataset('s3://test/databucket/testnc_methods.nc', 'r')
     v = f.variables['var']
     self.assertEqual(v.getncattr('newtest'), 'newtestvalue')
     self.assertEqual(v.getncattr('secondnew'), 'secondnewval')
     f.close()
Ejemplo n.º 8
0
    def test_getncattr(self):
        f = Dataset('./testnc_methods.nc', 'a')
        g = f.createGroup('testgroup')
        g.setncattr('testattr','val')
        f.close()

        f = Dataset('./testnc_methods.nc', 'r')
        g = f.groups['testgroup']
        self.assertEqual(g.getncattr('testattr'),'val')
        f.close()
Ejemplo n.º 9
0
 def test_name(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     v = g.createVariable('var', 'f8',('T','Y','X'))
     v[:] = np.zeros((20,20,20))
     self.assertEqual(g.name, 'testgroup')
     f.close()
     f = Dataset('./testnc_methods/testnc_methods_testgroup_var_[0].nc', 'r')
     g = f.groups['testgroup']
     self.assertEqual(g.name, 'testgroup')
     f.close()
Ejemplo n.º 10
0
 def test_renameAttribute(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     g.setncattr('testattr', 'val')
     g.setncattr('testattr2', 'val2')
     self.assertEqual(g.ncattrs(), ['testattr', 'testattr2'])
     f.close()
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.groups['testgroup']
     g.renameAttribute('testattr','renamedattr')
     self.assertEqual(g.ncattrs(), ['renamedattr', 'testattr2'])
     f.close()
Ejemplo n.º 11
0
    def test_createDimension(self):
        f = Dataset('./testnc_methods.nc','a')
        g = f.createGroup('testgroup')
        g.createDimension('extradim',10)
        f.close()

        f = Dataset('./testnc_methods.nc', 'r')
        for i,j in zip(f.dimensions.keys(),['T','Z','Y','X']):
            self.assertEqual(i,j)
        g = f.groups['testgroup']
        for i,j in zip(g.dimensions.keys(),['extradim']):
            self.assertEqual(i,j)
        f.close()
Ejemplo n.º 12
0
    def test_delncattr(self):
        f = Dataset('./testnc_methods.nc', 'a')
        g = f.createGroup('testgroup')
        g.setncattr('testattr','testattrval')
        f.close()

        f = Dataset('./testnc_methods.nc', 'a')
        g = f.groups['testgroup']
        self.assertEqual(g.testattr,'testattrval')
        g.delncattr('testattr')
        self.assertEqual(g.ncattrs(),[])

        f.close()
Ejemplo n.º 13
0
 def test_var_setncattr_string(self):
     f = Dataset('./testnc_methods.nc', 'a')
     v = f.variables['var']
     v.setncattr_string('newtest', 'newtestvalue')
     f.close()
     f = Dataset('./testnc_methods.nc', 'r')
     v = f.variables['var']
     self.assertEqual(v.getncattr('newtest'), 'newtestvalue')
     f.close()
     # now check a subfile...
     f = Dataset('./testnc_methods/testnc_methods_var_[0].nc', 'r')
     v = f.variables['var']
     self.assertEqual(v.getncattr('newtest'), 'newtestvalue')
     f.close()
Ejemplo n.º 14
0
 def test_var_ncattrs(self):
     f = Dataset('./testnc_methods.nc', 'r')
     v = f.variables['var']
     attrs = v.ncattrs()
     self.assertEqual(attrs,
                      ['cf_role', 'cf_dimensions', 'cfa_array', 'units'])
     f.close()
     # now check a subfile...
     f = Dataset('./testnc_methods/testnc_methods_var_[0].nc', 'r')
     v = f.variables['var']
     attrs = v.ncattrs()
     self.assertEqual(attrs,
                      ['cf_role', 'cf_dimensions', 'cfa_array', 'units'])
     f.close()
Ejemplo n.º 15
0
    def test_var_delncattr(self):
        f = Dataset('./testnc_methods.nc', 'a')
        v = f.variables['var']
        v.delncattr('units')
        f.close()
        f = Dataset('./testnc_methods.nc', 'a')
        v = f.variables['var']
        test_bool = False
        try:
            units = v.getncattr('units')
        except AttributeError:
            test_bool = True

        self.assertTrue(test_bool)
        f.close()
Ejemplo n.º 16
0
 def test_var_renameAttribute(self):
     f = Dataset('./testnc_methods.nc', 'a')
     v = f.variables['var']
     v.renameAttribute('units', 'renamedattr')
     f.close()
     f = Dataset('./testnc_methods.nc', 'r')
     v = f.variables['var']
     test_bool = False
     try:
         attr = f.getncattr('units')
     except AttributeError:
         test_bool = True
     self.assertTrue(test_bool)
     self.assertEqual(v.getncattr('renamedattr'), 'test unit')
     f.close()
Ejemplo n.º 17
0
    def test_01_posix_write(self):

        self.f = Dataset('./testnc.nc','w')
        self.f.test = 'Created for SemSL tests'

        dim1 = self.f.createDimension('T', DIMSIZE)
        dim1d = self.f.createVariable('T', 'i4', ('T',))
        dim1d[:] = range(DIMSIZE)
        dim2 = self.f.createDimension('Z', DIMSIZE)
        dim2d = self.f.createVariable('Z', 'i4', ('Z',))
        dim2d[:] = range(DIMSIZE)
        dim3 = self.f.createDimension('Y', DIMSIZE)
        dim3d = self.f.createVariable('Y', 'i4', ('Y',))
        dim3d[:] = range(DIMSIZE)
        dim4 = self.f.createDimension('X', DIMSIZE)
        dim4d = self.f.createVariable('X', 'i4', ('X',))
        dim4d[:] = range(DIMSIZE)
        dim1d.axis = "T"
        dim2d.axis = "Z"
        dim3d.axis = "Y"
        dim4d.axis = "X"
        self.var = self.f.createVariable(VARNAME, 'f8', ('T', 'Z', 'Y', 'X'), contiguous=True)
        np.random.seed(0)
        self.var[:] = np.random.rand(DIMSIZE, DIMSIZE, DIMSIZE, DIMSIZE)
        self.var.setncattr('units', 'test unit')
        self.f.close()
Ejemplo n.º 18
0
    def setUp(self):
        # Create test dataset
        self.f = Dataset('s3://test/databucket/testnc_methods.nc',
                         'w',
                         format='NETCDF4')
        self.f.setncattr('test', 'Created for SemSL tests')

        dim1 = self.f.createDimension('T', DIMSIZE)
        dim1d = self.f.createVariable('T', 'i4', ('T', ))
        dim1d[:] = range(DIMSIZE)
        dim2 = self.f.createDimension('Z', DIMSIZE)
        dim2d = self.f.createVariable('Z', 'i4', ('Z', ))
        dim2d[:] = range(DIMSIZE)
        dim3 = self.f.createDimension('Y', DIMSIZE)
        dim3d = self.f.createVariable('Y', 'i4', ('Y', ))
        dim3d[:] = range(DIMSIZE)
        dim4 = self.f.createDimension('X', DIMSIZE)
        dim4d = self.f.createVariable('X', 'i4', ('X', ))
        dim4d[:] = range(DIMSIZE)
        dim1d.axis = "T"
        dim2d.axis = "Z"
        dim3d.axis = "Y"
        dim4d.axis = "X"
        self.var = self.f.createVariable(VARNAME,
                                         'f8', ('T', 'Z', 'Y', 'X'),
                                         contiguous=True)
        self.var.units = 'test unit'
        np.random.seed(0)
        self.var[:] = np.random.rand(DIMSIZE, DIMSIZE, DIMSIZE, DIMSIZE)
        self.f.close()
Ejemplo n.º 19
0
 def test_var_setncatts(self):
     f = Dataset('./testnc_methods.nc', 'a')
     v = f.variables['var']
     v.setncatts({'newtest': 'newtestvalue', 'secondnew': 'secondnewval'})
     f.close()
     f = Dataset('./testnc_methods.nc', 'r')
     v = f.variables['var']
     self.assertEqual(v.getncattr('newtest'), 'newtestvalue')
     self.assertEqual(v.getncattr('secondnew'), 'secondnewval')
     f.close()
     # now check a subfile...
     f = Dataset('./testnc_methods/testnc_methods_var_[0].nc', 'r')
     v = f.variables['var']
     self.assertEqual(v.getncattr('newtest'), 'newtestvalue')
     self.assertEqual(v.getncattr('secondnew'), 'secondnewval')
     f.close()
Ejemplo n.º 20
0
 def test_ncattrs(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     g.setncattr('testattr', 'val')
     g.setncattr('testattr2', 'val2')
     self.assertEqual(g.ncattrs(),['testattr','testattr2'])
     f.close()
Ejemplo n.º 21
0
    def test_set_var_chunk_cache(self):
        f = Dataset('s3://test/databucket/testnc_methods.nc', 'a')
        v = f.variables['var']
        v.set_var_chunk_cache(size=10485760)

        self.assertEqual(v.get_var_chunk_cache(), (10485760, 521, 0.75))
        f.close()
Ejemplo n.º 22
0
 def test_disk_format(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     v = g.createVariable('var','f8')
     v[:] = 1
     self.assertEqual(g.disk_format, None)
     f.close()
Ejemplo n.º 23
0
 def test_var_set_auto_mask(self):
     f = Dataset('./testnc_methods.nc', 'a')
     v = f.variables['var']
     self.assertTrue(f.variables['var'].mask)
     v.set_auto_mask(False)
     self.assertFalse(f.variables['var'].mask)
     f.close()
Ejemplo n.º 24
0
 def test_var_set_auto_scale(self):
     f = Dataset('s3://test/databucket/testnc_methods.nc', 'a')
     v = f.variables['var']
     self.assertTrue(f.variables['var'].scale)
     v.set_auto_scale(False)
     self.assertFalse(f.variables['var'].scale)
     f.close()
Ejemplo n.º 25
0
def create_file():
    DIMSIZE = 80
    VARNAME = 'var'

    f = Dataset('./testnc.nc', 'w')
    f.test = 'Created for SemSL tests'

    dim1 = f.createDimension('T', DIMSIZE)
    dim1d = f.createVariable('T', 'i4', ('T', ))
    dim1d[:] = range(DIMSIZE)
    dim2 = f.createDimension('Z', DIMSIZE)
    dim2d = f.createVariable('Z', 'i4', ('Z', ))
    dim2d[:] = range(DIMSIZE)
    dim3 = f.createDimension('Y', DIMSIZE)
    dim3d = f.createVariable('Y', 'i4', ('Y', ))
    dim3d[:] = range(DIMSIZE)
    dim4 = f.createDimension('X', DIMSIZE)
    dim4d = f.createVariable('X', 'i4', ('X', ))
    dim4d[:] = range(DIMSIZE)
    dim1d.axis = "T"
    dim2d.axis = "Z"
    dim3d.axis = "Y"
    dim4d.axis = "X"
    var = f.createVariable(VARNAME,
                           'f8', ('T', 'Z', 'Y', 'X'),
                           contiguous=True)
    np.random.seed(0)
    var[:] = np.random.rand(DIMSIZE, DIMSIZE, DIMSIZE, DIMSIZE)
    var.setncattr('units', 'test unit')
    f.close()
Ejemplo n.º 26
0
 def test_var_set_auto_chartostring(self):
     f = Dataset('s3://test/databucket/testnc_methods.nc', 'a')
     v = f.variables['var']
     self.assertTrue(f.variables['var'].chartostring)
     v.set_auto_chartostring(False)
     self.assertFalse(f.variables['var'].chartostring)
     f.close()
Ejemplo n.º 27
0
 def test_variables(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     v = g.createVariable('var', 'f8',('T','Y','X'))
     v[:] = np.zeros((20,20,20))
     self.assertEqual([x for x in g.variables.keys()], ['var'])
     f.close()
Ejemplo n.º 28
0
 def test_renameVariable(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     g.createVariable('var','f8')
     self.assertEqual([x for x in g.variables.keys()], ['var'])
     g.renameVariable('var','renamedvar')
     self.assertEqual([x for x in g.variables.keys()], ['renamedvar'])
     f.close()
Ejemplo n.º 29
0
 def test_setncatts(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     v = g.createVariable('var', 'f8',('T','Y','X'))
     v[:] = np.zeros((20,20,20))
     g.setncatts({'testattr':'val','at2':'val2'})
     self.assertEqual(g.ncattrs(), ['testattr','at2'])
     f.close()
Ejemplo n.º 30
0
 def test_isopen(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     v = g.createVariable('var', 'f8',('T','Y','X'))
     v[:] = np.zeros((20,20,20))
     self.assertFalse(g.isopen())
     f.close()
     self.assertFalse(g.isopen())