예제 #1
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()
예제 #2
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()
예제 #3
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()
예제 #4
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()
예제 #5
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()
예제 #6
0
 def test_renameGroup(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     gg = g.createGroup('subgroup')
     self.assertEqual([x for x in g.groups.keys()],['subgroup'])
     g.renameGroup('subgroup','renamedgroup')
     self.assertEqual([x for x in g.groups.keys()],['renamedgroup'])
     f.close()
예제 #7
0
 def test_renameDimension(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     g.createDimension('testdim',50)
     self.assertEqual([x for x in g.dimensions.keys()],['testdim'])
     g.renameDimension('testdim','renameddim')
     self.assertEqual([x for x in g.dimensions.keys()],['renameddim'])
     f.close()
예제 #8
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()
예제 #9
0
    def test_dimensions(self):
        f = Dataset('./testnc_methods.nc', 'a')
        g = f.createGroup('testgroup')
        g.createDimension('extradim', 10)
        for i,j in zip(g.dimensions.keys(),['extradim']):
            self.assertEqual(i,j)

        f.close()
예제 #10
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())
예제 #11
0
 def test_renameDimension(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.createDimension('testdim',50)
     self.assertEqual([x for x in g.dimensions.keys()],['testdim'])
     g.renameDimension('testdim','renameddim')
     self.assertEqual([x for x in g.dimensions.keys()],['renameddim'])
     f.close()
예제 #12
0
 def test_renameGroup(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))
     gg = g.createGroup('subgroup')
     self.assertEqual([x for x in g.groups.keys()],['subgroup'])
     g.renameGroup('subgroup','renamedgroup')
     self.assertEqual([x for x in g.groups.keys()],['renamedgroup'])
     f.close()
예제 #13
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()
예제 #14
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()
예제 #15
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()
예제 #16
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()
예제 #17
0
파일: test_group.py 프로젝트: cedadev/SemSL
    def test_onegroup(self):
        f = Dataset('./testnc_group.nc', 'a', format='NETCDF4')
        # create group
        g = f.createGroup('testgroup')

        v = g.createVariable('var', 'f8', (
            'T',
            'Z',
            'Y',
            'X',
        ))
        v[:] = np.random.rand(DIMSIZE, DIMSIZE, DIMSIZE, DIMSIZE)

        f.close()
예제 #18
0
파일: test_group.py 프로젝트: cedadev/SemSL
    def test_onegroup(self):
        f = Dataset('./testnc_group.nc', 'a', format='NETCDF4')
        # create group
        g = f.createGroup('testgroup')

        v = g.createVariable('var', 'f8', (
            'T',
            'Z',
            'Y',
            'X',
        ))
        # TODO I think this throws an error because it can't find the dimensions that belong to the rootgroup
        v[:] = np.random.rand(DIMSIZE, DIMSIZE, DIMSIZE, DIMSIZE)

        f.close()
예제 #19
0
    def test_get_variables_by_attributes(self):
        f = Dataset('./testnc_methods.nc', 'a')
        g = f.createGroup('testgroup')
        v = g.createVariable('testgroupvar', 'f8')
        v.testattr = 'val'
        v2 = g.createVariable('testgroupvar2', 'f8')
        v2.testattr = 'val'
        v3 = g.createVariable('tesgroupvar3', 'f8')
        sg = g.createGroup('nestedgroup')
        sv = sg.createVariable('nestedgroupvar', 'f8')
        sv.testattr = 'val'

        varlist = [x.name for x in g.get_variables_by_attributes(testattr='val')]

        self.assertEqual(varlist,['testgroupvar','testgroupvar2'])

        f.close()
예제 #20
0
    def test_createGroup(self):
        f = Dataset('./testnc_methods.nc', 'a')
        g = f.createGroup('testgroup')
        g.createVariable('tesgroupvar','f8')
        sg = g.createGroup('nestedgroup')
        sg.createVariable('nestedgroupvar','f8')

        f.close()

        f = Dataset('./testnc_methods.nc', 'a')

        g = f.groups['testgroup']

        sg = g.groups['nestedgroup']

        self.assertEqual(g.path,'/testgroup')
        self.assertEqual(sg.path,'/testgroup/nestedgroup')
        f.close()
예제 #21
0
    def test_renameAttribute(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.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()

        f = Dataset('./testnc_methods/testnc_methods_testgroup_var_[0].nc', 'r')
        g = f.groups['testgroup']
        #TODO fix
        #self.assertEqual(g.ncattrs(), ['renamedattr', 'testattr2'])
        f.close()
예제 #22
0
    def test_getncattr(self):
        f = Dataset('./testnc_methods.nc', 'a')
        f.setncattr('rootgroupattr', 'val')
        g = f.createGroup('testgroup')
        g.setncattr('testattr','val')
        v = g.createVariable('var', 'f8',('T','Y','X'))
        v.setncattr('varattr','val')
        v[:] = np.zeros((20,20,20))
        f.close()

        f = Dataset('./testnc_methods.nc', 'r')
        g = f.groups['testgroup']
        self.assertEqual(g.getncattr('testattr'),'val')
        f.close()
        f = Dataset('./testnc_methods/testnc_methods_testgroup_var_[0].nc', 'r')
        g = f.groups['testgroup']
        v = g.variables['var']
        #self.assertEqual(v.getncattr('varattr'),'val')
        self.assertEqual(g.getncattr('testattr'),'val')
        #self.assertEqual(f.getncattr('rootgroupattr'),'val')
        f.close()
예제 #23
0
 def test_groups(self):
     f = Dataset('./testnc_methods.nc', 'a')
     test_pass = False
     try:
         g = f.createGroup('testgroup')
         test_pass = True
     except Exception:
         pass
     v = g.createVariable('var','f8',('T','Y','X'))
     v[:] = np.zeros((20,20,20))
     #sg = g.createGroup('nestedgroup') removed because I don't think nested groups should be supported
     self.assertTrue(test_pass)
     f.close()
     f = Dataset('./testnc_methods/testnc_methods_testgroup_var_[0].nc', 'r')
     test_pass = False
     try:
         g = f.groups['testgroup']
         test_pass = True
     except Exception:
         pass
     self.assertTrue(test_pass)
     f.close()
예제 #24
0
    def test_delncattr(self):
        f = Dataset('./testnc_methods.nc', 'a')
        g = f.createGroup('testgroup')
        g.setncattr('testattr','testattrval')
        v = g.createVariable('var','f8',('T','Y','X'))
        v[:] = np.zeros((20,20,20))
        f.close()

        f = Dataset('./testnc_methods.nc', 'a')
        sf = Dataset('./testnc_methods/testnc_methods_testgroup_var_[0].nc', 'r')
        g = f.groups['testgroup']
        self.assertEqual(g.testattr,'testattrval')
        g.delncattr('testattr')
        f.close()
        sf.close()

        f = Dataset('./testnc_methods.nc', 'a')
        sf = Dataset('./testnc_methods/testnc_methods_testgroup_var_[0].nc', 'r')
        g = f.groups['testgroup']
        self.assertEqual(g.ncattrs(),[])

        f.close()
        sf.close()
예제 #25
0
    def test_createGroup(self):
        f = Dataset('./testnc_methods.nc', 'a')
        g = f.createGroup('testgroup')
        v = g.createVariable('testgroupvar','f8',('T','Z'))
        #sg = g.createGroup('nestedgroup') # TODO nested groups might not get supported...
        #v2 = sg.createVariable('nestedgroupvar','f8',('Y','X'))
        v[:] = np.zeros((20,20))
        #v2[:] = np.zeros((20,20))
        f.close()

        f = Dataset('./testnc_methods.nc', 'a')

        g = f.groups['testgroup']

        #sg = g.groups['nestedgroup']

        self.assertEqual(g.path,'/testgroup')
        #self.assertEqual(sg.path,'/testgroup/nestedgroup')
        f.close()

        f = Dataset('./testnc_methods/testnc_methods_testgroup_testgroupvar_[0].nc', 'r')
        self.assertEqual(f.groups['testgroup'].path, '/testgroup')

        f.close()
예제 #26
0
 def test_data_model(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     self.assertEqual(g.data_model,'NETCDF4')
     f.close()
예제 #27
0
 def test_file_format(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     self.assertEqual(g.file_format,'NETCDF4')
     f.close()
예제 #28
0
 def test_groups(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     sg = g.createGroup('nestedgroup')
     self.assertEqual([x for x in g.groups], ['nestedgroup'])
     f.close()
예제 #29
0
 def test_isopen(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     self.assertFalse(g.isopen())
     f.close()
     self.assertFalse(g.isopen())
예제 #30
0
 def test_path(self):
     f = Dataset('./testnc_methods.nc', 'a')
     g = f.createGroup('testgroup')
     self.assertEqual(g.path, '/testgroup')
     f.close()