Main Content

netcdf.open

打开 netCDF 数据源

说明

示例

ncid = netcdf.open(source) 打开 source 以进行只读访问,并在 ncid 中返回 netCDF 标识符。指定的 source 可以是 netCDF 文件的名称、OPeNDAP netCDF 数据源的 URL 或远程 netCDF 文件的 HTTP URL(具有 #mode=bytes 后缀用于字节范围读取)。

示例

ncid = netcdf.open(source,mode)mode 指定的访问类型打开 source。mode 的值为 'WRITE''SHARE''NOWRITE'

[actualChunksize,ncid] = netcdf.open(source,mode,chunksize) 以指定的 chunksize 打开现有 netCDF 数据源。chunksize 参数将启用 I/O 性能调整。

示例

全部折叠

以只读访问权限打开示例 NetCDF 文件 example.nc,读取一个变量,然后关闭该文件。netcdf.open 函数返回一个文件标识符。

ncid = netcdf.open('example.nc')
ncid = 65536

使用 netcdf.getVar 函数读取示例文件中与变量 avagadros_number 相关联的数据。netcdf.getVar 的第二个输入是变量 ID,它是一个标识变量的从 0 开始的索引。avagadros_number 变量的索引值为 0

A_number = netcdf.getVar(ncid,0)
A_number = 6.0221e+23

关闭 NetCDF 文件。

netcdf.close(ncid)

打开一个 NetCDF 文件并为变量赋值,然后显示它。

创建包含变量 pi 的 NetCDF 文件 myexample.nc

nccreate('myexample.nc','pi')

打开该文件以进行写入,并将值 3.1416 写入变量 pi

ncid = netcdf.open('myexample.nc','WRITE')
ncid = 65536
varInd = 0; % index of the first variable in the file
varValue = 3.1416; 
netcdf.putVar(ncid,varInd,varValue);

从文件中读取并显示变量 pi 的值。

netcdf.getVar(ncid,varInd)
ans = 3.1416

关闭文件。

netcdf.close(ncid);

输入参数

全部折叠

netCDF 数据源的名称,指定为字符串标量或字符向量。source 参量可以是以下值之一:

  • 本地 netCDF 源的路径

  • 远程 OPeNDAP netCDF 数据源的 OPeNDAP URL

  • 远程 netCDF 源的 HTTP URL,在 URL 的末尾附加 #mode=bytes 以支持字节范围读取

    注意

    字节范围读取比从其他来源读取要慢。有关字节范围读取的更多详细信息,请参阅 netCDF 文档。

示例: "myNetCDFfile.nc"

示例: "http://host_name/netcdf_filename#mode=bytes"

访问类型,指定为字符向量或字符串标量或数值。mode 输入可以是下列值之一。

描述
'WRITE'读写访问
'SHARE'文件同步更新
'NOWRITE'只读访问

您还可以使用数值指定 mode。可以使用 netcdf.getConstant 检索 mode 的数值。例如,netcdf.getConstant('WRITE') 返回 mode 的数值。当您想要对几个模式进行按位或运算时可使用这些数值。

数据类型: char | string | double

用于性能调整的块大小参数,指定为整数。

chunksize 参数控制空间与时间之间的权衡、netcdf.open 函数在 netCDF 库中分配的内存与系统调用的数量。由于内部要求,netcdf.open 函数使用的块大小的实际值可能与您指定的输入值不同。有关函数使用的实际值,请参阅 actualChunksize 参量。

示例: 1024

示例: 8192

数据类型: double

输出参量

全部折叠

打开的 netCDF 文件或 OPeNDAP netCDF 数据源的文件标识符,以整数形式返回。

数据类型: double

netcdf.open 函数使用的实际块大小,以整数形式返回。

数据类型: double

局限性

  • 字节范围读取的性能比从其他来源读取要慢。

算法

此函数对应于 netCDF 库 C API 中的 nc_opennc__open 函数。要使用此函数,应该熟悉 netCDF 编程范式。

版本历史记录

在 R2011a 中推出

全部展开