nccreate
在 netCDF 文件中创建变量
说明
nccreate( 使用由一个或多个名称-值参量指定的附加选项创建一个变量。例如,要创建非标量变量,请使用 filename,varname,Name,Value)Dimensions 名称-值参量。
示例
创建一个名为 myexample.nc 的 netCDF 文件,其中包含名为 Var1 的变量。
nccreate("myexample.nc","Var1")
在同一文件中创建另一个变量。
nccreate("myexample.nc","Var2")
显示 netCDF 文件的内容。
ncdisp("myexample.nc")Source:
pwd\myexample.nc
Format:
netcdf4_classic
Variables:
Var1
Size: 1x1
Dimensions:
Datatype: double
Var2
Size: 1x1
Dimensions:
Datatype: double在名为 myncclassic.nc 的 netCDF-3 经典格式文件中创建一个名为 peaks 的二维变量。使用 Dimensions 名称-值参量指定每个维度的名称和长度。使用 Format 名称-值参量指定文件格式。
nccreate("myncclassic.nc","peaks", ... "Dimensions",{"r",300,"c",400},"Format","classic")
向变量中写入数据。
ncwrite("myncclassic.nc","peaks",peaks(100))
显示 netCDF 文件的内容。
ncdisp("myncclassic.nc")Source:
pwd\myncclassic.nc
Format:
classic
Dimensions:
r = 300
c = 400
Variables:
peaks
Size: 300x400
Dimensions: r,c
Datatype: double输入参数
名称-值参数
以 Name1=Value1,...,NameN=ValueN 的形式指定可选参量对组,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。
示例: nccreate("myFile.nc","Var1",Datatype="double",Format="classic") 在名为 myFile.nc 的 netCDF-3 经典文件中创建一个名为 Var1 的 NC_DOUBLE 类型变量。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。
示例: nccreate("myFile.nc","Var1","Datatype","double","Format","classic")
新变量的维度,指定为元胞数组。该元胞数组以字符串标量或字符向量的形式列出维度名称,并在其后以下列格式列出其数值长度:{dname1,dlength1,dname2,dlength2,...,dnameN,dlengthN}。dname1 条目是第一个维度的名称,dlength1 是第一个维度的长度,指定为非负整数或 Inf。同样,dname2 是第二个维度的名称,dlength2 是第二个维度的长度,依此类推。具有单个维度的变量被视为一个列向量。
对于已存在的维度,指定长度是可选操作。如果指定现有维度的长度,则它必须与当前长度匹配。
使用维度长度 Inf 或 0 来指定无限维度。格式为 netcdf4 的文件可以有任意数量、任意顺序的无限维度;对于所有其他格式,每个文件只能有一个无限维度,而且它必须指定为元胞数组中的最后一个维度。
nccreate 在变量所在的位置创建该维度。对于具有 netcdf4 格式的文件,您可以使用完全限定维度名为该维度指定不同位置。
示例: "Dimensions",{"dim1",100,"/mygroup/dim2",150,"dim3",Inf}
数据类型: cell
MATLAB 数据类型,指定为下表中的值之一。当 nccreate 在 netCDF 文件中创建一个变量时,它会使用对应的 netCDF 数据类型。
Datatype 的值 | NetCDF 变量类型 |
|---|---|
"double" | NC_DOUBLE |
"single" | NC_FLOAT |
"int32" | NC_INT |
"int16" | NC_SHORT |
"int8" | NC_BYTE |
"char" | NC_CHAR |
"uint64" (*) | NC_UINT64 |
"int64" (*) | NC_INT64 |
"uint32" (*) | NC_UINT |
"uint16" (*) | NC_USHORT |
"uint8" (*) | NC_UBYTE |
"string" (*) | NC_STRING |
(*) Datatype 的这些值仅适用于 netcdf4 格式的文件。
示例: "Datatype","int16"
数据类型: string | char
NetCDF 文件格式,指定为下列值之一。
Format 的值 | 描述 |
|---|---|
"classic" | netCDF-3 |
"64bit" | netCDF-3,带 64 位偏移 |
"netcdf4_classic" | netCDF-4 经典模型 |
"netcdf4" | netCDF-4(使用此格式来启用组层次结构) |
如果 varname 指定组(例如 "/grid3/temperature"),则 nccreate 将 Format 的值设置为 "netcdf4"。
示例: "Format","64bit"
数据类型: string | char
缺失值的替换值,指定为标量或 "disable"。默认值由 netCDF 库提供。要禁用替换值,请指定值 "disable"。在将字符串数据写入格式为 netcdf4 的文件时,您无法禁用 FillValue。
注意
nccreate 函数将 FillValue 的值赋给新的 netCDF 变量 varname 的 _FillValue 属性。在创建该变量后,您无法更改此属性的值。
此参量仅适用于格式为 netcdf4 或 netcdf4_classic 的文件。
示例: "FillValue",0
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string
沿每个维度的块大小,指定为数值向量。第一个元素指定行数,第二个元素指定列数,第三个元素指定第三个维度的长度,等等。默认值由 netCDF 库提供。
此参量仅适用于格式为 netcdf4 或 netcdf4_classic 的文件。
示例: "ChunkSize",[5 6 9]
数据类型: double
压缩级别,指定为 0 和 9 之间的整数标量值。值 0 表示无压缩。值 1 表示最小压缩,值 9 表示最大压缩。如果 Datatype 是 "string",则无法设置 DeflateLevel。
此参量仅适用于格式为 netcdf4 或 netcdf4_classic 的文件。
示例: "DeflateLevel",5
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Shuffle 过滤器的状态,指定为数值或逻辑值 0 (false) 或 1 (true)。值 false 表示禁用 Shuffle 过滤器,true 表示启用它。shuffle 过滤器通过改变数据流中的字节顺序来辅助整型数据的压缩。如果 Datatype 是 "string",则无法启用 Shuffle 过滤器。
此参量仅适用于格式为 netcdf4 或 netcdf4_classic 的文件。
示例: "Shuffle",true
数据类型: logical
提示
MATLAB 将数据解释为列优先数据,但 netCDF C API 将数据解释为行优先数据。netCDF C API 中的多维数据以与 MATLAB 所示顺序相反的顺序显示维度,因此显示为转置。
版本历史记录
在 R2011a 中推出将压缩级别设置为零会禁用 deflate 过滤器。先前,deflate 过滤器可以在压缩级别为零的情况下启用。
压缩和 shuffle 过滤器只能用于固定长度的数据类型,如果应用于 NC_STRING 类型的变量,则会生成错误。先前,如果您为 NC_STRING 变量指定压缩或 Shuffle 过滤器,则该设定不起作用。
您可以在 netCDF-4 文件中定义 NC_STRING 数据。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)