本文整理汇总了Python中anuga.file.netcdf.NetCDFFile.variables['permutation'][:]方法的典型用法代码示例。如果您正苦于以下问题:Python NetCDFFile.variables['permutation'][:]方法的具体用法?Python NetCDFFile.variables['permutation'][:]怎么用?Python NetCDFFile.variables['permutation'][:]使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类anuga.file.netcdf.NetCDFFile
的用法示例。
在下文中一共展示了NetCDFFile.variables['permutation'][:]方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: urs2sts
# 需要导入模块: from anuga.file.netcdf import NetCDFFile [as 别名]
# 或者: from anuga.file.netcdf.NetCDFFile import variables['permutation'][:] [as 别名]
#.........这里部分代码省略.........
number_of_latitudes = latitudes.shape[0] # Number latitudes
number_of_longitudes = longitudes.shape[0] # Number longitudes
# The permutation vector of contains original indices
# as given in ordering file or None in which case points
# are assigned the trivial indices enumerating them from
# 0 to number_of_points-1
if permutation is None:
permutation = num.arange(number_of_points, dtype=num.int)
# NetCDF file definition
outfile = NetCDFFile(stsname, netcdf_mode_w)
description = 'Converted from URS mux2 files: %s' % basename_in
# Create new file
sts = Write_sts()
sts.store_header(outfile,
times+starttime,
number_of_points,
description=description,
verbose=verbose,
sts_precision=netcdf_float)
# Store
from anuga.coordinate_transforms.redfearn import redfearn
x = num.zeros(number_of_points, num.float) # Easting
y = num.zeros(number_of_points, num.float) # Northing
# Check zone boundaries
if zone is None:
refzone, _, _ = redfearn(latitudes[0], longitudes[0],
central_meridian=central_meridian)
else:
refzone = zone
old_zone = refzone
old_easting = 0.0
old_northing = 0.0
for i in range(number_of_points):
computed_zone, easting, northing = redfearn(latitudes[i], longitudes[i],
zone=zone,
central_meridian=central_meridian)
x[i] = easting
y[i] = northing
if computed_zone != refzone:
msg = 'All sts gauges need to be in the same zone. \n'
msg += 'offending gauge:Zone %d,%.4f, %4f\n' \
% (computed_zone, easting, northing)
msg += 'previous gauge:Zone %d,%.4f, %4f' \
% (old_zone, old_easting, old_northing)
raise Exception, msg
old_zone = computed_zone
old_easting = easting
old_northing = northing
if origin is None:
origin = Geo_reference(refzone, min(x), min(y))
geo_ref = write_NetCDF_georeference(origin, outfile)
elevation = num.resize(elevation, outfile.variables['elevation'][:].shape)
outfile.variables['permutation'][:] = permutation.astype(num.int32) # Opteron 64
outfile.variables['x'][:] = x - geo_ref.get_xllcorner()
outfile.variables['y'][:] = y - geo_ref.get_yllcorner()
outfile.variables['elevation'][:] = elevation
stage = outfile.variables['stage']
xmomentum = outfile.variables['xmomentum']
ymomentum = outfile.variables['ymomentum']
if verbose: log.critical('Converting quantities')
for j in range(len(times)):
for i in range(number_of_points):
ha = mux['HA'][i,j]
ua = mux['UA'][i,j]
va = mux['VA'][i,j]
if ha == NODATA:
if verbose:
msg = 'Setting nodata value %d to 0 at time = %f, ' \
'point = %d' % (ha, times[j], i)
log.critical(msg)
ha = 0.0
ua = 0.0
va = 0.0
w = zscale*ha + mean_stage
h = w - elevation[i]
stage[j,i] = w
xmomentum[j,i] = ua * h
ymomentum[j,i] = -va * h # South is positive in mux files
outfile.close()
if verbose:
log.critical('Wrote sts file ' + stsname)