5.9 オープンされたNetCDFファイルについて問い合わせる: NF_INQファミリー
関数NF_INQのファミリーはNetCDF IDを与えられオープンされたNetCDFファイルに関する情報を返します。ファイル問い合わせ関数は定義モードとデータモードのどちらからでも呼び出すことができます。最初の関数NF_INQは次元の数・変数の数・グローバル属性の数・無制限長で定義された次元があればその次元IDを返します。このファミリーの他の関数はこれらのうちどれか一つの情報を返します。
FORTRANでは、これに属する関数には NF_INQ、NF_INQ_NDIMS、NF_INQ_NVARS、NF_INQ_NATTS、NF_INQ_UNLIMDIMがあります。
これらの関数が呼び出されても、必要な情報はオープンされた個々のNetCDFファイルについてメモリ上にあるので、I/O は行われません。
用法
INTEGER FUNCTION NF_INQ (INTEGER NCID, INTEGER ndims,
INTEGER nvars,INTEGER ngatts,
INTEGER unlimdimid)
INTEGER FUNCTION NF_INQ_NDIMS (INTEGER NCID, INTEGER ndims)
INTEGER FUNCTION NF_INQ_NVARS (INTEGER NCID, INTEGER nvars)
INTEGER FUNCTION NF_INQ_NATTS (INTEGER NCID, INTEGER ngatts)
INTEGER FUNCTION NF_INQ_UNLIMDIM (INTEGER NCID, INTEGER unlimdimid)
エラー
エラーが発生していなければ、NF_INQ のファミリーはすべてNF_NOERR の値を返します。それ以外の場合には、返されたステータスがエラーを示します。エラーの原因としては下記が挙げられます。
・ 指定されたNetCDF IDがオープンされたNetCDFファイルを参照していない。
例
この例では NF_INQ を使って、foo.ncというNetCDFファイルに関する情報を得ます。
INCLUDE 'netcdf.inc'
…
INTEGER STATUS, NCID, NDIMS, NVARS, NGATTS, UNLIMDIMID
…
STATUS = NF_OPEN('foo.nc', NF_NOWRITE, NCID)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
…
STATUS = NF_INQ(NCID, NDIMS, NVARS, NGATTS, UNLIMDIMID)
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 |