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",…}}] はデータの配列{expr1,…}を別々のデータとして保管し,netCDFファイルを作成する.
- Export["file.nc",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 名前付きデータ集合 {"Data",groupname} groupname に属するすべてのデータ集合の連想 - サポートされる基本的なデータ型:
-
"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 "Dataset1"に data を格納する {"name1"data1,…} データ集合名とそれに関連付けられたデータのリスト {"name1"ds1,…} 規則のリストを使って各データ集合 dsi を指定する - データ集合 dsi は以下のキーを取ることができる:
-
"Attributes" データ集合属性 "Data" データ配列 "DataEncoding" 使用するための1つ以上のデータ符号化 "DataFormat" データ型 "DimensionNames" 配列の次元に関連付けられた名前 - "NamedDataTypes" 要素は {"name1"type1,…} のリストになる.ここで,各 typei は以下の形式の連想となる:
-
<"Class""ByteArray",… > "Length" キーを取る <"Class""Compound",… > "Dimensions"と"Structure" キーを取る <"Class""Enumerated",… > "DataFormat"と"Structure"を取る <"Class""RaggedArray",… > "DataFormat"と"Dimensions"キーを取る
Options
- 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)
Data (3)
DataFormat (2)
NamedDimensions (3)
Export要素 (25)
"Attributes" (4)
"Datasets" (10)
"Datasets"はデフォルトのエキスポート要素である.データの形式と次元は自動的に式から推測される:
式を異なるデータ集合へエキスポートする.それぞれにフルパスを指定することができる:
ByteArray は"ByteArray"形式として保存される.(NetCDF4では不透明(OPAQUE)型とも言われる):
"NamedDatatypes" (3)
"NamedDimensions" (5)
Exportオプション (6)
OverwriteTarget (2)
デフォルトでは,Exportが呼ばれるごとに新しいファイルが作成される:
OverwriteTargetFalseとすると,既存のファイルが上書きされない:
既存のファイルにデータ集合を追加するためには,OverwriteTarget"Append"を使う:
"Version" (4)
デフォルトでは,Export はEnhancedデータモデルのNetCDF4ファイルを作成する:
データをClassic NetCDF形式にエキスポートする: