gt4f90io
リファレンスマニュアル
変数名
2004年01月13日
森川靖大
概要
gtool4
ではデータはすべて変数または変数の属性として扱われます。変数や属性は変数
URL あるいは属性 URL
と呼ばれる文字列で識別されます。ここではその形式と意味について説明します。
変数全体 URL は一般の URL です。URL が「?」または「@」を含む場合、それ以前がファイル名、
以後が変数名と解釈されます。
属性 URL は変数 URL に「:属性名」の形式の文字列を続けたものです。
- たとえば、 test.nc?ps:units は変数 test.nc?ps の「units」という属性を指示します。
- 現在の実装では「?変数名」は省略できません。
- 属性名は後述する名前規則に従います。
- 先頭が '+'
で始まっている名前の属性を大域属性と呼び、ファイル全体で共有される属性とします。たとえば、変数
test.nc?ps と test.nc?lat が存在するときに test.nc?ps:+institution
属性を作成すると、自動的に test.nc?lat:+institution
が同じ値になります。
変数URL にコンマ「,」で始まるある種の文字列を続けると、入出力範囲の限定などの操作ができます。
一点切り出し
ある軸について1点だけを取り出したい場合、「,次元名=位置」のような形式の文字列を続けることで指定できます。
- 座標変数の値が位置に最も近い格子番号が選択されます。
- 格子番号を直接指定したい場合、位置のかわりに「,次元名=^格子番号」のように指定できます。ここで、次元名とは
dimname_to_dimord
関数の引数になる名前です。
- 次元名のかわりに次元順序番号を使うことができます。
範囲限定
ある軸について連続した範囲を切り出したい場合、「,次元名=基点位置:終点位置」のように指定します。
- 位置の解釈、格子番号直接指定、次元順序番号指定については一点切り出しに準じます。
- 切り出し格子を間引きたい場合、「,次元名=基点位置:終点位置:間隔」のように指定します。ここで間隔は整数値で、格子数と解釈されます。
次元隠蔽
一点切り出しを行ったあと、当該次元への依存性を隠蔽してしまいたい場合は「,IGN:次元名=位置」という記法を用います。
制約
属性名、変数名、次元名は以下の制約に従います。
- 先頭の文字は英大文字または英小文字でなければなリません。
- それに続く文字は英大文字・英小文字・数字・下線のいずれかでなければなりません。
- 大文字と小文字は区別されます。
- char, real, float, double, int, short, long
を使ってはいけません。
- ファイル形式によって異なる長さ制限があります。
属性についてはこのほか、上記規則に従う名前の先頭に
'+' を付加したものも正しい属性名とします。
この規則は netCDF
の名前の規則に由来していますが、ハイフンマイナス '-'
が利用できないことが異なっています。
定数の規則
- 整定数は Fortran 自由形式プログラムと同じです。
- 実定数は Fortran 自由形式プログラムと同じです。