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)