Up|<<Prev|Next>>


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)

 

NCID

以前の NF_OPEN or NF_CREATE 呼び出しで返されたNetCDF ID。

ndims

このNetCDFファイルで定義されている、返された次元数

nvars

このNetCDFファイルで定義されている、返された変数の数

ngatts

このNetCDFファイルで定義されている、返されたグローバル属性の数

unlimdimid

このNetCDFファイルで定義されている無制限長の次元(存在すれば)の返された ID。無制限長の次元が存在しなければ、-1の値が返される。

 

エラーが発生していなければ、 NF_INQ のファミリーは全て NF_NOERR の値を返します。それ以外の場合には、返されたステータスがエラーを示します。エラーの原因としては下記が挙げられます。

 

この 例では 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)

Up|<<Prev|Next>>