gtool4/Fortran 90
リファレンスマニュアル
属性関係の手続
2001年06月16日
豊田英司
属性名
属性名は英字、数字、下線から構成されます。先頭の文字は英字または
"+" でなければなりません。"+"
から始まる属性名は内部的に使用されるもので、netCDF
実装では大域変数に対応します。
属性の列挙
- subroutine Attr_Rewind(GT_VARIABLE var)
- subroutine Attr_Next(GT_VARIABLE var, VSTRING
name, LOGICAL
end)
属性からの入力
最初の2つの引数は GT_VARIABLE var, CHARACTER(*) name です。
Attr_True と Get_Attr(var, name, LOGICAL)
の機能は同じです。
配列の読み取りはユーザが配列を用意する方式と、ポインタ配列にサブルーチンが必要量を割り付けてくれる方式とがあります。ユーザが配列を用意する場合
default
が必須になるのはポインタ版との区別が言語仕様上必要だったからです。
- LOGICAL function Attr_True(var, name, [LOGICAL default])
- subroutine Get_Attr(var, name, VSTRING value, [CHARACTER(*)
default])
- subroutine Get_Attr(var, name, CHARACTER(*) value, [CHARACTER(*)
default])
- subroutine Get_Attr(var, name, REAL value, [REAL default])
- subroutine Get_Attr(var, name, REAL value(:), REAL default)
- subroutine Get_Attr(var, name, REAL POINTER value(:))
- subroutine Get_Attr(var, name, INTEGER value, [INTEGER default])
- subroutine Get_Attr(var, name, INTEGER value(:), INTEGER default)
- subroutine Get_Attr(var, name, INTEGER POINTER value(:))
属性への出力
最初の2つの引数は GT_VARIABLE var, CHARACTER(*) name
です。省略可能引数 err は LOGICAL intent(out) です。
配列を受け取るサブルーチンにスカラーを書き出すには
Fortran の配列構成子 (/ /)
を使ってください。たとえば、スカラー a から長さ1の配列
(/a/) を作ることができます。
- subroutine Put_Attr(var, name, VSTRING value, [err])
- subroutine Put_Attr(var, name, CHARACTER(*) value, [CHARACTER(*)
xtype],[err])
- subroutine Put_Attr(var, name, LOGICAL value, [err])
- subroutine Put_Attr(var, name, INTEGER value, [err])
- subroutine Put_Attr(var, name, REAL value, [err])
- subroutine Put_Attr(var, name, DOUBLE PRECISION value, [err])
属性の削除
subroutine Del_Attr(GT_VARIABLE var, CHARACTER(*) name)
属性のコピー
subroutine Copy_Attr(GT_VARIABLE to, CHARACTER(*) attrname, GT_VARIABLE from,
[LOGICAL err])
属性に対する問い合わせ
属性には問い合わせ可能な概念として外部表現型と長さがあります。NetCDF
実装では、外部表現が文字型ならば文字数を、それ以外ならば数値型として読み取ったときの要素数を表します。文字型と非文字型の自動変換があるため、長さという概念の移植性には問題があります。問い合わせについては
Inquire サブルーチンのページを参照してください。