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);
エラー
エラーが発生していなければ、nc_inq のファミリーはすべてNC_NOERR の値を返します。それ以外の場合には、返されたステータスがエラーを示します。エラーの原因としては下記が挙げられます。
・ 指定されたNetCDF IDがオープンされたNetCDFファイルを参照していない。
例
この例では 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);
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |