6.3 次元について問い合わせる: NF_INQ_DIM ファミリー
この関数のファミリーはNetCDF次元についての情報を返します。次元に関するの情報には次元名と次元長があります。無制限長の次元の長さは、存在していれば、その段階までに書かれた記録の数です。
このファミリーに属する関数は NF_INQ_DIM, NF_INQ_DIMNAMEそして NF_INQ_DIMLEN があります。関数NF_INQ_DIM はその次元についてのすべての情報を返します。他の機能はその次元についてある一つの情報を返します。
用法
INTEGER FUNCTION NF_INQ_DIM (INTEGER NCID, INTEGER DIMID,
CHARACTER*(*) name, INTEGER len)
INTEGER FUNCTION NF_INQ_DIMNAME (INTEGER NCID, INTEGER DIMID,
CHARACTER*(*) name)
INTEGER FUNCTION NF_INQ_DIMLEN (INTEGER NCID, INTEGER DIMID,
INTEGER len)
エラー
これらの関数はエラーが発生していない場合には NF_NOERR 値を返します。それ以外の表示が出た場合は、返されたステータスがエラーを示します。エラーの原因としては:
・ 指定されたNetCDFファイルに対して次元IDが無効である。
・ 指定されたNetCDF ID がオープンされているNetCDFファイルを参照していない。
例
この例では NF_INQ_DIM を使用して既存のNetCDFファイルfoo.ncのlatと名づけられた次元の長さと無限長次元の現在の長さを求めます:
INCLUDE 'netcdf.inc'
…
INTEGER STATUS, NCID, LATID, LATLEN, RECID, NRECS
CHARACTER*(NF_MAX_NAME) LATNAM, RECNAM
…
STATUS = NF_OPEN('foo.nc', NF_NOWRITE, NCID)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
! 無制限次元のID取得
STATUS = NF_INQ_UNLIMDIM(NCID, RECID)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
…
STATUS = NF_INQ_DIMID(NCID, 'lat', LATID)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
! lat の長さ取得
STATUS = NF_INQ_DIMLEN(NCID, LATID, LATLEN)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
! 無制限次元の名前と現在の長さ取得
STATUS = NF_INQ_DIM(NCID, RECID, RECNAME, NRECS)
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 |