主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

ncwriteschema

R2024b

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

    描述

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

    您可以使用 ncwriteschema 和 ncinfo 根据现有文件架构创建一个 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 的输出作为架构。

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

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

    NetCDF 文件格式,指定为 classic、64bit、netcdf4_classic 或 netcdf4

    注意

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

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

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

    注意

    如果此字段的值为 true,则 ncwriteschema 将 Length 字段设置为 0。

    Format (*)

    NetCDF 文件格式,指定为 classic、64bit、netcdf4_classic 或 netcdf4

    注意

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

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

    NetCDF 文件格式,指定为 classic、64bit、netcdf4_classic 或 netcdf4

    注意

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

    数据类型: struct

    版本历史记录

    在 R2011a 中推出