本文整理汇总了Python中scipy.io.netcdf.netcdf_file方法的典型用法代码示例。如果您正苦于以下问题:Python netcdf.netcdf_file方法的具体用法?Python netcdf.netcdf_file怎么用?Python netcdf.netcdf_file使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类scipy.io.netcdf
的用法示例。
在下文中一共展示了netcdf.netcdf_file方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_ticket_1720
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def test_ticket_1720():
io = BytesIO()
items = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9]
with netcdf_file(io, 'w') as f:
f.history = 'Created for a test'
f.createDimension('float_var', 10)
float_var = f.createVariable('float_var', 'f', ('float_var',))
float_var[:] = items
float_var.units = 'metres'
f.flush()
contents = io.getvalue()
io = BytesIO(contents)
with netcdf_file(io, 'r') as f:
assert_equal(f.history, b'Created for a test')
float_var = f.variables['float_var']
assert_equal(float_var.units, b'metres')
assert_equal(float_var.shape, (10,))
assert_allclose(float_var[:], items)
示例2: test_mmaps_segfault
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def test_mmaps_segfault():
filename = pjoin(TEST_DATA_PATH, 'example_1.nc')
if not IS_PYPY:
with warnings.catch_warnings():
warnings.simplefilter("error")
with netcdf_file(filename, mmap=True) as f:
x = f.variables['lat'][:]
# should not raise warnings
del x
def doit():
with netcdf_file(filename, mmap=True) as f:
return f.variables['lat'][:]
# should not crash
with suppress_warnings() as sup:
sup.filter(RuntimeWarning,
"Cannot close a netcdf_file opened with mmap=True, when netcdf_variables or arrays referring to its data still exist")
x = doit()
x.sum()
示例3: test_netcdf_write_as_netcdf3_64bit
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def test_netcdf_write_as_netcdf3_64bit(tmpdir):
"""Test write_netcdf with output format 64-bit netcdf3."""
from scipy.io import netcdf
field = RasterModelGrid((4, 3))
field.add_field("topographic__elevation", np.arange(12.0), at="node")
field.add_field("uplift_rate", 2.0 * np.arange(12.0), at="node")
with tmpdir.as_cwd():
write_netcdf("test.nc", field, format="NETCDF3_64BIT")
f = netcdf.netcdf_file("test.nc", "r")
for name in ["topographic__elevation", "uplift_rate"]:
assert name in f.variables
assert_array_equal(f.variables[name][:].flatten(), field.at_node[name])
f.close()
示例4: test_netcdf_write_as_netcdf3_classic
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def test_netcdf_write_as_netcdf3_classic(tmpdir):
"""Test write_netcdf with output format classic netcdf3."""
from scipy.io import netcdf
field = RasterModelGrid((4, 3))
field.add_field("topographic__elevation", np.arange(12.0), at="node")
field.add_field("uplift_rate", 2.0 * np.arange(12.0), at="node")
with tmpdir.as_cwd():
write_netcdf("test.nc", field, format="NETCDF3_CLASSIC")
f = netcdf.netcdf_file("test.nc", "r")
for name in ["topographic__elevation", "uplift_rate"]:
assert name in f.variables
assert_array_equal(f.variables[name][:].flatten(), field.at_node[name])
f.close()
示例5: make_simple
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def make_simple(*args, **kwargs):
f = netcdf_file(*args, **kwargs)
f.history = 'Created for a test'
f.createDimension('time', N_EG_ELS)
time = f.createVariable('time', VARTYPE_EG, ('time',))
time[:] = np.arange(N_EG_ELS)
time.units = 'days since 2008-01-01'
f.flush()
yield f
f.close()
示例6: test_read_write_files
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def test_read_write_files():
# test round trip for example file
cwd = os.getcwd()
try:
tmpdir = tempfile.mkdtemp()
os.chdir(tmpdir)
with make_simple('simple.nc', 'w') as f:
pass
# To read the NetCDF file we just created::
with netcdf_file('simple.nc') as f:
# Using mmap is the default
yield assert_true, f.use_mmap
for testargs in gen_for_simple(f):
yield testargs
# Now without mmap
with netcdf_file('simple.nc', mmap=False) as f:
# Using mmap is the default
yield assert_false, f.use_mmap
for testargs in gen_for_simple(f):
yield testargs
# To read the NetCDF file we just created, as file object, no
# mmap. When n * n_bytes(var_type) is not divisible by 4, this
# raised an error in pupynere 1.0.12 and scipy rev 5893, because
# calculated vsize was rounding up in units of 4 - see
# http://www.unidata.ucar.edu/software/netcdf/docs/netcdf.html
fobj = open('simple.nc', 'rb')
with netcdf_file(fobj) as f:
# by default, don't use mmap for file-like
yield assert_false, f.use_mmap
for testargs in gen_for_simple(f):
yield testargs
except:
os.chdir(cwd)
shutil.rmtree(tmpdir)
raise
os.chdir(cwd)
shutil.rmtree(tmpdir)
示例7: test_read_write_sio
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def test_read_write_sio():
eg_sio1 = BytesIO()
with make_simple(eg_sio1, 'w') as f1:
str_val = eg_sio1.getvalue()
eg_sio2 = BytesIO(str_val)
with netcdf_file(eg_sio2) as f2:
for testargs in gen_for_simple(f2):
yield testargs
# Test that error is raised if attempting mmap for sio
eg_sio3 = BytesIO(str_val)
yield assert_raises, ValueError, netcdf_file, eg_sio3, 'r', True
# Test 64-bit offset write / read
eg_sio_64 = BytesIO()
with make_simple(eg_sio_64, 'w', version=2) as f_64:
str_val = eg_sio_64.getvalue()
eg_sio_64 = BytesIO(str_val)
with netcdf_file(eg_sio_64) as f_64:
for testargs in gen_for_simple(f_64):
yield testargs
yield assert_equal, f_64.version_byte, 2
# also when version 2 explicitly specified
eg_sio_64 = BytesIO(str_val)
with netcdf_file(eg_sio_64, version=2) as f_64:
for testargs in gen_for_simple(f_64):
yield testargs
yield assert_equal, f_64.version_byte, 2
示例8: test_read_example_data
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def test_read_example_data():
# read any example data files
for fname in glob(pjoin(TEST_DATA_PATH, '*.nc')):
with netcdf_file(fname, 'r') as f:
pass
with netcdf_file(fname, 'r', mmap=False) as f:
pass
示例9: test_itemset_no_segfault_on_readonly
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def test_itemset_no_segfault_on_readonly():
# Regression test for ticket #1202.
# Open the test file in read-only mode.
filename = pjoin(TEST_DATA_PATH, 'example_1.nc')
with netcdf_file(filename, 'r') as f:
time_var = f.variables['time']
# time_var.assignValue(42) should raise a RuntimeError--not seg. fault!
assert_raises(RuntimeError, time_var.assignValue, 42)
示例10: read
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def read(self, path, **kwargs):
from scipy.io import netcdf
path = op.abspath(path)
c = self.container
grd = netcdf.netcdf_file(self._getDisplacementFile(path),
mode='r', version=2)
displ = grd.variables['z'][:].copy()
c.displacement = displ
shape = c.displacement.shape
# LatLon
c.frame.spacing = 'degree'
c.frame.llLat = grd.variables['lat'][:].min()
c.frame.llLon = grd.variables['lon'][:].min()
c.frame.dN = (grd.variables['lat'][:].max() -
c.frame.llLat) / shape[0]
c.frame.dE = (grd.variables['lon'][:].max() -
c.frame.llLon) / shape[1]
# Theta and Phi
try:
los = num.memmap(self._getLOSFile(path), dtype='<f4')
e = los[3::6].copy().reshape(shape)
n = los[4::6].copy().reshape(shape)
u = los[5::6].copy().reshape(shape)
phi = num.arctan(n/e)
theta = num.arcsin(u)
# phi[n < 0] += num.pi
c.phi = phi
c.theta = theta
except ImportError:
self._log.warning(self.__doc__)
self._log.warning('Defaulting theta to pi/2 and phi to 0.')
c.theta = num.pi/2
c.phi = 0.
return c
示例11: test_read_write_sio
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def test_read_write_sio():
eg_sio1 = BytesIO()
with make_simple(eg_sio1, 'w') as f1:
str_val = eg_sio1.getvalue()
eg_sio2 = BytesIO(str_val)
with netcdf_file(eg_sio2) as f2:
check_simple(f2)
# Test that error is raised if attempting mmap for sio
eg_sio3 = BytesIO(str_val)
assert_raises(ValueError, netcdf_file, eg_sio3, 'r', True)
# Test 64-bit offset write / read
eg_sio_64 = BytesIO()
with make_simple(eg_sio_64, 'w', version=2) as f_64:
str_val = eg_sio_64.getvalue()
eg_sio_64 = BytesIO(str_val)
with netcdf_file(eg_sio_64) as f_64:
check_simple(f_64)
assert_equal(f_64.version_byte, 2)
# also when version 2 explicitly specified
eg_sio_64 = BytesIO(str_val)
with netcdf_file(eg_sio_64, version=2) as f_64:
check_simple(f_64)
assert_equal(f_64.version_byte, 2)
示例12: test_encoded_fill_value
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def test_encoded_fill_value():
with netcdf_file(BytesIO(), mode='w') as f:
f.createDimension('x', 1)
var = f.createVariable('var', 'S1', ('x',))
assert_equal(var._get_encoded_fill_value(), b'\x00')
var._FillValue = b'\x01'
assert_equal(var._get_encoded_fill_value(), b'\x01')
var._FillValue = b'\x00\x00' # invalid, wrong size
assert_equal(var._get_encoded_fill_value(), b'\x00')
示例13: test_appending_issue_gh_8625
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def test_appending_issue_gh_8625():
stream = BytesIO()
with make_simple(stream, mode='w') as f:
f.createDimension('x', 2)
f.createVariable('x', float, ('x',))
f.variables['x'][...] = 1
f.flush()
contents = stream.getvalue()
stream = BytesIO(contents)
with netcdf_file(stream, mode='a') as f:
f.variables['x'][...] = 2
示例14: test_write_invalid_dtype
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def test_write_invalid_dtype():
dtypes = ['int64', 'uint64']
if np.dtype('int').itemsize == 8: # 64-bit machines
dtypes.append('int')
if np.dtype('uint').itemsize == 8: # 64-bit machines
dtypes.append('uint')
with netcdf_file(BytesIO(), 'w') as f:
f.createDimension('time', N_EG_ELS)
for dt in dtypes:
assert_raises(ValueError, f.createVariable, 'time', dt, ('time',))
示例15: test_byte_gatts
# 需要导入模块: from scipy.io import netcdf [as 别名]
# 或者: from scipy.io.netcdf import netcdf_file [as 别名]
def test_byte_gatts():
# Check that global "string" atts work like they did before py3k
# unicode and general bytes confusion
with in_tempdir():
filename = 'g_byte_atts.nc'
f = netcdf_file(filename, 'w')
f._attributes['holy'] = b'grail'
f._attributes['witch'] = 'floats'
f.close()
f = netcdf_file(filename, 'r')
assert_equal(f._attributes['holy'], b'grail')
assert_equal(f._attributes['witch'], b'floats')
f.close()