Up|<<Prev|Next>>


5.9 開かれたNetCDFファイルに ついて問い合わせる: nc_inq

関数 nc_inq の一族は NetCDF IDを与えられた開かれたNetCDFファイルに関する情報を返します。ファイル問い合わせ関数は定義モードとデータモードのどちらからでも呼び出すことが出来ます。最初の関数 nc_inq は次元数・変数の数・グローバル属性の数・無制限長で定義された次元があればその次元IDを返します。この一族の他の関数はこれらのうちどれか一つの情報を返します。

Cでは、これに属する関数には nc_inq nc_inq_ndims nc_inq_nvars nc_inq_natts nc_inq_unlimdim があります。

これらの関数が呼び出されても、必要な情報は開かれた個々のNetCDFファイルについてメモリ上にあるので、 I/O は行なわれません。

 

int nc_inq (int ncid, int *ndimsp, int *nvarsp, int *ngattsp,

int *unlimdimidp);

int nc_inq_ndims (int ncid, int *ndimsp);

int nc_inq_nvars (int ncid, int *nvarsp);

int nc_inq_natts (int ncid, int *ngattsp);

int nc_inq_unlimdim (int ncid, int *unlimdimidp);

 

ncid

以前の nc_open 又は nc_create 呼び出しで返されたNetCDF ID。

ndimsp

このNetCDFファイルについて定義されている出力された次元数の 位置へのポインタ

nvarsp

このNetCDFファイルについて定義されている出力された変数の数の位置へのポインタ

ngattsp

このNetCDFファイルについて定義されている出力されたグローバル属性の数の 位置へのポインタ

unlimdimidp

このNetCDFファイルについて定義されている出力された無制限次元(存在すれば)のIDの位置へのポインタ 。無制限次元が定義されていない場合には、-1の値が返される。

 

エラーが発生していなければ、 nc_inq の一族は全て NC_NOERR の値を返します。それ以外の場合には、返された状態がエラーを示します。エラーの原因としては下記が挙げられます。

 

この 例では nc_inq を使って、 foo.nc というNetCDFファイルに関する情報を得ます。

#include <netcdf.h>
   ... 
int status, ncid, ndims, nvars, ngatts, unlimdimid;
   ... 
status = nc_open("foo.nc", NC_NOWRITE, &ncid);
if (status != NC_NOERR) handle_error(status);
   ... 
status = nc_inq(ncid, &ndims, &nvars, &ngatts, &unlimdimid);
if (status != NC_NOERR) handle_error(status);

Up|<<Prev|Next>>