2000-01-19 豊田英司
この文書は gtool4 規約で規定される netCDF 属性 (グローバル属性と変数の属性両方) をその名前の順に列挙し、以下の情報を示す。
属性を命名するにあたってわれわれは以下の規約を用いている。
概要 | [変数] [実数] [1] [ないほうがよい] |
---|---|
解釈 | 数値型変数を解釈する際に add_offset 属性値を加算する。変数に scale_factor 属性が与えられている場合は乗算を先に行う。 |
生成 | add_offset 属性をみだりに付加しないことを勧めるが、データ格納効率に関する要求が認められるので禁止はしない。 |
例 | p:add_offset = 1000.0; |
採択理由 | netCDF |
概要 | [変数] [文字] |
---|---|
解釈 | C で書かれた解釈系が変数の値を印字する際に printf(3) の書式文字列としてこの属性値を用いることを推奨する。余計なおせっかいではあるが、double 型のための書式化文字列として正当であることを確認してからのほうがよい。 |
生成 | 生成系はこの属性を付加してもしなくてもよい。もし付加するならば、プログラム言語 C の規定で定められた double 型のために正当な書式化文字列でなければならない。 |
例 | p:C_format = "%.3g"; |
採択理由 | netCDF |
注 | 本属性は変数の有効数字を示す目的で作られているが、実現方法がプログラム言語 C に依存している。有効数字または精度を表現するより適当で可搬性の高い方法を規定すべきである。 |
概要 | [大域] [文字] [必須] |
---|---|
解釈 | 属性値に "gtool" が含まれていれば、gtool4 規約に従って解釈してよいことを示す。"gtool" は属性値の先頭にあるとは限らない。 |
生成 | 属性値を "gtool4" としなければならない。 |
例 | :Conventions = "gtool4"; |
採択理由 | netCDF |
概要 | [変数] [文字] |
---|---|
解釈 | Fortran で書かれた解釈系が変数の値を印字する際に WRITE 文または PRINT 文の書式文字列としてこの属性値を用いることを推奨する。余計なおせっかいではあるが、double 型のための書式化文字列として正当であることを確認してからのほうがよい。 |
生成 | 生成系はこの属性を付加してもしなくてもよい。もし付加するならば、プログラム言語 C の規定で定められた double 型のために正当な書式化文字列でなければならない。 |
例 | p:FORTRAN_format = "(g10.3)"; |
採択理由 | netCDF |
注 | 本属性は変数の有効数字を示す目的で作られているが、実現方法がプログラム言語 C に依存している。有効数字または精度を表現するより適当で可搬性の高い方法を規定すべきである。 |
概要 | [大域] [文字] [必須] |
---|---|
解釈 | 属性値を改行文字 "\n"
によって区切って表示する。それ以上の解析ができることを期待しないほうがよい。 |
生成 | 既存属性値のあとに日時、スペースひとつ、ユーザ名、"> "、コマンドライン、改行文字を追加しなければならない。日時は JISX0301 の「暦日付及び地方時の時刻の拡張形式」により、地方時と協定世界時の差を付加することを推奨する。ユーザ名は UNIX システムでは whoami(1) コマンドの出力と同等のものとする。 |
例 | p:history = "2000-01-19T18:03:39+0900 akahori> gt3togt4 gtool.in"; |
採択理由 | netCDF |
概要 | [変数] [数値] [1] [ないほうがよい] |
---|---|
解釈 | 数値型変数を解釈する際に特別の扱いはなされない。 |
生成 | valid_range, valid_min, valid_max 属性で定義される欠損値を指定しなければならない。 |
例 | p:missing_value = -2.0e20; |
採択理由 | netCDF |
概要 | [変数] [実数] [1] [ないほうがよい] |
---|---|
解釈 | 数値型変数を解釈する際に scale_factor 属性値を乗算する。変数に add_offset 属性が与えられている場合は乗算を先に行う。 |
生成 | scale_factor 属性をみだりに付加しないことを勧めるが、データ格納効率に関する要求が認められるので禁止はしない。 |
例 | p:scale_factor = 100.0; |
採択理由 | netCDF |
概要 | [変数] 型は不明 [1] [禁止] |
---|---|
解釈 | NF_BYTE 型変数を解釈する際に 128 から 255 までの数値を負数と解釈するか否かを指定するものであるらしいが、属性値は規定しない。 |
生成 | この属性を付与することを禁止する。 |
禁止理由 | netCDF |
概要 | [大域] [文字] [必須] |
---|---|
解釈 | 所属するファイル (データセット) の単純な名称。たとえば実験設定や (同じデータが分割されている場合は) 順番などを意味するも文字列であることが期待される。 |
生成 | 何がしかの意味のある文字列を付与しなければならない。 |
例 | p:title = "control"; |
採択理由 | netCDF, 必須の根拠は CSM |
概要 | [変数] [文字] [必須] |
---|---|
解釈 | 所属する変数の記述的名称。たとえば作図プログラムはこの名称をラベルとして表示すべきである。 |
生成 | 何がしかの意味のある文字列を付与しなければならない。 |
例 | p:long_name = "surface pressure"; |
採択理由 | netCDF, 必須の根拠は CSM |
概要 | [変数] [文字] [推奨] |
---|---|
解釈 | 所属する変数の単位を表わす。解釈系は udunits 規約または JISX0124 の第一形式に従う単位の表記を正しく解釈できるべきである。 |
生成 | SI 単位を付与できるデータに関しては、生成系は JISX0124 の第一形式に従う単位表記を生成しなければならない。 |
例 | p:units = "hPa"; |
採択理由 | netCDF |
概要 | [変数] [数値] [1] [ないほうがよい] |
---|---|
解釈 | 所属する変数の数値がこの属性値より小さくなった場合、処理系は当該数値を欠損値とみなさなくてはならない。処理系は欠損値の演算から正常な数値を発生させてはならない。欠損値の関与する演算結果は欠損値であるが、どの値になるかは規定しない。すべての欠損値を内部的に IEEE 浮動小数点表現の非数に置換した後演算を行うという実装はこの規約に適合している。 |
生成 | このような面倒なものは生成しないほうがよい。IEEE 浮動小数点表現を使うことができるのならば、非数を用いるほうがよい。もし指定しなければならないのならば、絶対値のできる限り大きな負の数値を指定すべきである。変数に valid_range 属性が付与されている場合はこの属性を生成してはならない。 |
例 | p:valid_min = -1.0e30; |
採択理由 | netCDF |
概要 | [変数] [数値] [1] [ないほうがよい] |
---|---|
解釈 | 所属する変数の数値がこの属性値より大きくなった場合、処理系は当該数値を欠損値とみなさなくてはならない。 |
生成 | このような面倒なものは生成しないほうがよい。IEEE 浮動小数点表現を使うことができるのならば、非数を用いるほうがよい。もし指定しなければならないのならば、絶対値のできる限り大きな正の数値を指定すべきである。変数に valid_range 属性が付与されている場合はこの属性を生成してはならない。 |
例 | p:valid_max = 1.0e30; |
採択理由 | netCDF |
概要 | [変数] [数値] [2] [ないほうがよい] |
---|---|
解釈 | 所属する変数の数値がこの属性値2つの範囲の外になった場合、処理系は当該数値を欠損値とみなさなくてはならない。 |
生成 | このような面倒なものは生成しないほうがよい。IEEE 浮動小数点表現を使うことができるのならば、非数を用いるほうがよい。もし指定しなければならないのならば、できる限り絶対値の大きな正負の数値を指定すべきである。変数に valid_min 属性または valid_max 属性が付与されている場合はこの属性を生成してはならない。 |
例 | p:valid_range = -1.0e30, 1.0e30; |
採択理由 | netCDF |
概要 | [変数] [数値] [1] |
---|---|
解釈 | 所属する変数の操作に関して、netCDF ライブラリはまだ書き込まれていない部分の読み取りに際してこの属性値を |
生成 | NF_BYTE 型以外についてはわざわざこのような面倒なものは生成しないほうがよい。 |
例 | p:_FillValue = -2.0e30; |
採択理由 | netCDF |