Main Content

ncwriteschema

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

    说明

    示例

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

    您可以使用 ncwriteschemancinfo 根据现有文件架构创建一个 netCDF 文件。

    注意

    ncwriteschema 不会写入变量数据。要将数据写入已创建的变量,需要使用 ncwrite 函数。无限维度初始大小为 0,直到写入数据后大小才会变化。

    注意

    ncwriteschema 不能修改现有文件的格式。它无法重新定义 filename 中的现有变量或维度。如果 schema 中包含文件中已有的属性、维度、变量定义或组结构体,ncwriteschema 将会发出警告,但还会继续处理。

    示例

    全部折叠

    使用两个维度定义为一个标准格式的 netCDF 文件定义架构。然后将该架构写入一个 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)

    显示 emptyfile.nc 的内容。

    ncdisp("emptyfile.nc")
    Source:
               pwd\emptyfile.nc
    Format:
               classic
    Dimensions:
               time = 0     (UNLIMITED)
               rows = 10

    使用 ncinfo 从文件 example.nc 中获取 peaks 变量的架构,并将此架构写入一个新文件。

    myVarSchema = ncinfo("example.nc","peaks");
    ncwriteschema("peaksFile.nc",myVarSchema)

    example.nc 中读取 peaks 的数据,将其写入新文件,并验证结果。

    peaksData = ncread("example.nc","peaks");
    ncwrite("peaksFile.nc","peaks",peaksData)
    ncdisp("peaksFile.nc")
    Source:
               pwd\peaksFile.nc
    Format:
               netcdf4
    Dimensions:
               x = 50
               y = 50
    Variables:
        peaks
               Size:       50x50
               Dimensions: x,y
               Datatype:   int16
               Attributes:
                           _FillValue  = -32767
                           description = 'z = peaks(50);'

    输入参数

    全部折叠

    文件名,指定为字符串标量或字符向量。指定一个现有 netCDF 文件的名称,或指定要分配给新 netCDF 文件的名称。

    如果 filename 不存在,且没有用 schema 中的 Format 字段指定格式信息,这种情况下 ncwriteschema 会用 netcdf4_classic 格式创建 netCDF 文件。

    示例: "myFile.nc"

    NetCDF 文件、组、维度或变量架构,指定为结构体或结构体数组。schema 参数可以表示 netCDF 文件、netcdf4 格式的 netCDF 文件中的组、一个或多个 netCDF 维度,或者一个或多个 netCDF 变量。文件或组架构可以包含变量架构的字段、维度架构的字段或同时包含两者。您可以使用 ncinfo 的输出作为架构。

    下表列出了不同架构类型中的字段。可选字段用星号 (*) 标记,仅适用于 netcdf4netcdf4_classic 格式的数据的字段用剑号 (†) 标记。

    架构类型字段描述
    文件或组架构Name使用 "/" 表示文件架构或组架构的组名称,指定为字符串标量或字符向量
    Groups (*)组架构,指定为结构体或结构体数组
    Dimensions (*)维度架构,指定为结构体或结构体数组
    Variables (*)变量架构,指定为结构体或结构体数组
    Attributes (*)属性架构,指定为包含 Name(字符串标量或字符向量)和 Value 字段的结构体向量
    Format (*)

    NetCDF 文件格式,指定为 classic64bitnetcdf4_classicnetcdf4

    注意

    如果架构是组架构,则 ncwriteschema 将忽略此字段。

    维度架构Name维度名称,指定为字符串标量或字符向量
    Length维度长度,指定为非负整数(对于无限维度,可以为 Inf0
    Unlimited (*)

    维度是否无限,指定为逻辑标量

    注意

    如果此字段的值为 true,则 ncwriteschemaLength 字段设置为 0

    Format (*)

    NetCDF 文件格式,指定为 classic64bitnetcdf4_classicnetcdf4

    注意

    如果维度架构是文件或组架构内的一个架构,则 ncwriteschema 会忽略此字段。

    变量架构Name变量名称,指定为字符串标量或字符向量
    Dimensions维度架构,指定为结构体或结构体数组
    DatatypeMATLAB® 数据类型,指定为字符串标量或字符向量
    Attributes (*)属性架构,指定为包含 Name(字符串标量或字符向量)和 Value 字段的结构体向量
    ChunkSize (*) (†)变量的区块大小,指定为数值标量
    FillValue (*) (†)变量的填充值,指定为数值标量或文本
    DeflateValue (*) (†)变量的 Deflate 压缩级别,指定为非负整数
    Shuffle (*) (†)是否启用 Shuffle 过滤器,指定为逻辑标量
    Format (*)

    NetCDF 文件格式,指定为 classic64bitnetcdf4_classicnetcdf4

    注意

    如果变量架构是文件或组架构内的一个架构,则 ncwriteschema 会忽略此字段。

    数据类型: struct

    版本历史记录

    在 R2011a 中推出