本文整理汇总了Python中anuga.file.netcdf.NetCDFFile.sync方法的典型用法代码示例。如果您正苦于以下问题:Python NetCDFFile.sync方法的具体用法?Python NetCDFFile.sync怎么用?Python NetCDFFile.sync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类anuga.file.netcdf.NetCDFFile
的用法示例。
在下文中一共展示了NetCDFFile.sync方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_ferret2sww4
# 需要导入模块: from anuga.file.netcdf import NetCDFFile [as 别名]
# 或者: from anuga.file.netcdf.NetCDFFile import sync [as 别名]
#.........这里部分代码省略.........
for fid in [fid4]:
fid.createDimension(long_name,nx)
fid.createVariable(long_name,netcdf_float,(long_name,))
fid.variables[long_name].point_spacing='uneven'
fid.variables[long_name].units='degrees_east'
fid.variables[long_name][:] = h1_list
fid.createDimension(lat_name,ny)
fid.createVariable(lat_name,netcdf_float,(lat_name,))
fid.variables[lat_name].point_spacing='uneven'
fid.variables[lat_name].units='degrees_north'
fid.variables[lat_name][:] = h2_list
name = {}
name[fid1]='HA'
name[fid2]='UA'
name[fid3]='VA'
name[fid4]='ELEVATION'
units = {}
units[fid1]='cm'
units[fid2]='cm/s'
units[fid3]='cm/s'
units[fid4]='m'
values = {}
values[fid1]=[[[5., 10.,15.], [13.,18.,23.]],[[50.,100.,150.],[130.,180.,230.]]]
values[fid2]=[[[1., 2.,3.], [4.,5.,6.]],[[7.,8.,9.],[10.,11.,12.]]]
values[fid3]=[[[13., 12.,11.], [10.,9.,8.]],[[7.,6.,5.],[4.,3.,2.]]]
values[fid4]=[[-3000,-3100,-3200],[-4000,-5000,-6000]]
for fid in [fid1,fid2,fid3]:
fid.createVariable(name[fid],netcdf_float,(time_name,lat_name,long_name))
fid.variables[name[fid]].point_spacing='uneven'
fid.variables[name[fid]].units=units[fid]
fid.variables[name[fid]][:] = values[fid]
fid.variables[name[fid]].missing_value = -99999999.
#if fid == fid3: break
for fid in [fid4]:
fid.createVariable(name[fid],netcdf_float,(lat_name,long_name))
fid.variables[name[fid]].point_spacing='uneven'
fid.variables[name[fid]].units=units[fid]
fid.variables[name[fid]][:] = values[fid]
fid.variables[name[fid]].missing_value = -99999999.
fid1.sync(); fid1.close()
fid2.sync(); fid2.close()
fid3.sync(); fid3.close()
fid4.sync(); fid4.close()
fid1 = NetCDFFile('test_ha.nc',netcdf_mode_r)
fid2 = NetCDFFile('test_e.nc',netcdf_mode_r)
fid3 = NetCDFFile('test_va.nc',netcdf_mode_r)
first_amp = fid1.variables['HA'][:][0,0,0]
third_amp = fid1.variables['HA'][:][0,0,2]
first_elevation = fid2.variables['ELEVATION'][0,0]
third_elevation= fid2.variables['ELEVATION'][:][0,2]
first_speed = fid3.variables['VA'][0,0,0]
third_speed = fid3.variables['VA'][:][0,0,2]
fid1.close()
fid2.close()
fid3.close()
#Call conversion (with zero origin)
ferret2sww('test', verbose=self.verbose, origin = (56, 0, 0)
, inverted_bathymetry=False)
os.remove('test_va.nc')
os.remove('test_ua.nc')
os.remove('test_ha.nc')
os.remove('test_e.nc')
#Read output file 'test.sww'
fid = NetCDFFile('test.sww')
#Check first value
elevation = fid.variables['elevation'][:]
stage = fid.variables['stage'][:]
xmomentum = fid.variables['xmomentum'][:]
ymomentum = fid.variables['ymomentum'][:]
#print ymomentum
first_height = first_amp/100 - first_elevation
third_height = third_amp/100 - third_elevation
first_momentum=first_speed*first_height/100
third_momentum=third_speed*third_height/100
assert num.allclose(ymomentum[0][0],first_momentum) #Meters
assert num.allclose(ymomentum[0][2],third_momentum) #Meters
fid.close()
#Cleanup
os.remove('test.sww')