前へ | 目次へ | 次へ

システムプログラム編

2001年10月10日 豊田英司


属性の付加: gtattr

変数には属性を付加したり削除したりすることができます。すべて gtattr コマンドがやってくれますが、以下に若干のコード例を示します。

use gtool
type(gt_variable):: var
character(len = string):: buffer
real:: rmiss
integer:: imiss

call Put_Attr(var, "units", "kg.m/s2")
call Put_Attr(var, "_FillValue", -999.0)

call Get_Attr(var, "institute", buffer, default="")
call Get_Attr(var, "_FillValue", imiss, default=-999)

call Del_Attr(var, "_FillValue")

変数または属性のリストの取得: gtlist

gtlist コマンドには変数または属性のリストを得る機能があります。どちらも、指定された条件のもとで名前のリストを取得するということに変わりありません。そのため、実現方式も多少似ています。

! 変数一覧の取得
use gtool
character(len = string):: varname
logical:: end

call GTVarSearch(ファイル名)
do
    call GTVarSearch(varname, end)
    if (end) exit
    write(*, *) trim(varname)
enddo

ファイルから変数のリストを得ようとするときには、まずファイル名だけを引数とする GTVarSearch で初期化を行い、ついで文字列と論理型の引数をとる GTVarSearch を繰り返し呼び出します。論理型引数 end が偽になっている間は変数名が返されています。

! 属性一覧の取得
use gtool
type(gt_variable):: var
character(len = string):: attrname
logical:: end

call Attr_Rewind(var)
do
    call Attr_Next(attrname, end)
    if (end) exit
    write(*, *) trim(attrname)
enddo

変数から属性のリストを得ようとするときは、まず Attr_Rewind で初期化を行い、ついで Attr_Next を繰り返し呼び出します。論理型引数 end が偽になっているあいだは属性名が返されています。

変数の削除

変数の削除はこのようにやります。

! 属性一覧の取得
use gtool
logical:: err

call GTVarDel(変数名, err)

前へ | 目次へ | 次へ