Main Content

本页面提供的是上一版软件的文档。当前版本中已删除对应的英文页面。

ncwriteschema

将 NetCDF 架构定义添加到 NetCDF 文件中

语法

ncwriteschema(filename,schema)

说明

ncwriteschema(filename,schema)filename 文件中创建或添加 schema 中定义的属性、维度、变量定义和组结构体。

您可以使用 ncwriteschemancinfo 根据现有文件架构创建一个新的 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 中推出