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()
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()
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()
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()
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()
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()
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()
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()
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()
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())
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
def test_data_model(self): f = Dataset('./testnc_methods.nc', 'a') g = f.createGroup('testgroup') self.assertEqual(g.data_model,'NETCDF4') f.close()
def test_file_format(self): f = Dataset('./testnc_methods.nc', 'a') g = f.createGroup('testgroup') self.assertEqual(g.file_format,'NETCDF4') f.close()
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()
def test_isopen(self): f = Dataset('./testnc_methods.nc', 'a') g = f.createGroup('testgroup') self.assertFalse(g.isopen()) f.close() self.assertFalse(g.isopen())
def test_path(self): f = Dataset('./testnc_methods.nc', 'a') g = f.createGroup('testgroup') self.assertEqual(g.path, '/testgroup') f.close()