気候科学や海洋科学は巨大な配列、すなわち温度グリッド、海流、モデル出力の上で成り立っているが、かつてファイルは不透明だった。あるプログラムが出力したバイナリの塊は次のプログラムでは読めず、数値の意味は論文やメールの中にあった。Unidata Program Centerで開発されたNetCDF(Network Common Data Form)は、この契約を変えた。

設計上の選択は自己記述性である。netCDFファイルは、自身が含むデータに関する情報を機械非依存の形式で保持するため、整数、文字、浮動小数点数を表現する方法が異なるコンピュータでも読むことができる。大規模データセットの小さな部分集合を、遠隔からでも効率的に取得でき、ファイル全体をコピーせずにデータを追記できる。

これにより、特定の研究室の形式ではなくコミュニティ標準となった。Unidataはこれを、科学データ共有のためのコミュニティ標準でもあるライブラリと機械非依存データ形式の集合と説明しており、C、C++、Java、Fortran向けのインターフェースを持つ。ECMWFはnetCDFを、科学データの保存と配布に広く使われるものと説明し、CFのような規約がメタデータを標準化している。

データファイルの中に記述を入れる

自己記述的なファイルは、読むために外部の文書を必要としない。

機械非依存性により、1つのファイルをアーキテクチャ間で変更せずに移せる。

部分抽出により、巨大なデータセットを全体を読み込まずに利用できる。

主要な言語すべて向けの無償ライブラリが導入コストを取り除いた。

データがそのソフトウェアより長く生き残る場合、メタデータをファイルに埋め込むべきである。自己記述的な形式は、ファイルが自らを説明するため、ツールの変更に耐える。

NetCDFは気候・海洋データの共通通貨となった。ECMWFは独自のGRIB形式と並べて提供し、CF規約がその内部のメタデータを標準化している。NetCDF-4(2008年)は、従来のファイルを読めるままにしつつ、現代的な機能を追加した。

出典をたどる

出典

  1. NetCDF Software NSF Unidata (UCAR) · unidata.ucar.edu
  2. What are NetCDF files and how can I read them ECMWF Copernicus Knowledge Base · confluence.ecmwf.int ·