Storing data and meta-data


 ここではALMAのために選択されたデータフォーマットを記載します.これはAMIPが策定した,GCMのデータを集めるためのフォーマットに酷似しています.ということは,このフォーマットはLSSのオフライン実行もカップルド実行(coupled experiments)にも適用できるということです.そしてさらには,GLASSの全てのアクションに対して適したフォーマットでもあります.

データ記述のために必要な情報

 データ交換を容易にするためには,ファイルは数値のみを含むものであってはなりません.必ず,各変数等についての完全な説明文が必要です.この説明(データに関するデータ)をメタデータといいます.(メタデータを含んだ)自己記述的self-descriptiveファイルの交換は,あとほんの少しの外部情報を加えるだけ可能になります.そのような段階に達するためには,地球物理的データを完全に記述するために必要な情報とは何かという点について完全な解析が行われる必要がありますが,モデリングアプリケーションに対するこのような検討はすでにHadley Centre and the NCARのグループによって行われいます.その結果,二つのメタデータ標準規約が出来上がり,これらは現在統合の作業が行われています.

 さて,ALMAではHadley Centreが開発したデータ規約(GDTと呼ばれる)に立脚した新しい規約を採用することが提言されています.これはLSSに対して二つの最も重要な特徴を提供します.それらは,

ということです.LSSの立場から見て言い換えると

という,LSSにとって本質的に有効な点があるのです.単純に緯度経度グリッドデータを用いた場合はそうはいきません.また,従来使われてきたCOARDSなどの規約にはこういった特徴は入っていません.

 メタデータ規約が決まると,次はこれらのメタデータを一つのファイルに放り込むための数値フォーマットを探すという作業が必要になります.このようなフォーマットが満たすべき唯一の条件は,「ファイルの中のどのメタデータもあいまいでない方法で書き込み・書き換えができる」ということです.この条件さえ満たされれば,数値フォーマットは今後コンピュータの進化に伴って変更される可能性もあります.というのは,この条件さえ満たされれば,古いフォーマットから新しいフォーマットへ,すべてのデータをオペレータの介在無しで書き換えるためのプログラムを書くことができるからです.したがって,メタデータ形式についてきちんとした規約ができたなら,実際のファイルフォーマット自体はユーザの利便性を元にして決めればいいことなのです.

データ格納のためのファイルフォーマット

 メタ情報をデータと同じファイルに格納することができるファイルフォーマットが netCDFです.これは機種に依存しないバイナリファイルで,データの書き込み・読み出しを行なうプログラムはいろいろな範囲のプラットフォームで用意されています.つまり,データ(やメタデータ)はコンパクトなファイルに格納され,あるマシンで作成されたnetCDFファイルは他のマシンでも支障なく読めるというわけです.netCDFフォーマットはパブリックドメインで,UNIDATAがメンテナンスを行っています.ということは地球物理学界に広く流通しており,メンテナンスは確実に行われるということです.さらに,地球物理学界で広く使われるデータ解析ソフトやグラフィックソフトの多くはnetCDFフォーマットを読み込むことができます.

 netCDFファイルには,データのほかに次のような情報を格納することができます:

  • ファイル内で使われるいろいろな軸の次元
  • データの時間的空間的位置を表すための空間座標・時間座標
  • メタデータ規約,正負規約(sign convention),ファイル作成日時,データを作成したモデル

     また,各変数に対しては次のような情報を格納できます:

     ncdump -hと入力することによってnetCDFファイルのヘッダ情報を得られます.ALMAオフラインフォーシングデータを含んだnetCDFファイルに対してこの命令を実行すると,次のような結果が得られます:

    netCDFへの書き込みやデータ解析ができるフリーソフト群

     UNIDATA web siteには,netCDFファイルの読み出しや書き込みができるソフトウェアパッケージの長いリストがあります.ここでは,私たちはパブリックドメインで,特に GLASSにおけるデータ交換に便利であると思われるものをピックアップしてみました.もちろんこのリストに追加すべきものがある等の情報は歓迎します.

    データ管理ソフト
    • PCMDIはAMIPデータセット(netCDFで記述されています)の管理のために,ソフトウェアパッケージをpythonで開発しました.その中で,CDATCDMSは地球物理的データならびにそれらのメタデータを読み書きしたり,各変数をpythonで扱うことができるようにするプログラムです.また,netCDFファイルの内容をpythonのオブジェクトとしてアクセスできるようにします.
    • NCARはNCOパッケージとしてコマンド群を発表しています.これはnetCDFファイルならびにその内部のデータを扱うソフトです.これらのツールは変数名の変更・ファイルからのデータ(およびデータセクション)の取り出しに対して極めて効果的です.また,データ補間にも使うことができます.
    グラフィックス
    • netCDFファイルと一緒に使うと効果的なのはFERRETです.netCDFファイルに対する基本的な操作,正規的でないグリッドや時間間隔におけるプロパティフィールドの表示ができます.
    • GRADSもまたよいプログラムです.しかしnetCDFのような自己記述的ファイルに対するサポートはまだ不十分です.netCDFファイルを扱うには,事前にファイルを簡略化しておく必要があります.(安形注:GrADS1.6以降に対応した,自己記述的ファイルインタフェースが用意されています.NOAAのWWW資料参照)
    I/Oライブラリ
    • 走っているモデルからnetCDFフォーマットのデータを読み書きするためのシンプルなインタフェースを提供してくれるのがIOIPSLライブラリです.これは歴史的にIPSLで用いられ,大気・海洋・陸面モデルのファイルをrestartしています.
    • PCMDIが,モデル結果や観測気象データ(どちらもnetCDFフォーマット)を取り出すために作ったライブラリがEZGETです.

    Data Exchange Convention | 原文(英語)


    Last modified: Mon May 15 22:32:20 WEST 2000
    Translated : Sat July 15 2000