NetCDF (network common data form)は、いわゆる自己記述型データ形式のひとつである。 UCAR (University Corporation for Atmospheric Research, USA)のUnidata (NCARとは親組織は同じだが区別される)で開発された。 ウェブサイトは 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までの内部表現はHDFと異なる。) NetCDFのversion 3に対応したプログラムをversion 4のライブラリにリンクすれば、 そのままversion 4のHDF互換形式のデータを読み書きすることができる。 ただしversion 4で新しく導入された機能は使えない。 このような使いかたを「NetCDF 4 classic」という。
「NetCDF classic」がNASAの標準(RFC, http://www.esdswg.org/spg/rfc/esds-rfc-011/)に採用されている。これは、version 3とversion 4 classicの両方に通用するようにやや抽象化したデータモデルだそうだ。
データ形式としてNetCDFを採用しても、変数名の意味などはほとんど利用者の自由に決められる。データを扱うソフトウェアを共通化するためには、変数名やその相互関係に関する約束を追加する必要がある。これをconventions (日本語ではふつう「規約」)と呼んでいる。NetCDFのウェブサイトの、http://www.unidata.ucar.edu/software/netcdf/conventions.htmlのページに、NetCDFを応用するように作られたさまざまな規約が列挙されている。
CF規約 (CF Conventions, CFの語源はclimate and forecast)は、NetCDFを使って地球環境(大気・海洋など)のデータを記録する際の、変数名や単位などに関する取り決めである。大気や海洋のモデル関係者だけでなく観測データを扱う人を含むおおぜいの努力で改訂されてきた。ウェブサイトは http://www.cfconventions.org/または http://cf-pcmdi.llnl.gov/ (【2010年現在】現状ではどちらも同じページに行く)。【2015-10-15現在、前者は有効だが後者はなくなった。】
CF規約に至る原型となったものとして、COARDS 規約 (Cooperative Ocean/Atmosphere Research Data Service, 1995年)、GDT 規約 (Gregory, Drach, Tett, 1999年)がある。
CFのVersion 1.0の文書の日付は2003年10月28日となっている。今の最新版の文書は Version 1.4 (2009年2月27日)で、http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.4 【2015-10-15現在、http://cfconventions.org/Data/cf-conventions/cf-conventions-1.4/build/cf-conventions.html、ただし最新版は1.6および1.7-draft1】にある。この版の規約の日本語訳(豊田英司氏による)がhttp://www.gfd-dennou.org/library/netcdf/cf-conventions-ja/cf-ja.htmlにある。(訳注として、CF規約の概念のあいまいさの指摘も含んでいる。)
CF規約をNASAの標準とすることが提案されている(http://www.esdswg.org/spg/rfc/esds-rfc-021/)。
CMIP (気候モデル比較プロジェクト)ではデータ交換用の標準形式としてNetCDFとCF規約を採用している。CMIP3 (IPCC第4次報告書向け)ではCF 1.0 (以上)、CMIP5 (IPCC第5次報告書向け)ではCF 1.4が使われている。
海洋の観測データ関係では、CF規約は、世界共同のOceanSITES http://www.oceansites.org/や、EUのMyOcean http://www.myocean.eu.org/で採用されている。
CF Conventionに関するメーリングリスト「cf-metadata」のウェブサイトが次のところにあり、過去のメールのアーカイブも見られる。http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata
Unidataを中心としてCommon Data Model (CDM)というデータモデルが考えられており、これはNetCDF+CF、HDFなどによる地球科学(おもに大気・海洋)データの表現をカバーする。次の論文は、このCDMと、地理情報のデータモデルの標準であるISO 19123とを、格子型データについて関係づけたものである。
また、その論文の筆頭著者Stafano Nativi氏(本拠はイタリア、Unidataと共同研究)が2010年8月20日にcf-metadataメーリングリストに出したメールによれば、Nativi氏は最近、NetCDF+CFのデータモデル(上記のCDMと思われる) とWCS 2.0 (未確認だがOpen Geospatial ConsortiumのWeb Coverage Serviceのことだろう)へのmappingを作っており、それにはISO 19123へのmappingの新版も含まれるとのことだ。
日本の大気・海洋研究者の集団である地球流体電脳倶楽部(http://www.gfd-dennou.org/)のdavisプロジェクトによって提案されたデータ形式の規約。NetCDF (version 3相当)を前提とする。次の文書が公開されている。
gtool4 netCDF 規約 version 4.3.6 (http://www.gfd-dennou.org/arch/davis/conventions/gt4ncconv-4_3_6/index.html, 改訂日付 2007年10月24日)
この規約は、COARDS規約の上位互換となるよう設計されている。GDT規約とは共通にできるところは共通にしたが全面的に互換ではないということである。CF規約は参照されていない。
その後、Gtoolプロジェクト http://www.gfd-dennou.org/library/gtool/として、モデル入出力データを統一的に扱うための道具の開発が続けられている。道具の名前はgtool5となっているが、その説明の中で「gtool4 netCDF規約」に従ったデータの入出力が可能であることが述べられている。
(注意) Gtool3も大気などの数値モデル出力データを扱うソフトウェアであり、(gtool4, gtool5とは別に)改訂が加えられて使われている。それが扱うデータ形式はNetCDFではなく、CCSR-NIES(-FRCGC)大気大循環モデルやその流れをくむMIROC気候モデルが直接出力するデータ形式と同じである。MIROC関係者の習慣では「gtool形式」はGtool3のデータ形式をさす。
ALMA (Assistance for Land-surface Modelling Activities)は、陸面水文モデルの入力および出力データのためのデータ形式。ウェブページは http://web.lmd.jussieu.fr/~polcher/ALMA/。Jan Polcher (フランスCNRSのLaboratoire de Meteorologie Dynamique, CNRS, France)が中心となって企画した。日本語での説明は http://hydro.iis.u-tokyo.ac.jp/~agata/archive/ALMA/にある。(当時東京大学生産技術研究所虫明・沖研究室にいた安形康氏による。安形氏は現在【2010年当時】JAMSTECに所属、ただしこの関連の仕事はしていない。)
ALMAはNetCDFを基本とし、GDT 1.2という規約(CFの原型となったもののひとつ)を採用、独自の約束を追加している。変数名、物理量の単位、流れの向きなどを統一した。緯度経度格子のうち陸の升目だけを収録する場合の約束を決めた(のちにCFで決められたcompression by gatheringと似たものだが同じではない)。
ALMAは、WCRP (World Climate Research Program)のうちのGEWEX (Global Energy and Water Cycle Experiment, http://www.gewex.org/)の一環として位置づけられたGSWP2 (Global Soil Wetness Project, Phase 2)で、モデル入力・出力のデータ形式として使われた。このプロジェクトのウェブサイトは http://www.iges.org/gswp/ (2006年以後更新はない)。なお、このプロジェクトの計算結果を提供するウェブサイトが東京大学生産技術研究所喜連川研究室の生駒栄司氏を中心として整備された http://gswp2.tkl.iis.u-tokyo.ac.jp/gswp2/。ただし、ここに置かれたデータはNetCDFではないので、ALMA規約を全面的には採用していない。
ALMAは、GSWP2の前に、同じくGEWEXの一環と位置づけられるRhone AGGregationプロジェクトにも標準形式として使われた。このプロジェクトのウェブサイトは次のところ(フランス気象庁気象研究所内) にある。http://www.cnrm.meteo.fr/isbadoc/projects/rhoneagg/
世界の海洋観測システムの重要な部分として、Argo (アルゴ)フロートがある。海水の流れにのって移動しながら、深さ2000 mと海面の間を自発的に上昇下降し、その過程で水温・塩分その他を観測し、浮上した際に観測値の情報を通信衛星に向けて発信するものである。これによる観測網は多数の国の機関の協力で成り立っている。ウェブサイトは http://www.argo.ucsd.edu/にある。日本の貢献を中心とした日本語による解説は次のウェブサイトにある: http://www.jamstec.go.jp/J-ARGO/。
Argoのデータの紹介は、たとえば、海洋研究開発機構(JAMSTEC)のウェブサイトのうちの次のページにある: http://www.jamstec.go.jp/ARGO/argo_web/Argodata/Argodata.html。世界の観測データが集められるデータセンターは、フランスにあるhttp://www.coriolis.eu.org/cdc/と、アメリカ合衆国にあるhttp://www.usgodae.org/argo/argo.htmlの2か所である。
データフォーマットはNetCDFだが、CF規約とは違う独自の規約による。データフォーマットに関するドキュメントは次のところにある。http://www.argodatamgt.org/Media/Argo-Data-Management/Argo-Documentation/General-documentation/Data-format/Argo-User-s-manual (PDF文書 Argo User's Manual)