TOC PREV NEXT INDEX

Put your logo here!


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)
NCID 以前のNF_OPEN or NF_CREATE呼び出しで返されたNetCDF ID
DIMID 以前の NF_INQ_DIMID もしくは NF_DEF_DIM等への呼び出しからの次元ID
name 返された 次元名。呼び出すにはあらかじめスペースを割り当てておく必要があります。次元名の文字数の最大長は、事前に定義した定数 NF_MAX_NAMEによって決まります。
len 返された次元長。無制限次元においてこれは、この次元を使用して書かれた変数が使用している最大値、即ち、最大の記録数です。

エラー

これらの関数はエラーが発生していない場合には NF_NOERR 値を返します。それ以外の表示が出た場合は、返されたステータスがエラーを示します。エラーの原因としては:

・ 指定されたNetCDFファイルに対して次元IDが無効である。
・ 指定されたNetCDF ID がオープンされているNetCDFファイルを参照していない。

この例では NF_INQ_DIM を使用して既存のNetCDFファイルfoo.nclatと名づけられた次元の長さと無限長次元の現在の長さを求めます:

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
TOC PREV NEXT INDEX