NetCDF (network common data form)は、いわゆる自己記述型データ形式のひとつである。 UCAR[1]のUnidataで開発された。 ウェブサイトは http://www.unidata.ucar.edu/software/netcdf/。
似たものとして、HDF (hierarchical data format)がある。 National Center for Supercomputer Applicationsで開発されたが、 現在はそこを離れ、HDF Group http://www.hdfgroup.org/となっている。 これはNASAの衛星データ配布の形式としてよく使われている。
NetCDFのversion 4では、HDFのversion 5と同じデータ表現が採用されている。 NetCDFのversion 3に対応したプログラムをversion 4のライブラリにリンクすれば、 そのままversion 4のデータを読み書きすることができる。 ただしversion 4で新しく導入された機能は使えない。 このような使いかたを「NetCDF 4 classic」という。
「NetCDF classic」がNASAの標準(RFC, http://www.esdswg.org/spg/rfc/esds-rfc-011/)に採用されている。これは、version 3とversion 4 classicの両方に通用するようにやや抽象化したデータモデルだそうだ。
CMIP5では、NetCDFのバージョンは3でも4でもよい。 NetCDFの作成プログラムとしてPCMDIから配布されているCMOR2を使うならば、 機能はclassicの範囲に限られる。 (http://cmip-pcmdi.llnl.gov/cmip5/data_description.htmlのCMIP5 Data Characteristicsのところを参照)。 Version 4を使うとHDFで使われているビットパタンによる圧縮をかけられるので、 データ量がversion 3よりもやや小さくなる。ただし浮動小数点の場合にはこの節約は大きくない。 (→CF規約に従いながら可能なデータ量圧縮)