Main Content

netcdf.defVarChunking

定义 NetCDF 变量的分块行为

语法

netcdf.defVarChunking(ncid,varid,storage,chunkDims)

说明

netcdf.defVarChunking(ncid,varid,storage,chunkDims)varid 所指定的变量中的分块进行设置。分块是一种改善性能的技术。storage 指定要使用的分块类型,chunkDims 指定分块大小范围。您必须先创建变量,再指定变量所用区块的大小,然后才能将数据写入变量。

对于以 netCDF-3 模式 (CLASSIC_MODEL) 创建的 NetCDF 文件,您不能指定其中变量的区块大小。

输入参数

ncid

netcdf.createnetcdf.open 返回的 NetCDF 文件标识符,或者由 netcdf.defGrp 返回的 NetCDF 组标识符。

varid

netcdf.defVar 返回的 NetCDF 变量标识符。

storage

指定在将变量写入文件时 NetCDF 是否要将其分成区块的字符向量或字符串标量。如果设置为 'CHUNKED',NetCDF 会将变量分成区块; 如果设置成 'CONTIGUOUS',NetCDF 不会将数据分成区块。

chunkDims

指定分块维度的数组。

由于 MATLAB® 使用 FORTRAN 样式顺序,因此 chunkdims 中的维度顺序与 C API 中相反。

如果 storage 为 'CONTIGUOUS',可以省略 chunkDims

默认: 由 NetCDF 库确定的区块大小。

示例

本例创建一个 NetCDF 文件并指定变量的分块行为。

ncid = netcdf.create('myfile.nc','NETCDF4');
latdimid = netcdf.defDim(ncid,'lat',1800);
londimid = netcdf.defDim(ncid,'col',3600);
varid = netcdf.defVar(ncid,'earthgrid','double',[latdimid londimid]);
netcdf.defVarChunking(ncid,varid,'CHUNKED',[180 360]);
netcdf.close(ncid);

参考

此函数对应于 netCDF 库 C API 中的 nc_def_var_chunking 函数。