NetCDF

NetCDF（ネットワーク共通データ形式，英語:"Network Common Data Form"）は、バイナリファイルフォーマットの一つであり、その拡張子は".nc"である。NetCDFは気象、海洋、気候変動などの分野で国際的に広く使われている。NetCDFは、コンピュータの機種に依存しないバイナリ形式であり（機種非依存）、データを配列として読み書きすることができ（配列指向）、さらにデータに加えそのデータに関する説明を格納できる（自己記述的）という特徴がある。NetCDFは、オープンな地理情報標準を策定する国際的なコンソーシアムである、Open Geospatial Consortiumにおける国際標準である。
NetCDFファイルを作成、読み書き、共有するには、ソフトウェアライブラリであるNetCDFライブラリを使う必要がある。C言語によって実装されたNetCDFライブラリが、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ライセンスのオープンソースソフトウェアとして公開されている。NetCDFデータアクセス用のAPIとして、C++、FORTRAN 77、Fortran 90が用意されている。その他、Java、Perl、Ruby、Python、Haskell、Mathematica、MATLAB、IDL、Octaveなどのプログラミング言語からも利用できる。
NetCDFユーザの助力によってその他のプラットフォームや他のプログラム言語用に移植されたソフトウェアもある。
配列指向型のデータやソフトウェアを共有し、より価値のあるファイルを作成することを目的に、NetCDF のソフトウェア・ライブラリのソースコードは無料で配布されている。
NetCDFは、気象、海洋、気候変動などの分野で国際的に広く使われている。これはNetCDFが、シミュレーション結果を格納できるだけでなく、シミュレーションで使われた格子の緯度・経度・高さ、日付時刻、地図投影法などの情報を付け加えて格納できるためである。ESRI ArcGIS、QGISなど主要な地理情報システムがNetCDFをサポートしていることもあり、NetCDFに格納されたシミュレーション結果を地図上に可視化し、地理情報と重畳して活用するために地理情報システムが使われる。
NetCDFの自己記述性を高めるために、規約が定められている。規約とはNetCDFの変数や属性、次元の使い方を定めたルールである。最も広く使われている規約はCOARDS規約およびその後継であるCF規約である。主要な地理情報システムなどで取り扱うことができるNetCDFは、CF規約に準拠している必要がある。
NetCDFライブラリには、2018年現在、バージョン3とバージョン4の2つがメンテナンスさえている。1997年にリリースされたバージョン3は、2018年においても広く使われており、継続してメンテナンスされている。2008年にリリースされたバージョン4はHDF5フォーマットを利用しており、2GBを超えるファイルや、データ圧縮などの新しい機能が提供されている。バージョン4のNetCDFライブラリは、バージョン3とバージョン4のNetCDFファイルを読み書きできる。
参考文献.