NetCDF(ネットワーク共通データ形式、英語: Network Common Data Form)は、`.nc`の
拡張子を持つ
バイナリファイルフォーマットです。この形式は、気象学、海洋学、気候変動研究といった分野で国際的に広く採用されています。NetCDFの最大の特徴は、プラットフォームに依存しないデータ形式であること、配列データを効率的に扱えること、そしてデータ自体に関するメタデータをファイル内に含めることができる自己記述性を持っていることです。
NetCDFファイルは、Open Geospatial Consortiumによって国際標準として認められています。NetCDFファイルを作成、読み書き、共有するには、専用の
ソフトウェアライブラリであるNetCDF
ライブラリが必須となります。この
ライブラリは
C言語で実装され、MITライセンスの
オープンソースソフトウェアとして提供されています。さらに、C、
C++、FORTRAN 77、Fortran 90、
Java、
Perl、
Ruby、
Python、
Haskell、
Mathematica、MATLAB、IDL、Octaveなど、多岐にわたるプログラミング言語に対応したAPIが利用可能です。
NetCDFは、1989年にUnidata Program CenterのGlenn Davisらによって開発され、その後の多くのユーザーからのフィードバックや貢献によって改良が重ねられてきました。
NetCDFの概要
NetCDFの主な目的は、配列形式のデータを、自己記述的かつ移植可能な形式で作成、アクセス、共有することです。自己記述的とは、ファイル自体がそのデータに関する情報を保持していることを意味し、移植可能とは、異なる
コンピュータ間でもデータが問題なくやり取りできることを指します。
NetCDF形式で作成されたファイルは、NetCDFをサポートする任意の
コンピュータで利用可能です。NetCDFの
ソフトウェアは
C言語で実装されており、MITライセンスのオープンソースとして公開されています。データアクセスAPIとしては、
C++、FORTRAN 77、Fortran 90が利用可能で、さらに
Java、
Perl、
Ruby、
Python、
Haskell、
Mathematica、MATLAB、IDL、Octaveといった多くのプログラミング言語からも利用できます。
多くのNetCDFユーザーの協力により、他のプラットフォームやプログラミング言語への移植も進められています。
ソフトウェアや配列データの共有を促進し、より価値の高いファイルを作成するため、NetCDFの
ソフトウェアライブラリの
ソースコードは無料で配布されています。
NetCDFは、気象、海洋、気候変動分野で広く用いられています。これは、シミュレーション結果だけでなく、使用された格子点の緯度、経度、高度、時間、地図投影法などの関連情報も合わせて保存できるためです。主要な
地理情報システムである
ESRI ArcGISやQGISもNetCDFをサポートしており、シミュレーション結果の可視化や地理情報との重ね合わせに活用されています。
NetCDFの自己記述性を高めるために、変数の利用や属性、次元の使い方のルールを定めた規約が存在します。最も広く利用されているのはCOARDS規約とその発展版であるCF規約です。主要な
地理情報システムで扱うためには、CF規約に準拠していることが必要です。
NetCDF
ライブラリには、現在バージョン3とバージョン4の2つがメンテナンスされています。1997年にリリースされたバージョン3は、現在も広く利用され、メンテナンスが継続されています。2008年にリリースされたバージョン4は、HDF5形式を利用し、2GBを超えるファイルやデータ圧縮などの新しい機能を提供しています。バージョン4の
ライブラリは、バージョン3とバージョン4の両方のNetCDFファイルを読み書きできます。
Panoply : NASAのGISSによって提供されているNetCDF表示ソフトウェア
参考文献
Unidata | NetCDF
CF Conventions and Metadata
netCDFユーザガイド日本語版
*
CF 規約 日本語訳