7.4 IDから変数の情報を取得する: NF_INQ_VAR ファミリー
この関数のファミリーは変数のIDを与えるとそのNetCDF変数に関する情報を返します。 変数に関する情報にはその名前・型・次元の数・変数の形を表す変数IDのリスト・変数に割り当てられている変数属性の数等です。
関数NF_INQ_VAR はある変数のIDを与えるとNetCDF関数に関する情報をすべて返します。その他の関数はある変数に関する一つの情報を返します。
この他の関数とは NF_INQ_VARNAME, NF_INQ_VARTYPE, NF_INQ_VARNDIMS, NF_INQ_VARDIMID, NF_INQ_VARNATTS等です。
用法
INTEGER FUNCTION NF_INQ_VAR (INTEGER NCID, INTEGER VARID,
CHARACTER*(*) name, INTEGER xtype,
INTEGER ndims, INTEGER dimids(*),
INTEGER natts)
INTEGER FUNCTION NF_INQ_VARNAME (INTEGER NCID, INTEGER VARID,
CHARACTER*(*) name)
INTEGER FUNCTION NF_INQ_VARTYPE (INTEGER NCID, INTEGER VARID,
INTEGER xtype)
INTEGER FUNCTION NF_INQ_VARNDIMS (INTEGER NCID, INTEGER VARID,
INTEGER ndims)
INTEGER FUNCTION NF_INQ_VARDIMID (INTEGER NCID, INTEGER VARID,
INTEGER dimids(*))
INTEGER FUNCTION NF_INQ_VARNATTS (INTEGER NCID, INTEGER VARID,
INTEGER natts)
エラー
これらの関数はエラーが発生していない場合には NF_NOERR 値を返します。それ以外の場合は、返されたステータスがエラーの発生を示します。エラーの原因としては:
・ 変数IDが指定されたNetCDFファイルに対して有効ではない。
・ 指定されたNetCDF IDがオープンされたNetCDFファイルを参照していない。
例
これは NF_INQ_VAR を使用してNetCDFファイルfoo.ncの中の rh という変数に関しての情報を探す例です。
INCLUDE 'netcdf.inc'
…
INTEGER STATUS, NCID
INTEGER RHID ! 変数 ID
CHARACTER*31 RHNAME ! 変数名
INTEGER RHTYPE ! 変数型
INTEGER RHN ! 次元の数
INTEGER RHDIMS(NF_MAX_VAR_DIMS) ! 変数の形
INTEGER RHNATT ! 属性の数
…
STATUS = NF_OPEN ('foo.nc', NF_NOWRITE, NCID)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
…
STATUS = NF_INQ_VARID (NCID, 'rh', RHID) ! get ID
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
STATUS = NF_INQ_VAR (NCID, RHID, RHNAME, RHTYPE, RHN, RHDIMS, RHNATT)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |