NetCDF (.nc)
背景
-
- MIME 类型:application/x-netcdf
- NetCDF 数据文件格式.
- 交换科学数据的自我描述格式.
- 用于大气研究、GIS 以及相关领域.
- NetCDF 是 network Common Data Form(网络常用数据形式)的缩写.
- 二进制文件格式.
- 概念上基于 NASA 的常用数据格式(Common Data Format),但不与其兼容.
- 由大气研究大学联盟(University Corporation for Atmospheric Research (UCAR))的 Unidata 中心开发.
Import 与 Export
- Import["file.nc"] 导入一个 netCDF 文件,返回存储在文件中的数据集名称.
- Import["file.nc",elem] 从 netCDF 文件导入指定参数.
- 导入格式可以用 Import["file","NetCDF"] 或 Import["file",{"NetCDF",elem,…}] 指定.
- Export["file.nc",expr] 将一个数据数组导出至 netCDF 文件.
- Export["file.nc",{expr1,…}, {"Datasets",{"dataset1",…}}] 创建一个 netCDF 文件,以独立的数据集存储数据数组{expr1,…}.
- Export["file.nc",expr,elem]通过把 expr 作为指定参数 elem 创建一个 netCDF 文件.
- Export["file.nc",elem1->expr1,…,"Rules"] 使用规则指定要导出的参数.
- 请到以下参考页面了解完整的基本信息:
-
Import, Export 从文件导入或导出到文件 CloudImport, CloudExport 从云对象导入或导出到云对象 ImportString, ExportString 从字符串导入或导出到字符串 ImportByteArray, ExportByteArray 从字节数组导入或导出到字节数组
Import 参数
- Import 的通用参数:
-
"Elements" 该文件可用的参数和选项列表 "Summary" 文件摘要 "Rules" 所有可用参数的规则列表 - 结构参数:
-
"Datasets" 所有数据集的名称 "Groups" 所有组的名称 "StructureGraph" 显示数据集结构的有向图 "StructureGraphLegend" 结构图的图例 "Summary" 属性摘要 "Version" 文件的 NetCDF 版本 - 分组和数据集的名称作为以根组名称 "/" 开头的绝对路径给出.
- 默认情况下,Import 对 NetCDF 格式使用 "Datasets" 参数.
- 表示数据的参数:
-
"Data" 导入为数组列表的所有数据集 {"Data",dataset} or dataset 命名数据集 - 支持以下基本数据类型:
-
"Integer8" 8 位整数 "Integer16" 16 位整数 "Integer32" 32 位整数 "Integer64" 64 位整数 "UnsignedInteger8" 8 位无符号整数 "UnsignedInteger16" 16 位无符号整数 "UnsignedInteger32" 32 位无符号整数 "UnsignedInteger64" 64 位无符号整数 "Real32" IEEE 单精度数 "Real64" IEEE 双精度数 "String" ASCII 字符的字符串 - 支持以下结构化数据类型:
-
"ByteArray" 任意长度的 ByteArray "Enum" 列举 "Compound" 由任何其他数据格式和其他复合数据集组成的复合数据集 - 元数据元素:
-
"Attributes" 所有组和数据集的属性 "DataEncoding" 指定每个数据集的压缩方式 "DataFormat" 用于表示每个数据集的类型 "Dimensions" 每个数据集的数据维度 "DimensionNames" 每个数据集的维度名称 {"metadata",dataset} 命名数据集的元数据 "Metadata" 全局属性(根组的属性)
Export 参数
- Export 通用参数:
-
"Rules" 以 elemexpr 形式导入参数列表 - Export["file.nc",{elem1->expr1,…},"Rules"] 使用规则来指定要导出的元素.
- 可用的 Export 参数:
-
"Attributes" 与组和数据集关联的属性 "Datasets" 数据集及其相关元素 "Dimensions" 数据集的维度 "Groups" 组名列表 "NamedDataTypes" 有命名的数据类型 - 使用 "Attributes" 参数,可以给出以下表达式:
-
attr 与根组“/”关联的属性 {path1attr1,…} 与指定 pathi 相关联的属性 attri - 属性 attri 应用 "attname"->attval 格式给出.
- 使用 "Datasets" 参数,可以给出以下表达式:
-
data 使用 "Datasets" 参数,可以给出以下表达式: {"name1"data1,…} 数据集名称及其关联数据的列表 {"name1"ds1,…} 使用规则列表指定每个数据集 dsi - 数据集 dsi 可取用以下键:
-
"Attributes" 数据集属性 "Data" 数据数组 "DataEncoding" 要使用的一种或多种数据编码 "DataFormat" 数据类型 "DimensionNames" 与数组维度关联的名称 - "NamedDataTypes" 参数可以是 {"name1"type1,…} 列表,其中每一个 typei 可以是以下形式的关联:
-
<"Class""ByteArray",… > "Length" 键 <"Class""Compound",… > "Dimensions" 和 "Structure" 键 <"Class""Enumerated",… > "DataFormat" 和 "Structure" 键 <"Class""RaggedArray",… > "DataFormat" 和 "Dimensions" 键
选项
- Export 选项:
-
ByteOrdering $ByteOrdering 使用哪一种字节顺序 OverwriteTarget True 是否覆盖已有文件 "Version" "NC4 Enhanced" 所创建文件格式的版本 - 使用 OverwriteTarget->"Append",可以将新对象添加到现有文件中。
- "Version" 的可能值为:"Classic" (Version 3)、"Classic 64bit"、"NC4 Classic" 或 "NC4 Enhanced" (Version 4).
范例
打开所有单元关闭所有单元基本范例 (3)
范围 (13)
Import (7)
默认情况下,Import 返回文件中的数据集列表:
Import 参数 (23)
DataFormat (2)
NamedDimensions (3)
Export 参数 (25)
"Attributes" (4)
"Datasets" (10)
"Datasets" 是默认的导出参数. 数据格式和维度从表达式自动推断:
将表达式导出到不同的数据集中,每个数据集都可以有一个完整路径:
ByteArray 存储为 "ByteArray" 类型(在 NetCDF4 中也称为不透明类型):
"NamedDatatypes" (3)
"NamedDimensions" (5)
Export 选项 (6)
OverwriteTarget (2)
默认情况下,每次调用 Export:都会创建一个新的文件:
用 OverwriteTargetFalse,现有文件将不会被覆盖:
要将数据集附加到现有文件,请使用 OverwriteTarget"Append":
"Version" (4)
默认情况下,Export 创建具有增强数据模型的 NetCDF4 文件: