NetCDFファイルの標準化のための規定

協力的な大洋/Atmosphere Research Data Service、シェアリングのために協力的な海洋大気圏局/大学、及び、グローバルな、大気の、そしてoceanographicな研究データセットのディストリビューションによって後援される

1995年2月10日-バージョン1.0
1995年3月13日-マイナーな社説の修理
1995年5月01日-リンク、規定ノートを加えた

大学参加者:

海洋大気圏局参加者:


他の標準との関係:

この標準は、netCDF Application Programmer Interface ( API ) と共に作成されたファイルの交換、及び、シェアリングを促進するために、採用された一組の規定である。この標準は、netCDFのバージョン2.3に基づいている。Documentation of the netCDF API may be found in the "NetCDF Users' Guide, Version 2.3 , April 1993 available from URL http://www.unidata.ucar.edu/packages/netcdf/ or via anonymous ftp at ftp.unidata.ucar.edu. All conventions named in that document will be adhered to in this standard unless noted to the contrary.

同じくこの標準は、Unidataによってサポートされたudunits標準のバージョン1.7.1を参照する。udunitsパッケージは、ftp.unidata.ucar.eduのanonymous ftpによって利用可能である。udunitsに含まれて、パッケージは、ファイル、udunits.dat ( ユニット名の収集をリストする ) である。その中に与えられた名前、及び、それらの複数形は、次の追加、及び、削除によるこの標準のための受け入れられるユニット名と見なされるであろう:

ユニット「程度」、経度、そして、緯度の対等の変数を区別しようと試みているとき、曖昧性を作成する;ファイルは、経度のユニットのために「degrees_east」を使わなければならず、そして、緯度のユニット、または、経度、及び、緯度に関するセクションにリストされたそれらの名前の代替「スペル」のための「degrees_north」は、下で調和する。数値モデル出力を表しているとき、次元がないユニット「レベル」、「層」、及び、「sigma_level」は、時折必要とされる。

同じくudunitsパッケージは、シンタックス「unit_name@offset ( 例えば ) 」を経て全てのユニットの一次変換をサポートする、「0.0005 degC@40000」。このシンタックスは、この標準によってしかしながらサポートされない。

これらの規定は、COARDS規定としてUnidataと共に登録されており、そして、ftp://ftp.unidata.ucar.edu/pub/netcdf/Conventions/COARDSで利用可能である


規定:

名前をファイルしなさい:
NetCDFファイルは、ファイル名前拡張「.nc」を持っているべきである。

変数を統合しなさい:
次元名がそれらの変数名と同じである1‐寸法のnetCDF変数は、「変数 ( この次元で定義された他の変数の内在するグリッド構造の軸 ) 」と見なされる。

グローバルな属性:
それは、netCDFファイルの中に含まれるデータの発展を記録するために、属性「ヒストリ」が推薦される委任者ではないのだが。 netCDFデータを処理するアプリケーションは、それらの情報を歴史属性に付加し得る。

任意の属性「規定」、Unidataと共に記録されたCOARDS規定に参照を付けるように勧められる、そして、ftpによって利用可能な、際、



ディレクトリ:pub/netcdf/Conventions/COARDSホスト:ftp.unidata.ucar.edu

その属性には、この価値がある:



:Conventions =「COARDS」; //の協力的な大洋/空気研究データサービス

与件変数属性:

ユニット属性:
ユニットを指定するキャラクタアレイは、変数のデータのために使用した。可能な所で、ユニット属性は、Unidata udunitsパッケージにおける推薦と同様にフォーマットされるべきである。

他の属性:
ファイルは、このプロファイルにおいて標準化されない多くの属性を通常含むであろう。それらの属性は、いかなる点でもこの標準の侵害を表さない。アプリケーションプログラムは、それらが認識しない属性を無視するべきである。

変数名:
変数名前は、レターで始まり、そして、レター、数字から成るべきである、そして、下線を引く。その同じ大文字か小文字かを区別しない名前を意味する 変数名が大文字か小文字かを区別しないということが勧められていることのものは、一列縦隊の中の多重変数のために使われるべきでない。

直線の座標系、以下のみ
netCDF変数の中のポイントのスペース/時間ロケーションは、それらの座標軸から値を結び付けることによって形成されたシンプルな整然としたテゥープルであるべきである。このように ( 例えば ) 、曲線の座標系 ( 対等のロケーションが他の非対等の変数から、もしくは、方程式から推論されなければならない ) は、このnetCDFプロファイルによって標準化されない。

次元の数:
全てのnetCDF変数は、どちらのものでも、2つ、3つ、または、4つの次元で定義されるであろう ( データの性質が自然のエンコーディングを口述するであろう ) 。それが意味をなす所で、垂直の緯度、そして、経度ポジションが輪郭を描く対等の変数 ( 例えば ) が1つのポイント緯度、及び、経度の対等の変数の自然の候補者であるので、1つのポイントロケーションは、コード化されるべきである。
それが推薦される 4を超える次元によってnetCDFファイルを作成することが必要であるならばのもの、追加のdimension ( s ) がCDLの代表を務めたスペース、及び、時間次元の左側に加えられるということ。例えば
my_variable ( param_value、時間、高さ、lat、lon ) を呈示しなさい;
第5の推薦された表現、パラメータ値、座標であろう。

変数名を統合しなさい:
対等の変数の名前は、これらの規定によって標準化されない ( データセットが概して同じオリエンテーションの多重の対等の変数を含むかもしれないので ) 。対等の変数名前は、他のnetCDF変数と同じ一般的なネーミング規則 ( 上で ) に従うべきである。

次元のオーダ:
いくらか、または、変数の次元の全てが「日付、もしくは、時間」 ( a.k.aの解釈を持っているならば。「T」 ) 、「高さ、もしくは、深さ」 ( a.k.a。「Z」 ) 、「緯度」 ( a.k.a。「Y」 ) 、または、「経度」 ( a.k.a。それらの次元が現れるべきである「X」 ) その時、相対的なオーダT、その時Z、その時Y、ファイルに一致するCDL定義におけるその時X。

データは、タイプする:
対等の、そして非対等の変数のデータタイプは、制限されない ( バイト、短い長いフロート、及び、ダブルが全ての受け入れられるデータタイプである ) 。それが この標準によって禁じられないが、netCDFが将来のバージョンにおいてその行動を修正するオプションを予約したので、データタイプ「木炭」 ( 機能的に「バイト」と同じである ) は、推薦されない

値注文を統合しなさい:
対等の変数の対等の値は、monotonicallyにmonotonicallyに増加する、もしくは減少するどちらでもでなければならない。しかしながら、対等の値は、均等にスペースを開ける必要がない。欠測値は、対等の変数において可能にされない。

変数属性を統合しなさい:
対等の変数が経度を含むならば、緯度、深さ、高さ、日付、または、時間値、そして、ユニット属性は、強制的である;それは、対等の変数のオリエンテーションを決定するために使われる。long_name属性は、任意である。しかし、明瞭、及び、netCDFファイルの自己‐記述性質を拡張するために使われるかもしれない。対等の変数が欠測値を含まないかもしれないので、属性の_FillValue、及び、missing_valueは、対等の変数によって使われないかもしれない。

時間、または、日付次元:
時間を表す対等の変数は、ユニット属性を常に明白に含まなければならない;デフォルト値がない。 時間の対等の変数は、そのユニットによって同定し得るであろう、単独で。 ユニット属性は、ストリングがUnidata udunitsパッケージバージョン1.7.1における推薦と同様にフォーマットする状態でキャラクタタイプであろう。 udunitsドキュメンテーションからの次の抜粋は、例によって時間単位エンコーディングを説明する:

仕様:

1992-10-8 15:15:42.5 -6:00以来の秒

Coordinated Universal Time ( すなわち、山地夏時間 ) の西に6時間である時間帯で3時間、15分、及び、42.5秒の1992年10月8日以来秒を午後示す。時間帯仕様書は、同じく1つ、または、2桁 ( 時間を示すこと ) 、または、3、または、4桁 ( 時間、及び、分を示すこと ) を使うコロンなしで書かれ得る。

時間の受け入れられるユニットは、ファイルudunits.datにリストされる。これらのストリング ( そして、それらの省略形 ) の最も一般に中古のは、日の ( d ) 、時間 ( hr、h ) 、瞬間 ( min ) 、瞬間 ( sec、s ) 、年 ( 年 ) を含む。複数形は、同じく受け入れられる。日付ストリングは、単独で日付を含むかもしれない;日付、及び、時間;或いは、日付、時間、及び、時間帯。
それは、それを推薦される、ユニット「年」、ない、単位時間として使われる。 年が長さを変えることであるので、年は、曖昧なユニットである。Udunitsは、1年をちょうど365日と定義する。

時間の対等の変数は、そのユニットストリングから同定し得る、単独で。udunitsルーチンutScan、及び、utIsTimeは、この決定を行うために使われ得る。( *Note、このドラフトプロファイルの著者が持ったこの記述の時のそれ、ない、個人的にこれらのルーチンをテストした。 )

Climatological時間:
climatologicalな時間 ( 12ヶ月の軸、4季節等、それは、特別な年なしに位置している ) を表す対等の変数は、加えられた制限 ( その年0000において始めるためにそれらがコード化される ) を伴ってはいるが他の時間軸のようにコード化されるべきである。( 注意事項-この記述の時にこのエンコーディングは、udunitsパッケージによってテストされなかった。 )

垂直の ( 高さ、または、深さ ) 次元:
高さ、または、深さを表す対等の変数は、ユニット属性を常に明白に含まなければならない;ユニット属性のためにデフォルト値がない。ユニット属性は、キャラクタタイプであろう。

垂直の ( 深さ、または、高さ ) 対等の変数のための受け入れられるユニット、である、

複数形は、同じく受け入れられる。

正の方向、かどうか、上を、もしくは、下を、全てにおいて、ケースは、ユニットから推論される。正の方向は、データを表示するアプリケーションにとって有益である。この理由のために、新しい属性のは、この標準において定義される。縦軸ユニットが圧力 ( udunitsの一定のutScanを用いて行われ得る決定 ) の正当なユニットではないならば、正の属性の包含がこの標準によって必要とされる--他の場合は、その包含は、任意である。正の属性は、値「up」以下 ( ケース、無感覚な ) を持っているかもしれない。

例えば、oceanographicなnetCDFファイルが表面の深さをコード化するならば、1000、そして、軸と同じくらい0、及び、1000メートルの深さは、次のとおりに属性を使うであろう:

axis_name:units="meters ;
axis_name:positive="down ;

〜ならば ( 一方 ) 1000メートルの深さ、-1000として表明された、それから、正の属性の値は、「アップしたであろう」。ユニット属性の値が正当な圧力ユニットであるならば、正の属性のデフォルト値は、「下がっている」。

垂直の対等の変数は、同定し得るであろう

緯度次元:
緯度を表す対等の変数は、ユニット属性を常に明白に含まなければならない;ユニット属性のためにデフォルト値がない。ユニット属性は、ストリングがUnidata udunitsパッケージにおける推薦と同様にフォーマットする状態でキャラクタタイプであろう。

緯度の推薦されたユニットは、「degrees_north」である。同じく受け入れられる、「「degree_north」、「degree_N」、及び、degrees_N」である」。

緯度の対等の変数は、そのユニットストリングから同定し得る、単独で。udunitsルーチンutScanは、この決定を行うために使われ得る。( これの時にこのドラフトプロファイルの著者に手紙を書くことが、個人的にこれらのルーチンをテストしなかったことに注目する。 )

経度次元:
経度を表す対等の変数は、ユニット属性を常に明白に含まなければならない;ユニット属性のためにデフォルト値がない。ユニット属性は、ストリングがUnidata udunitsパッケージにおける推薦と同様にフォーマットする状態でキャラクタタイプであろう。

経度の推薦されたユニットは、「degrees_east」 ( 東の正 ) である。同じく受け入れられる、「「degree_east」、「degree_E」、及び、degrees_E」である」。 ユニット「degrees_west」 ( 西に向かう正 ) は、推薦されない。なぜなら、それがdegrees_eastから負の転換比を意味するからだ。

経度は、表されたmodulo 360であるかもしれない。このように ( 例えば ) 、-180、180、及び、540は、インターナショナルDatelineの全ての正当な表現であり、そして、0、及び、360は、Prime Meridianの双方の正当な表現である。netCDFファイルに格納される数値経度値のシーケンスが非‐moduloセンスにおいてモノ‐強壮にしなければならないことにしかしながら注目しなさい。

経度の対等の変数は、そのユニットストリングから同定し得る、単独で。udunitsルーチンutScanは、この決定を行うために使われ得る。( これの時にこのドラフトプロファイルの著者に手紙を書くことが、個人的にこれらのルーチンをテストしなかったことに注目する。 )


後続する 例CDLファイルは、変数を含み、そして、大部分のポイント論じられたabove. Theの現実のデータ値を例証する対等の定義 ( ncdump -hの出力 ) は、省略される。

CDLファイルは、次のエレメントを含む:


hankin@pmel.noaa.gov