ncwriteschema
将 NetCDF 架构定义添加到 NetCDF 文件中
语法
ncwriteschema(filename,schema)
说明
ncwriteschema(filename,schema) 在 filename 文件中创建或添加 schema 中定义的属性、维度、变量定义和组结构体。
您可以使用 ncwriteschema 和 ncinfo 根据现有文件架构创建一个新的 NetCDF 文件。还可以使用 ncwriteschema 将变量定义、属性、维度或组结构体添加到现有文件中。
注意
ncwriteschema 不会写入变量数据。要将数据写入已创建的变量,需要使用 ncwrite 函数。已创建的无限维度初始大小为 0,直到写入数据后大小才会变化。
注意
ncwriteschema 不能修改现有文件的格式。它不能重新定义 filename 中的现有变量和维度。如果架构中包含文件中已有的属性、维度、变量定义或组结构体,writeschema 将会发出警告,但还会继续处理。
输入参数filename包含 NetCDF 文件名的字符向量或字符串标量。如果 filename 不存在,且没有用 schema 中的 Format 字段指定格式信息,这种情况下 ncwriteschema 会用 netcdf4_classic 格式创建一个新文件。
schema表示维度、变量、整个 NetCDF 文件或 netcdf4 组的结构体或结构体数组。一个组或文件架构可包含一个维度或变量架构,或两者皆含。您可以将 ncinfo 返回的输出用作一个 schema 结构体。下表列出了架构结构体中各种类型的字段。可选字段以星号 (*) 标记。
架构类型结构体字段说明组/文件架构Name标识组名称的字符向量或字符串标量。使用 '/' 指示整个文件。
Dimensions*维度架构
Variables*变量架构
Attributes*带有名称和值字段的组/全局属性结构体数组
Format*标识 NetCDF 文件格式的字符向量或字符串标量
维度架构Name标识维度的字符向量或字符串标量
Length维度长度。可以是 Inf。
Unlimited*指示该维度是否是无限维度的布尔标志。
Format*标识 NetCDF 文件格式的字符向量或字符串标量
变量架构Name标识变量名称的字符向量或字符串标量
Dimensions变量的维度架构
Datatype标识 MATLAB® 数据类型的字符向量或字符串标量
Attributes*带有名称和值字段的变量属性结构体数组
ChunkSize*指定变量区块大小的数值
FillValue*文本或数值填充值
DeflateValue*Deflate 压缩级别
Shuffle*打开 shuffle 筛选器的布尔标志
Format*标识 NetCDF 文件格式的字符向量或字符串标量
示例
创建带有两个维度定义的标准格式文件。
mySchema.Name = '/';
mySchema.Format = 'classic';
mySchema.Dimensions(1).Name = 'time';
mySchema.Dimensions(1).Length = Inf;
mySchema.Dimensions(2).Name = 'rows';
mySchema.Dimensions(2).Length = 10;
ncwriteschema('emptyFile.nc', mySchema);
ncdisp('emptyFile.nc');
创建一个 netcdf4_classic 格式的文件,用以存储来自现有文件的单个变量。首先使用 ncinfo 获取文件中峰值变量的架构。然后使用 ncwriteschema 创建一个 NetCDF 文件,并定义峰值变量。使用 ncread 获取峰值变量的关联数据,然后使用 ncwrite 将数据写入新 NetCDF 文件的变量中。
myVarSchema = ncinfo('example.nc','peaks');
ncwriteschema('peaksFile.nc',myVarSchema);
peaksData = ncread('example.nc','peaks');
ncwrite('peaksFile.nc','peaks',peaksData);
ncdisp('peaksFile.nc');
在 R2011a 中推出