gtool4 規約 version 4.0beta2
2000/01/26 02:51 豊田英司
NCAR-CSM 規約を重要視したのは、数値モデル NCAR CSM によって作られる数値データとの可搬性を考慮したためである。
ファイル名に関するこの厳しすぎる推奨規約は、ISO 9660 level 1 (CD-ROM) ファイルシステムを考慮したものである。CD-ROM への可搬性を考慮しなければ、非常に柔軟なファイル名のつけ方が可能である。
これにより、他の GDT 互換性を十分に考慮しておけば、 :Conventions
属性値を "GDT"
と変更するだけで完全に GDT
規約に従うことが可能となる。
以下のような理由から、history 属性から意味のある情報を機械的に取り出すことはできない。
NetCDF で用いる外部表現の浮動小数点形式は IEEE 754 規格である。IEEE 754 規格には非数 (Not a Number, NaN) があり、非数と通常の実数の演算結果は欠損値の条件を満たす。従って、内部表現も IEEE が使えることが確実であれば、欠損値としては非数を用いることができる。そうすればプログラムは欠損値処理を明示的に書く必要がない。
しかしながら、実際には伝統的なプログラミング言語 (たとえば C, Fortran 90 など) はともに IEEE 754 規格が使えることも非数が使えることも保証していない。また、netCDF の想定しているプラットフォームでも内部的に IEEE 754 規格の数値演算が行える保証はない。
IEEE 754 以前から習慣として、「無効な数値」の範囲 (または単独の欠損値) を定義しておいて、その範囲の数値を欠損値とみなす処理が行われてきた。IEEE 754 規格の使えない環境が無視できるようになった現在も、gtool4 規約の対象とする領域にとってこの習慣は無視できないものである。
以上のような理由から、著者にとって非常に残念なことではあるが、gtool4 規約においても欠損値範囲の取り扱いはなされなければならないものとする。
6.0e36 を推奨するのは、 netCDF のデフォルトの _FillValue (NF_FILL_REAL) より小さく、単精度実数形式の指数部が繰り上がった直後だからである。