TOC PREV NEXT INDEX

Put your logo here!


フォーマット仕様詳細


NetCDF_file := header data

header := magic numrecs dim_array gatt_array var_array

magic := 'C' 'D' 'F' VERSION_BYTE

VERSION_BYTE := '\001' // ファイルフォーマットのバージョン番号

numrecs := NON_NEG

dim_array := ABSENT | NC_DIMENSION nelems [dim …]

gatt_array := att_array // グローバル属性

att_array := ABSENT | NC_ATTRIBUTE nelems [attr …]

var_array := ABSENT | NC_VARIABLE nelems [var …]

ABSENT := ZERO ZERO // 配列が無いことを意味する( nelems == 0に同じ)

nelems := NON_NEG // 以下のシークエンスの要素数

dim := name dim_length

name := string

dim_length := NON_NEG // 0であればこれは記録次元
// 記録次元は1つまで

attr := name nc_type nelems [values]

nc_type := NC_BYTE | NC_CHAR | NC_SHORT | NC_INT | NC_FLOAT | NC_DOUBLE

var := name nelems [dimid …] vatt_array nc_type vsize begin
// nelems は変数のランク(次元数)
// スカラーなら0、ベクトルなら1、行列なら2など

vatt_array := att_array // 変数に特定の属性

dimid := NON_NEG // 変数形状のための次元 ID(dim_arrayへのインデックス)
// 最初の次元が記録次元である場合に限って、
// これを"記録変数”と呼ぶ。

vsize := NON_NEG // 変数サイズ。記録変数で無い場合には、
// 変数データに割り当てらたスペース(単位はバイト)
// この数は次元長と次元型のサイズの積であり、
// 4バイト境界に合わせて詰め込まれている。
// これが記録変数である場合には
// 記録ごとのスペースに対応する。
// NetCDFの”記録サイズ”は記録変数の
// vsizeのを和として計算される。

begin := NON_NEG // 変数のスタート位置。この変数のデータの
// 先頭のファイル中におけるバイト単位の
// オフセット(インデックス必要)

data := non_recs recs

non_recs := [values …] // 記録変数ではない最初の変数、2番目、のデータ。

recs := [rec …] // 最初の記録、2番目の記録、

rec := [values …] // 記録nに対する最初の記録変数、
// 2番目の記録変数、のデータ
// 特殊なケースのついては下記の注釈を参照のこと

values := [bytes] | [chars] | [shorts] | [ints] | [floats] | [doubles]

string := nelems [chars]

bytes := [BYTE …] padding

chars := [CHAR …] padding

shorts := [SHORT …] padding

ints := [INT …]

floats := [FLOAT …]

doubles := [DOUBLE …]

padding := <次の4バイト境界までの0, 1, 2, または 3 バイト>
// ヘッダーでは、詰め込むのは0バイト
// データでは、詰め込むのは変数のフィル値

NON_NEG := <非負の値を持つINT>

ZERO := <0の値を持つINT>

BYTE := <8ビット byte>

CHAR := <8ビット ACSII/ISO でコード化されたcharacter>

SHORT := <16ビット符号付整数・ビッグエンディアン・ 2の補数表現>

INT := <32ビット符号付整数・ビッグエンディアン・ 2の補数表現>

FLOAT := <32ビット IEEE 単精度浮動小数点・ビッグエンディアン>

DOUBLE := <64ビット IEEE ニ倍精度浮動小数点・ビッグエンディアン>

// タグは32ビット整数
NC_BYTE := 1 // データは8ビット符号付整数の配列
NC_CHAR := 2 // データは文字配列(テキスト等)
NC_SHORT := 3 // データは16ビット符号付整数の配列
NC_INT := 4 // データは32ビット符号付整数の配列
NC_FLOAT := 5 // データはIEEE 単精度浮動小数点の配列
NC_DOUBLE := 6 // データはIEEE 倍精度浮動小数点の配列
NC_DIMENSION := 10
NC_VARIABLE := 11
NC_ATTRIBUTE := 12


Quadralay Corporation
http://www.webworks.com
Voice: (512) 719-3399
Fax: (512) 719-3606
sales@webworks.com
TOC PREV NEXT INDEX